/home/runner/work/amr-wind/amr-wind/amr-wind/equation_systems/tke/source_terms/KransAxell.H Source File

AMR-Wind API: /home/runner/work/amr-wind/amr-wind/amr-wind/equation_systems/tke/source_terms/KransAxell.H Source File
AMR-Wind API v0.1.0
CFD solver for wind plant simulations
KransAxell.H
Go to the documentation of this file.
1#ifndef KRANSAXELL_H
2#define KRANSAXELL_H
3
6
7namespace amr_wind::pde::tke {
8
15class KransAxell : public TKESource::Register<KransAxell>
16{
17public:
18 static std::string identifier() { return "KransAxell"; }
19
20 explicit KransAxell(const CFDSim& /*sim*/);
21
22 ~KransAxell() override;
23
24 void operator()(
25 const int lev,
26 const amrex::MFIter& mfi,
27 const amrex::Box& bx,
28 const FieldState fstate,
29 const amrex::Array4<amrex::Real>& src_term) const override;
30
31private:
37 amrex::Real m_Cmu{0.556};
38 amrex::Real m_heat_flux{0.0};
39 amrex::Real m_z0{0.1};
40 amrex::Real m_kappa{0.41};
41 amrex::Real m_meso_start{600};
42 amrex::Vector<amrex::Real> m_gravity{0.0, 0.0, -9.81};
44 const CFDSim& m_sim;
45 const amrex::AmrCore& m_mesh;
47 std::string m_1d_rans;
48 amrex::Vector<amrex::Real> m_wind_heights;
49 amrex::Vector<amrex::Real> m_tke_values;
50 amrex::Gpu::DeviceVector<amrex::Real> m_wind_heights_d;
51 amrex::Gpu::DeviceVector<amrex::Real> m_tke_values_d;
54
56 std::unique_ptr<ScratchField> m_ref_theta;
58 amrex::Real m_sponge_strength{1.0};
59 amrex::Real m_sponge_density{1.0};
60 amrex::Real m_sponge_distance_west{-1000};
61 amrex::Real m_sponge_distance_east{1000};
62 amrex::Real m_sponge_distance_south{-1000};
63 amrex::Real m_sponge_distance_north{1000};
68};
69
70} // namespace amr_wind::pde::tke
71
72#endif /* KRANSAXELL_H */
Definition CFDSim.H:54
Definition Field.H:116
Definition SimTime.H:30
Definition KransAxell.H:16
const Field & m_velocity
Definition KransAxell.H:46
const SimTime & m_time
Definition KransAxell.H:43
int m_sponge_south
Definition KransAxell.H:66
Field & m_turb_lscale
Definition KransAxell.H:32
const amrex::AmrCore & m_mesh
Definition KransAxell.H:45
amrex::Real m_heat_flux
Definition KransAxell.H:38
amrex::Gpu::DeviceVector< amrex::Real > m_wind_heights_d
Definition KransAxell.H:50
amrex::Real m_sponge_distance_west
Definition KransAxell.H:60
amrex::Vector< amrex::Real > m_tke_values
Definition KransAxell.H:49
const CFDSim & m_sim
Definition KransAxell.H:44
bool m_horizontal_sponge
Definition KransAxell.H:57
int m_sponge_west
Definition KransAxell.H:64
const transport::TransportModel & m_transport
Transport model.
Definition KransAxell.H:53
amrex::Real m_meso_start
Definition KransAxell.H:41
Field & m_buoy_prod
Definition KransAxell.H:34
amrex::Vector< amrex::Real > m_wind_heights
Definition KransAxell.H:48
amrex::Vector< amrex::Real > m_gravity
Definition KransAxell.H:42
static std::string identifier()
Definition KransAxell.H:18
int m_sponge_north
Definition KransAxell.H:67
std::string m_1d_rans
Definition KransAxell.H:47
amrex::Real m_sponge_density
Definition KransAxell.H:59
amrex::Real m_sponge_distance_south
Definition KransAxell.H:62
KransAxell(const CFDSim &)
Definition KransAxell.cpp:9
std::unique_ptr< ScratchField > m_ref_theta
Reference temperature.
Definition KransAxell.H:56
amrex::Real m_Cmu
Definition KransAxell.H:37
int m_sponge_east
Definition KransAxell.H:65
void operator()(const int lev, const amrex::MFIter &mfi, const amrex::Box &bx, const FieldState fstate, const amrex::Array4< amrex::Real > &src_term) const override
Definition KransAxell.cpp:73
amrex::Real m_sponge_strength
Definition KransAxell.H:58
Field & m_tke
Definition KransAxell.H:36
amrex::Real m_sponge_distance_east
Definition KransAxell.H:61
amrex::Real m_kappa
Definition KransAxell.H:40
amrex::Gpu::DeviceVector< amrex::Real > m_tke_values_d
Definition KransAxell.H:51
Field & m_dissip
Definition KransAxell.H:35
Field & m_shear_prod
Definition KransAxell.H:33
amrex::Real m_z0
Definition KransAxell.H:39
amrex::Real m_sponge_distance_north
Definition KransAxell.H:63
Definition TransportModel.H:32
FieldState
Definition FieldDescTypes.H:14
Definition SDRSrc.cpp:7