aboutsummaryrefslogtreecommitdiff
path: root/Source/FieldSolver/FiniteDifferenceSolver/FiniteDifferenceSolver.H
diff options
context:
space:
mode:
authorGravatar Remi Lehe <remi.lehe@normalesup.org> 2021-03-16 11:42:47 -0700
committerGravatar GitHub <noreply@github.com> 2021-03-16 11:42:47 -0700
commit0d74f67d074c06e34acbec6a20d36d5900f6c9ee (patch)
treecdbfa529f97e4cded9c7f604c261145662544e45 /Source/FieldSolver/FiniteDifferenceSolver/FiniteDifferenceSolver.H
parent1bdaceebb8c8c244f68e1187ab03f46b9e763ff0 (diff)
downloadWarpX-0d74f67d074c06e34acbec6a20d36d5900f6c9ee.tar.gz
WarpX-0d74f67d074c06e34acbec6a20d36d5900f6c9ee.tar.zst
WarpX-0d74f67d074c06e34acbec6a20d36d5900f6c9ee.zip
Implement Silver Mueller boundary conditions (#1766)
* Add function definitions for Silver-Mueller boundary condition * Add test file * Implement Silver-Mueller equations * Add equations for Bz * Add equation in the z direction * Add equation for Bx * Add 3D implementation * Add documentation, automated tests, and warnings * Include second automated test and evaluate benchmark * Fix unused variable warning * Fix minor bugs * Update benchmark * Apply suggestions from code review Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja> * Incorporate review comments * Incorporate more suggestions Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
Diffstat (limited to 'Source/FieldSolver/FiniteDifferenceSolver/FiniteDifferenceSolver.H')
-rw-r--r--Source/FieldSolver/FiniteDifferenceSolver/FiniteDifferenceSolver.H6
1 files changed, 6 insertions, 0 deletions
diff --git a/Source/FieldSolver/FiniteDifferenceSolver/FiniteDifferenceSolver.H b/Source/FieldSolver/FiniteDifferenceSolver/FiniteDifferenceSolver.H
index 72fabb54e..c5041a53f 100644
--- a/Source/FieldSolver/FiniteDifferenceSolver/FiniteDifferenceSolver.H
+++ b/Source/FieldSolver/FiniteDifferenceSolver/FiniteDifferenceSolver.H
@@ -52,6 +52,12 @@ class FiniteDifferenceSolver
int const rhocomp,
amrex::Real const dt );
+ void ApplySilverMuellerBoundary(
+ std::array< std::unique_ptr<amrex::MultiFab>, 3 >& Efield,
+ std::array< std::unique_ptr<amrex::MultiFab>, 3 >& Bfield,
+ amrex::Box domain_box,
+ amrex::Real const dt );
+
void ComputeDivE ( const std::array<std::unique_ptr<amrex::MultiFab>,3>& Efield,
amrex::MultiFab& divE );