PDESystem< PDE, Scheme > Class Template Reference

AMR-Wind API: amr_wind::pde::PDESystem< PDE, Scheme > Class Template Reference
AMR-Wind API v0.1.0
CFD solver for wind plant simulations
Loading...
Searching...
No Matches

#include <PDE.H>

Inheritance diagram for amr_wind::pde::PDESystem< PDE, Scheme >:
[legend]
Collaboration diagram for amr_wind::pde::PDESystem< PDE, Scheme >:
[legend]

Public Types

using PDEType = PDE
 
using SchemeType = Scheme
 

Public Member Functions

 PDESystem (CFDSim &sim)
 
void initialize () override
 Perform initialization actions after the mesh is created.
 
void post_regrid_actions () override
 Perform update actions after a regrid is performed.
 
PDEFieldsfields () override
 Return the object holding the fields necessary for solving this PDE.
 
const PDEFieldsfields () const override
 
void compute_source_term (const FieldState fstate) override
 
void compute_mueff (const FieldState) override
 
void compute_diffusion_term (const FieldState fstate) override
 
void compute_advection_term (const FieldState fstate) override
 
void pre_advection_actions (const FieldState fstate) override
 
void compute_predictor_rhs (const DiffusionType difftype) override
 
void compute_corrector_rhs (const DiffusionType difftype) override
 
void solve (const amrex::Real dt) override
 
void post_solve_actions () override
 

Static Public Member Functions

static std::string identifier ()
 

Protected Attributes

CFDSimm_sim
 CFD simulation controller instance.
 
const SimTimem_time
 Time controls instance.
 
FieldRepom_repo
 Field repository.
 
PDEFields m_fields
 
SrcTermOp< PDE > m_src_op
 Source term computation operator.
 
std::unique_ptr< AdvectionOp< PDE, Scheme > > m_adv_op
 Advection term computation operator.
 
ComputeRHSOp< PDE, Scheme > m_rhs_op
 RHS computation operator.
 
std::unique_ptr< DiffusionOp< PDE, Scheme > > m_diff_op
 Diffusion term computation operator.
 
std::unique_ptr< TurbulenceOp< PDE > > m_turb_op
 Turbulence operator.
 
BCOp< PDE > m_bc_op
 
PostSolveOp< PDE > m_post_solve_op
 

Detailed Description

template<typename PDE, typename Scheme>
class amr_wind::pde::PDESystem< PDE, Scheme >

Implementation of the PDE interface for transport equations

This class takes two traits, one describing the PDE type and the other describing the numerical scheme (e.g., Godunov, MOL) to generate a family of PDE systems and its solution process. Each operation is performed by a separate operator object that can be customized based on the different traits as necessary.

Template Parameters
PDEThe PDE trait (e.g., ICNS, Temperature, etc.)
SchemeNumerical scheme trait (e.g., Godunov, MOL)

Member Typedef Documentation

◆ PDEType

template<typename PDE , typename Scheme >
using amr_wind::pde::PDESystem< PDE, Scheme >::PDEType = PDE

◆ SchemeType

template<typename PDE , typename Scheme >
using amr_wind::pde::PDESystem< PDE, Scheme >::SchemeType = Scheme

Constructor & Destructor Documentation

◆ PDESystem()

template<typename PDE , typename Scheme >
amr_wind::pde::PDESystem< PDE, Scheme >::PDESystem ( CFDSim & sim)
inlineexplicit
Parameters
simA CFDSim instance

Member Function Documentation

◆ compute_advection_term()

template<typename PDE , typename Scheme >
void amr_wind::pde::PDESystem< PDE, Scheme >::compute_advection_term ( const FieldState fstate)
inlineoverride

◆ compute_corrector_rhs()

template<typename PDE , typename Scheme >
void amr_wind::pde::PDESystem< PDE, Scheme >::compute_corrector_rhs ( const DiffusionType difftype)
inlineoverride

◆ compute_diffusion_term()

template<typename PDE , typename Scheme >
void amr_wind::pde::PDESystem< PDE, Scheme >::compute_diffusion_term ( const FieldState fstate)
inlineoverride

◆ compute_mueff()

template<typename PDE , typename Scheme >
void amr_wind::pde::PDESystem< PDE, Scheme >::compute_mueff ( const FieldState )
inlineoverride

◆ compute_predictor_rhs()

template<typename PDE , typename Scheme >
void amr_wind::pde::PDESystem< PDE, Scheme >::compute_predictor_rhs ( const DiffusionType difftype)
inlineoverride

◆ compute_source_term()

template<typename PDE , typename Scheme >
void amr_wind::pde::PDESystem< PDE, Scheme >::compute_source_term ( const FieldState fstate)
inlineoverride

◆ fields() [1/2]

template<typename PDE , typename Scheme >
const PDEFields & amr_wind::pde::PDESystem< PDE, Scheme >::fields ( ) const
inlineoverride

◆ fields() [2/2]

template<typename PDE , typename Scheme >
PDEFields & amr_wind::pde::PDESystem< PDE, Scheme >::fields ( )
inlineoverride

Return the object holding the fields necessary for solving this PDE.

◆ identifier()

template<typename PDE , typename Scheme >
static std::string amr_wind::pde::PDESystem< PDE, Scheme >::identifier ( )
inlinestatic

Unique identifier used to register and create this instance on-demand through the factor interface

◆ initialize()

template<typename PDE , typename Scheme >
void amr_wind::pde::PDESystem< PDE, Scheme >::initialize ( )
inlineoverride

Perform initialization actions after the mesh is created.

◆ post_regrid_actions()

template<typename PDE , typename Scheme >
void amr_wind::pde::PDESystem< PDE, Scheme >::post_regrid_actions ( )
inlineoverride

Perform update actions after a regrid is performed.

◆ post_solve_actions()

template<typename PDE , typename Scheme >
void amr_wind::pde::PDESystem< PDE, Scheme >::post_solve_actions ( )
inlineoverride

◆ pre_advection_actions()

template<typename PDE , typename Scheme >
void amr_wind::pde::PDESystem< PDE, Scheme >::pre_advection_actions ( const FieldState fstate)
inlineoverride

◆ solve()

template<typename PDE , typename Scheme >
void amr_wind::pde::PDESystem< PDE, Scheme >::solve ( const amrex::Real dt)
inlineoverride

Member Data Documentation

◆ m_adv_op

template<typename PDE , typename Scheme >
std::unique_ptr<AdvectionOp<PDE, Scheme> > amr_wind::pde::PDESystem< PDE, Scheme >::m_adv_op
protected

Advection term computation operator.

◆ m_bc_op

template<typename PDE , typename Scheme >
BCOp<PDE> amr_wind::pde::PDESystem< PDE, Scheme >::m_bc_op
protected

◆ m_diff_op

template<typename PDE , typename Scheme >
std::unique_ptr<DiffusionOp<PDE, Scheme> > amr_wind::pde::PDESystem< PDE, Scheme >::m_diff_op
protected

Diffusion term computation operator.

◆ m_fields

template<typename PDE , typename Scheme >
PDEFields amr_wind::pde::PDESystem< PDE, Scheme >::m_fields
protected

◆ m_post_solve_op

template<typename PDE , typename Scheme >
PostSolveOp<PDE> amr_wind::pde::PDESystem< PDE, Scheme >::m_post_solve_op
protected

◆ m_repo

template<typename PDE , typename Scheme >
FieldRepo& amr_wind::pde::PDESystem< PDE, Scheme >::m_repo
protected

Field repository.

◆ m_rhs_op

template<typename PDE , typename Scheme >
ComputeRHSOp<PDE, Scheme> amr_wind::pde::PDESystem< PDE, Scheme >::m_rhs_op
protected

RHS computation operator.

◆ m_sim

template<typename PDE , typename Scheme >
CFDSim& amr_wind::pde::PDESystem< PDE, Scheme >::m_sim
protected

CFD simulation controller instance.

◆ m_src_op

template<typename PDE , typename Scheme >
SrcTermOp<PDE> amr_wind::pde::PDESystem< PDE, Scheme >::m_src_op
protected

Source term computation operator.

◆ m_time

template<typename PDE , typename Scheme >
const SimTime& amr_wind::pde::PDESystem< PDE, Scheme >::m_time
protected

Time controls instance.

◆ m_turb_op

template<typename PDE , typename Scheme >
std::unique_ptr<TurbulenceOp<PDE> > amr_wind::pde::PDESystem< PDE, Scheme >::m_turb_op
protected

Turbulence operator.


The documentation for this class was generated from the following file:
  • /home/runner/work/amr-wind/amr-wind/amr-wind/equation_systems/PDE.H