random_norm Function

public function random_norm(mean, sigma)

Arguments

Type IntentOptional AttributesName
real(kind=rp), intent(in) :: mean
real(kind=rp), intent(in) :: sigma

Return Value real(kind=rp)


Called by

proc~~random_norm~4~~CalledByGraph proc~random_norm~4 random_norm proc~mh_gaussian_elliptic_torus MH_gaussian_elliptic_torus proc~mh_gaussian_elliptic_torus->proc~random_norm~4 proc~spong_3d Spong_3D proc~spong_3d->proc~random_norm~4

Contents

Source Code


Source Code

FUNCTION random_norm(mean,sigma)
	REAL(rp), INTENT(IN) :: mean
	REAL(rp), INTENT(IN) :: sigma
	REAL(rp)             :: random_norm
	REAL(rp)             :: rand1, rand2

	call RANDOM_NUMBER(rand1)
	call RANDOM_NUMBER(rand2)

	random_norm = mean+sigma*SQRT(-2.0_rp*LOG(rand1))*COS(2.0_rp*C_PI*rand2);
END FUNCTION random_norm