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 | InitData (const amrex::BoxArray &ba, const amrex::DistributionMapping &dmap, const amrex::IntVect &ng_EB_alloc, const amrex::Geometry &geom, const amrex::IntVect &Ex_stag, const amrex::IntVect &Ey_stag, const amrex::IntVect &Ez_stag) |
Initialize multifabs storing macroscopic multifabs. More... | |
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, AMREX_SPACEDIM > &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 | ( | ) |
|
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::BoxArray & | ba, |
const amrex::DistributionMapping & | dmap, | ||
const amrex::IntVect & | ng_EB_alloc, | ||
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] | ba | the box array associated to the multifabs E and B |
[in] | dmap | the distribution mapping |
[in] | ng_EB_alloc | guard cells allocated for multifabs E and B |
[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, AMREX_SPACEDIM > & | 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