/home/runner/work/kynema/kynema/kynema/src/interfaces/components/aerodynamics_builder.hpp Source File

Kynema API: /home/runner/work/kynema/kynema/kynema/src/interfaces/components/aerodynamics_builder.hpp Source File
Kynema API
A flexible multibody structural dynamics code for wind turbines
Loading...
Searching...
No Matches
aerodynamics_builder.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <ranges>
4#include <span>
5
7
9
11public:
13
14 AerodynamicsInput& Input() { return input; }
15
17 input.is_enabled = true;
18 return *this;
19 }
20
21 AerodynamicsBuilder& SetNumberOfAirfoils(size_t number_of_blades) {
22 input.aero_inputs.resize(number_of_blades);
23 return *this;
24 }
25
26 AerodynamicsBuilder& SetAirfoilToBladeMap(std::span<const size_t> map) {
27 input.airfoil_map.resize(map.size());
28 std::ranges::copy(map, std::begin(input.airfoil_map));
29 return *this;
30 }
31
33 size_t airfoil_number, std::span<const AerodynamicSection> sections
34 ) {
35 input.aero_inputs[airfoil_number].resize(sections.size());
36 std::ranges::copy(sections, std::begin(input.aero_inputs[airfoil_number]));
37 return *this;
38 }
39
40private:
42};
43
44} // namespace kynema::interfaces::components
Definition aerodynamics_builder.hpp:10
AerodynamicsBuilder & SetAirfoilToBladeMap(std::span< const size_t > map)
Definition aerodynamics_builder.hpp:26
AerodynamicsBuilder & SetNumberOfAirfoils(size_t number_of_blades)
Definition aerodynamics_builder.hpp:21
AerodynamicsBuilder & EnableAero()
Definition aerodynamics_builder.hpp:16
AerodynamicsBuilder & SetAirfoilSections(size_t airfoil_number, std::span< const AerodynamicSection > sections)
Definition aerodynamics_builder.hpp:32
AerodynamicsInput & Input()
Definition aerodynamics_builder.hpp:14
Definition aerodynamics_input.hpp:27
std::vector< std::vector< AerodynamicSection > > aero_inputs
Definition aerodynamics_input.hpp:30
std::vector< size_t > airfoil_map
Definition aerodynamics_input.hpp:31
bool is_enabled
Definition aerodynamics_input.hpp:29
Definition aerodynamics.cpp:3