ERF
Energy Research and Forecasting: An Atmospheric Modeling Code
Microphysics Class Referenceabstract

Base class for microphysics interface. More...

#include <Microphysics.H>

Inheritance diagram for Microphysics:

Public Member Functions

 Microphysics ()
 Null constructor. More...
 
virtual ~Microphysics ()=default
 default destructor More...
 
virtual void Define (const int &, SolverChoice &)=0
 define the microphysics object More...
 
virtual void Init (const int &, const amrex::MultiFab &, const amrex::BoxArray &, const amrex::Geometry &, const amrex::Real &, std::unique_ptr< amrex::MultiFab > &, std::unique_ptr< amrex::MultiFab > &)=0
 initialize the microphysics object More...
 
virtual void Advance (const int &, const amrex::Real &, const int &, const amrex::Real &, const SolverChoice &, amrex::Vector< amrex::Vector< amrex::MultiFab >> &, const amrex::Vector< std::unique_ptr< amrex::MultiFab >> &)=0
 advance microphysics for one time step More...
 
virtual void Update_Micro_Vars_Lev (const int &, amrex::MultiFab &)=0
 update microphysics variables from ERF state variables More...
 
virtual void Update_State_Vars_Lev (const int &, amrex::MultiFab &)=0
 update ERF state variables from microphysics variables More...
 
virtual amrex::MultiFab * Get_Qmoist_Ptr (const int &, const int &)=0
 get pointer to a moisture variable More...
 
virtual int Get_Qmoist_Size (const int &)=0
 get the number of moisture model variables More...
 
virtual int Get_Qstate_Size ()=0
 get the number of moisture-model-related conserved state variables More...
 

Static Public Member Functions

static MoistureModelType modelType (const MoistureType a_moisture_type)
 query if a specified moisture model is Eulerian or Lagrangian More...
 

Detailed Description

Base class for microphysics interface.

Constructor & Destructor Documentation

◆ Microphysics()

Microphysics::Microphysics ( )
inline

Null constructor.

16 { }

◆ ~Microphysics()

virtual Microphysics::~Microphysics ( )
virtualdefault

default destructor

Member Function Documentation

◆ Advance()

virtual void Microphysics::Advance ( const int &  ,
const amrex::Real &  ,
const int &  ,
const amrex::Real &  ,
const SolverChoice ,
amrex::Vector< amrex::Vector< amrex::MultiFab >> &  ,
const amrex::Vector< std::unique_ptr< amrex::MultiFab >> &   
)
pure virtual

advance microphysics for one time step

Implemented in EulerianMicrophysics.

◆ Define()

virtual void Microphysics::Define ( const int &  ,
SolverChoice  
)
pure virtual

define the microphysics object

Implemented in EulerianMicrophysics.

◆ Get_Qmoist_Ptr()

virtual amrex::MultiFab* Microphysics::Get_Qmoist_Ptr ( const int &  ,
const int &   
)
pure virtual

get pointer to a moisture variable

Implemented in EulerianMicrophysics.

◆ Get_Qmoist_Size()

virtual int Microphysics::Get_Qmoist_Size ( const int &  )
pure virtual

get the number of moisture model variables

Implemented in EulerianMicrophysics.

◆ Get_Qstate_Size()

virtual int Microphysics::Get_Qstate_Size ( )
pure virtual

get the number of moisture-model-related conserved state variables

Implemented in EulerianMicrophysics.

◆ Init()

virtual void Microphysics::Init ( const int &  ,
const amrex::MultiFab &  ,
const amrex::BoxArray &  ,
const amrex::Geometry &  ,
const amrex::Real &  ,
std::unique_ptr< amrex::MultiFab > &  ,
std::unique_ptr< amrex::MultiFab > &   
)
pure virtual

initialize the microphysics object

Implemented in EulerianMicrophysics.

◆ modelType()

static MoistureModelType Microphysics::modelType ( const MoistureType  a_moisture_type)
inlinestatic

query if a specified moisture model is Eulerian or Lagrangian

59  {
60  if ( (a_moisture_type == MoistureType::SAM)
61  || (a_moisture_type == MoistureType::Kessler)
62  || (a_moisture_type == MoistureType::Kessler_NoRain)
63  || (a_moisture_type == MoistureType::None) ) {
65  } else {
66  amrex::Abort("Dont know this moisture_type!") ;
68  }
69  }

Referenced by EulerianMicrophysics::EulerianMicrophysics(), ERF::InitData(), and ERF::initializeMicrophysics().

Here is the caller graph for this function:

◆ Update_Micro_Vars_Lev()

virtual void Microphysics::Update_Micro_Vars_Lev ( const int &  ,
amrex::MultiFab &   
)
pure virtual

update microphysics variables from ERF state variables

Implemented in EulerianMicrophysics.

◆ Update_State_Vars_Lev()

virtual void Microphysics::Update_State_Vars_Lev ( const int &  ,
amrex::MultiFab &   
)
pure virtual

update ERF state variables from microphysics variables

Implemented in EulerianMicrophysics.


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