1 #ifndef ERF_NULLMOIST_H
2 #define ERF_NULLMOIST_H
4 #include <AMReX_MultiFabUtil.H>
5 #include <AMReX_iMultiFab.H>
6 #include <AMReX_Geometry.H>
23 void Init (
const amrex::MultiFab& ,
24 const amrex::BoxArray& ,
25 const amrex::Geometry& ,
27 std::unique_ptr<amrex::MultiFab>& ,
28 std::unique_ptr<amrex::MultiFab>& ) { }
44 const amrex::MultiFab* ) {
51 const amrex::MultiFab& ) { }
99 amrex::MultiFab& )
const
101 amrex::Abort(
"NullMoist::GetPlotVar() should never be called.");
107 amrex::MultiFab& a_mf,
187 "Anelastic microphysics requires the hydrostatic base state at copy-in");
AMREX_ALWAYS_ASSERT_WITH_MESSAGE(axis >=0 &&axis< AMREX_SPACEDIM, "prob.axis must be 0, 1 or 2")
AMREX_ALWAYS_ASSERT(bx.length()[2]==khi+1)
The sedimentation face fluxes a precipitating microphysics scheme records.
amrex::Real Real
Definition: ERF_ShocInterface.H:19
Definition: ERF_NullMoist.H:11
int m_qstate_moist_size
Definition: ERF_NullMoist.H:195
int m_level
Definition: ERF_NullMoist.H:190
virtual void Copy_Micro_to_State(amrex::MultiFab &)
Definition: ERF_NullMoist.H:59
virtual amrex::MultiFab * Qmoist_Ptr(const int &)
Definition: ERF_NullMoist.H:63
virtual void Update_Micro_Vars(amrex::MultiFab &cons_in, const amrex::MultiFab *)
Definition: ERF_NullMoist.H:43
virtual void GetPlotVar(const std::string &, amrex::MultiFab &) const
Definition: ERF_NullMoist.H:98
const amrex::MultiFab * m_sed_inflow
Definition: ERF_NullMoist.H:168
virtual void SetCurrentLevel(const int &lev)
Definition: ERF_NullMoist.H:115
virtual void Set_dzmin(const amrex::Real)
Definition: ERF_NullMoist.H:131
virtual void GetPlotVar(const std::string &a_name, amrex::MultiFab &a_mf, const int) const
Definition: ERF_NullMoist.H:106
int m_qmoist_size
Definition: ERF_NullMoist.H:194
virtual int getDiagnosticsInterval() const
Definition: ERF_NullMoist.H:127
virtual void Init(const amrex::MultiFab &, const amrex::BoxArray &, const amrex::Geometry &, const amrex::Real &, std::unique_ptr< amrex::MultiFab > &, std::unique_ptr< amrex::MultiFab > &)
Definition: ERF_NullMoist.H:23
virtual ~NullMoist()=default
virtual void Qmoist_Restart_Vars(const SolverChoice &, std::vector< int > &a_idx, std::vector< std::string > &a_names) const
Definition: ERF_NullMoist.H:83
virtual void InitLevel(const int, const amrex::MultiFab &)
Definition: ERF_NullMoist.H:123
virtual int Qstate_Moist_NumConc_Size()
Definition: ERF_NullMoist.H:75
virtual void Update_State_Vars(amrex::MultiFab &, const amrex::MultiFab &)
Definition: ERF_NullMoist.H:50
virtual void Set_RealWidth(const int)
Definition: ERF_NullMoist.H:164
virtual SurfacePrecipAccumulationSources Get_Surface_Precip_Accumulation_Ptrs(const int &) const
Definition: ERF_NullMoist.H:141
int m_qstate_moist_numconc_size
Definition: ERF_NullMoist.H:196
NullMoist()
Definition: ERF_NullMoist.H:14
virtual void Set_Lmask(amrex::iMultiFab *)
Import ERF's land/water mask. Only schemes whose physics branches on land vs water need to override t...
Definition: ERF_NullMoist.H:137
virtual const SedimentationFlux * Sed_Flux() const
The sedimentation face fluxes of the most recent Advance, or null for a scheme that does not sediment...
Definition: ERF_NullMoist.H:150
virtual int Qstate_NonMoist_Size()
Definition: ERF_NullMoist.H:79
virtual void Advance(const amrex::Real &, const SolverChoice &)
Definition: ERF_NullMoist.H:32
virtual void Define(SolverChoice &)
Definition: ERF_NullMoist.H:20
virtual void Copy_State_to_Micro(const amrex::MultiFab &)
Definition: ERF_NullMoist.H:55
virtual void GetPlotVarNames(amrex::Vector< std::string > &a_vec) const
Definition: ERF_NullMoist.H:91
int m_qstate_nonmoist_size
Definition: ERF_NullMoist.H:197
void assert_base_state_available(const amrex::MultiFab *base_state) const
Definition: ERF_NullMoist.H:183
virtual int Qmoist_Size()
Definition: ERF_NullMoist.H:67
void set_anelastic_reference_pressure_mode(const SolverChoice &sc)
Definition: ERF_NullMoist.H:171
virtual void Update_Micro_Vars(amrex::MultiFab &)
Definition: ERF_NullMoist.H:37
bool m_use_anelastic_reference_pressure
Definition: ERF_NullMoist.H:191
virtual int Qstate_Moist_Size()
Definition: ERF_NullMoist.H:71
virtual void Set_Sed_Inflow(const amrex::MultiFab *inflow)
The inflow through the top of a fine patch for the next Advance, or null (see ERF_SedimentationFlux....
Definition: ERF_NullMoist.H:156
Definition: ERF_SedimentationFlux.H:38
Definition: ERF_DataStruct.H:715
amrex::Vector< int > anelastic
Per-level flag selecting anelastic dynamics.
Definition: ERF_DataStruct.H:2629
Definition: ERF_SurfacePrecipitation.H:34