/home/runner/work/kynema-sgf/kynema-sgf/src/utilities/tagging/ActuatorRefinement.H Source File

Kynema-SGF API: /home/runner/work/kynema-sgf/kynema-sgf/src/utilities/tagging/ActuatorRefinement.H Source File
Kynema-SGF API v0.1.0
CFD solver for wind plant simulations
Loading...
Searching...
No Matches
ActuatorRefinement.H
Go to the documentation of this file.
1#ifndef ACTUATORREFINEMENT_H
2#define ACTUATORREFINEMENT_H
3
6
7#include <cstdint>
8#include <string>
9
10namespace kynema_sgf {
11
12class CFDSim;
13
14namespace actuator {
15class ActuatorModel;
16}
17
20 : public RefinementCriteria::Register<ActuatorRefinement>
21{
22public:
23 static std::string identifier() { return "ActuatorRefinement"; }
24
25 explicit ActuatorRefinement(CFDSim& sim);
26
27 void initialize(const std::string& key) override;
28
29 void
30 operator()(int level, amrex::TagBoxArray& tags, amrex::Real time, int ngrow)
31 override;
32
33private:
34 enum class AxialPaddingType : std::uint8_t { Epsilon, Diameter, Absolute };
35
36 void resolve_actuators();
37
39 std::string m_key;
40 amrex::Vector<std::string> m_actuator_labels;
41 amrex::Vector<const actuator::ActuatorModel*> m_actuators;
42
43 amrex::Real m_radial_padding_epsilon{3.0};
44 amrex::Real m_radial_padding{0.0};
45 amrex::Real m_forward_axial_padding{3.0};
46 amrex::Real m_backward_axial_padding{3.0};
48
50 int m_max_level{-1};
51};
52
53} // namespace kynema_sgf
54
55#endif
amrex::Real m_forward_axial_padding
Definition ActuatorRefinement.H:45
int m_min_level
Definition ActuatorRefinement.H:49
CFDSim & m_sim
Definition ActuatorRefinement.H:38
amrex::Real m_radial_padding
Definition ActuatorRefinement.H:44
void operator()(int level, amrex::TagBoxArray &tags, amrex::Real time, int ngrow) override
Definition ActuatorRefinement.cpp:174
int m_max_level
Definition ActuatorRefinement.H:50
amrex::Vector< const actuator::ActuatorModel * > m_actuators
Definition ActuatorRefinement.H:41
ActuatorRefinement(CFDSim &sim)
Definition ActuatorRefinement.cpp:68
void initialize(const std::string &key) override
Definition ActuatorRefinement.cpp:72
std::string m_key
Definition ActuatorRefinement.H:39
AxialPaddingType
Definition ActuatorRefinement.H:34
@ Epsilon
Definition ActuatorRefinement.H:34
@ Absolute
Definition ActuatorRefinement.H:34
@ Diameter
Definition ActuatorRefinement.H:34
amrex::Vector< std::string > m_actuator_labels
Definition ActuatorRefinement.H:40
void resolve_actuators()
Definition ActuatorRefinement.cpp:154
AxialPaddingType m_axial_padding_type
Definition ActuatorRefinement.H:47
amrex::Real m_backward_axial_padding
Definition ActuatorRefinement.H:46
static std::string identifier()
Definition ActuatorRefinement.H:23
amrex::Real m_radial_padding_epsilon
Definition ActuatorRefinement.H:43
Definition CFDSim.H:55
Definition ActuatorModel.H:30
Definition MovingPlaneSampler.H:6
This test case is intended as an evaluation of the momentum advection scheme.
Definition BCInterface.cpp:12