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

AMR-Wind API: /home/runner/work/amr-wind/amr-wind/amr-wind/wind_energy/ABLStatsBase.H Source File
AMR-Wind API v0.1.0
CFD solver for wind plant simulations
Loading...
Searching...
No Matches
ABLStatsBase.H
Go to the documentation of this file.
1#ifndef ABLSTATSBASE_H
2#define ABLSTATSBASE_H
3
5#include "amr-wind/CFDSim.H"
7
8namespace amr_wind {
9namespace pde::icns {
10class ABLForcing;
11class ABLMesoForcingMom;
12} // namespace pde::icns
13namespace pde::temperature {
14class ABLMesoForcingTemp;
15}
16
17enum class ABLStatsMode : int {
18 computed = 0,
20};
21
23 : public Factory<ABLStatsBase, CFDSim&, ABLWallFunction&, int>
24{
25public:
26 static std::string base_identifier() { return "ABLStatsBase"; }
27
28 ABLStatsBase() = default;
29
30 ~ABLStatsBase() override = default;
31
33 virtual ABLStatsMode abl_mode() const = 0;
34
36 virtual const VelPlaneAveraging& vel_profile_coarse() const = 0;
37 virtual const VelPlaneAveragingFine& vel_profile() const = 0;
38
40 virtual const FieldPlaneAveraging& theta_profile() const = 0;
41 virtual const FieldPlaneAveragingFine& theta_profile_fine() const = 0;
42
44 virtual void post_init_actions() = 0;
45
47 virtual void pre_advance_work() = 0;
48
50 virtual void post_advance_work() = 0;
51
52 virtual void
54
55 virtual void
57
59 pde::temperature::ABLMesoForcingTemp* forcing) const = 0;
60};
61
62} // namespace amr_wind
63
64#endif /* ABLSTATSBASE_H */
Definition ABLStatsBase.H:24
virtual void register_meso_mom_forcing(pde::icns::ABLMesoForcingMom *forcing) const =0
~ABLStatsBase() override=default
virtual void register_meso_temp_forcing(pde::temperature::ABLMesoForcingTemp *forcing) const =0
static std::string base_identifier()
Definition ABLStatsBase.H:26
virtual ABLStatsMode abl_mode() const =0
Flag indicating ABL simulation mode.
virtual const FieldPlaneAveragingFine & theta_profile_fine() const =0
virtual void register_forcing_term(pde::icns::ABLForcing *forcing) const =0
virtual void pre_advance_work()=0
Perform actions at the beginning of a timestep.
virtual const VelPlaneAveraging & vel_profile_coarse() const =0
Interpolating object for vertical velocity profile.
virtual void post_advance_work()=0
Perform actions at the end of a timestep.
virtual const FieldPlaneAveraging & theta_profile() const =0
Interpolating object for vertical temperature profile.
virtual const VelPlaneAveragingFine & vel_profile() const =0
virtual void post_init_actions()=0
Perform initialization actions after the mesh has been created.
Definition FieldPlaneAveragingFine.H:114
Definition FieldPlaneAveraging.H:140
Definition ABLForcing.H:17
Definition ABLMesoForcingMom.H:26
Definition ABLMesoForcingTemp.H:19
Definition BCInterface.cpp:7
ABLStatsMode
Definition ABLStatsBase.H:17
@ prescribed
! Computed using planar averages
Definition Factory.H:65