diff options
Diffstat (limited to 'Source')
-rw-r--r-- | Source/BoundaryConditions/PML.H | 8 | ||||
-rw-r--r-- | Source/BoundaryConditions/PML.cpp | 62 | ||||
-rw-r--r-- | Source/BoundaryConditions/WarpXEvolvePML.cpp | 48 |
3 files changed, 59 insertions, 59 deletions
diff --git a/Source/BoundaryConditions/PML.H b/Source/BoundaryConditions/PML.H index 2a428279c..37c8ba961 100644 --- a/Source/BoundaryConditions/PML.H +++ b/Source/BoundaryConditions/PML.H @@ -48,13 +48,13 @@ struct SigmaBox using SigmaVect = std::array<Sigma,AMREX_SPACEDIM>; SigmaVect sigma; - SigmaVect sigma_cum; + SigmaVect sigma_cumsum; SigmaVect sigma_star; - SigmaVect sigma_star_cum; + SigmaVect sigma_star_cumsum; SigmaVect sigma_fac; - SigmaVect sigma_cum_fac; + SigmaVect sigma_cumsum_fac; SigmaVect sigma_star_fac; - SigmaVect sigma_star_cum_fac; + SigmaVect sigma_star_cumsum_fac; }; diff --git a/Source/BoundaryConditions/PML.cpp b/Source/BoundaryConditions/PML.cpp index c871dabee..fd5a2de1c 100644 --- a/Source/BoundaryConditions/PML.cpp +++ b/Source/BoundaryConditions/PML.cpp @@ -15,7 +15,7 @@ using namespace amrex; namespace { - static void FillLo (int idim, Sigma& sigma, Sigma& sigma_cum, Sigma& sigma_star, Sigma& sigma_star_cum, + static void FillLo (int idim, Sigma& sigma, Sigma& sigma_cumsum, Sigma& sigma_star, Sigma& sigma_star_cumsum, const Box& overlap, const Box& grid, Real fac) { int glo = grid.smallEnd(idim); @@ -29,18 +29,18 @@ namespace { Real offset = static_cast<Real>(glo-i); sigma[i-slo] = fac*(offset*offset); - sigma_cum[i-slo] = (fac*(offset*offset*offset)/3.)/PhysConst::c; + sigma_cumsum[i-slo] = (fac*(offset*offset*offset)/3.)/PhysConst::c; } for (int i = olo; i <= ohi; ++i) { Real offset = static_cast<Real>(glo-i) - 0.5; sigma_star[i-sslo] = fac*(offset*offset); - sigma_star_cum[i-sslo] = (fac*(offset*offset*offset)/3.)/PhysConst::c; + sigma_star_cumsum[i-sslo] = (fac*(offset*offset*offset)/3.)/PhysConst::c; } } - static void FillHi (int idim, Sigma& sigma, Sigma& sigma_cum, Sigma& sigma_star, Sigma& sigma_star_cum, + static void FillHi (int idim, Sigma& sigma, Sigma& sigma_cumsum, Sigma& sigma_star, Sigma& sigma_star_cumsum, const Box& overlap, const Box& grid, Real fac) { int ghi = grid.bigEnd(idim); @@ -53,26 +53,26 @@ namespace { Real offset = static_cast<Real>(i-ghi-1); sigma[i-slo] = fac*(offset*offset); - sigma_cum[i-slo] = (fac*(offset*offset*offset)/3.)/PhysConst::c; + sigma_cumsum[i-slo] = (fac*(offset*offset*offset)/3.)/PhysConst::c; } for (int i = olo; i <= ohi; ++i) { Real offset = static_cast<Real>(i-ghi) - 0.5; sigma_star[i-sslo] = fac*(offset*offset); - sigma_star_cum[i-sslo] = (fac*(offset*offset*offset)/3.)/PhysConst::c; + sigma_star_cumsum[i-sslo] = (fac*(offset*offset*offset)/3.)/PhysConst::c; } } - static void FillZero (int idim, Sigma& sigma, Sigma& sigma_cum, Sigma& sigma_star, Sigma& sigma_star_cum, const Box& overlap) + static void FillZero (int idim, Sigma& sigma, Sigma& sigma_cumsum, Sigma& sigma_star, Sigma& sigma_star_cumsum, const Box& overlap) { int olo = overlap.smallEnd(idim); int ohi = overlap.bigEnd(idim); int slo = sigma.m_lo; int sslo = sigma_star.m_lo; std::fill(sigma.begin()+(olo-slo), sigma.begin()+(ohi+2-slo), 0.0); - std::fill(sigma_cum.begin()+(olo-slo), sigma_cum.begin()+(ohi+2-slo), 0.0); + std::fill(sigma_cumsum.begin()+(olo-slo), sigma_cumsum.begin()+(ohi+2-slo), 0.0); std::fill(sigma_star.begin()+(olo-sslo), sigma_star.begin()+(ohi+1-sslo), 0.0); - std::fill(sigma_star_cum.begin()+(olo-sslo), sigma_star_cum.begin()+(ohi+1-sslo), 0.0); + std::fill(sigma_star_cumsum.begin()+(olo-sslo), sigma_star_cumsum.begin()+(ohi+1-sslo), 0.0); } } @@ -87,30 +87,30 @@ SigmaBox::SigmaBox (const Box& box, const BoxArray& grids, const Real* dx, int n for (int idim = 0; idim < AMREX_SPACEDIM; ++idim) { sigma [idim].resize(sz[idim]+1); - sigma_cum [idim].resize(sz[idim]+1); + sigma_cumsum [idim].resize(sz[idim]+1); sigma_star [idim].resize(sz[idim]); - sigma_star_cum[idim].resize(sz[idim]); + sigma_star_cumsum[idim].resize(sz[idim]); sigma_fac [idim].resize(sz[idim]+1); - sigma_cum_fac [idim].resize(sz[idim]+1); + sigma_cumsum_fac [idim].resize(sz[idim]+1); sigma_star_fac[idim].resize(sz[idim]); - sigma_star_cum_fac[idim].resize(sz[idim]); + sigma_star_cumsum_fac[idim].resize(sz[idim]); sigma [idim].m_lo = lo[idim]; sigma [idim].m_hi = hi[idim]+1; - sigma_cum [idim].m_lo = lo[idim]; - sigma_cum [idim].m_hi = hi[idim]+1; + sigma_cumsum [idim].m_lo = lo[idim]; + sigma_cumsum [idim].m_hi = hi[idim]+1; sigma_star [idim].m_lo = lo[idim]; sigma_star [idim].m_hi = hi[idim]; - sigma_star_cum[idim].m_lo = lo[idim]; - sigma_star_cum[idim].m_hi = hi[idim]; + sigma_star_cumsum[idim].m_lo = lo[idim]; + sigma_star_cumsum[idim].m_hi = hi[idim]; sigma_fac [idim].m_lo = lo[idim]; sigma_fac [idim].m_hi = hi[idim]+1; - sigma_cum_fac [idim].m_lo = lo[idim]; - sigma_cum_fac [idim].m_hi = hi[idim]+1; + sigma_cumsum_fac [idim].m_lo = lo[idim]; + sigma_cumsum_fac [idim].m_hi = hi[idim]+1; sigma_star_fac[idim].m_lo = lo[idim]; sigma_star_fac[idim].m_hi = hi[idim]; - sigma_star_cum_fac[idim].m_lo = lo[idim]; - sigma_star_cum_fac[idim].m_hi = hi[idim]; + sigma_star_cumsum_fac[idim].m_lo = lo[idim]; + sigma_star_cumsum_fac[idim].m_hi = hi[idim]; } Array<Real,AMREX_SPACEDIM> fac; @@ -178,7 +178,7 @@ SigmaBox::SigmaBox (const Box& box, const BoxArray& grids, const Real* dx, int n #endif Box looverlap = lobox & box; if (looverlap.ok()) { - FillLo(idim, sigma[idim], sigma_cum[idim], sigma_star[idim], sigma_star_cum[idim], looverlap, grid_box, fac[idim]); + FillLo(idim, sigma[idim], sigma_cumsum[idim], sigma_star[idim], sigma_star_cumsum[idim], looverlap, grid_box, fac[idim]); } Box hibox = amrex::adjCellHi(grid_box, idim, ncell); @@ -188,7 +188,7 @@ SigmaBox::SigmaBox (const Box& box, const BoxArray& grids, const Real* dx, int n #endif Box hioverlap = hibox & box; if (hioverlap.ok()) { - FillHi(idim, sigma[idim], sigma_cum[idim], sigma_star[idim], sigma_star_cum[idim], hioverlap, grid_box, fac[idim]); + FillHi(idim, sigma[idim], sigma_cumsum[idim], sigma_star[idim], sigma_star_cumsum[idim], hioverlap, grid_box, fac[idim]); } if (!looverlap.ok() && !hioverlap.ok()) { @@ -202,7 +202,7 @@ SigmaBox::SigmaBox (const Box& box, const BoxArray& grids, const Real* dx, int n const Box& grid_box = grids[gid]; const Box& overlap = amrex::grow(amrex::grow(grid_box,jdim,ncell),kdim,ncell) & box; if (overlap.ok()) { - FillZero(idim, sigma[idim], sigma_cum[idim], sigma_star[idim], sigma_star_cum[idim], overlap); + FillZero(idim, sigma[idim], sigma_cumsum[idim], sigma_star[idim], sigma_star_cumsum[idim], overlap); } else { amrex::Abort("SigmaBox::SigmaBox(): side_side_edges, how did this happen?\n"); @@ -216,13 +216,13 @@ SigmaBox::SigmaBox (const Box& box, const BoxArray& grids, const Real* dx, int n Box lobox = amrex::adjCellLo(grid_box, idim, ncell); Box looverlap = lobox.grow(jdim,ncell).grow(kdim,ncell) & box; if (looverlap.ok()) { - FillLo(idim, sigma[idim], sigma_cum[idim], sigma_star[idim], sigma_star_cum[idim], looverlap, grid_box, fac[idim]); + FillLo(idim, sigma[idim], sigma_cumsum[idim], sigma_star[idim], sigma_star_cumsum[idim], looverlap, grid_box, fac[idim]); } Box hibox = amrex::adjCellHi(grid_box, idim, ncell); Box hioverlap = hibox.grow(jdim,ncell).grow(kdim,ncell) & box; if (hioverlap.ok()) { - FillHi(idim, sigma[idim], sigma_cum[idim], sigma_star[idim], sigma_star_cum[idim], hioverlap, grid_box, fac[idim]); + FillHi(idim, sigma[idim], sigma_cumsum[idim], sigma_star[idim], sigma_star_cumsum[idim], hioverlap, grid_box, fac[idim]); } if (!looverlap.ok() && !hioverlap.ok()) { @@ -240,7 +240,7 @@ SigmaBox::SigmaBox (const Box& box, const BoxArray& grids, const Real* dx, int n const Box& overlap = amrex::grow(amrex::grow(grid_box,jdim,ncell),kdim,ncell) & box; #endif if (overlap.ok()) { - FillZero(idim, sigma[idim], sigma_cum[idim], sigma_star[idim], sigma_star_cum[idim], overlap); + FillZero(idim, sigma[idim], sigma_cumsum[idim], sigma_star[idim], sigma_star_cumsum[idim], overlap); } else { amrex::Abort("SigmaBox::SigmaBox(): side_faces, how did this happen?\n"); } @@ -253,13 +253,13 @@ SigmaBox::SigmaBox (const Box& box, const BoxArray& grids, const Real* dx, int n const Box& lobox = amrex::adjCellLo(grid_box, idim, ncell); Box looverlap = lobox & box; if (looverlap.ok()) { - FillLo(idim, sigma[idim], sigma_cum[idim], sigma_star[idim], sigma_star_cum[idim], looverlap, grid_box, fac[idim]); + FillLo(idim, sigma[idim], sigma_cumsum[idim], sigma_star[idim], sigma_star_cumsum[idim], looverlap, grid_box, fac[idim]); } const Box& hibox = amrex::adjCellHi(grid_box, idim, ncell); Box hioverlap = hibox & box; if (hioverlap.ok()) { - FillHi(idim, sigma[idim], sigma_cum[idim], sigma_star[idim], sigma_star_cum[idim], hioverlap, grid_box, fac[idim]); + FillHi(idim, sigma[idim], sigma_cumsum[idim], sigma_star[idim], sigma_star_cumsum[idim], hioverlap, grid_box, fac[idim]); } if (!looverlap.ok() && !hioverlap.ok()) { @@ -282,7 +282,7 @@ SigmaBox::ComputePMLFactorsB (const Real* dx, Real dt) for (int i = 0, N = sigma_star[idim].size(); i < N; ++i) { sigma_star_fac[idim][i] = std::exp(-sigma_star[idim][i]*dt); - sigma_star_cum_fac[idim][i] = std::exp(-sigma_star_cum[idim][i]*dx[idim]); + sigma_star_cumsum_fac[idim][i] = std::exp(-sigma_star_cumsum[idim][i]*dx[idim]); } } } @@ -295,7 +295,7 @@ SigmaBox::ComputePMLFactorsE (const Real* dx, Real dt) for (int i = 0, N = sigma[idim].size(); i < N; ++i) { sigma_fac[idim][i] = std::exp(-sigma[idim][i]*dt); - sigma_cum_fac[idim][i] = std::exp(-sigma_cum[idim][i]*dx[idim]); + sigma_cumsum_fac[idim][i] = std::exp(-sigma_cumsum[idim][i]*dx[idim]); } } } diff --git a/Source/BoundaryConditions/WarpXEvolvePML.cpp b/Source/BoundaryConditions/WarpXEvolvePML.cpp index a801aabe4..505fa83d2 100644 --- a/Source/BoundaryConditions/WarpXEvolvePML.cpp +++ b/Source/BoundaryConditions/WarpXEvolvePML.cpp @@ -121,55 +121,55 @@ WarpX::DampJPML (int lev, PatchType patch_type) auto const& pml_jxfab = pml_j[0]->array(mfi); auto const& pml_jyfab = pml_j[1]->array(mfi); auto const& pml_jzfab = pml_j[2]->array(mfi); - const Real* sigma_cum_fac_j_x = sigba[mfi].sigma_cum_fac[0].data(); - const Real* sigma_star_cum_fac_j_x = sigba[mfi].sigma_star_cum_fac[0].data(); + const Real* sigma_cumsum_fac_j_x = sigba[mfi].sigma_cumsum_fac[0].data(); + const Real* sigma_star_cumsum_fac_j_x = sigba[mfi].sigma_star_cumsum_fac[0].data(); #if (AMREX_SPACEDIM == 3) - const Real* sigma_cum_fac_j_y = sigba[mfi].sigma_cum_fac[1].data(); - const Real* sigma_star_cum_fac_j_y = sigba[mfi].sigma_star_cum_fac[1].data(); - const Real* sigma_cum_fac_j_z = sigba[mfi].sigma_cum_fac[2].data(); - const Real* sigma_star_cum_fac_j_z = sigba[mfi].sigma_star_cum_fac[2].data(); + const Real* sigma_cumsum_fac_j_y = sigba[mfi].sigma_cumsum_fac[1].data(); + const Real* sigma_star_cumsum_fac_j_y = sigba[mfi].sigma_star_cumsum_fac[1].data(); + const Real* sigma_cumsum_fac_j_z = sigba[mfi].sigma_cumsum_fac[2].data(); + const Real* sigma_star_cumsum_fac_j_z = sigba[mfi].sigma_star_cumsum_fac[2].data(); #else - const Real* sigma_cum_fac_j_y = nullptr; - const Real* sigma_star_cum_fac_j_y = nullptr; - const Real* sigma_cum_fac_j_z = sigba[mfi].sigma_cum_fac[1].data(); - const Real* sigma_star_cum_fac_j_z = sigba[mfi].sigma_star_cum_fac[1].data(); + const Real* sigma_cumsum_fac_j_y = nullptr; + const Real* sigma_star_cumsum_fac_j_y = nullptr; + const Real* sigma_cumsum_fac_j_z = sigba[mfi].sigma_cumsum_fac[1].data(); + const Real* sigma_star_cumsum_fac_j_z = sigba[mfi].sigma_star_cumsum_fac[1].data(); #endif const Box& tjx = mfi.tilebox(jx_nodal_flag); const Box& tjy = mfi.tilebox(jy_nodal_flag); const Box& tjz = mfi.tilebox(jz_nodal_flag); - auto const& AMREX_RESTRICT x_lo = sigba[mfi].sigma_cum_fac[0].lo(); + auto const& AMREX_RESTRICT x_lo = sigba[mfi].sigma_cumsum_fac[0].lo(); #if (AMREX_SPACEDIM == 3) - auto const& AMREX_RESTRICT y_lo = sigba[mfi].sigma_cum_fac[1].lo(); - auto const& AMREX_RESTRICT z_lo = sigba[mfi].sigma_cum_fac[2].lo(); + auto const& AMREX_RESTRICT y_lo = sigba[mfi].sigma_cumsum_fac[1].lo(); + auto const& AMREX_RESTRICT z_lo = sigba[mfi].sigma_cumsum_fac[2].lo(); #else int y_lo = 0; - auto const& AMREX_RESTRICT z_lo = sigba[mfi].sigma_cum_fac[1].lo(); + auto const& AMREX_RESTRICT z_lo = sigba[mfi].sigma_cumsum_fac[1].lo(); #endif - auto const& AMREX_RESTRICT xs_lo = sigba[mfi].sigma_star_cum_fac[0].lo(); + auto const& AMREX_RESTRICT xs_lo = sigba[mfi].sigma_star_cumsum_fac[0].lo(); #if (AMREX_SPACEDIM == 3) - auto const& AMREX_RESTRICT ys_lo = sigba[mfi].sigma_star_cum_fac[1].lo(); - auto const& AMREX_RESTRICT zs_lo = sigba[mfi].sigma_star_cum_fac[2].lo(); + auto const& AMREX_RESTRICT ys_lo = sigba[mfi].sigma_star_cumsum_fac[1].lo(); + auto const& AMREX_RESTRICT zs_lo = sigba[mfi].sigma_star_cumsum_fac[2].lo(); #else int ys_lo = 0; - auto const& AMREX_RESTRICT zs_lo = sigba[mfi].sigma_star_cum_fac[1].lo(); + auto const& AMREX_RESTRICT zs_lo = sigba[mfi].sigma_star_cumsum_fac[1].lo(); #endif amrex::ParallelFor( tjx, tjy, tjz, [=] AMREX_GPU_DEVICE (int i, int j, int k) { - damp_jx_pml(i, j, k, pml_jxfab, sigma_star_cum_fac_j_x, - sigma_cum_fac_j_y, sigma_cum_fac_j_z, + damp_jx_pml(i, j, k, pml_jxfab, sigma_star_cumsum_fac_j_x, + sigma_cumsum_fac_j_y, sigma_cumsum_fac_j_z, xs_lo,y_lo, z_lo); }, [=] AMREX_GPU_DEVICE (int i, int j, int k) { - damp_jy_pml(i, j, k, pml_jyfab, sigma_cum_fac_j_x, - sigma_star_cum_fac_j_y, sigma_cum_fac_j_z, + damp_jy_pml(i, j, k, pml_jyfab, sigma_cumsum_fac_j_x, + sigma_star_cumsum_fac_j_y, sigma_cumsum_fac_j_z, x_lo,ys_lo, z_lo); }, [=] AMREX_GPU_DEVICE (int i, int j, int k) { - damp_jz_pml(i, j, k, pml_jzfab, sigma_cum_fac_j_x, - sigma_cum_fac_j_y, sigma_star_cum_fac_j_z, + damp_jz_pml(i, j, k, pml_jzfab, sigma_cumsum_fac_j_x, + sigma_cumsum_fac_j_y, sigma_star_cumsum_fac_j_z, x_lo,y_lo, zs_lo); } ); |