diff options
Diffstat (limited to 'Source/FieldSolver/FiniteDifferenceSolver/FiniteDifferenceSolver.H')
-rw-r--r-- | Source/FieldSolver/FiniteDifferenceSolver/FiniteDifferenceSolver.H | 25 |
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, |