/home/runner/work/amr-wind/amr-wind/amr-wind/transport_models/TransportModel.H Source File

AMR-Wind API: /home/runner/work/amr-wind/amr-wind/amr-wind/transport_models/TransportModel.H Source File
AMR-Wind API v0.1.0
CFD solver for wind plant simulations
TransportModel.H
Go to the documentation of this file.
1#ifndef TRANSPORTMODEL_H
2#define TRANSPORTMODEL_H
3
5#include "amr-wind/CFDSim.H"
9
10namespace amr_wind::transport {
11
31class TransportModel : public Factory<TransportModel, const CFDSim&>
32{
33public:
34 static std::string base_identifier() { return "TransportModel"; }
35
36 ~TransportModel() override = default;
37
39 virtual std::unique_ptr<ScratchField> mu() = 0;
40
42 virtual std::unique_ptr<ScratchField> alpha() = 0;
43
45 virtual std::unique_ptr<ScratchField>
46 scalar_diffusivity(const std::string& scalar_name) = 0;
47
49 virtual std::unique_ptr<ScratchField> beta() const = 0;
50
52 virtual void beta_impl(
53 const int lev,
54 const amrex::MFIter& mfi,
55 const amrex::Box& bx,
56 const amrex::Array4<amrex::Real>& beta) const = 0;
57
59 virtual amrex::Real reference_temperature() const = 0;
60
62 virtual void ref_theta_impl(
63 const int lev,
64 const amrex::MFIter& mfi,
65 const amrex::Box& bx,
66 const amrex::Array4<amrex::Real>& ref_theta) const = 0;
67
69 virtual std::unique_ptr<ScratchField> ref_theta() const = 0;
70
71protected:
72 const int m_ngrow{1};
73};
74} // namespace amr_wind::transport
75
76#endif /* TRANSPORTMODEL_H */
Definition TransportModel.H:32
virtual void beta_impl(const int lev, const amrex::MFIter &mfi, const amrex::Box &bx, const amrex::Array4< amrex::Real > &beta) const =0
Thermal expansion coefficient.
virtual std::unique_ptr< ScratchField > ref_theta() const =0
Reference temperature.
virtual amrex::Real reference_temperature() const =0
Reference temperature.
const int m_ngrow
Definition TransportModel.H:72
virtual std::unique_ptr< ScratchField > alpha()=0
Thermal diffusivity.
static std::string base_identifier()
Definition TransportModel.H:34
virtual std::unique_ptr< ScratchField > beta() const =0
Thermal expansion coefficient.
virtual std::unique_ptr< ScratchField > mu()=0
Dynamic laminar viscosity (kg/m/s)
virtual std::unique_ptr< ScratchField > scalar_diffusivity(const std::string &scalar_name)=0
Scalar diffusivity based on Schmidt number.
virtual void ref_theta_impl(const int lev, const amrex::MFIter &mfi, const amrex::Box &bx, const amrex::Array4< amrex::Real > &ref_theta) const =0
Reference temperature.
Definition CFDSim.H:26
Definition Factory.H:65