diff options
author | 2021-05-12 17:22:52 -0700 | |
---|---|---|
committer | 2021-05-12 17:22:52 -0700 | |
commit | 9f28da17cdc42efbbe14bb21a3b1ab52ee556f68 (patch) | |
tree | 4eabfaa0a51b9c02e440778fed7916f437ab908a /Source/WarpX.cpp | |
parent | 1f76d4e6be67145fb257bcdaca35fbb8d6ba0a65 (diff) | |
download | WarpX-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.cpp | 20 |
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 // |