Go to the source code of this file.
|
| ParmParse | pp ("prob") |
| |
| pp | query ("x_c", x_c) |
| |
| pp | query ("z_c", z_c) |
| |
| pp | query ("x_r", x_r) |
| |
| pp | query ("z_r", z_r) |
| |
| pp | query ("T_pert", T_pert) |
| |
| | AMREX_ALWAYS_ASSERT (bx.length()[2]==khi+1) |
| |
| | ParallelFor (bx, [=] AMREX_GPU_DEVICE(int i, int j, int k) noexcept { const auto prob_lo=geomdata.ProbLo();const auto dx=geomdata.CellSize();const Real x=prob_lo[0]+(i+0.5) *dx[0];const Real z=z_cc(i, j, k);const Real Tbar_hse=p_hse(i, j, k)/(R_d *r_hse(i, j, k));Real L=std::sqrt(std::pow((x - x_c)/x_r, 2)+std::pow((z - z_c)/z_r, 2));if(L<=1.0) { Real dT=T_pert *(std::cos(PI *L)+1.0)/2.0;Real theta_perturbed=(Tbar_hse+dT) *std::pow(p_0/p_hse(i, j, k), R_d/C_p);state_pert(i, j, k, Rho_comp)=getRhoThetagivenP(p_hse(i, j, k))/theta_perturbed - r_hse(i, j, k);} }) |
| |
◆ AMREX_ALWAYS_ASSERT()
| AMREX_ALWAYS_ASSERT |
( |
bx. |
length()[2] = =khi+1 | ) |
|
◆ ParallelFor()
| ParallelFor |
( |
bx |
, |
|
|
[=] AMREX_GPU_DEVICE(int i, int j, int k) noexcept { const auto prob_lo=geomdata.ProbLo();const auto dx=geomdata.CellSize();const Real x=prob_lo[0]+(i+0.5) *dx[0];const Real z=z_cc(i, j, k);const Real Tbar_hse=p_hse(i, j, k)/(R_d *r_hse(i, j, k));Real L=std::sqrt(std::pow((x - x_c)/x_r, 2)+std::pow((z - z_c)/z_r, 2));if(L<=1.0) { Real dT=T_pert *(std::cos(PI *L)+1.0)/2.0;Real theta_perturbed=(Tbar_hse+dT) *std::pow(p_0/p_hse(i, j, k), R_d/C_p);state_pert(i, j, k, Rho_comp)=getRhoThetagivenP(p_hse(i, j, k))/theta_perturbed - r_hse(i, j, k);} } |
|
|
) |
| |
◆ pp()
◆ query() [1/5]
◆ query() [2/5]
◆ query() [3/5]
◆ query() [4/5]
◆ query() [5/5]
◆ C_p
◆ khi
| const int khi = geomdata.Domain().bigEnd()[2] |
◆ T_pert
◆ x_c
◆ x_r
◆ z_c
◆ z_r