TurbModel< Transport > Class Template Reference

AMR-Wind API: amr_wind::turbulence::TurbModel< Transport > Class Template Reference
AMR-Wind API v0.1.0
CFD solver for wind plant simulations
Loading...
Searching...
No Matches
amr_wind::turbulence::TurbModel< Transport > Class Template Reference

#include <TurbModel.H>

Inheritance diagram for amr_wind::turbulence::TurbModel< Transport >:
[legend]
Collaboration diagram for amr_wind::turbulence::TurbModel< Transport >:
[legend]

Public Types

using TransportType = Transport
 
- Public Types inherited from amr_wind::turbulence::TurbulenceModel
using CoeffsDictType = std::unordered_map<std::string, amrex::Real>
 Default identifier used by factor methods.
 

Public Member Functions

 TurbModel (CFDSim &sim)
 
void register_mueff_field (Field &mueff) override
 Register the effective viscosity (for momentum field)
 
void register_alphaeff_field (Field &alphaeff) override
 Register the thermal diffusivity field.
 
std::unique_ptr< ScratchFieldmu () override
 Return the dynamic viscosity field.
 
std::unique_ptr< ScratchFieldalpha () override
 Return the thermal diffusivity field.
 
std::unique_ptr< ScratchFieldscalar_diffusivity (const std::string &name) override
 Return the scalar diffusivity field.
 
Fieldmueff () override
 Return the effective dynamic viscosity field.
 
Fieldalphaeff () override
 Return the effective thermal diffusivity field.
 
- Public Member Functions inherited from amr_wind::turbulence::TurbulenceModel
 ~TurbulenceModel () override=default
 
virtual void update_turbulent_viscosity (const FieldState fstate, const DiffusionType diff_type)=0
 
virtual void post_advance_work ()=0
 Do any post advance actions for the turbulence model.
 
virtual std::string model_name () const =0
 String representation of this turbulence model for I/O.
 
virtual Fieldmu_turb ()=0
 Return the turbulent dynamic viscosity field.
 
virtual Fieldalpha_turb ()=0
 Return the turbulent dynamic viscosity field.
 
virtual bool is_turbulent () const
 Flag indicating whether the model is turbulent.
 
virtual void update_mueff (Field &mueff)=0
 
virtual void update_alphaeff (Field &alphaeff)=0
 Interface to update effective thermal diffusivity.
 
virtual void update_scalar_diff (Field &deff, const std::string &name)=0
 Interface to update scalar diffusivity based on Schmidt number.
 
virtual void parse_model_coeffs ()=0
 Parse turbulence model coefficients.
 
virtual CoeffsDictType model_coeffs () const =0
 Return model coefficients dictionary.
 
- Public Member Functions inherited from amr_wind::Factory< TurbulenceModel, CFDSim & >
virtual ~Factory ()=default
 

Protected Attributes

CFDSimm_sim
 
Transport m_transport
 Transport properties instance.
 
Fieldm_mueff {nullptr}
 Reference to the effective viscosity field.
 
Fieldm_alphaeff {nullptr}
 Reference to the thermal diffusivity field.
 

Additional Inherited Members

- Static Public Member Functions inherited from amr_wind::turbulence::TurbulenceModel
static std::string base_identifier ()
 
- Static Public Member Functions inherited from amr_wind::Factory< TurbulenceModel, CFDSim & >
static std::unique_ptr< TurbulenceModel > create (const std::string &key, Args... args)
 
static void print (std::ostream &os)
 
- Public Attributes inherited from amr_wind::Factory< TurbulenceModel, CFDSim & >
friend Base
 

Detailed Description

template<typename Transport>
class amr_wind::turbulence::TurbModel< Transport >

Turbulence model with a specific transport model

This templated class allows turbulence model to be specialised based on Transport models models. All turbulence model implementations inherit from this class.

Member Typedef Documentation

◆ TransportType

template<typename Transport >
using amr_wind::turbulence::TurbModel< Transport >::TransportType = Transport

Constructor & Destructor Documentation

◆ TurbModel()

template<typename Transport >
amr_wind::turbulence::TurbModel< Transport >::TurbModel ( CFDSim & sim)
inlineexplicit

Member Function Documentation

◆ alpha()

template<typename Transport >
std::unique_ptr< ScratchField > amr_wind::turbulence::TurbModel< Transport >::alpha ( )
inlineoverridevirtual

Return the thermal diffusivity field.

Implements amr_wind::turbulence::TurbulenceModel.

◆ alphaeff()

template<typename Transport >
Field & amr_wind::turbulence::TurbModel< Transport >::alphaeff ( )
inlineoverridevirtual

Return the effective thermal diffusivity field.

Implements amr_wind::turbulence::TurbulenceModel.

◆ mu()

template<typename Transport >
std::unique_ptr< ScratchField > amr_wind::turbulence::TurbModel< Transport >::mu ( )
inlineoverridevirtual

Return the dynamic viscosity field.

Implements amr_wind::turbulence::TurbulenceModel.

◆ mueff()

template<typename Transport >
Field & amr_wind::turbulence::TurbModel< Transport >::mueff ( )
inlineoverridevirtual

Return the effective dynamic viscosity field.

Implements amr_wind::turbulence::TurbulenceModel.

◆ register_alphaeff_field()

template<typename Transport >
void amr_wind::turbulence::TurbModel< Transport >::register_alphaeff_field ( Field & alphaeff)
inlineoverridevirtual

Register the thermal diffusivity field.

Implements amr_wind::turbulence::TurbulenceModel.

◆ register_mueff_field()

template<typename Transport >
void amr_wind::turbulence::TurbModel< Transport >::register_mueff_field ( Field & mueff)
inlineoverridevirtual

Register the effective viscosity (for momentum field)

Implements amr_wind::turbulence::TurbulenceModel.

◆ scalar_diffusivity()

template<typename Transport >
std::unique_ptr< ScratchField > amr_wind::turbulence::TurbModel< Transport >::scalar_diffusivity ( const std::string & name)
inlineoverridevirtual

Return the scalar diffusivity field.

Implements amr_wind::turbulence::TurbulenceModel.

Member Data Documentation

◆ m_alphaeff

template<typename Transport >
Field* amr_wind::turbulence::TurbModel< Transport >::m_alphaeff {nullptr}
protected

Reference to the thermal diffusivity field.

◆ m_mueff

template<typename Transport >
Field* amr_wind::turbulence::TurbModel< Transport >::m_mueff {nullptr}
protected

Reference to the effective viscosity field.

◆ m_sim

template<typename Transport >
CFDSim& amr_wind::turbulence::TurbModel< Transport >::m_sim
protected

◆ m_transport

template<typename Transport >
Transport amr_wind::turbulence::TurbModel< Transport >::m_transport
protected

Transport properties instance.


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