diff options
Diffstat (limited to 'benchmarks/CUDA/WP/wsm5_constants.h')
| -rw-r--r-- | benchmarks/CUDA/WP/wsm5_constants.h | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/benchmarks/CUDA/WP/wsm5_constants.h b/benchmarks/CUDA/WP/wsm5_constants.h new file mode 100644 index 0000000..5c435dc --- /dev/null +++ b/benchmarks/CUDA/WP/wsm5_constants.h @@ -0,0 +1,92 @@ +// WSM5 Constants + +#if 1 +# define epsilon 1.e-15 +# define r_d 287. +# define rhoair0 1.28 +# define rhosnow 100. +# define dens rhosnow +# define rhowater 1000. +# define svpt0 .27314999389648438e+03 +# define xlv 2.5e6 +#endif + +#define g 0.981000041961670E+01 +#define r_v 0.461600006103516E+03 +#define rv r_v +#define cice 0.210600000000000E+04 +#define cliq 0.419000000000000E+04 +#define denr 0.100000000000000E+04 +#define den0 0.127999997138977E+01 +#define xlf0 0.350000000000000E+06 +#define xlv0 0.250000000000000E+07 +#define xls 0.285000000000000E+07 +#define t0c 0.273149993896484E+03 +#define qmin 0.100000000362749E-14 +#define ep1 0.608362436294556E+00 +#define ep2 0.621750414371490E+00 +#define psat 0.610780029296875E+03 +#define alpha 0.120000000000000E+00 +#define n0smax 0.100000000000000E+12 +#define n0s 0.200000000000000E+07 +#define n0r 0.800000000000000E+07 +#define qcrmin 0.100000000000000E-08 +#define avtr 0.841900000000000E+03 +#define bvtr 0.800000000000000E+00 +#define g1pbr 0.931232915622909E+00 +#define g3pbr 0.469078683336385E+01 +#define g4pbr 0.178173289058329E+02 +#define g5pbro2 0.182658695197891E+01 +#define avts 0.117200000000000E+02 +#define bvts 0.410000000000000E+00 +#define g1pbs 0.886676521690526E+00 +#define g3pbs 0.301156382231086E+01 +#define g4pbs 0.102654190601850E+02 +#define g5pbso2 1.550308 +#define r0 0.800000000000000E-05 +#define peaut 0.550000000000000E+00 +#define xncr 0.300000000000000E+09 +#define xmyu 0.171800000000000E-04 +#define lamdarmax 0.800000000000000E+05 +#define lamdasmax 0.100000000000000E+06 +#define lamdagmax 0.600000000000000E+05 +#define pi 0.314159265358979E+01 +#define dicon 0.119000000000000E+02 +#define dimax 0.500000000000000E-03 +#define pfrz1 0.100000000000000E+03 +#define pfrz2 0.660000000000000E+00 +#define eacrr 0.100000000000000E+01 +#define eacrc 0.100000000000000E+01 + + double cpv = 4.*r_v ; + double cp = 7.*r_d/2. ; + double cv = cp-r_d ; + double cpd = cp ; + + //double ep_1 = r_v/r_d-1. ; + //double ep_2 = r_d/r_v ; + double pvtr = avtr*g4pbr/6. ; + double pvts = avts*g4pbs/6. ; + double xlv1 = cliq - cv ; + + double rslopermax = 1./lamdarmax ; + double rslopesmax = .10000000000000001e-04 ; // 1./lamdasmax ; + double rsloperbmax = 0.11954406247375457E-03 ; // exp(log(rslopermax) * bvtr) ; + double rslopesbmax = .89125093813374589e-02 ; // exp(log(rslopesmax) * bvts) ; + double rsloper2max = rslopermax * rslopermax ; + double rslopes2max = rslopesmax * rslopesmax ; + double rsloper3max = rsloper2max * rslopermax ; + double rslopes3max = rslopes2max * rslopesmax ; + + double pidn0r = pi*denr*n0r ; + double pidn0s = pi*dens*n0s ; + + double precs1 = 4.*n0s*.65 ; + double precs2 = 4.*n0s*.44*sqrt(avts)*g5pbso2 ; + double qc0 = 4./3.*pi*denr*(r0*r0*r0)*xncr/den0 ; + double qck1 = .104*9.8*peaut/pow((xncr*denr),(1./3.))/xmyu*pow(den0,(4./3.)) ; + double precr1 = 2.*pi*n0r*.78 ; + double precr2 = 2.*pi*n0r*.31*sqrt(avtr)*g5pbro2 ; + double pacrr = pi*n0r*avtr*g3pbr*.25*eacrr ; + double pacrc = pi*n0s*avts*g3pbs*.25*eacrc ; + double roqimax = 2.08e22*pow(dimax,8) ; |
