aboutsummaryrefslogtreecommitdiff
path: root/Source/FieldSolver/WarpXPushFieldsEM.cpp
diff options
context:
space:
mode:
authorGravatar Remi Lehe <remi.lehe@normalesup.org> 2020-01-10 10:52:31 -0800
committerGravatar Remi Lehe <remi.lehe@normalesup.org> 2020-01-10 13:45:11 -0800
commit9035ee165054e25aedf98d97f16786d8d5f2965a (patch)
tree0f0aafafbe0361ec78410dce5aa0491135cde17e /Source/FieldSolver/WarpXPushFieldsEM.cpp
parent160d752af70ec454c7b220705378c42e0df9b29a (diff)
downloadWarpX-9035ee165054e25aedf98d97f16786d8d5f2965a.tar.gz
WarpX-9035ee165054e25aedf98d97f16786d8d5f2965a.tar.zst
WarpX-9035ee165054e25aedf98d97f16786d8d5f2965a.zip
Started implementing finite difference solver
Added Yee algorithm
Diffstat (limited to 'Source/FieldSolver/WarpXPushFieldsEM.cpp')
-rw-r--r--Source/FieldSolver/WarpXPushFieldsEM.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/Source/FieldSolver/WarpXPushFieldsEM.cpp b/Source/FieldSolver/WarpXPushFieldsEM.cpp
index 4848b051e..1137da741 100644
--- a/Source/FieldSolver/WarpXPushFieldsEM.cpp
+++ b/Source/FieldSolver/WarpXPushFieldsEM.cpp
@@ -111,6 +111,13 @@ WarpX::EvolveB (int lev, amrex::Real a_dt)
void
WarpX::EvolveB (int lev, PatchType patch_type, amrex::Real a_dt)
{
+ if (patch_type == PatchType::fine) {
+ fdtd_solver_fp->EvolveB( Bfield_fp[lev], Efield_fp[lev], a_dt );
+ } else {
+ fdtd_solver_cp->EvolveB( Bfield_cp[lev], Efield_cp[lev], a_dt );
+ }
+
+ // Goes into initializer
const int patch_level = (patch_type == PatchType::fine) ? lev : lev-1;
const std::array<Real,3>& dx = WarpX::CellSize(patch_level);
const Real dtsdx = a_dt/dx[0], dtsdy = a_dt/dx[1], dtsdz = a_dt/dx[2];