Numerical Modelling Of Turbulent Free Surface Flows Over Rough And Porous Beds Using The Smoothed Particle Hydrodynamics Method