3 #include "sll_working_precision.h"
16 sll_real64,
intent(in) :: x, v
18 sll_real64,
parameter :: eps = 0.01_f64
22 landau = (1.0_f64 + eps*cos(sll_kx*x)) &
23 /sqrt(2.0_f64*
sll_p_pi)*exp(-0.5_f64*v*v)
27 sll_real64,
intent(in) :: x, v
30 sll_real64,
parameter :: eps = 0.01_f64
31 sll_real64,
parameter :: xi = 0.90_f64
32 sll_real64,
parameter :: v0 = 2.4_f64
37 fval = (1.0_f64 + eps*((cos(2*sll_kx*x) + cos(3*sll_kx*x))/1.2_f64 + cos(sll_kx*x)))* &
38 (1.0_f64/sqrt(2*
sll_p_pi))*((2 - 2*xi)/(3 - 2*xi))* &
39 (1.0_f64 + .5_f64*vv/(1 - xi))*exp(-.5_f64*vv)
56 sll_real64,
intent(in) :: x, v
59 sll_real64,
parameter :: xoffset = 0.5_f64
60 sll_real64,
parameter :: voffset = 0.5_f64
65 fval = exp(-0.5_f64*(xx + vv)*40._f64)
Fortran module where set some physical and mathematical constants.
real(kind=f64), parameter, public sll_p_pi
sll_m_gaussian random generator
elemental real(kind=f64) function two_stream(x, v)
elemental real(kind=f64) function landau(x, v)