7#ifndef WARPX_WarpXFluidContainer_H_
8#define WARPX_WarpXFluidContainer_H_
46 const amrex::Geometry& geom_lev, amrex::Real gamma_boost, amrex::Real beta_boost);
55 const std::string& current_fp_string,
57 bool skip_deposition=
false);
82#if defined(WARPX_DIM_RZ) || defined(WARPX_DIM_RCYLINDER) || defined(WARPX_DIM_RSPHERE)
114 amrex::Real t,
int lev);
178 std::unique_ptr<InjectorDensity,InjectorDensityDeleter>
h_inj_rho;
182 std::unique_ptr<InjectorMomentum,InjectorMomentumDeleter>
h_inj_mom;
PhysicalSpecies
Definition SpeciesPhysicalProperties.H:16
void GatherAndPush(ablastr::fields::MultiFabRegister &m_fields, const amrex::MultiFab &Ex, const amrex::MultiFab &Ey, const amrex::MultiFab &Ez, const amrex::MultiFab &Bx, const amrex::MultiFab &By, const amrex::MultiFab &Bz, amrex::Real t, int lev)
Lorentz Momentum Source.
Definition WarpXFluidContainer.cpp:1086
void ApplyBcFluidsAndComms(ablastr::fields::MultiFabRegister &m_fields, int lev)
Apply non-periodic BC to fluids and communicate boundaries.
Definition WarpXFluidContainer.cpp:319
std::string species_name
Definition WarpXFluidContainer.H:149
void centrifugal_source_rz(ablastr::fields::MultiFabRegister &m_fields, int lev)
Centrifugal source term.
Definition WarpXFluidContainer.cpp:1017
int do_not_deposit
Definition WarpXFluidContainer.H:155
WarpXFluidContainer(WarpXFluidContainer &&)=default
std::string name_mf_N
Definition WarpXFluidContainer.H:199
friend MultiFluidContainer
Definition WarpXFluidContainer.H:32
std::string m_B_ext_s
Definition WarpXFluidContainer.H:159
std::unique_ptr< InjectorMomentum, InjectorMomentumDeleter > h_inj_mom
Definition WarpXFluidContainer.H:182
WarpXFluidContainer & operator=(WarpXFluidContainer &&)=default
std::unique_ptr< amrex::Parser > m_Ey_parser
Definition WarpXFluidContainer.H:172
std::unique_ptr< amrex::Parser > ux_th_parser
Definition WarpXFluidContainer.H:187
std::unique_ptr< amrex::Parser > density_parser
Definition WarpXFluidContainer.H:180
std::unique_ptr< InjectorDensity, InjectorDensityDeleter > h_inj_rho
Definition WarpXFluidContainer.H:178
std::unique_ptr< amrex::Parser > uy_parser
Definition WarpXFluidContainer.H:185
std::string name_mf_NU
Definition WarpXFluidContainer.H:200
WarpXFluidContainer(int ispecies, const std::string &name)
Definition WarpXFluidContainer.cpp:25
amrex::Real charge
Definition WarpXFluidContainer.H:150
PhysicalSpecies physical_species
Definition WarpXFluidContainer.H:156
std::unique_ptr< VelocityProperties > h_mom_vel
Definition WarpXFluidContainer.H:194
std::unique_ptr< amrex::Parser > m_Ez_parser
Definition WarpXFluidContainer.H:173
std::string m_E_ext_s
Definition WarpXFluidContainer.H:160
InjectorDensity * d_inj_rho
Definition WarpXFluidContainer.H:179
int do_not_push
Definition WarpXFluidContainer.H:153
std::unique_ptr< amrex::Parser > m_Ex_parser
Definition WarpXFluidContainer.H:171
~WarpXFluidContainer()=default
std::unique_ptr< amrex::Parser > uz_parser
Definition WarpXFluidContainer.H:186
int do_not_gather
Definition WarpXFluidContainer.H:154
amrex::ParserExecutor< 4 > m_Bzfield_parser
Definition WarpXFluidContainer.H:168
WarpXFluidContainer & operator=(WarpXFluidContainer const &)=delete
void AdvectivePush_Muscl(ablastr::fields::MultiFabRegister &m_fields, int lev)
Advective term, cold-rel. fluids.
Definition WarpXFluidContainer.cpp:421
amrex::ParserExecutor< 4 > m_Exfield_parser
Definition WarpXFluidContainer.H:174
std::unique_ptr< amrex::Parser > uy_th_parser
Definition WarpXFluidContainer.H:188
void ReadParameters()
Definition WarpXFluidContainer.cpp:58
amrex::Real getMass() const
Definition WarpXFluidContainer.H:145
std::unique_ptr< amrex::Parser > ux_parser
Definition WarpXFluidContainer.H:184
std::unique_ptr< amrex::Parser > uz_th_parser
Definition WarpXFluidContainer.H:189
amrex::Real mass
Definition WarpXFluidContainer.H:151
std::unique_ptr< amrex::Parser > m_Bx_parser
Definition WarpXFluidContainer.H:163
InjectorMomentum * d_inj_mom
Definition WarpXFluidContainer.H:183
amrex::Real getCharge() const
Definition WarpXFluidContainer.H:144
amrex::ParserExecutor< 4 > m_Eyfield_parser
Definition WarpXFluidContainer.H:175
amrex::ParserExecutor< 4 > m_Ezfield_parser
Definition WarpXFluidContainer.H:176
int species_id
Definition WarpXFluidContainer.H:148
void InitData(ablastr::fields::MultiFabRegister &m_fields, amrex::Box init_box, amrex::Real cur_time, int lev, const amrex::Geometry &geom_lev, amrex::Real gamma_boost, amrex::Real beta_boost)
Definition WarpXFluidContainer.cpp:166
void AllocateLevelMFs(ablastr::fields::MultiFabRegister &m_fields, const amrex::BoxArray &ba, const amrex::DistributionMapping &dm, int lev) const
Definition WarpXFluidContainer.cpp:142
amrex::ParserExecutor< 4 > m_Bxfield_parser
Definition WarpXFluidContainer.H:166
void Evolve(ablastr::fields::MultiFabRegister &fields, int lev, const std::string ¤t_fp_string, amrex::Real cur_time, bool skip_deposition=false)
Definition WarpXFluidContainer.cpp:259
amrex::ParserExecutor< 4 > m_Byfield_parser
Definition WarpXFluidContainer.H:167
std::unique_ptr< amrex::Parser > m_Bz_parser
Definition WarpXFluidContainer.H:165
void DepositCharge(ablastr::fields::MultiFabRegister &m_fields, amrex::MultiFab &rho, int lev, int icomp=0)
Deposit fluid charge density.
Definition WarpXFluidContainer.cpp:1371
void DepositCurrent(ablastr::fields::MultiFabRegister &m_fields, amrex::MultiFab &jx, amrex::MultiFab &jy, amrex::MultiFab &jz, int lev)
Deposit fluid current density.
Definition WarpXFluidContainer.cpp:1407
WarpXFluidContainer(WarpXFluidContainer const &)=delete
std::unique_ptr< amrex::Parser > m_By_parser
Definition WarpXFluidContainer.H:164
std::unique_ptr< TemperatureProperties > h_mom_temp
Definition WarpXFluidContainer.H:193
Definition InjectorDensity.H:163
Definition InjectorMomentum.H:505
Definition MultiFabRegister.H:262