1 #ifndef WARPX_MACROSCOPICPROPERTIES_H_ 2 #define WARPX_MACROSCOPICPROPERTIES_H_ 8 #include <AMReX_Array.H> 9 #include <AMReX_Extension.H> 10 #include <AMReX_GpuQualifiers.H> 11 #include <AMReX_MultiFab.H> 12 #include <AMReX_Parser.H> 13 #include <AMReX_REAL.H> 28 void ReadParameters ();
37 amrex::MultiFab&
getmu_mf () {
return (*m_mu_mf);}
42 void InitializeMacroMultiFabUsingParser (amrex::MultiFab *macro_mf,
43 amrex::ParserExecutor<3>
const& macro_parser,
62 amrex::Real m_sigma = 0.0;
64 amrex::Real m_epsilon = PhysConst::ep0;
66 amrex::Real m_mu = PhysConst::mu0;
74 std::string m_sigma_s =
"constant";
76 std::string m_epsilon_s =
"constant";
78 std::string m_mu_s =
"constant";
100 AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
101 static amrex::Real
alpha (amrex::Real
const sigma,
102 amrex::Real
const epsilon,
104 using namespace amrex;
105 amrex::Real fac1 = 0.5_rt * sigma * dt / epsilon;
106 amrex::Real
alpha = (1._rt - fac1)/(1._rt + fac1);
110 AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
111 static amrex::Real
beta (amrex::Real
const sigma,
112 amrex::Real
const epsilon,
114 using namespace amrex;
115 amrex::Real fac1 = 0.5_rt * sigma * dt / epsilon;
116 amrex::Real
beta = dt / ( epsilon * (1._rt + fac1) );
132 AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
133 static amrex::Real
alpha (amrex::Real
const sigma,
134 amrex::Real
const epsilon,
136 using namespace amrex;
137 amrex::Real fac1 = sigma * dt / epsilon;
138 amrex::Real
alpha = (1._rt)/(1._rt + fac1);
142 AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
143 static amrex::Real
beta (amrex::Real
const sigma,
144 amrex::Real
const epsilon,
146 using namespace amrex;
147 amrex::Real fac1 = sigma * dt / epsilon;
148 amrex::Real
beta = dt / ( epsilon * (1._rt + fac1) );
154 #endif // WARPX_MACROSCOPIC_PROPERTIES_H_ amrex::GpuArray< int, 3 > mu_IndexType
Definition: MacroscopicProperties.H:50
This class contains the macroscopic properties of the medium needed to evaluate macroscopic Maxwell e...
Definition: MacroscopicProperties.H:22
std::unique_ptr< amrex::MultiFab > m_mu_mf
Definition: MacroscopicProperties.H:72
amrex::GpuArray< int, 3 > Ex_IndexType
Definition: MacroscopicProperties.H:52
std::unique_ptr< amrex::MultiFab > m_sigma_mf
Definition: MacroscopicProperties.H:68
amrex::GpuArray< int, 3 > sigma_IndexType
Definition: MacroscopicProperties.H:46
std::unique_ptr< amrex::Parser > m_mu_parser
Definition: MacroscopicProperties.H:87
This struct contains only static functions to compute the co-efficients for the BackwardEuler scheme ...
Definition: MacroscopicProperties.H:130
std::unique_ptr< amrex::MultiFab > m_eps_mf
Definition: MacroscopicProperties.H:70
This struct contains only static functions to compute the co-efficients for the Lax-Wendroff scheme o...
Definition: MacroscopicProperties.H:98
amrex::GpuArray< int, 3 > macro_cr_ratio
Definition: MacroscopicProperties.H:58
amrex::GpuArray< int, 3 > epsilon_IndexType
Definition: MacroscopicProperties.H:48
std::unique_ptr< amrex::Parser > m_epsilon_parser
Definition: MacroscopicProperties.H:86
AMREX_GPU_HOST_DEVICE static AMREX_FORCE_INLINE amrex::Real alpha(amrex::Real const sigma, amrex::Real const epsilon, amrex::Real dt)
Definition: MacroscopicProperties.H:133
std::string m_str_mu_function
Definition: MacroscopicProperties.H:83
amrex::MultiFab & getepsilon_mf()
Definition: MacroscopicProperties.H:35
amrex::MultiFab & getmu_mf()
Definition: MacroscopicProperties.H:37
amrex::GpuArray< int, 3 > Ez_IndexType
Definition: MacroscopicProperties.H:56
amrex::MultiFab & getsigma_mf()
Definition: MacroscopicProperties.H:33
AMREX_GPU_HOST_DEVICE static AMREX_FORCE_INLINE amrex::Real beta(amrex::Real const sigma, amrex::Real const epsilon, amrex::Real dt)
Definition: MacroscopicProperties.H:143
AMREX_GPU_HOST_DEVICE static AMREX_FORCE_INLINE amrex::Real beta(amrex::Real const sigma, amrex::Real const epsilon, amrex::Real dt)
Definition: MacroscopicProperties.H:111
AMREX_GPU_HOST_DEVICE static AMREX_FORCE_INLINE amrex::Real alpha(amrex::Real const sigma, amrex::Real const epsilon, amrex::Real dt)
Definition: MacroscopicProperties.H:101
std::string m_str_epsilon_function
Definition: MacroscopicProperties.H:82
std::unique_ptr< amrex::Parser > m_sigma_parser
Definition: MacroscopicProperties.H:85
amrex::GpuArray< int, 3 > Ey_IndexType
Definition: MacroscopicProperties.H:54
std::string m_str_sigma_function
Definition: MacroscopicProperties.H:81
Definition: BreitWheelerEngineWrapper.H:35