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

AMR-Wind API: /home/runner/work/amr-wind/amr-wind/amr-wind/wind_energy/actuator/aero/AirfoilTable.H Source File
AMR-Wind API v0.1.0
CFD solver for wind plant simulations
Loading...
Searching...
No Matches
AirfoilTable.H
Go to the documentation of this file.
1#ifndef AIRFOILTABLE_H
2#define AIRFOILTABLE_H
3
5#include <iosfwd>
6#include <memory>
7
8namespace amr_wind::actuator {
9
10class AirfoilLoader;
11
13{
14public:
15 friend class AirfoilLoader;
16
18
19 void
20 operator()(const amrex::Real aoa, amrex::Real& cl, amrex::Real& cd) const;
21
22 void operator()(
23 const amrex::Real aoa,
24 amrex::Real& cl,
25 amrex::Real& cd,
26 amrex::Real& cm) const;
27
28 int num_entries() const { return static_cast<int>(m_aoa.size()); }
29
30 const RealList& aoa() const { return m_aoa; }
31
32 const VecList& polars() const { return m_polar; }
33
34protected:
35 explicit AirfoilTable(const int num_entries);
36
38
41
44};
45
47{
48public:
49 void
50 operator()(const amrex::Real aoa, amrex::Real& cl, amrex::Real& cd) const;
51
52 amrex::Real& cd_factor() { return m_cd_factor; }
53
54private:
55 amrex::Real m_cd_factor{0.0};
56};
57
59{
60public:
61 static std::unique_ptr<AirfoilTable>
62 load_airfoil(const std::string& af_file, const std::string& type);
63
64 static std::unique_ptr<AirfoilTable>
65 load_text_file(const std::string& af_file);
66
67 template <typename IStream>
68 static std::unique_ptr<AirfoilTable> load_text_file(IStream& affile);
69
70 static std::unique_ptr<AirfoilTable>
71 load_openfast_airfoil(const std::string& af_file);
72
73 template <typename IStream>
74 static std::unique_ptr<AirfoilTable> load_openfast_airfoil(IStream& affile);
75};
76
77template <typename T>
82
83} // namespace amr_wind::actuator
84
86
87#endif /* AIRFOILTABLE_H */
Definition AirfoilTable.H:59
static std::unique_ptr< AirfoilTable > load_openfast_airfoil(const std::string &af_file)
Definition AirfoilTable.cpp:63
static std::unique_ptr< AirfoilTable > load_airfoil(const std::string &af_file, const std::string &type)
Definition AirfoilTable.cpp:74
static std::unique_ptr< AirfoilTable > load_text_file(const std::string &af_file)
Definition AirfoilTable.cpp:52
Definition AirfoilTable.H:13
const RealList & aoa() const
Definition AirfoilTable.H:30
AirfoilTable(const int num_entries)
Definition AirfoilTable.cpp:9
const VecList & polars() const
Definition AirfoilTable.H:32
void convert_aoa_to_radians()
Definition AirfoilTable.cpp:44
int num_entries() const
Definition AirfoilTable.H:28
VecList m_polar
Airfoil polars (Cl, Cd, Cm)
Definition AirfoilTable.H:43
RealList m_aoa
Angle of attack.
Definition AirfoilTable.H:40
void operator()(const amrex::Real aoa, amrex::Real &cl, amrex::Real &cd) const
Definition AirfoilTable.cpp:15
Definition AirfoilTable.H:47
amrex::Real & cd_factor()
Definition AirfoilTable.H:52
amrex::Real m_cd_factor
Definition AirfoilTable.H:55
void operator()(const amrex::Real aoa, amrex::Real &cl, amrex::Real &cd) const
Definition AirfoilTable.cpp:37
Definition ActParser.H:6
amrex::Vector< amrex::Real > RealList
Definition actuator_types.H:60
amrex::Vector< amr_wind::vs::Vector > VecList
Definition actuator_types.H:62
Definition AirfoilTable.H:79