/home/runner/work/amr-wind/amr-wind/amr-wind/equation_systems/icns/source_terms/ABLMeanBoussinesq.H Source File

AMR-Wind API: /home/runner/work/amr-wind/amr-wind/amr-wind/equation_systems/icns/source_terms/ABLMeanBoussinesq.H Source File
AMR-Wind API v0.1.0
CFD solver for wind plant simulations
Loading...
Searching...
No Matches
ABLMeanBoussinesq.H
Go to the documentation of this file.
1#ifndef ABLMEANBOUSSINESQ_H
2#define ABLMEANBOUSSINESQ_H
3
7
8namespace amr_wind::pde::icns {
9
17class ABLMeanBoussinesq : public MomentumSource::Register<ABLMeanBoussinesq>
18{
19public:
20 static std::string identifier() { return "ABLMeanBoussinesq"; }
21
22 explicit ABLMeanBoussinesq(const CFDSim& sim);
23
25
26 void operator()(
27 const int lev,
28 const amrex::MFIter& mfi,
29 const amrex::Box& bx,
30 const FieldState fstate,
31 const amrex::Array4<amrex::Real>& src_term) const override;
32
33 void mean_temperature_init(const FieldPlaneAveraging& /*tavg*/);
34
35 void mean_temperature_update(const FieldPlaneAveraging& /*tavg*/);
36
37private:
38 const amrex::AmrCore& m_mesh;
39
40 amrex::Vector<amrex::Real> m_gravity{0.0, 0.0, -9.81};
41
42 amrex::Gpu::DeviceVector<amrex::Real> m_theta_ht;
43 amrex::Gpu::DeviceVector<amrex::Real> m_theta_vals;
44
46 amrex::Real m_ref_theta{300.0};
47
49 amrex::Real m_beta{0.0};
50
51 int m_axis{2};
52
53 bool m_const_profile{false};
54
56 void read_temperature_profile(const std::string& profile_file_name);
57};
58} // namespace amr_wind::pde::icns
59
60#endif /* ABLMEANBOUSSINESQ_H */
Definition CFDSim.H:47
Definition ABLMeanBoussinesq.H:18
amrex::Vector< amrex::Real > m_gravity
Definition ABLMeanBoussinesq.H:40
bool m_const_profile
Definition ABLMeanBoussinesq.H:53
amrex::Real m_beta
Thermal expansion coefficient.
Definition ABLMeanBoussinesq.H:49
void mean_temperature_init(const FieldPlaneAveraging &)
Definition ABLMeanBoussinesq.cpp:94
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 ABLMeanBoussinesq.cpp:61
void mean_temperature_update(const FieldPlaneAveraging &)
Definition ABLMeanBoussinesq.cpp:113
const amrex::AmrCore & m_mesh
Definition ABLMeanBoussinesq.H:38
void read_temperature_profile(const std::string &profile_file_name)
Read a temperature profile from a text file.
Definition ABLMeanBoussinesq.cpp:123
amrex::Real m_ref_theta
Reference temperature (Kelvin)
Definition ABLMeanBoussinesq.H:46
int m_axis
Definition ABLMeanBoussinesq.H:51
ABLMeanBoussinesq(const CFDSim &sim)
Definition ABLMeanBoussinesq.cpp:20
amrex::Gpu::DeviceVector< amrex::Real > m_theta_ht
Definition ABLMeanBoussinesq.H:42
amrex::Gpu::DeviceVector< amrex::Real > m_theta_vals
Definition ABLMeanBoussinesq.H:43
static std::string identifier()
Definition ABLMeanBoussinesq.H:20
FieldState
Definition FieldDescTypes.H:14
Definition ABLForcing.cpp:11