ERF
Energy Research and Forecasting: An Atmospheric Modeling Code
ERF_InitCustomPertVels_IsentropicVortex.H File Reference

Go to the source code of this file.

Functions

ParmParse pp_for_pert_vels ("prob")
 
pp_for_pert_vels query ("M_inf", M_inf)
 
pp_for_pert_vels query ("T_inf", T_inf)
 
pp_for_pert_vels query ("alpha", alpha)
 
pp_for_pert_vels query ("gamma", gamma)
 
pp_for_pert_vels query ("beta", beta)
 
pp_for_pert_vels query ("sigma", sigma)
 
pp_for_pert_vels query ("R", R)
 
pp_for_pert_vels query ("xc", xc_frac)
 
pp_for_pert_vels query ("yc", yc_frac)
 
 ParallelFor (xbx, [=] AMREX_GPU_DEVICE(int i, int j, int k) noexcept { const Real *dx=geomdata.CellSize();const Real x=i *dx[0];const Real y=(j+0.5) *dx[1];const Real Omg=erf_vortex_Gaussian(x, y, xc, yc, R, beta, sigma);x_vel_pert(i, j, k)=(M_inf *std::cos(alpha) -(y - yc)/R *Omg) *a_inf;})
 
 ParallelFor (ybx, [=] AMREX_GPU_DEVICE(int i, int j, int k) noexcept { const Real *dx=geomdata.CellSize();const Real x=(i+0.5) *dx[0];const Real y=j *dx[1];const Real Omg=erf_vortex_Gaussian(x, y, xc, yc, R, beta, sigma);y_vel_pert(i, j, k)=(M_inf *std::sin(alpha)+(x - xc)/R *Omg) *a_inf;})
 

Variables

amrex::Real M_inf = 0.2
 
amrex::Real T_inf = 300.0
 
amrex::Real alpha = 0.0
 
amrex::Real gamma = Gamma
 
amrex::Real beta = 0.01
 
amrex::Real sigma = 1.0
 
amrex::Real R = 2.0
 
amrex::Real xc_frac = 0.5
 
amrex::Real yc_frac = 0.5
 
const amrex::Realprob_lo = geomdata.ProbLo()
 
const amrex::Realprob_hi = geomdata.ProbHi()
 
amrex::Real xc = xc_frac * (prob_hi[0] - prob_lo[0])
 
amrex::Real yc = yc_frac * (prob_hi[1] - prob_lo[1])
 
amrex::Real a_inf = std::sqrt(gamma * R_d * T_inf)
 

Function Documentation

◆ ParallelFor() [1/2]

ParallelFor ( xbx  ,
[=] AMREX_GPU_DEVICE(int i, int j, int k) noexcept { const Real *dx=geomdata.CellSize();const Real x=i *dx[0];const Real y=(j+0.5) *dx[1];const Real Omg=erf_vortex_Gaussian(x, y, xc, yc, R, beta, sigma);x_vel_pert(i, j, k)=(M_inf *std::cos(alpha) -(y - yc)/R *Omg) *a_inf;}   
)
Here is the call graph for this function:

◆ ParallelFor() [2/2]

ParallelFor ( ybx  ,
[=] AMREX_GPU_DEVICE(int i, int j, int k) noexcept { const Real *dx=geomdata.CellSize();const Real x=(i+0.5) *dx[0];const Real y=j *dx[1];const Real Omg=erf_vortex_Gaussian(x, y, xc, yc, R, beta, sigma);y_vel_pert(i, j, k)=(M_inf *std::sin(alpha)+(x - xc)/R *Omg) *a_inf;}   
)
Here is the call graph for this function:

◆ pp_for_pert_vels()

ParmParse pp_for_pert_vels ( "prob"  )

◆ query() [1/9]

pp_for_pert_vels query ( "alpha"  ,
alpha   
)

◆ query() [2/9]

pp_for_pert_vels query ( "beta"  ,
beta   
)

◆ query() [3/9]

pp_for_pert_vels query ( "gamma"  ,
gamma   
)

◆ query() [4/9]

pp_for_pert_vels query ( "M_inf"  ,
M_inf   
)

◆ query() [5/9]

pp_for_pert_vels query ( "R"  ,
R   
)

◆ query() [6/9]

pp_for_pert_vels query ( "sigma"  ,
sigma   
)

◆ query() [7/9]

pp_for_pert_vels query ( "T_inf"  ,
T_inf   
)

◆ query() [8/9]

pp_for_pert_vels query ( "xc"  ,
xc_frac   
)

◆ query() [9/9]

pp_for_pert_vels query ( "yc"  ,
yc_frac   
)

Variable Documentation

◆ a_inf

amrex::Real a_inf = std::sqrt(gamma * R_d * T_inf)

Referenced by ParallelFor().

◆ alpha

amrex::Real alpha = 0.0

Referenced by ParallelFor().

◆ beta

amrex::Real beta = 0.01

Referenced by ParallelFor().

◆ gamma

amrex::Real gamma = Gamma

◆ M_inf

amrex::Real M_inf = 0.2

Referenced by ParallelFor().

◆ prob_hi

const amrex::Real* prob_hi = geomdata.ProbHi()

◆ prob_lo

const amrex::Real* prob_lo = geomdata.ProbLo()

◆ R

amrex::Real R = 2.0

Referenced by ParallelFor().

◆ sigma

amrex::Real sigma = 1.0

Referenced by ParallelFor().

◆ T_inf

amrex::Real T_inf = 300.0

◆ xc

amrex::Real xc = xc_frac * (prob_hi[0] - prob_lo[0])

Referenced by ParallelFor().

◆ xc_frac

amrex::Real xc_frac = 0.5

◆ yc

amrex::Real yc = yc_frac * (prob_hi[1] - prob_lo[1])

Referenced by ParallelFor().

◆ yc_frac

amrex::Real yc_frac = 0.5