/home/runner/work/kynema-sgf/kynema-sgf/src/turbulence/RANS/KLAxell.H Source File

Kynema-SGF API: /home/runner/work/kynema-sgf/kynema-sgf/src/turbulence/RANS/KLAxell.H Source File
Kynema-SGF 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#include "AMReX_REAL.H"
7
8using namespace amrex::literals;
9
10namespace kynema_sgf::turbulence {
11
15template <typename Transport>
16class KLAxell : public TurbModelBase<Transport>
17{
18public:
19 static std::string identifier()
20 {
21 return "KLAxell-" + Transport::identifier();
22 }
23
24 explicit KLAxell(CFDSim& sim);
25
26 [[nodiscard]] std::string model_name() const override { return "KLAxell"; }
27
30 FieldState fstate, DiffusionType /*unused*/) override;
31
33 void post_advance_work() override;
34
36 void update_alphaeff(Field& alphaeff) override;
37
39 void update_scalar_diff(Field& deff, const std::string& name) override;
40
42 void parse_model_coeffs() override;
43
45 [[nodiscard]] TurbulenceModel::CoeffsDictType model_coeffs() const override;
46
47private:
54 Field* m_tke{nullptr};
56 amrex::Real m_Cmu{0.556_rt};
57 amrex::Real m_Cmu_prime{0.556_rt};
58 amrex::Real m_Cb_stable{0.25_rt};
59 amrex::Real m_Cb_unstable{0.35_rt};
60 amrex::Real m_prandtl{1.0_rt};
63 amrex::Vector<amrex::Real> m_gravity{0.0_rt, 0.0_rt, -9.81_rt};
64 amrex::Real m_surf_flux{0};
65 amrex::Real m_meso_sponge_start{2000};
66};
67
68} // namespace kynema_sgf::turbulence
69
70#endif /* KLAXELL_H */
Definition CFDSim.H:55
Definition Field.H:112
amrex::Real m_Cmu
Turbulence constant.
Definition KLAxell.H:56
amrex::Vector< amrex::Real > m_gravity
Gravity vector (m/s^2)
Definition KLAxell.H:63
void update_alphaeff(Field &alphaeff) override
Update the effective thermal diffusivity field.
Definition KLAxell.cpp:287
amrex::Real m_prandtl
Definition KLAxell.H:60
KLAxell(CFDSim &sim)
Definition KLAxell.cpp:17
amrex::Real m_surf_flux
Definition KLAxell.H:64
Field & m_turb_lscale
Definition KLAxell.H:49
Field & m_vel
Definition KLAxell.H:48
static std::string identifier()
Definition KLAxell.H:19
void update_turbulent_viscosity(FieldState fstate, DiffusionType) override
Update the turbulent viscosity field.
Definition KLAxell.cpp:74
Field & m_dissip
Definition KLAxell.H:52
Field & m_buoy_prod
Definition KLAxell.H:51
amrex::Real m_Cmu_prime
Definition KLAxell.H:57
Field & m_temperature
Definition KLAxell.H:61
void update_scalar_diff(Field &deff, const std::string &name) override
Update the effective scalar diffusivity field.
Definition KLAxell.cpp:341
amrex::Real m_Cb_unstable
Definition KLAxell.H:59
TurbulenceModel::CoeffsDictType model_coeffs() const override
Return turbulence model coefficients.
Definition KLAxell.cpp:63
Field & m_shear_prod
Definition KLAxell.H:50
Field * m_tke
Definition KLAxell.H:54
amrex::Real m_meso_sponge_start
Definition KLAxell.H:65
Field & m_rho
Definition KLAxell.H:53
amrex::Real m_Cb_stable
Definition KLAxell.H:58
void parse_model_coeffs() override
Parse turbulence model coefficients.
Definition KLAxell.cpp:51
std::string model_name() const override
String representation of this turbulence model for I/O.
Definition KLAxell.H:26
void post_advance_work() override
Do any post advance work.
Definition KLAxell.cpp:358
TurbModelBase(CFDSim &sim)
Definition TurbModelBase.H:95
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:16
DiffusionType
Definition incflo_enums.H:6
Definition CFDSim.H:31