8 #ifndef WARPX_PML_RZ_H_
9 #define WARPX_PML_RZ_H_
13 #ifdef WARPX_USE_PSATD
19 #include <AMReX_Config.H>
33 const amrex::Geometry* geom,
const int ncell,
const int do_pml_in_domain);
39 std::array<amrex::MultiFab*,2>
GetE_fp ();
40 std::array<amrex::MultiFab*,2>
GetB_fp ();
42 #ifdef WARPX_USE_PSATD
49 void FillBoundaryB (
PatchType patch_type);
51 void CheckPoint (
const std::string& dir)
const;
52 void Restart (
const std::string& dir);
63 std::array<std::unique_ptr<amrex::MultiFab>,2>
pml_E_fp;
64 std::array<std::unique_ptr<amrex::MultiFab>,2>
pml_B_fp;
66 #ifdef WARPX_USE_PSATD
67 void PushPMLPSATDSinglePatchRZ (
const int lev,
69 std::array<std::unique_ptr<amrex::MultiFab>,2>& pml_E,
70 std::array<std::unique_ptr<amrex::MultiFab>,2>& pml_B);
PatchType
Definition: WarpX.H:74
const int m_do_pml_in_domain
Definition: PML_RZ.H:59
void PushPSATD(const int lev)
Definition: PML_RZ.cpp:195
std::array< std::unique_ptr< amrex::MultiFab >, 2 > pml_E_fp
Definition: PML_RZ.H:63
void FillBoundaryB()
Definition: PML_RZ.cpp:153
PML_RZ(const int lev, const amrex::BoxArray &grid_ba, const amrex::DistributionMapping &grid_dm, const amrex::Geometry *geom, const int ncell, const int do_pml_in_domain)
Definition: PML_RZ.cpp:37
std::array< amrex::MultiFab *, 2 > GetB_fp()
Definition: PML_RZ.cpp:130
void ApplyDamping(amrex::MultiFab *Et_fp, amrex::MultiFab *Ez_fp, amrex::MultiFab *Bt_fp, amrex::MultiFab *Bz_fp, amrex::Real dt)
Definition: PML_RZ.cpp:61
void FillBoundaryE()
Definition: PML_RZ.cpp:136
const amrex::Geometry * m_geom
Definition: PML_RZ.H:60
std::array< amrex::MultiFab *, 2 > GetE_fp()
Definition: PML_RZ.cpp:124
const int m_ncell
Definition: PML_RZ.H:58
std::array< std::unique_ptr< amrex::MultiFab >, 2 > pml_B_fp
Definition: PML_RZ.H:64
Definition: SpectralSolverRZ.H:22
int dt
Definition: stencil.py:440