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

AMR-Wind API: /home/runner/work/amr-wind/amr-wind/amr-wind/turbulence/LaminarModel.H Source File
AMR-Wind API v0.1.0
CFD solver for wind plant simulations
Loading...
Searching...
No Matches
LaminarModel.H
Go to the documentation of this file.
1#ifndef LAMINARMODEL_H
2#define LAMINARMODEL_H
3
5
6namespace amr_wind::turbulence {
7
13template <typename Transport>
14class Laminar : public TurbModel<Transport>
15{
16public:
17 static std::string identifier()
18 {
19 return "Laminar-" + Transport::identifier();
20 }
21
22 explicit Laminar(CFDSim& sim) : TurbModel<Transport>(sim) {}
23
24 ~Laminar() override = default;
25
27 [[nodiscard]] std::string model_name() const override { return "laminar"; }
28
31 FieldState fstate, DiffusionType diff_type /*unused*/) override;
32
34 void post_advance_work() override {}
35
37 void parse_model_coeffs() override {}
38
41 Field& mu_turb() override { return this->mueff(); }
42
44 Field& alpha_turb() override { return this->alphaeff(); }
45
47 [[nodiscard]] bool is_turbulent() const override { return false; }
48
50 void update_mueff(Field& mueff) override;
51
53 void update_alphaeff(Field& alphaeff) override;
54
56 void update_scalar_diff(Field& deff, const std::string& name) override;
57
59 [[nodiscard]] TurbulenceModel::CoeffsDictType model_coeffs() const override;
60};
61
62} // namespace amr_wind::turbulence
63
64#endif /* LAMINARMODEL_H */
Definition CFDSim.H:54
Definition Field.H:112
std::string model_name() const override
String representation of this model for I/O.
Definition LaminarModel.H:27
~Laminar() override=default
Laminar(CFDSim &sim)
Definition LaminarModel.H:22
void update_scalar_diff(Field &deff, const std::string &name) override
Interface to update scalar diffusivity based on Schmidt number.
Definition LaminarModel.cpp:96
Field & mu_turb() override
Return the turbulent viscosity field (just the same as the effective field)
Definition LaminarModel.H:41
Field & alpha_turb() override
Return the thermal diffusivity field (just the same as effective field)
Definition LaminarModel.H:44
void parse_model_coeffs() override
No model specific coefficient for this model.
Definition LaminarModel.H:37
void update_turbulent_viscosity(FieldState fstate, DiffusionType diff_type) override
Update the effective/turbulent viscosity field.
Definition LaminarModel.cpp:77
void post_advance_work() override
No post advance work for this model.
Definition LaminarModel.H:34
static std::string identifier()
Definition LaminarModel.H:17
TurbulenceModel::CoeffsDictType model_coeffs() const override
Return model coefficients dictionary.
Definition LaminarModel.cpp:103
void update_mueff(Field &mueff) override
Interface to update effective viscosity (mu_eff = mu + mu_t)
Definition LaminarModel.cpp:84
bool is_turbulent() const override
Indicate that this model is not a turbulent model type.
Definition LaminarModel.H:47
void update_alphaeff(Field &alphaeff) override
Interface to update effective thermal diffusivity.
Definition LaminarModel.cpp:90
Field & mueff() override
Return the effective dynamic viscosity field.
Definition TurbModel.H:47
TurbModel(CFDSim &sim)
Definition TurbModel.H:22
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:30