16 double rot_time_period;
18 Real coriolis_factor =
static_cast<Real>(4.0 *
PI / rot_time_period);
24 Vector<Real> abl_geo_wind(3);
27 (amrex::Math::abs(abl_geo_wind[1]) <
amrex::Real(1.0e-15)) &&
28 (amrex::Math::abs(abl_geo_wind[2]) <
amrex::Real(1.0e-15)),
29 "Ekman Spiral uses geostrophic forcing of the form (V_0, 0, 0)");
30 const Real u_0 = abl_geo_wind[0];
32 const Real DE = std::sqrt(
two * Az / coriolis_factor);
36 ParallelFor(xbx, [=] AMREX_GPU_DEVICE(
int i,
int j,
int k) noexcept {
37 const auto dx = geomdata.CellSize();
41 x_vel_pert(i, j, k) = u_0 * (
one - std::exp(-a * z) * std::cos(-a * z));
45 ParallelFor(ybx, [=] AMREX_GPU_DEVICE(
int i,
int j,
int k) noexcept {
46 const auto dx = geomdata.CellSize();
50 y_vel_pert(i, j, k) = -u_0 * std::exp(-a * z) * std::sin(-a * z);
54 ParallelFor(zbx, [=] AMREX_GPU_DEVICE(
int i,
int j,
int k) noexcept {
55 z_vel_pert(i, j, k) =
zero;
const bool use_z_phys
Definition: ERF_InitCustomPertVels_EkmanSpiral.H:4
Real rho_0
Definition: ERF_InitCustomPertVels_EkmanSpiral.H:12
ParmParse pp_for_pert_vels("erf")
const Real phys_z_lo
Definition: ERF_InitCustomPertVels_EkmanSpiral.H:5
const Real dx
Definition: ERF_InitCustomPert_ABL.H:44
AMREX_ALWAYS_ASSERT_WITH_MESSAGE(axis >=0 &&axis< AMREX_SPACEDIM, "prob.axis must be 0, 1 or 2")
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 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
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