/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#include "AMReX_REAL.H"
7
8using namespace amrex::literals;
9
10namespace amr_wind::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 std::string model_name() const override { return "KLAxell"; }
27
30 const FieldState fstate, const 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
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 amr_wind::turbulence
69
70#endif /* KLAXELL_H */
Definition CFDSim.H:54
Definition Field.H:116
Field & m_shear_prod
Definition KLAxell.H:50
amrex::Vector< amrex::Real > m_gravity
Gravity vector (m/s^2)
Definition KLAxell.H:63
void post_advance_work() override
Do any post advance work.
Definition KLAxell.cpp:359
amrex::Real m_surf_flux
Definition KLAxell.H:64
Field & m_vel
Definition KLAxell.H:48
Field & m_turb_lscale
Definition KLAxell.H:49
amrex::Real m_Cmu_prime
Definition KLAxell.H:57
amrex::Real m_Cb_stable
Definition KLAxell.H:58
void update_alphaeff(Field &alphaeff) override
Update the effective thermal diffusivity field.
Definition KLAxell.cpp:287
amrex::Real m_meso_sponge_start
Definition KLAxell.H:65
Field & m_dissip
Definition KLAxell.H:52
void parse_model_coeffs() override
Parse turbulence model coefficients.
Definition KLAxell.cpp:51
void update_scalar_diff(Field &deff, const std::string &name) override
Update the effective scalar diffusivity field.
Definition KLAxell.cpp:342
void update_turbulent_viscosity(const FieldState fstate, const DiffusionType) override
Update the turbulent viscosity field.
Definition KLAxell.cpp:74
amrex::Real m_prandtl
Definition KLAxell.H:60
amrex::Real m_Cmu
Turbulence constant.
Definition KLAxell.H:56
Field & m_rho
Definition KLAxell.H:53
Field & m_buoy_prod
Definition KLAxell.H:51
TurbulenceModel::CoeffsDictType model_coeffs() const override
Return turbulence model coefficients.
Definition KLAxell.cpp:63
Field & m_temperature
Definition KLAxell.H:61
Field * m_tke
Definition KLAxell.H:54
KLAxell(CFDSim &sim)
Definition KLAxell.cpp:17
static std::string identifier()
Definition KLAxell.H:19
std::string model_name() const override
String representation of this turbulence model for I/O.
Definition KLAxell.H:26
amrex::Real m_Cb_unstable
Definition KLAxell.H:59
TurbModelBase(CFDSim &sim)
Definition TurbModelBase.H:101
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:30