2 amrex::Gpu::streamSynchronize();
29 ParallelForRNG(xbx, [=] AMREX_GPU_DEVICE(
int i,
int j,
int k,
const amrex::RandomEngine& engine) noexcept
32 const Real*
dx = geomdata.CellSize();
34 + z_nd(i,j+1,k) + z_nd(i,j+1,k+1) )
38 x_vel_pert(i, j, k) =
zero;
41 Real rand_double = amrex::Random(engine);
43 x_vel_pert(i, j, k) += x_vel_prime;
48 ParallelForRNG(ybx, [=] AMREX_GPU_DEVICE(
int i,
int j,
int k,
const amrex::RandomEngine& engine) noexcept
51 const Real*
dx = geomdata.CellSize();
54 + z_nd(i+1,j,k) + z_nd(i+1,j,k+1) )
59 y_vel_pert(i, j, k) =
zero;
62 Real rand_double = amrex::Random(engine);
64 y_vel_pert(i, j, k) += y_vel_prime;
71 y_vel_pert(i, j, k) +=
vfac * damp * z_agl * std::cos(
bval *
xl);
75 const auto dx = geomdata.CellSize();
76 amrex::GpuArray<Real, AMREX_SPACEDIM>
dxInv;
82 ParallelForRNG(zbx, [=] AMREX_GPU_DEVICE(
int i,
int j,
int k,
const amrex::RandomEngine& engine) noexcept
84 const int dom_lo_z = geomdata.Domain().smallEnd()[2];
85 const int dom_hi_z = geomdata.Domain().bigEnd()[2];
88 if (k == dom_lo_z || k == dom_hi_z+1)
90 z_vel_pert(i, j, k) =
zero;
94 Real rand_double = amrex::Random(engine);
96 z_vel_pert(i, j, k) = z_vel_prime;
const bool use_terrain
Definition: ERF_InitCustomPertVels_Terrain3DHemisphere.H:26
Real bval
Definition: ERF_InitCustomPertVels_Terrain3DHemisphere.H:23
Real W_0_Pert_Mag
Definition: ERF_InitCustomPertVels_Terrain3DHemisphere.H:8
const Real * problo
Definition: ERF_InitCustomPertVels_Terrain3DHemisphere.H:20
Real pert_ref_height
Definition: ERF_InitCustomPertVels_Terrain3DHemisphere.H:13
ParmParse pp_for_pert_vels("prob")
Real U_0_Pert_Mag
Definition: ERF_InitCustomPertVels_Terrain3DHemisphere.H:6
Real pert_periods_V
Definition: ERF_InitCustomPertVels_Terrain3DHemisphere.H:12
Real vfac
Definition: ERF_InitCustomPertVels_Terrain3DHemisphere.H:24
Real pert_deltaV
Definition: ERF_InitCustomPertVels_Terrain3DHemisphere.H:10
Real U_0
Definition: ERF_InitCustomPertVels_Terrain3DHemisphere.H:4
Real V_0
Definition: ERF_InitCustomPertVels_Terrain3DHemisphere.H:5
Real pert_deltaU
Definition: ERF_InitCustomPertVels_Terrain3DHemisphere.H:9
Real pert_periods_U
Definition: ERF_InitCustomPertVels_Terrain3DHemisphere.H:11
const auto dx
Definition: ERF_InitCustomPertVels_Terrain3DHemisphere.H:75
Real V_0_Pert_Mag
Definition: ERF_InitCustomPertVels_Terrain3DHemisphere.H:7
ParallelForRNG(xbx, [=] AMREX_GPU_DEVICE(int i, int j, int k, const amrex::RandomEngine &engine) noexcept { const Real *prob_lo=geomdata.ProbLo();const Real *dx=geomdata.CellSize();const Real z=use_terrain ? fourth *(z_nd(i, j, k)+z_nd(i, j, k+1)+z_nd(i, j+1, k)+z_nd(i, j+1, k+1)) :prob_lo[2]+(k+myhalf) *dx[2];const Real z_agl=z - erf_prob_heights::z_ground_xface(i, j, z_sfc_nd);x_vel_pert(i, j, k)=zero;if((z_agl<=pert_ref_height) &&(U_0_Pert_Mag !=zero)) { Real rand_double=amrex::Random(engine);Real x_vel_prime=(rand_double *two - one) *U_0_Pert_Mag;x_vel_pert(i, j, k)+=x_vel_prime;} })
amrex::GpuArray< Real, AMREX_SPACEDIM > dxInv
Definition: ERF_InitCustomPertVels_Terrain3DHemisphere.H:76
const Real * probhi
Definition: ERF_InitCustomPertVels_Terrain3DHemisphere.H:21
const GpuArray< Real, AMREX_SPACEDIM > prob_lo
Definition: ERF_InitCustomPert_CloudChamber.H:33
constexpr amrex::Real two
Definition: ERF_NumericalConstants.H:38
constexpr amrex::Real one
Definition: ERF_NumericalConstants.H:37
constexpr amrex::Real fourth
Definition: ERF_NumericalConstants.H:42
constexpr amrex::Real zero
Definition: ERF_NumericalConstants.H:36
constexpr amrex::Real myhalf
Definition: ERF_NumericalConstants.H:41
constexpr amrex::Real PI
Definition: ERF_NumericalConstants.H:46
amrex::Real Real
Definition: ERF_ShocInterface.H:19
@ None
Definition: ERF_LSM_Types.H:6
@ xl
Definition: ERF_WSM6.H:345
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE amrex::Real z_ground_xface(int i, int j, amrex::Array4< amrex::Real const > const &z_sfc_nd) noexcept
Height of the ground under x-face (i,j)
Definition: ERF_ProbHeights.H:58
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE amrex::Real z_ground_yface(int i, int j, amrex::Array4< amrex::Real const > const &z_sfc_nd) noexcept
Height of the ground under y-face (i,j)
Definition: ERF_ProbHeights.H:66
static TerrainType terrain_type
Terrain or immersed-boundary representation.
Definition: ERF_DataStruct.H:2589