PDEBase Class Reference
AMR-Wind API v0.1.0
CFD solver for wind plant simulations
|
#include <PDEBase.H>
Public Member Functions | |
~PDEBase () override=default | |
virtual PDEFields & | fields ()=0 |
Return the object that holds references to fields for this PDE system. | |
virtual const PDEFields & | fields () const =0 |
virtual void | initialize ()=0 |
Perform initialization actions for a PDE after the mesh is generated. | |
virtual void | post_regrid_actions ()=0 |
Perform updates specific to PDE after a regrid is performed. | |
virtual void | compute_source_term (const FieldState fstate)=0 |
Compute the source (forcing) terms for this PDE. | |
virtual void | compute_mueff (const FieldState fstate)=0 |
Compute the effective dynamic viscosity for this PDE. | |
virtual void | compute_diffusion_term (const FieldState fstate)=0 |
Compute the diffusion term used in the RHS of the PDE system. | |
virtual void | pre_advection_actions (const FieldState fstate)=0 |
Perform necessary steps to prepare for advection calculations. | |
virtual void | compute_advection_term (const FieldState fstate)=0 |
Compute the time derivative and advective term for the PDE system. | |
virtual void | compute_predictor_rhs (const DiffusionType difftype)=0 |
virtual void | compute_corrector_rhs (const DiffusionType difftype)=0 |
virtual void | solve (const amrex::Real dt)=0 |
Solve the diffusion linear system and update the field. | |
virtual void | post_solve_actions ()=0 |
Perform post-processing actions after a system solve. | |
Public Member Functions inherited from amr_wind::Factory< PDEBase, CFDSim & > | |
virtual | ~Factory ()=default |
Static Public Member Functions | |
static std::string | base_identifier () |
Base class identifier used for factory registration interface. | |
Static Public Member Functions inherited from amr_wind::Factory< PDEBase, CFDSim & > | |
static std::unique_ptr< PDEBase > | create (const std::string &key, Args... args) |
static void | print (std::ostream &os) |
Additional Inherited Members | |
Public Attributes inherited from amr_wind::Factory< PDEBase, CFDSim & > | |
friend | Base |
Detailed Description
Abstract interface defining a PDE and its solution process withn AMR-Wind
The exact behavior is implemented by subclass PDESystem that is specialized using two traits: the PDE type trait, and the numerical scheme trait. Currently, two numerical scheme traits are supported: Godunov and MOL.
Each PDESystem instance contains its own PDEFields object that holds fields unique to the PDE. These fields are: the variable solved by the PDE (e.g., velocity, temperature, etc.), the effective dynamic viscosity, the source terms, the diffusion term, and the convective term. A PDE may declare additional fields that are not stored in this object, but can be queried using the FieldRepo instance. For example, the incompressible Navier-Stokes (ICNS) always declares density and pressure in addition to the velocity fields.
Constructor & Destructor Documentation
◆ ~PDEBase()
|
overridedefault |
Member Function Documentation
◆ base_identifier()
|
inlinestatic |
Base class identifier used for factory registration interface.
◆ compute_advection_term()
|
pure virtual |
Compute the time derivative and advective term for the PDE system.
◆ compute_corrector_rhs()
|
pure virtual |
Combine the source, diffusion, and advection term to obtain RHS
This method behaves differently depending upon whether the diffusion term is treated implicitly, with Crank-Nicolson scheme, or explicitly. The corrector step uses both "old" state as well as the updated "new" state from predictor step to compute the RHS term.
◆ compute_diffusion_term()
|
pure virtual |
Compute the diffusion term used in the RHS of the PDE system.
◆ compute_mueff()
|
pure virtual |
Compute the effective dynamic viscosity for this PDE.
◆ compute_predictor_rhs()
|
pure virtual |
Combine the source, diffusion, and advection term to obtain RHS
This method behaves differently depending upon whether the diffusion term is treated implicitly, with Crank-Nicolson scheme, or explicitly. The predictor step only uses the "old" states for RHS computation.
◆ compute_source_term()
|
pure virtual |
Compute the source (forcing) terms for this PDE.
◆ fields() [1/2]
|
pure virtual |
◆ fields() [2/2]
|
pure virtual |
Return the object that holds references to fields for this PDE system.
◆ initialize()
|
pure virtual |
Perform initialization actions for a PDE after the mesh is generated.
◆ post_regrid_actions()
|
pure virtual |
Perform updates specific to PDE after a regrid is performed.
◆ post_solve_actions()
|
pure virtual |
Perform post-processing actions after a system solve.
◆ pre_advection_actions()
|
pure virtual |
Perform necessary steps to prepare for advection calculations.
◆ solve()
|
pure virtual |
Solve the diffusion linear system and update the field.
The documentation for this class was generated from the following file:
- /home/runner/work/amr-wind/amr-wind/amr-wind/equation_systems/PDEBase.H
Generated by 1.12.0