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

AMR-Wind API: /home/runner/work/amr-wind/amr-wind/amr-wind/wind_energy/actuator/FLLC.H Source File
AMR-Wind API v0.1.0
CFD solver for wind plant simulations
Loading...
Searching...
No Matches
FLLC.H
Go to the documentation of this file.
1#ifndef FLLC_H
2#define FLLC_H
3
4#include <cstdint>
7#include "AMReX_REAL.H"
8
9using namespace amrex::literals;
10
11namespace amr_wind::actuator {
12
13enum class FLLCType : std::uint8_t { ConstantChord, VariableChord };
14
15static std::map<std::string, FLLCType> FLLCTypeMap{
16 {"constant_chord", FLLCType::ConstantChord},
17 {"variable_chord", FLLCType::VariableChord}};
18
20{
21 // constants
23 amrex::Real epsilon;
24 amrex::Real relaxation_factor{0.1_rt};
25 amrex::Real fllc_start_time{0.0_rt};
29
30 // computed values
37 bool initialized{false};
41
42 // non-uniform variables
43 bool nonuniform{true}; // non-uniform flag
44 amrex::Real eps_dr{1.}; // the ratio of epsilon to actuator width
45 RealList nonuniform_r; // non-uniform radius
46 RealList nonuniform_dr; // non-uniform spacing
47 VecList vel_rel; // uniform relative velocity
48 VecList nonuniform_vel_rel; // non-uniform relative velocity
49 RealList nonuniform_optimal_epsilon; // non-uniform radius
50 VecList nonuniform_lift; // non-uniform lift
51};
52
60void fllc_parse(const utils::ActParser& pp, FLLCData& data);
61
70void fllc_init(
71 FLLCData& data, const ComponentView& view, amrex::Real eps_chord);
72
73} // namespace amr_wind::actuator
74
75#endif /* FLLC */
::amr_wind::utils::MultiParser ActParser
Definition ActParser.H:8
Definition ActParser.H:6
void fllc_parse(const utils::ActParser &pp, FLLCData &data)
Function to capture common parsing requirements for the filtered lifting line correction.
Definition FLLC.cpp:113
amrex::Vector< amrex::Real > RealList
Definition actuator_types.H:63
FLLCType
Definition FLLC.H:13
@ ConstantChord
Definition FLLC.H:13
@ VariableChord
Definition FLLC.H:13
void fllc_init(FLLCData &data, const ComponentView &view, const amrex::Real eps_chord)
Initialize FLLC data structure. This should be called at the end of the first ComputeForceOp to ensur...
Definition FLLC.cpp:9
amrex::Vector< amr_wind::vs::Vector > VecList
Definition actuator_types.H:65
static std::map< std::string, FLLCType > FLLCTypeMap
Definition FLLC.H:15
Definition actuator_types.H:129
Definition FLLC.H:20
RealList span_distance_force
Definition FLLC.H:40
amrex::Real epsilon
Definition FLLC.H:23
RealList nonuniform_r
Definition FLLC.H:45
VecList vel_rel
Definition FLLC.H:47
amrex::Real fllc_start_time
Definition FLLC.H:25
bool initialized
Definition FLLC.H:37
amrex::Real relaxation_factor
Definition FLLC.H:24
amrex::Real eps_dr
Definition FLLC.H:44
RealList dr
Definition FLLC.H:27
RealList nonuniform_optimal_epsilon
Definition FLLC.H:49
RealList optimal_epsilon
Definition FLLC.H:28
VecList optimal_velocity
Definition FLLC.H:33
bool different_sizes
Definition FLLC.H:38
RealList nonuniform_dr
Definition FLLC.H:46
VecList correction_velocity
Definition FLLC.H:34
bool nonuniform
Definition FLLC.H:43
VecList nonuniform_vel_rel
Definition FLLC.H:48
VecList force_point_velocity
Definition FLLC.H:31
FLLCType correction_type
Definition FLLC.H:22
VecList les_velocity
Definition FLLC.H:32
VecList nonuniform_lift
Definition FLLC.H:50
VecList grad_lift
Definition FLLC.H:36
RealList span_distance_vel
Definition FLLC.H:39
RealList r
Definition FLLC.H:26
VecList lift
Definition FLLC.H:35