aboutsummaryrefslogtreecommitdiff
path: root/Source/WarpX.cpp
diff options
context:
space:
mode:
authorGravatar Revathi Jambunathan <41089244+RevathiJambunathan@users.noreply.github.com> 2021-05-12 17:22:52 -0700
committerGravatar GitHub <noreply@github.com> 2021-05-12 17:22:52 -0700
commit9f28da17cdc42efbbe14bb21a3b1ab52ee556f68 (patch)
tree4eabfaa0a51b9c02e440778fed7916f437ab908a /Source/WarpX.cpp
parent1f76d4e6be67145fb257bcdaca35fbb8d6ba0a65 (diff)
downloadWarpX-9f28da17cdc42efbbe14bb21a3b1ab52ee556f68.tar.gz
WarpX-9f28da17cdc42efbbe14bb21a3b1ab52ee556f68.tar.zst
WarpX-9f28da17cdc42efbbe14bb21a3b1ab52ee556f68.zip
BC : Interface for damping EB fields in guard cells in z-direction (#1953)
Diffstat (limited to 'Source/WarpX.cpp')
-rw-r--r--Source/WarpX.cpp20
1 files changed, 15 insertions, 5 deletions
diff --git a/Source/WarpX.cpp b/Source/WarpX.cpp
index 5794477d5..5bd68be51 100644
--- a/Source/WarpX.cpp
+++ b/Source/WarpX.cpp
@@ -110,7 +110,6 @@ bool WarpX::galerkin_interpolation = true;
bool WarpX::use_filter = false;
bool WarpX::use_kspace_filter = false;
bool WarpX::use_filter_compensation = false;
-bool WarpX::use_damp_fields_in_z_guard = false;
bool WarpX::serialize_ics = false;
bool WarpX::refine_plasma = false;
@@ -977,11 +976,22 @@ WarpX::ReadParameters ()
}
constexpr int zdir = AMREX_SPACEDIM - 1;
- if (!Geom(0).isPeriodic(zdir))
- {
- use_damp_fields_in_z_guard = true;
+ if (WarpX::field_boundary_lo[zdir] == FieldBoundaryType::Damped ||
+ WarpX::field_boundary_hi[zdir] == FieldBoundaryType::Damped ) {
+ AMREX_ALWAYS_ASSERT_WITH_MESSAGE(
+ WarpX::field_boundary_lo[zdir] == WarpX::field_boundary_hi[zdir],
+ "field boundary in both lo and high must be set to Damped for PSATD"
+ );
+ }
+ }
+
+ if (maxwell_solver_id != MaxwellSolverAlgo::PSATD ) {
+ for (int idim = 0; idim < AMREX_SPACEDIM; ++idim) {
+ if (WarpX::field_boundary_lo[idim] == FieldBoundaryType::Damped ||
+ WarpX::field_boundary_hi[idim] == FieldBoundaryType::Damped ) {
+ amrex::Abort("FieldBoundaryType::Damped is only supported for PSATD");
+ }
}
- pp_psatd.query("use_damp_fields_in_z_guard", use_damp_fields_in_z_guard);
}
// for slice generation //