PDEMgr Class Reference
AMR-Wind API v0.1.0
CFD solver for wind plant simulations
|
#include <PDEBase.H>
Public Member Functions | |
PDEMgr (CFDSim &sim) | |
~PDEMgr ()=default | |
PDEBase & | icns () |
Return the incompressible Navier-Stokes instance. | |
const PDEBase & | icns () const |
PDEBase & | register_icns () |
PDEBase & | register_transport_pde (const std::string &pde_name) |
Register a new PDE instance and return its reference. | |
void | advance_states () |
Advance states for all registered PDEs at the beginning of a timestep. | |
void | prepare_boundaries () |
void | fillpatch_state_fields (const amrex::Real time, const FieldState fstate=FieldState::New) |
Call fillpatch operator on state variables for all registered PDEs. | |
TypeVector & | scalar_eqns () |
const TypeVector & | scalar_eqns () const |
bool | has_pde (const std::string &pde_name) const |
Query if a PDE has already been registered. | |
int | num_ghost_state () const |
bool | constant_density () const |
std::string | scheme () const |
Public Member Functions inherited from amr_wind::CollMgr< PDEMgr, PDEBase > | |
CollMgr ()=default | |
CollMgr (const CollMgr &)=delete | |
~CollMgr ()=default | |
CollMgr & | operator= (const CollMgr &)=delete |
PDEBase & | create (const std::string &key, Args &&... args) |
TypeVector & | objects () |
Return a vector of the registered objects. | |
const TypeVector & | objects () const |
bool | contains (const std::string &key) const |
Query if an object exists using the lookup key. | |
PDEBase & | operator() (const std::string &key) |
Return the object corresponding to a lookup key. | |
const PDEBase & | operator() (const std::string &key) const |
T & | operator() (const std::string &key) |
Return object for a lookup key cast into its exact class definition. | |
Private Attributes | |
CFDSim & | m_sim |
Instance of the CFD simulation controller. | |
std::unique_ptr< PDEBase > | m_icns |
ICNS instance. | |
std::string | m_scheme |
Unique identifier for the numerical scheme. | |
bool | m_use_godunov {true} |
Flag indicating whether Godunov scheme is active. | |
bool | m_constant_density {true} |
Flag indicating whether density is constant for this simulation. | |
Additional Inherited Members | |
Public Types inherited from amr_wind::CollMgr< PDEMgr, PDEBase > | |
using | TypePtr |
using | TypeVector |
Protected Attributes inherited from amr_wind::CollMgr< PDEMgr, PDEBase > | |
TypeVector | m_obj_vec |
Collection of objects registered so far. | |
std::unordered_map< std::string, int > | m_obj_map |
Key word based lookup. | |
Detailed Description
PDE systems manager
This class manages a collection of PDEs and provides an interface to register PDEs. An incompressible N-S equation is always registered and treated as a special case. The remaining PDEs are created on-demand and are accessed through the equation systems vector.
Constructor & Destructor Documentation
◆ PDEMgr()
|
explicit |
◆ ~PDEMgr()
|
default |
Member Function Documentation
◆ advance_states()
void amr_wind::pde::PDEMgr::advance_states | ( | ) |
Advance states for all registered PDEs at the beginning of a timestep.
◆ constant_density()
|
inline |
◆ fillpatch_state_fields()
void amr_wind::pde::PDEMgr::fillpatch_state_fields | ( | const amrex::Real | time, |
const FieldState | fstate = FieldState::New ) |
Call fillpatch operator on state variables for all registered PDEs.
◆ has_pde()
bool amr_wind::pde::PDEMgr::has_pde | ( | const std::string & | pde_name | ) | const |
Query if a PDE has already been registered.
◆ icns() [1/2]
|
inline |
Return the incompressible Navier-Stokes instance.
◆ icns() [2/2]
|
inline |
◆ num_ghost_state()
int amr_wind::pde::PDEMgr::num_ghost_state | ( | ) | const |
◆ prepare_boundaries()
void amr_wind::pde::PDEMgr::prepare_boundaries | ( | ) |
Prepare boundaries for registered PDEs at the beginning of a timestep: – intended for when boundaries rely on intermediate time states (nph)
◆ register_icns()
PDEBase & amr_wind::pde::PDEMgr::register_icns | ( | ) |
Create the incompressible Navier-Stokes instance and return its reference
◆ register_transport_pde()
PDEBase & amr_wind::pde::PDEMgr::register_transport_pde | ( | const std::string & | pde_name | ) |
Register a new PDE instance and return its reference.
◆ scalar_eqns() [1/2]
|
inline |
Return the vector containing all registered PDE instances
Note that this does not contain the ICNS system as it is treated separately for algorithmic reasons.
◆ scalar_eqns() [2/2]
|
inline |
◆ scheme()
|
inline |
Member Data Documentation
◆ m_constant_density
|
private |
Flag indicating whether density is constant for this simulation.
◆ m_icns
◆ m_scheme
|
private |
Unique identifier for the numerical scheme.
◆ m_sim
|
private |
Instance of the CFD simulation controller.
◆ m_use_godunov
|
private |
Flag indicating whether Godunov scheme is active.
The documentation for this class was generated from the following files:
- /home/runner/work/amr-wind/amr-wind/amr-wind/equation_systems/PDEBase.H
- /home/runner/work/amr-wind/amr-wind/amr-wind/equation_systems/PDEBase.cpp
Generated by 1.12.0