WarpX
Public Member Functions | Public Attributes | Private Attributes | List of all members
MacroscopicProperties Class Reference

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::MultiFabgetsigma_mf ()
 
amrex::MultiFabgetepsilon_mf ()
 
amrex::MultiFabgetmu_mf ()
 
void 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)
 

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::MultiFabm_sigma_mf
 
std::unique_ptr< amrex::MultiFabm_eps_mf
 
std::unique_ptr< amrex::MultiFabm_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::Parserm_sigma_parser
 
std::unique_ptr< amrex::Parserm_epsilon_parser
 
std::unique_ptr< amrex::Parserm_mu_parser
 

Detailed Description

This class contains the macroscopic properties of the medium needed to evaluate macroscopic Maxwell equation.

Constructor & Destructor Documentation

◆ MacroscopicProperties()

MacroscopicProperties::MacroscopicProperties ( )

Member Function Documentation

◆ getepsilon_mf()

amrex::MultiFab& MacroscopicProperties::getepsilon_mf ( )
inline

return MultiFab, epsilon (permittivity) of the medium.

◆ getmu_mf()

amrex::MultiFab& MacroscopicProperties::getmu_mf ( )
inline

return MultiFab, mu (permeability) of the medium.

◆ getsigma_mf()

amrex::MultiFab& MacroscopicProperties::getsigma_mf ( )
inline

return MultiFab, sigma (conductivity) of the medium.

◆ InitData()

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.

Parameters
[in]bathe box array associated to the multifabs E and B
[in]dmapthe distribution mapping
[in]ng_EB_allocguard cells allocated for multifabs E and B
[in]geomthe geometry
[in]Ex_stagstaggering of the Ex field
[in]Ey_stagstaggering of the Ey field
[in]Ez_stagstaggering of the Ez field

◆ InitializeMacroMultiFabUsingParser()

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).

◆ ReadParameters()

void MacroscopicProperties::ReadParameters ( )

Read user-defined macroscopic properties. Called in constructor.

Member Data Documentation

◆ epsilon_IndexType

amrex::GpuArray<int, 3> MacroscopicProperties::epsilon_IndexType

Gpu Vector with index type of the permittivity multifab

◆ Ex_IndexType

amrex::GpuArray<int, 3> MacroscopicProperties::Ex_IndexType

Gpu Vector with index type of the Ex multifab

◆ Ey_IndexType

amrex::GpuArray<int, 3> MacroscopicProperties::Ey_IndexType

Gpu Vector with index type of the Ey multifab

◆ Ez_IndexType

amrex::GpuArray<int, 3> MacroscopicProperties::Ez_IndexType

Gpu Vector with index type of the Ez multifab

◆ m_eps_mf

std::unique_ptr<amrex::MultiFab> MacroscopicProperties::m_eps_mf
private

Multifab for m_epsilon

◆ m_epsilon

amrex::Real MacroscopicProperties::m_epsilon = PhysConst::ep0
private

Permittivity, epsilon, of the medium

◆ m_epsilon_parser

std::unique_ptr<amrex::Parser> MacroscopicProperties::m_epsilon_parser
private

◆ m_epsilon_s

std::string MacroscopicProperties::m_epsilon_s = "constant"
private

Stores initialization type for permittivity : constant or parser

◆ m_mu

amrex::Real MacroscopicProperties::m_mu = PhysConst::mu0
private

Permeability, mu, of the medium

◆ m_mu_mf

std::unique_ptr<amrex::MultiFab> MacroscopicProperties::m_mu_mf
private

Multifab for m_mu

◆ m_mu_parser

std::unique_ptr<amrex::Parser> MacroscopicProperties::m_mu_parser
private

◆ m_mu_s

std::string MacroscopicProperties::m_mu_s = "constant"
private

Stores initialization type for permeability : constant or parser

◆ m_sigma

amrex::Real MacroscopicProperties::m_sigma = 0.0
private

Conductivity, sigma, of the medium

◆ m_sigma_mf

std::unique_ptr<amrex::MultiFab> MacroscopicProperties::m_sigma_mf
private

Multifab for m_sigma

◆ m_sigma_parser

std::unique_ptr<amrex::Parser> MacroscopicProperties::m_sigma_parser
private

Parser Wrappers

◆ m_sigma_s

std::string MacroscopicProperties::m_sigma_s = "constant"
private

Stores initialization type for conductivity : constant or parser

◆ m_str_epsilon_function

std::string MacroscopicProperties::m_str_epsilon_function
private

◆ m_str_mu_function

std::string MacroscopicProperties::m_str_mu_function
private

◆ m_str_sigma_function

std::string MacroscopicProperties::m_str_sigma_function
private

string for storing parser function

◆ macro_cr_ratio

amrex::GpuArray<int, 3> MacroscopicProperties::macro_cr_ratio

Gpu Vector with index type of coarsening ratio with default value (1,1,1)

◆ mu_IndexType

amrex::GpuArray<int, 3> MacroscopicProperties::mu_IndexType

Gpu Vector with index type of the permeability multifab

◆ sigma_IndexType

amrex::GpuArray<int, 3> MacroscopicProperties::sigma_IndexType

Gpu Vector with index type of the conductivity multifab


The documentation for this class was generated from the following files: