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

Go to the source code of this file.

Functions

ParmParse pp_prob ("prob")
 
pp_prob query ("U_0", U_0)
 
 ParallelFor (xbx, [=] AMREX_GPU_DEVICE(int i, int j, int k) noexcept { const Real x=prob_lo[0]+Real(i) *dx[0];const Real y=prob_lo[1]+(Real(j)+myhalf) *dx[1];const Real z=prob_lo[2]+(Real(k)+myhalf) *dx[2];x_vel_pert(i, j, k)=erf_cloud_chamber::initial_u_velocity_perturbation(x, y, z, prob_lo, length, U_0, nx, ny);})
 
 ParallelFor (ybx, [=] AMREX_GPU_DEVICE(int i, int j, int k) noexcept { const Real x=prob_lo[0]+(Real(i)+myhalf) *dx[0];const Real y=prob_lo[1]+Real(j) *dx[1];const Real z=prob_lo[2]+(Real(k)+myhalf) *dx[2];y_vel_pert(i, j, k)=erf_cloud_chamber::initial_v_velocity_perturbation(x, y, z, prob_lo, length, U_0, v_scale, nx, ny);})
 
 ParallelFor (zbx, [=] AMREX_GPU_DEVICE(int i, int j, int k) noexcept { z_vel_pert(i, j, k)=erf_cloud_chamber::initial_w_velocity_perturbation();})
 

Variables

Real U_0 = zero
 
const GpuArray< Real, AMREX_SPACEDIM > prob_lo
 
const GpuArray< Real, AMREX_SPACEDIM > prob_hi
 
const GpuArray< Real, AMREX_SPACEDIM > dx
 
const Real lx = prob_hi[0] - prob_lo[0]
 
const Real ly = prob_hi[1] - prob_lo[1]
 
const Real lz = prob_hi[2] - prob_lo[2]
 
const auto length = GpuArray<Real, AMREX_SPACEDIM>{lx, ly, lz}
 
const int nx = geomdata.Domain().length(0)
 
const int ny = geomdata.Domain().length(1)
 
const Real v_scale
 

Function Documentation

◆ ParallelFor() [1/3]

ParallelFor ( xbx  ,
[=] AMREX_GPU_DEVICE(int i, int j, int k) noexcept { const Real x=prob_lo[0]+Real(i) *dx[0];const Real y=prob_lo[1]+(Real(j)+myhalf) *dx[1];const Real z=prob_lo[2]+(Real(k)+myhalf) *dx[2];x_vel_pert(i, j, k)=erf_cloud_chamber::initial_u_velocity_perturbation(x, y, z, prob_lo, length, U_0, nx, ny);}   
)
Here is the call graph for this function:

◆ ParallelFor() [2/3]

ParallelFor ( ybx  ,
[=] AMREX_GPU_DEVICE(int i, int j, int k) noexcept { const Real x=prob_lo[0]+(Real(i)+myhalf) *dx[0];const Real y=prob_lo[1]+Real(j) *dx[1];const Real z=prob_lo[2]+(Real(k)+myhalf) *dx[2];y_vel_pert(i, j, k)=erf_cloud_chamber::initial_v_velocity_perturbation(x, y, z, prob_lo, length, U_0, v_scale, nx, ny);}   
)
Here is the call graph for this function:

◆ ParallelFor() [3/3]

ParallelFor ( zbx  ,
[=] AMREX_GPU_DEVICE(int i, int j, int k) noexcept { z_vel_pert(i, j, k)=erf_cloud_chamber::initial_w_velocity_perturbation();}   
)
Here is the call graph for this function:

◆ pp_prob()

ParmParse pp_prob ( "prob"  )

◆ query()

pp_prob query ( "U_0"  ,
U_0   
)

Variable Documentation

◆ dx

const GpuArray<Real, AMREX_SPACEDIM> dx
Initial value:
= {
geomdata.CellSize(0), geomdata.CellSize(1), geomdata.CellSize(2)}

Referenced by ParallelFor().

◆ length

const auto length = GpuArray<Real, AMREX_SPACEDIM>{lx, ly, lz}

Referenced by ParallelFor().

◆ lx

◆ ly

◆ lz

const Real lz = prob_hi[2] - prob_lo[2]

◆ nx

◆ ny

◆ prob_hi

const GpuArray<Real, AMREX_SPACEDIM> prob_hi
Initial value:
= {
geomdata.ProbHi(0), geomdata.ProbHi(1), geomdata.ProbHi(2)}

◆ prob_lo

const GpuArray<Real, AMREX_SPACEDIM> prob_lo
Initial value:
= {
geomdata.ProbLo(0), geomdata.ProbLo(1), geomdata.ProbLo(2)}

Referenced by ParallelFor().

◆ U_0

Real U_0 = zero

Referenced by ParallelFor().

◆ v_scale

const Real v_scale
Initial value:
lx, ly, dx[0], dx[1], nx, ny)
const GpuArray< Real, AMREX_SPACEDIM > dx
Definition: ERF_InitCustomPertVels_CloudChamber.H:8
const Real lx
Definition: ERF_InitCustomPertVels_CloudChamber.H:10
const int nx
Definition: ERF_InitCustomPertVels_CloudChamber.H:14
const int ny
Definition: ERF_InitCustomPertVels_CloudChamber.H:15
const Real ly
Definition: ERF_InitCustomPertVels_CloudChamber.H:11
AMREX_FORCE_INLINE AMREX_GPU_HOST_DEVICE amrex::Real staggered_velocity_v_scale(amrex::Real lx, amrex::Real ly, amrex::Real dx, amrex::Real dy, int nx, int ny) noexcept
Discrete derivative ratio for the staggered initial velocity field.
Definition: ERF_CloudChamber.H:211

Referenced by erf_cloud_chamber::initial_v_velocity_perturbation(), and ParallelFor().