/home/runner/work/amr-wind/amr-wind/amr-wind/wind_energy/MOData.H Source File

AMR-Wind API: /home/runner/work/amr-wind/amr-wind/amr-wind/wind_energy/MOData.H Source File
AMR-Wind API v0.1.0
CFD solver for wind plant simulations
Loading...
Searching...
No Matches
MOData.H
Go to the documentation of this file.
1#ifndef MODATA_H
2#define MODATA_H
3
4#include <cstdint>
6#include "AMReX_REAL.H"
7
8using namespace amrex::literals;
9
10namespace amr_wind {
11
24struct MOData
25{
26 enum class ThetaCalcType : std::uint8_t {
29 };
30
31 amrex::Real zref{0.0_rt};
32 amrex::Real z0{0.1_rt};
33 amrex::Real z0t{z0};
34 amrex::Real utau;
35 amrex::Real kappa{0.41_rt};
36 amrex::Real gravity{9.81_rt};
37 amrex::Real obukhov_len{1.0e16_rt};
38
39 amrex::RealArray vel_mean;
40 amrex::Real vmag_mean;
41 amrex::Real Su_mean;
42 amrex::Real Sv_mean;
43 amrex::Real theta_mean;
44
45 amrex::Real surf_temp_flux{0.0_rt};
46 amrex::Real surf_temp;
47
48 amrex::Real gamma_m{5.0_rt};
49 amrex::Real gamma_h{5.0_rt};
50 amrex::Real beta_m{16.0_rt};
51 amrex::Real beta_h{16.0_rt};
52
54
55 [[nodiscard]] amrex::Real phi_m() const
56 {
57 return std::log(zref / z0) - calc_psi_m(zref / obukhov_len);
58 }
59
60 [[nodiscard]] amrex::Real phi_m(amrex::Real z) const
61 {
62 return std::log(z / z0) - calc_psi_m(z / obukhov_len);
63 }
64
65 [[nodiscard]] amrex::Real phi_h() const
66 {
67 return std::log(zref / z0t) - calc_psi_h(zref / obukhov_len);
68 }
69
70 [[nodiscard]] amrex::Real phi_h(amrex::Real z) const
71 {
72 return std::log(z / z0t) - calc_psi_h(z / obukhov_len);
73 }
74
75 [[nodiscard]] amrex::Real calc_psi_m(amrex::Real zeta) const;
76 static amrex::Real
77 calc_psi_m(amrex::Real zeta, amrex::Real beta_m, amrex::Real gamma_m);
78 [[nodiscard]] amrex::Real calc_psi_h(amrex::Real zeta) const;
79 static amrex::Real
80 calc_psi_h(amrex::Real zeta, amrex::Real beta_h, amrex::Real gamma_h);
81 void update_fluxes(int max_iters = 25);
82};
83
84} // namespace amr_wind
85
86#endif /* MODATA_H */
This test case is intended as an evaluation of the momentum advection scheme.
Definition BCInterface.cpp:10
Definition MOData.H:25
ThetaCalcType
Definition MOData.H:26
@ SURFACE_TEMPERATURE
Surface temperature specified.
Definition MOData.H:28
@ HEAT_FLUX
Heat-flux specified.
Definition MOData.H:27
amrex::RealArray vel_mean
Mean velocity (at zref)
Definition MOData.H:39
amrex::Real surf_temp
Instantaneous surface temperature.
Definition MOData.H:46
amrex::Real surf_temp_flux
Heat flux.
Definition MOData.H:45
amrex::Real phi_h(amrex::Real z) const
Definition MOData.H:70
amrex::Real phi_m(amrex::Real z) const
Definition MOData.H:60
amrex::Real phi_h() const
Definition MOData.H:65
amrex::Real gravity
Acceleration due to gravity (m/s^2)
Definition MOData.H:36
amrex::Real obukhov_len
Non-dimensional Obukhov length.
Definition MOData.H:37
amrex::Real Su_mean
Mean wind speed times x-velocity (at zref)
Definition MOData.H:41
amrex::Real calc_psi_m(amrex::Real zeta) const
Definition MOData.cpp:32
amrex::Real Sv_mean
Mean wind speed times y-velocity (at zref)
Definition MOData.H:42
amrex::Real z0t
Thermal roughness height (m)
Definition MOData.H:33
amrex::Real calc_psi_h(amrex::Real zeta) const
Definition MOData.cpp:47
void update_fluxes(int max_iters=25)
Definition MOData.cpp:52
amrex::Real beta_m
Definition MOData.H:50
amrex::Real vmag_mean
Mean wind speed (at zref)
Definition MOData.H:40
amrex::Real zref
Reference height (m)
Definition MOData.H:31
amrex::Real kappa
von Karman constant
Definition MOData.H:35
amrex::Real utau
Friction velocity (m/s)
Definition MOData.H:34
amrex::Real phi_m() const
Definition MOData.H:55
ThetaCalcType alg_type
Definition MOData.H:53
amrex::Real gamma_m
Definition MOData.H:48
amrex::Real theta_mean
Mean potential temperature.
Definition MOData.H:43
amrex::Real z0
Aerodynamic roughness height (m)
Definition MOData.H:32
amrex::Real gamma_h
Definition MOData.H:49
amrex::Real beta_h
Definition MOData.H:51