Go to the source code of this file.
|
| ParmParse | pp ("prob") |
| |
| pp | query ("A_0", A_0) |
| |
| pp | query ("B_0", B_0) |
| |
| pp | query ("rad_0", rad_0) |
| |
| pp | query ("rho_0", rho_0) |
| |
| pp | query ("xc_frac", xc_frac) |
| |
| pp | query ("yc_frac", yc_frac) |
| |
| pp | query ("zc_frac", zc_frac) |
| |
| pp | query ("prob_type", prob_type) |
| |
| pp | query ("xradius", xradius) |
| |
| pp | query ("zradius", zradius) |
| |
| | AMREX_ALWAYS_ASSERT (sc.terrain_type==TerrainType::EB) |
| |
| | ParallelFor (bx, [=] AMREX_GPU_DEVICE(int i, int j, int k) noexcept { const Real *prob_lo=geomdata.ProbLo();const Real *prob_hi=geomdata.ProbHi();const Real *dx=geomdata.CellSize();const Real x=prob_lo[0]+(i+0.5) *dx[0];const Real y=prob_lo[1]+(j+0.5) *dx[1];const Real z=prob_lo[2]+(k+0.5) *dx[2];const Real xc=xc_frac *(prob_lo[0]+prob_hi[0]);const Real yc=yc_frac *(prob_lo[1]+prob_hi[1]);const Real zc=zc_frac *(prob_lo[2]+prob_hi[2]);const Real r0=rad_0 *(prob_hi[0] - prob_lo[0]);const Real r3d=std::sqrt((x-xc) *(x-xc)+(y-yc) *(y-yc)+(z-zc) *(z-zc));const Real r2d_xz=std::sqrt((x-xc) *(x-xc)+(z-zc) *(z-zc));const Real r2d_xz_nd=std::sqrt((x-xc) *(x-xc)/xradius/xradius+(z-zc) *(z-zc)/zradius/zradius);if(prob_type==10) { state_pert(i, j, k, RhoScalar_comp)=A_0 *exp(-0.1 *r2d_xz *r2d_xz)+B_0 *sin(x);} else if(prob_type==11) { if(r2d_xz_nd< 1.0) { state_pert(i, j, k, RhoScalar_comp)=0.5 *A_0 *(1.0+std::cos(PI *r2d_xz_nd));} } else { if(r3d< r0) { state_pert(i, j, k, RhoScalar_comp)=A_0;} } state_pert(i, j, k, RhoScalar_comp) *=rho_0;}) |
| |
◆ AMREX_ALWAYS_ASSERT()
| AMREX_ALWAYS_ASSERT |
( |
sc. |
terrain_type = =TerrainType::EB | ) |
|
◆ ParallelFor()
| ParallelFor |
( |
bx |
, |
|
|
[=] AMREX_GPU_DEVICE(int i, int j, int k) noexcept { const Real *prob_lo=geomdata.ProbLo();const Real *prob_hi=geomdata.ProbHi();const Real *dx=geomdata.CellSize();const Real x=prob_lo[0]+(i+0.5) *dx[0];const Real y=prob_lo[1]+(j+0.5) *dx[1];const Real z=prob_lo[2]+(k+0.5) *dx[2];const Real xc=xc_frac *(prob_lo[0]+prob_hi[0]);const Real yc=yc_frac *(prob_lo[1]+prob_hi[1]);const Real zc=zc_frac *(prob_lo[2]+prob_hi[2]);const Real r0=rad_0 *(prob_hi[0] - prob_lo[0]);const Real r3d=std::sqrt((x-xc) *(x-xc)+(y-yc) *(y-yc)+(z-zc) *(z-zc));const Real r2d_xz=std::sqrt((x-xc) *(x-xc)+(z-zc) *(z-zc));const Real r2d_xz_nd=std::sqrt((x-xc) *(x-xc)/xradius/xradius+(z-zc) *(z-zc)/zradius/zradius);if(prob_type==10) { state_pert(i, j, k, RhoScalar_comp)=A_0 *exp(-0.1 *r2d_xz *r2d_xz)+B_0 *sin(x);} else if(prob_type==11) { if(r2d_xz_nd< 1.0) { state_pert(i, j, k, RhoScalar_comp)=0.5 *A_0 *(1.0+std::cos(PI *r2d_xz_nd));} } else { if(r3d< r0) { state_pert(i, j, k, RhoScalar_comp)=A_0;} } state_pert(i, j, k, RhoScalar_comp) *=rho_0;} |
|
|
) |
| |
◆ pp()
◆ query() [1/10]
◆ query() [2/10]
◆ query() [3/10]
◆ query() [4/10]
◆ query() [5/10]
◆ query() [6/10]
◆ query() [7/10]
◆ query() [8/10]
◆ query() [9/10]
◆ query() [10/10]
◆ A_0
◆ B_0
◆ prob_type
◆ rad_0
◆ rho_0
◆ xc_frac
◆ xradius
◆ yc_frac
◆ zc_frac
◆ zradius