/home/runner/work/amr-wind/amr-wind/amr-wind/turbulence/RANS/KLAxell.H Source File

AMR-Wind API: /home/runner/work/amr-wind/amr-wind/amr-wind/turbulence/RANS/KLAxell.H Source File
AMR-Wind API v0.1.0
CFD solver for wind plant simulations
Loading...
Searching...
No Matches
KLAxell.H
Go to the documentation of this file.
1#ifndef KLAXELL_H
2#define KLAXELL_H
3
4#include <string>
6
7namespace amr_wind::turbulence {
8
12template <typename Transport>
13class KLAxell : public TurbModelBase<Transport>
14{
15public:
16 static std::string identifier()
17 {
18 return "KLAxell-" + Transport::identifier();
19 }
20
21 explicit KLAxell(CFDSim& sim);
22
23 std::string model_name() const override { return "KLAxell"; }
24
27 const FieldState fstate, const DiffusionType /*unused*/) override;
28
30 void post_advance_work() override;
31
33 void update_alphaeff(Field& alphaeff) override;
34
36 void update_scalar_diff(Field& deff, const std::string& name) override;
37
39 void parse_model_coeffs() override;
40
43
44private:
51 Field* m_tke{nullptr};
53 amrex::Real m_Cmu{0.556};
54 amrex::Real m_Cmu_prime{0.556};
55 amrex::Real m_Cb_stable{0.25};
56 amrex::Real m_Cb_unstable{0.35};
57 amrex::Real m_prandtl{1.0};
60 amrex::Vector<amrex::Real> m_gravity{0.0, 0.0, -9.81};
62 amrex::Real m_ref_theta{300.0};
63 amrex::Real m_surf_flux{0};
64 amrex::Real m_lengthscale_switch{800};
65};
66
67} // namespace amr_wind::turbulence
68
69#endif /* KLAXELL_H */
Definition CFDSim.H:47
Definition Field.H:116
Definition KLAxell.H:14
Field & m_shear_prod
Definition KLAxell.H:47
amrex::Vector< amrex::Real > m_gravity
Gravity vector (m/s^2)
Definition KLAxell.H:60
void post_advance_work() override
Do any post advance work.
Definition KLAxell.cpp:343
amrex::Real m_surf_flux
Definition KLAxell.H:63
Field & m_vel
Definition KLAxell.H:45
Field & m_turb_lscale
Definition KLAxell.H:46
amrex::Real m_Cmu_prime
Definition KLAxell.H:54
amrex::Real m_Cb_stable
Definition KLAxell.H:55
void update_alphaeff(Field &alphaeff) override
Update the effective thermal diffusivity field.
Definition KLAxell.cpp:272
amrex::Real m_lengthscale_switch
Definition KLAxell.H:64
Field & m_dissip
Definition KLAxell.H:49
void parse_model_coeffs() override
Parse turbulence model coefficients.
Definition KLAxell.cpp:50
void update_scalar_diff(Field &deff, const std::string &name) override
Update the effective scalar diffusivity field.
Definition KLAxell.cpp:325
void update_turbulent_viscosity(const FieldState fstate, const DiffusionType) override
Update the turbulent viscosity field.
Definition KLAxell.cpp:73
amrex::Real m_prandtl
Definition KLAxell.H:57
amrex::Real m_Cmu
Turbulence constant.
Definition KLAxell.H:53
Field & m_rho
Definition KLAxell.H:50
Field & m_buoy_prod
Definition KLAxell.H:48
TurbulenceModel::CoeffsDictType model_coeffs() const override
Return turbulence model coefficients.
Definition KLAxell.cpp:62
Field & m_temperature
Definition KLAxell.H:58
Field * m_tke
Definition KLAxell.H:51
KLAxell(CFDSim &sim)
Definition KLAxell.cpp:15
static std::string identifier()
Definition KLAxell.H:16
std::string model_name() const override
String representation of this turbulence model for I/O.
Definition KLAxell.H:23
amrex::Real m_Cb_unstable
Definition KLAxell.H:56
amrex::Real m_ref_theta
Reference temperature (Kelvin)
Definition KLAxell.H:62
Definition TurbModelBase.H:96
Field & alphaeff() override
Return the effective thermal diffusivity field.
Definition TurbModel.H:53
std::unordered_map< std::string, amrex::Real > CoeffsDictType
Default identifier used by factor methods.
Definition TurbulenceModel.H:35
FieldState
Definition FieldDescTypes.H:14
DiffusionType
Definition incflo_enums.H:4
Definition CFDSim.H:23