aboutsummaryrefslogtreecommitdiff
path: root/Source/FieldSolver/FiniteDifferenceSolver/FiniteDifferenceSolver.H
diff options
context:
space:
mode:
Diffstat (limited to 'Source/FieldSolver/FiniteDifferenceSolver/FiniteDifferenceSolver.H')
-rw-r--r--Source/FieldSolver/FiniteDifferenceSolver/FiniteDifferenceSolver.H25
1 files changed, 25 insertions, 0 deletions
diff --git a/Source/FieldSolver/FiniteDifferenceSolver/FiniteDifferenceSolver.H b/Source/FieldSolver/FiniteDifferenceSolver/FiniteDifferenceSolver.H
index 820f2b876..2a96ae44d 100644
--- a/Source/FieldSolver/FiniteDifferenceSolver/FiniteDifferenceSolver.H
+++ b/Source/FieldSolver/FiniteDifferenceSolver/FiniteDifferenceSolver.H
@@ -8,6 +8,7 @@
#ifndef WARPX_FINITE_DIFFERENCE_SOLVER_H_
#define WARPX_FINITE_DIFFERENCE_SOLVER_H_
+#include "EmbeddedBoundary/WarpXFaceInfoBox.H"
#include "FiniteDifferenceSolver_fwd.H"
#include "BoundaryConditions/PML_fwd.H"
@@ -49,12 +50,19 @@ class FiniteDifferenceSolver
std::array< std::unique_ptr<amrex::MultiFab>, 3 > const& Efield,
std::unique_ptr<amrex::MultiFab> const& Gfield,
std::array< std::unique_ptr<amrex::MultiFab>, 3 > const& face_areas,
+ std::array< std::unique_ptr<amrex::MultiFab>, 3 > const& area_mod,
+ std::array< std::unique_ptr<amrex::MultiFab>, 3 >& ECTRhofield,
+ std::array< std::unique_ptr<amrex::MultiFab>, 3 >& Venl,
+ std::array< std::unique_ptr<amrex::iMultiFab>, 3 >& flag_info_cell,
+ std::array< std::unique_ptr<amrex::LayoutData<FaceInfoBox> >, 3 >& borrowing,
int lev, amrex::Real const dt );
void EvolveE ( std::array< std::unique_ptr<amrex::MultiFab>, 3 >& Efield,
std::array< std::unique_ptr<amrex::MultiFab>, 3 > const& Bfield,
std::array< std::unique_ptr<amrex::MultiFab>, 3 > const& Jfield,
std::array< std::unique_ptr<amrex::MultiFab>, 3 > const& edge_lengths,
+ std::array< std::unique_ptr<amrex::MultiFab>, 3 > const& face_areas,
+ std::array< std::unique_ptr<amrex::MultiFab>, 3 >& ECTRhofield,
std::unique_ptr<amrex::MultiFab> const& Ffield,
int lev, amrex::Real const dt );
@@ -200,6 +208,23 @@ class FiniteDifferenceSolver
std::array<std::unique_ptr<amrex::MultiFab>,3> const& Bfield,
amrex::Real const dt);
+ void EvolveRhoCartesianECT (
+ std::array< std::unique_ptr<amrex::MultiFab>, 3 > const& Efield,
+ std::array< std::unique_ptr<amrex::MultiFab>, 3 > const& edge_lengths,
+ std::array< std::unique_ptr<amrex::MultiFab>, 3 > const& face_areas,
+ std::array< std::unique_ptr<amrex::MultiFab>, 3 >& ECTRhofield, int lev);
+
+ void EvolveBCartesianECT (
+ std::array< std::unique_ptr<amrex::MultiFab>, 3 >& Bfield,
+ std::array< std::unique_ptr<amrex::MultiFab>, 3 > const& face_areas,
+ std::array< std::unique_ptr<amrex::MultiFab>, 3 > const& area_mod,
+ std::array< std::unique_ptr<amrex::MultiFab>, 3 >& ECTRhofield,
+ std::array< std::unique_ptr<amrex::MultiFab>, 3 >& Venl,
+ std::array< std::unique_ptr<amrex::iMultiFab>, 3 >& flag_info_cell,
+ std::array< std::unique_ptr<amrex::LayoutData<FaceInfoBox> >, 3 >& borrowing,
+ int lev, amrex::Real const dt
+ );
+
template< typename T_Algo >
void ComputeDivECartesian (
const std::array<std::unique_ptr<amrex::MultiFab>,3>& Efield,