aboutsummaryrefslogtreecommitdiff
path: root/Source
diff options
context:
space:
mode:
authorGravatar NeilZaim <49716072+NeilZaim@users.noreply.github.com> 2020-09-30 22:18:46 +0200
committerGravatar GitHub <noreply@github.com> 2020-09-30 13:18:46 -0700
commit1c20a09ba6268b2e7d23041c09060bcf1df23628 (patch)
treedac9d8f2a1724b43c9ce36a4a234a89a93d6068b /Source
parentf2e4811afdc32055e5fa49241c02deae4e5ad318 (diff)
downloadWarpX-1c20a09ba6268b2e7d23041c09060bcf1df23628.tar.gz
WarpX-1c20a09ba6268b2e7d23041c09060bcf1df23628.tar.zst
WarpX-1c20a09ba6268b2e7d23041c09060bcf1df23628.zip
Remove instability on PML with do_nodal (#1379)
* Increase size of sigma_star by 1 in nodal mode * Add do_nodal to FabFactory<SigmaBox> * Add ifdef WARPX_USE_PSATD directives * Increase size of sigma_star arrays by one regardless of nodal state
Diffstat (limited to 'Source')
-rw-r--r--Source/BoundaryConditions/PML.cpp16
1 files changed, 8 insertions, 8 deletions
diff --git a/Source/BoundaryConditions/PML.cpp b/Source/BoundaryConditions/PML.cpp
index 8141f7abf..202867bdb 100644
--- a/Source/BoundaryConditions/PML.cpp
+++ b/Source/BoundaryConditions/PML.cpp
@@ -125,29 +125,29 @@ SigmaBox::SigmaBox (const Box& box, const BoxArray& grids, const Real* dx, int n
{
sigma [idim].resize(sz[idim]+1);
sigma_cumsum [idim].resize(sz[idim]+1);
- sigma_star [idim].resize(sz[idim]);
- sigma_star_cumsum [idim].resize(sz[idim]);
+ sigma_star [idim].resize(sz[idim]+1);
+ sigma_star_cumsum [idim].resize(sz[idim]+1);
sigma_fac [idim].resize(sz[idim]+1);
sigma_cumsum_fac [idim].resize(sz[idim]+1);
- sigma_star_fac [idim].resize(sz[idim]);
- sigma_star_cumsum_fac[idim].resize(sz[idim]);
+ sigma_star_fac [idim].resize(sz[idim]+1);
+ sigma_star_cumsum_fac[idim].resize(sz[idim]+1);
sigma [idim].m_lo = lo[idim];
sigma [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 [idim].m_hi = hi[idim]+1;
sigma_star_cumsum [idim].m_lo = lo[idim];
- sigma_star_cumsum [idim].m_hi = hi[idim];
+ sigma_star_cumsum [idim].m_hi = hi[idim]+1;
sigma_fac [idim].m_lo = lo[idim];
sigma_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_fac [idim].m_hi = hi[idim]+1;
sigma_star_cumsum_fac[idim].m_lo = lo[idim];
- sigma_star_cumsum_fac[idim].m_hi = hi[idim];
+ sigma_star_cumsum_fac[idim].m_hi = hi[idim]+1;
}
Array<Real,AMREX_SPACEDIM> fac;