|
WarpX
|
This class contains the macroscopic properties of the medium needed to evaluate macroscopic Maxwell equation. More...
#include <MacroscopicProperties.H>
Public Member Functions | |
| MacroscopicProperties () | |
| void | ReadParameters () |
| void | AllocateLevelMFs (const amrex::BoxArray &ba, const amrex::DistributionMapping &dm, const amrex::IntVect &ng_EB_alloc) |
| Allocate multifabs storing macroscopic multifabs. | |
| void | InitData (const amrex::Geometry &geom, const amrex::IntVect &Ex_stag, const amrex::IntVect &Ey_stag, const amrex::IntVect &Ez_stag) |
| Initialize multifabs storing macroscopic multifabs. | |
| amrex::MultiFab & | getsigma_mf () |
| amrex::MultiFab & | getepsilon_mf () |
| amrex::MultiFab & | getmu_mf () |
| void | InitializeMacroMultiFabUsingParser (amrex::MultiFab *macro_mf, amrex::ParserExecutor< 3 > const ¯o_parser, const amrex::GpuArray< amrex::Real, 3 > &dx_lev, const amrex::RealBox &prob_domain_lev) |
Public Attributes | |
| amrex::GpuArray< int, 3 > | sigma_IndexType |
| amrex::GpuArray< int, 3 > | epsilon_IndexType |
| amrex::GpuArray< int, 3 > | mu_IndexType |
| amrex::GpuArray< int, 3 > | Ex_IndexType |
| amrex::GpuArray< int, 3 > | Ey_IndexType |
| amrex::GpuArray< int, 3 > | Ez_IndexType |
| amrex::GpuArray< int, 3 > | macro_cr_ratio |
Private Attributes | |
| amrex::Real | m_sigma = 0.0 |
| amrex::Real | m_epsilon = PhysConst::ep0 |
| amrex::Real | m_mu = PhysConst::mu0 |
| std::unique_ptr< amrex::MultiFab > | m_sigma_mf |
| std::unique_ptr< amrex::MultiFab > | m_eps_mf |
| std::unique_ptr< amrex::MultiFab > | m_mu_mf |
| std::string | m_sigma_s = "constant" |
| std::string | m_epsilon_s = "constant" |
| std::string | m_mu_s = "constant" |
| std::string | m_str_sigma_function |
| std::string | m_str_epsilon_function |
| std::string | m_str_mu_function |
| std::unique_ptr< amrex::Parser > | m_sigma_parser |
| std::unique_ptr< amrex::Parser > | m_epsilon_parser |
| std::unique_ptr< amrex::Parser > | m_mu_parser |
This class contains the macroscopic properties of the medium needed to evaluate macroscopic Maxwell equation.
| MacroscopicProperties::MacroscopicProperties | ( | ) |
| void MacroscopicProperties::AllocateLevelMFs | ( | const amrex::BoxArray & | ba, |
| const amrex::DistributionMapping & | dm, | ||
| const amrex::IntVect & | ng_EB_alloc ) |
Allocate multifabs storing macroscopic multifabs.
| [in] | ba | the box array associated to the multifabs E and B |
| [in] | dm | the distribution mapping |
| [in] | ng_EB_alloc | guard cells allocated for multifabs E and B |
|
inline |
return MultiFab, epsilon (permittivity) of the medium.
|
inline |
return MultiFab, mu (permeability) of the medium.
|
inline |
return MultiFab, sigma (conductivity) of the medium.
| void MacroscopicProperties::InitData | ( | const amrex::Geometry & | geom, |
| const amrex::IntVect & | Ex_stag, | ||
| const amrex::IntVect & | Ey_stag, | ||
| const amrex::IntVect & | Ez_stag ) |
Initialize multifabs storing macroscopic multifabs.
| [in] | geom | the geometry |
| [in] | Ex_stag | staggering of the Ex field |
| [in] | Ey_stag | staggering of the Ey field |
| [in] | Ez_stag | staggering of the Ez field |
| void MacroscopicProperties::InitializeMacroMultiFabUsingParser | ( | amrex::MultiFab * | macro_mf, |
| amrex::ParserExecutor< 3 > const & | macro_parser, | ||
| const amrex::GpuArray< amrex::Real, 3 > & | dx_lev, | ||
| const amrex::RealBox & | prob_domain_lev ) |
Initializes the Multifabs storing macroscopic properties with user-defined functions(x,y,z).
| void MacroscopicProperties::ReadParameters | ( | ) |
Read user-defined macroscopic properties. Called in constructor.
| amrex::GpuArray<int, 3> MacroscopicProperties::epsilon_IndexType |
Gpu Vector with index type of the permittivity multifab
| amrex::GpuArray<int, 3> MacroscopicProperties::Ex_IndexType |
Gpu Vector with index type of the Ex multifab
| amrex::GpuArray<int, 3> MacroscopicProperties::Ey_IndexType |
Gpu Vector with index type of the Ey multifab
| amrex::GpuArray<int, 3> MacroscopicProperties::Ez_IndexType |
Gpu Vector with index type of the Ez multifab
|
private |
Multifab for m_epsilon
|
private |
Permittivity, epsilon, of the medium
|
private |
|
private |
Stores initialization type for permittivity : constant or parser
|
private |
Permeability, mu, of the medium
|
private |
Multifab for m_mu
|
private |
|
private |
Stores initialization type for permeability : constant or parser
|
private |
Conductivity, sigma, of the medium
|
private |
Multifab for m_sigma
|
private |
Parser Wrappers
|
private |
Stores initialization type for conductivity : constant or parser
|
private |
|
private |
|
private |
string for storing parser function
| amrex::GpuArray<int, 3> MacroscopicProperties::macro_cr_ratio |
Gpu Vector with index type of coarsening ratio with default value (1,1,1)
| amrex::GpuArray<int, 3> MacroscopicProperties::mu_IndexType |
Gpu Vector with index type of the permeability multifab
| amrex::GpuArray<int, 3> MacroscopicProperties::sigma_IndexType |
Gpu Vector with index type of the conductivity multifab