|
WarpX
|
#include <PML.H>
Public Member Functions | |
| PML (int lev, const amrex::BoxArray &ba, const amrex::DistributionMapping &dm, bool do_similar_dm_pml, const amrex::Geometry *geom, const amrex::Geometry *cgeom, int ncell, int delta, amrex::IntVect ref_ratio, amrex::Real dt, int nox_fft, int noy_fft, int noz_fft, ablastr::utils::enums::GridType grid_type, int do_moving_window, int pml_has_particles, int do_pml_in_domain, PSATDSolutionType psatd_solution_type, TimeDependencyJ time_dependency_J, TimeDependencyRho time_dependency_rho, bool do_pml_dive_cleaning, bool do_pml_divb_cleaning, const amrex::IntVect &fill_guards_fields, const amrex::IntVect &fill_guards_current, bool eb_enabled, int max_guard_EB, amrex::Real v_sigma_sb, ablastr::fields::MultiFabRegister &fields, amrex::IntVect do_pml_Lo=amrex::IntVect::TheUnitVector(), amrex::IntVect do_pml_Hi=amrex::IntVect::TheUnitVector()) | |
| void | ComputePMLFactors (amrex::Real dt) |
| const MultiSigmaBox & | GetMultiSigmaBox_fp () const |
| const MultiSigmaBox & | GetMultiSigmaBox_cp () const |
| void | PushPSATD (ablastr::fields::MultiFabRegister &fields, int lev) |
| void | CopyJtoPMLs (ablastr::fields::MultiFabRegister &fields, int lev) |
| void | Exchange (ablastr::fields::VectorField mf_pml, ablastr::fields::VectorField mf, const PatchType &patch_type, int do_pml_in_domain) |
| void | Exchange (amrex::MultiFab *mf_pml, amrex::MultiFab *mf, const PatchType &patch_type, int do_pml_in_domain) |
| void | CopyJtoPMLs (ablastr::fields::MultiFabRegister &fields, PatchType patch_type, int lev) |
| void | FillBoundary (ablastr::fields::VectorField mf_pml, PatchType patch_type, std::optional< bool > nodal_sync=std::nullopt) |
| void | FillBoundary (amrex::MultiFab &mf_pml, PatchType patch_type, std::optional< bool > nodal_sync=std::nullopt) |
| bool | ok () const |
| void | CheckPoint (ablastr::fields::MultiFabRegister &fields, const std::string &dir) const |
| void | Restart (ablastr::fields::MultiFabRegister &fields, const std::string &dir) |
Static Public Member Functions | |
| static void | Exchange (amrex::MultiFab &pml, amrex::MultiFab ®, const amrex::Geometry &geom, int do_pml_in_domain) |
Static Private Member Functions | |
| static amrex::BoxArray | MakeBoxArray (bool single_box_domain, const amrex::Box ®ular_domain, const amrex::Geometry &geom, const amrex::BoxArray &grid_ba, const amrex::IntVect &ncell, int do_pml_in_domain, const amrex::IntVect &do_pml_Lo, const amrex::IntVect &do_pml_Hi) |
| static amrex::BoxArray | MakeBoxArray_single (const amrex::Box ®ular_domain, const amrex::BoxArray &grid_ba, const amrex::IntVect &ncell, const amrex::IntVect &do_pml_Lo, const amrex::IntVect &do_pml_Hi) |
| static amrex::BoxArray | MakeBoxArray_multiple (const amrex::Geometry &geom, const amrex::BoxArray &grid_ba, const amrex::IntVect &ncell, int do_pml_in_domain, const amrex::IntVect &do_pml_Lo, const amrex::IntVect &do_pml_Hi) |
| static void | CopyToPML (amrex::MultiFab &pml, amrex::MultiFab ®, const amrex::Geometry &geom) |
Private Attributes | |
| bool | m_ok |
| bool | m_dive_cleaning |
| bool | m_divb_cleaning |
| amrex::IntVect | m_fill_guards_fields |
| amrex::IntVect | m_fill_guards_current |
| const amrex::Geometry * | m_geom |
| const amrex::Geometry * | m_cgeom |
| std::unique_ptr< MultiSigmaBox > | sigba_fp |
| std::unique_ptr< MultiSigmaBox > | sigba_cp |
| std::unique_ptr< SpectralSolver > | spectral_solver_fp |
| std::unique_ptr< SpectralSolver > | spectral_solver_cp |
| std::unique_ptr< amrex::FabFactory< amrex::FArrayBox > > | pml_field_factory |
| PML::PML | ( | int | lev, |
| const amrex::BoxArray & | ba, | ||
| const amrex::DistributionMapping & | dm, | ||
| bool | do_similar_dm_pml, | ||
| const amrex::Geometry * | geom, | ||
| const amrex::Geometry * | cgeom, | ||
| int | ncell, | ||
| int | delta, | ||
| amrex::IntVect | ref_ratio, | ||
| amrex::Real | dt, | ||
| int | nox_fft, | ||
| int | noy_fft, | ||
| int | noz_fft, | ||
| ablastr::utils::enums::GridType | grid_type, | ||
| int | do_moving_window, | ||
| int | pml_has_particles, | ||
| int | do_pml_in_domain, | ||
| PSATDSolutionType | psatd_solution_type, | ||
| TimeDependencyJ | time_dependency_J, | ||
| TimeDependencyRho | time_dependency_rho, | ||
| bool | do_pml_dive_cleaning, | ||
| bool | do_pml_divb_cleaning, | ||
| const amrex::IntVect & | fill_guards_fields, | ||
| const amrex::IntVect & | fill_guards_current, | ||
| bool | eb_enabled, | ||
| int | max_guard_EB, | ||
| amrex::Real | v_sigma_sb, | ||
| ablastr::fields::MultiFabRegister & | fields, | ||
| amrex::IntVect | do_pml_Lo = amrex::IntVect::TheUnitVector(), | ||
| amrex::IntVect | do_pml_Hi = amrex::IntVect::TheUnitVector() ) |
| void PML::CheckPoint | ( | ablastr::fields::MultiFabRegister & | fields, |
| const std::string & | dir ) const |
| void PML::ComputePMLFactors | ( | amrex::Real | dt | ) |
| void PML::CopyJtoPMLs | ( | ablastr::fields::MultiFabRegister & | fields, |
| int | lev ) |
| void PML::CopyJtoPMLs | ( | ablastr::fields::MultiFabRegister & | fields, |
| PatchType | patch_type, | ||
| int | lev ) |
|
staticprivate |
| void PML::Exchange | ( | ablastr::fields::VectorField | mf_pml, |
| ablastr::fields::VectorField | mf, | ||
| const PatchType & | patch_type, | ||
| int | do_pml_in_domain ) |
|
static |
| void PML::Exchange | ( | amrex::MultiFab * | mf_pml, |
| amrex::MultiFab * | mf, | ||
| const PatchType & | patch_type, | ||
| int | do_pml_in_domain ) |
| void PML::FillBoundary | ( | ablastr::fields::VectorField | mf_pml, |
| PatchType | patch_type, | ||
| std::optional< bool > | nodal_sync = std::nullopt ) |
| void PML::FillBoundary | ( | amrex::MultiFab & | mf_pml, |
| PatchType | patch_type, | ||
| std::optional< bool > | nodal_sync = std::nullopt ) |
|
inlinenodiscard |
|
inlinenodiscard |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
inlinenodiscard |
| void PML::PushPSATD | ( | ablastr::fields::MultiFabRegister & | fields, |
| int | lev ) |
| void PML::Restart | ( | ablastr::fields::MultiFabRegister & | fields, |
| const std::string & | dir ) |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |