ERF
Energy Research and Forecasting: An Atmospheric Modeling Code
ERF_InitCustomPertVels_ScalarAdvDiff.H
Go to the documentation of this file.
1 
2  amrex::Gpu::streamSynchronize();
3  ParmParse pp_for_pert_vels("prob");
4  Real U_0 = 0.0; pp_for_pert_vels.query("U_0", U_0);
5  Real V_0 = 0.0; pp_for_pert_vels.query("V_0", V_0);
6  Real W_0 = 0.0; pp_for_pert_vels.query("W_0", W_0);
7 
8  Real z0 = 0.1; pp_for_pert_vels.query("z0", z0);
9  Real zRef = 80.0; pp_for_pert_vels.query("zRef", zRef);
10  Real uRef = 0.0; pp_for_pert_vels.query("uRef", uRef);
11 
12  int prob_type = -1; pp_for_pert_vels.query("prob_type", prob_type);
13 
14  // Set the x-velocity
15  ParallelFor(xbx, [=] AMREX_GPU_DEVICE(int i, int j, int k) noexcept
16  {
17  const Real* prob_lo = geomdata.ProbLo();
18  const Real* dx = geomdata.CellSize();
19  const Real z = prob_lo[2] + (k + 0.5) * dx[2];
20 
21  // Set the x-velocity
22  if (uRef != 0.0) {
23  x_vel_pert(i, j, k) = U_0 + uRef *
24  std::log((z + z0)/z0) / std::log((zRef +z0)/z0);
25  } else {
26  x_vel_pert(i, j, k) = U_0;
27  }
28  });
29 
30  // Set the y-velocity
31  ParallelFor(ybx, [=] AMREX_GPU_DEVICE(int i, int j, int k) noexcept
32  {
33  y_vel_pert(i, j, k) = V_0;
34  });
35 
36  // Set the z-velocity
37  ParallelFor(zbx, [=] AMREX_GPU_DEVICE(int i, int j, int k) noexcept
38  {
39  z_vel_pert(i, j, k) = W_0;
40  });
const auto dx
Definition: ERF_InitCustomPertVels_ParticleTests.H:15
Real z0
Definition: ERF_InitCustomPertVels_ScalarAdvDiff.H:8
ParmParse pp_for_pert_vels("prob")
ParallelFor(xbx, [=] AMREX_GPU_DEVICE(int i, int j, int k) noexcept { const Real *prob_lo=geomdata.ProbLo();const Real *dx=geomdata.CellSize();const Real z=prob_lo[2]+(k+0.5) *dx[2];if(uRef !=0.0) { x_vel_pert(i, j, k)=U_0+uRef *std::log((z+z0)/z0)/std::log((zRef+z0)/z0);} else { x_vel_pert(i, j, k)=U_0;} })
Real U_0
Definition: ERF_InitCustomPertVels_ScalarAdvDiff.H:4
Real V_0
Definition: ERF_InitCustomPertVels_ScalarAdvDiff.H:5
Real uRef
Definition: ERF_InitCustomPertVels_ScalarAdvDiff.H:10
Real zRef
Definition: ERF_InitCustomPertVels_ScalarAdvDiff.H:9
int prob_type
Definition: ERF_InitCustomPertVels_ScalarAdvDiff.H:12
Real W_0
Definition: ERF_InitCustomPertVels_ScalarAdvDiff.H:6
const amrex::Real * prob_lo
Definition: ERF_InitCustomPert_IsentropicVortex.H:16
const Box zbx
Definition: ERF_SetupDiff.H:9
const Box xbx
Definition: ERF_SetupDiff.H:7
const Box ybx
Definition: ERF_SetupDiff.H:8
amrex::Real Real
Definition: ERF_ShocInterface.H:19