40 ParallelFor(xbx, [=] AMREX_GPU_DEVICE(
int i,
int j,
int k) noexcept {
41 const auto *
const dx = geomdata.CellSize();
46 ParallelFor(ybx, [=] AMREX_GPU_DEVICE(
int i,
int j,
int k) noexcept {
47 const auto *
const dx = geomdata.CellSize();
52 ParallelFor(zbx, [=] AMREX_GPU_DEVICE(
int i,
int j,
int k) noexcept {
53 z_vel_pert(i, j, k) =
W_0;
59 ParallelFor(xbx, [=] AMREX_GPU_DEVICE(
int i,
int j,
int k) noexcept
62 const Real*
dx = geomdata.CellSize();
67 x_vel_pert(i, j, k) =
one - z_h * z_h;
69 x_vel_pert(i, j, k) =
zero;
73 ParallelFor(ybx, [=] AMREX_GPU_DEVICE(
int i,
int j,
int k) noexcept
76 const Real*
dx = geomdata.CellSize();
81 y_vel_pert(i, j, k) =
one - z_h * z_h;
83 y_vel_pert(i, j, k) =
zero;
87 ParallelFor(zbx, [=] AMREX_GPU_DEVICE(
int i,
int j,
int k) noexcept
89 z_vel_pert(i, j, k) =
zero;
95 ParallelFor(xbx, [=] AMREX_GPU_DEVICE(
int i,
int j,
int k) noexcept
99 const Real*
dx = geomdata.CellSize();
102 const Real z =
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) );
108 x_vel_pert(i, j, k) =
U_0 * (
one - y_h * y_h);
112 const Real scaling = std::cos(
PI/
two * y_h);
117 ParallelFor(ybx, [=] AMREX_GPU_DEVICE(
int i,
int j,
int k) noexcept
121 const Real*
dx = geomdata.CellSize();
124 y_vel_pert(i, j, k) =
zero;
126 const Real z =
fourth*( z_nd(i ,j,k) + z_nd(i ,j,k+1) + z_nd(i+1,j,k) + z_nd(i+1,j,k+1) );
134 const Real scaling = std::cos(
PI/
two * y_h);
139 ParallelFor(zbx, [=] AMREX_GPU_DEVICE(
int i,
int j,
int k) noexcept
141 z_vel_pert(i, j, k) =
zero;
const bool use_z_phys
Definition: ERF_InitCustomPertVels_CouettePoiseuille.H:3
Real pert_delta_v
Definition: ERF_InitCustomPertVels_CouettePoiseuille.H:29
Real bval
Definition: ERF_InitCustomPertVels_CouettePoiseuille.H:35
Real aval
Definition: ERF_InitCustomPertVels_CouettePoiseuille.H:34
ParmParse pp_for_pert_vels("prob")
auto probhi
Definition: ERF_InitCustomPertVels_CouettePoiseuille.H:32
const Real phys_z_hi
Definition: ERF_InitCustomPertVels_CouettePoiseuille.H:5
Real pert_periods_u
Definition: ERF_InitCustomPertVels_CouettePoiseuille.H:25
Real pert_periods_v
Definition: ERF_InitCustomPertVels_CouettePoiseuille.H:26
Real U_0
Definition: ERF_InitCustomPertVels_CouettePoiseuille.H:7
Real V_0
Definition: ERF_InitCustomPertVels_CouettePoiseuille.H:8
Real pert_delta_u
Definition: ERF_InitCustomPertVels_CouettePoiseuille.H:28
int prob_type
Definition: ERF_InitCustomPertVels_CouettePoiseuille.H:17
Real W_0
Definition: ERF_InitCustomPertVels_CouettePoiseuille.H:9
auto problo
Definition: ERF_InitCustomPertVels_CouettePoiseuille.H:31
AMREX_ALWAYS_ASSERT(prob_type==1||prob_type==10||prob_type==11||prob_type==20||prob_type==21)
const Real phys_z_lo
Definition: ERF_InitCustomPertVels_CouettePoiseuille.H:4
const Real dx
Definition: ERF_InitCustomPert_ABL.H:44
const GpuArray< Real, AMREX_SPACEDIM > prob_lo
Definition: ERF_InitCustomPert_CloudChamber.H:33
const amrex::Real * prob_hi
Definition: ERF_InitCustomPert_DataAssimilation_ISV.H:17
ParallelFor(fab_box, [=] AMREX_GPU_DEVICE(int i, int j, int k) { qrcuten_arr(i, j, k)=Real(0);qscuten_arr(i, j, k)=Real(0);qicuten_arr(i, j, k)=Real(0);})
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
@ xl
Definition: ERF_WSM6.H:345
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE amrex::Real z_yface(int i, int j, int k, amrex::Array4< amrex::Real const > const &z_nd) noexcept
Height of the centre of y-face (i,j,k)
Definition: ERF_ProbHeights.H:30
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE amrex::Real z_xface(int i, int j, int k, amrex::Array4< amrex::Real const > const &z_nd) noexcept
Height of the centre of x-face (i,j,k)
Definition: ERF_ProbHeights.H:21