AerodynamicBody Class Reference
|
Kynema API
A flexible multibody structural dynamics code for wind turbines
|
#include <aerodynamics.hpp>
Public Member Functions | |
| AerodynamicBody (const AerodynamicBodyInput &input, std::span< const Node > nodes) | |
| template<typename DeviceType > | |
| void | CalculateMotion (const HostState< DeviceType > &state) |
| void | SetInflowFromVector (std::span< const std::array< double, 3 > > inflow_velocity) |
| template<typename T > | |
| void | SetInflowFromFunction (const T &inflow_velocity_function) |
| void | SetAerodynamicLoads (std::span< const std::array< double, 6 > > aerodynamic_loads) |
| void | CalculateAerodynamicLoads (double fluid_density) |
| void | CalculateNodalLoads () |
| template<typename DeviceType > | |
| void | AddNodalLoadsToState (HostState< DeviceType > &state) |
Public Attributes | |
| size_t | id |
| std::vector< size_t > | node_ids |
| IDs of the beam nodes in this aerodynamic body. | |
| std::vector< std::array< double, 7 > > | node_u |
| Displacements of the beam nodes (copied from state based on node_ids) | |
| std::vector< std::array< double, 6 > > | node_v |
| Velocities of the beam nodes (copied from state based on node_ids) | |
| std::vector< std::array< double, 6 > > | node_f |
| Aerodynamic forces at the beam nodes with moment arm applied from aerodynamic center to reference axis (output) | |
| std::vector< std::array< double, 7 > > | xr_motion_map |
| Initial position and orientation of beam reference axis at aerodynamic sections. | |
| std::vector< std::array< double, 7 > > | u_motion_map |
| Displacements of beam reference axis at aerodynamic sections. | |
| std::vector< std::array< double, 6 > > | v_motion_map |
| Velocities of beam reference axis at aerodynamic sections. | |
| std::vector< std::array< double, 4 > > | qqr_motion_map |
| Total rotation quaternion of beam reference axis at aerodynamic sections (reference + displacement) | |
| std::vector< std::array< double, 3 > > | con_motion |
| Vectors from reference axis to aerodynamic center at aerodynamic sections in reference configuration (includes twist) | |
| std::vector< std::array< double, 3 > > | x_motion |
| Positions of aerodynamic centers at aerodynamic sections in global coordinates. | |
| std::vector< std::array< double, 3 > > | v_motion |
| Velocities of aerodynamic centers at aerodynamic sections in global coordinates. | |
| std::vector< std::array< double, 3 > > | con_force |
| Vectors from aerodynamic center to reference axis at aerodynamic sections in reference configuration (negative of con_motion) | |
| std::vector< std::array< double, 3 > > | v_inflow |
| Inflow velocity at aerodynamic sections. | |
| std::vector< std::array< double, 3 > > | v_rel |
| Relative velocity at aerodynamic sections (v_inflow - v_motion) (output) | |
| std::vector< double > | alpha |
| Angle of attack at aerodynamic sections (output) | |
| std::vector< double > | cn |
| Normal force coefficient at aerodynamic sections (perpendicular to airfoil chord) (output) | |
| std::vector< double > | ct |
| Tangent force coefficient at aerodynamic sections (parallel to airfoil chord) (output) | |
| std::vector< double > | cm |
| Moment coefficient at aerodynamic sections (output) | |
| std::vector< std::array< double, 6 > > | loads |
| Aerodynamic loads (forces and moments) at aerodynamic centers (output) | |
| std::vector< std::array< double, 3 > > | ref_axis_moments |
| Total moment about beam reference axis at aerodynamic sections (accounting for AC moment arm and aerodynamic moment) (output) | |
| std::vector< double > | twist |
| Aerodynamic section twist. | |
| std::vector< double > | chord |
| Aerodynamic section chord length. | |
| std::vector< double > | delta_s |
| Aerodynamic section width for force/moment calculation. | |
| std::vector< size_t > | polar_size |
| Number of points in each aerodynamic polar. | |
| std::vector< std::vector< double > > | aoa |
| Angle of attack polar at each aerodynamic section. | |
| std::vector< std::vector< double > > | cl_polar |
| Lift coefficient polar at each aerodynamic section. | |
| std::vector< std::vector< double > > | cd_polar |
| Drag coefficient polar at each aerodynamic section. | |
| std::vector< std::vector< double > > | cm_polar |
| Moment coefficient polar at each aerodynamic section. | |
| std::vector< double > | jacobian_xi |
| Locations of aerodynamic section width boundaries along the beam (used for section width calculation) | |
| std::vector< double > | motion_interp |
| Flattened matrix to interpolate motion from beam nodes to aerodynamic sections. | |
| std::vector< double > | shape_deriv_jac |
| Flattened matrix to interpolate motion derivatives from beam nodes to aerodynamic sections (used for section width calculation) | |
Constructor & Destructor Documentation
◆ AerodynamicBody()
| kynema::interfaces::components::AerodynamicBody::AerodynamicBody | ( | const AerodynamicBodyInput & | input, |
| std::span< const Node > | nodes | ||
| ) |
Member Function Documentation
◆ AddNodalLoadsToState()
|
inline |
◆ CalculateAerodynamicLoads()
| void kynema::interfaces::components::AerodynamicBody::CalculateAerodynamicLoads | ( | double | fluid_density | ) |
◆ CalculateMotion()
|
inline |
◆ CalculateNodalLoads()
| void kynema::interfaces::components::AerodynamicBody::CalculateNodalLoads | ( | ) |
◆ SetAerodynamicLoads()
| void kynema::interfaces::components::AerodynamicBody::SetAerodynamicLoads | ( | std::span< const std::array< double, 6 > > | aerodynamic_loads | ) |
◆ SetInflowFromFunction()
|
inline |
◆ SetInflowFromVector()
| void kynema::interfaces::components::AerodynamicBody::SetInflowFromVector | ( | std::span< const std::array< double, 3 > > | inflow_velocity | ) |
Member Data Documentation
◆ alpha
| std::vector<double> kynema::interfaces::components::AerodynamicBody::alpha |
Angle of attack at aerodynamic sections (output)
◆ aoa
| std::vector<std::vector<double> > kynema::interfaces::components::AerodynamicBody::aoa |
Angle of attack polar at each aerodynamic section.
◆ cd_polar
| std::vector<std::vector<double> > kynema::interfaces::components::AerodynamicBody::cd_polar |
Drag coefficient polar at each aerodynamic section.
◆ chord
| std::vector<double> kynema::interfaces::components::AerodynamicBody::chord |
Aerodynamic section chord length.
◆ cl_polar
| std::vector<std::vector<double> > kynema::interfaces::components::AerodynamicBody::cl_polar |
Lift coefficient polar at each aerodynamic section.
◆ cm
| std::vector<double> kynema::interfaces::components::AerodynamicBody::cm |
Moment coefficient at aerodynamic sections (output)
◆ cm_polar
| std::vector<std::vector<double> > kynema::interfaces::components::AerodynamicBody::cm_polar |
Moment coefficient polar at each aerodynamic section.
◆ cn
| std::vector<double> kynema::interfaces::components::AerodynamicBody::cn |
Normal force coefficient at aerodynamic sections (perpendicular to airfoil chord) (output)
◆ con_force
| std::vector<std::array<double, 3> > kynema::interfaces::components::AerodynamicBody::con_force |
Vectors from aerodynamic center to reference axis at aerodynamic sections in reference configuration (negative of con_motion)
◆ con_motion
| std::vector<std::array<double, 3> > kynema::interfaces::components::AerodynamicBody::con_motion |
Vectors from reference axis to aerodynamic center at aerodynamic sections in reference configuration (includes twist)
◆ ct
| std::vector<double> kynema::interfaces::components::AerodynamicBody::ct |
Tangent force coefficient at aerodynamic sections (parallel to airfoil chord) (output)
◆ delta_s
| std::vector<double> kynema::interfaces::components::AerodynamicBody::delta_s |
Aerodynamic section width for force/moment calculation.
◆ id
| size_t kynema::interfaces::components::AerodynamicBody::id |
◆ jacobian_xi
| std::vector<double> kynema::interfaces::components::AerodynamicBody::jacobian_xi |
Locations of aerodynamic section width boundaries along the beam (used for section width calculation)
◆ loads
| std::vector<std::array<double, 6> > kynema::interfaces::components::AerodynamicBody::loads |
Aerodynamic loads (forces and moments) at aerodynamic centers (output)
◆ motion_interp
| std::vector<double> kynema::interfaces::components::AerodynamicBody::motion_interp |
Flattened matrix to interpolate motion from beam nodes to aerodynamic sections.
◆ node_f
| std::vector<std::array<double, 6> > kynema::interfaces::components::AerodynamicBody::node_f |
Aerodynamic forces at the beam nodes with moment arm applied from aerodynamic center to reference axis (output)
◆ node_ids
| std::vector<size_t> kynema::interfaces::components::AerodynamicBody::node_ids |
IDs of the beam nodes in this aerodynamic body.
◆ node_u
| std::vector<std::array<double, 7> > kynema::interfaces::components::AerodynamicBody::node_u |
Displacements of the beam nodes (copied from state based on node_ids)
◆ node_v
| std::vector<std::array<double, 6> > kynema::interfaces::components::AerodynamicBody::node_v |
Velocities of the beam nodes (copied from state based on node_ids)
◆ polar_size
| std::vector<size_t> kynema::interfaces::components::AerodynamicBody::polar_size |
Number of points in each aerodynamic polar.
◆ qqr_motion_map
| std::vector<std::array<double, 4> > kynema::interfaces::components::AerodynamicBody::qqr_motion_map |
Total rotation quaternion of beam reference axis at aerodynamic sections (reference + displacement)
◆ ref_axis_moments
| std::vector<std::array<double, 3> > kynema::interfaces::components::AerodynamicBody::ref_axis_moments |
Total moment about beam reference axis at aerodynamic sections (accounting for AC moment arm and aerodynamic moment) (output)
◆ shape_deriv_jac
| std::vector<double> kynema::interfaces::components::AerodynamicBody::shape_deriv_jac |
Flattened matrix to interpolate motion derivatives from beam nodes to aerodynamic sections (used for section width calculation)
◆ twist
| std::vector<double> kynema::interfaces::components::AerodynamicBody::twist |
Aerodynamic section twist.
◆ u_motion_map
| std::vector<std::array<double, 7> > kynema::interfaces::components::AerodynamicBody::u_motion_map |
Displacements of beam reference axis at aerodynamic sections.
◆ v_inflow
| std::vector<std::array<double, 3> > kynema::interfaces::components::AerodynamicBody::v_inflow |
Inflow velocity at aerodynamic sections.
◆ v_motion
| std::vector<std::array<double, 3> > kynema::interfaces::components::AerodynamicBody::v_motion |
Velocities of aerodynamic centers at aerodynamic sections in global coordinates.
◆ v_motion_map
| std::vector<std::array<double, 6> > kynema::interfaces::components::AerodynamicBody::v_motion_map |
Velocities of beam reference axis at aerodynamic sections.
◆ v_rel
| std::vector<std::array<double, 3> > kynema::interfaces::components::AerodynamicBody::v_rel |
Relative velocity at aerodynamic sections (v_inflow - v_motion) (output)
◆ x_motion
| std::vector<std::array<double, 3> > kynema::interfaces::components::AerodynamicBody::x_motion |
Positions of aerodynamic centers at aerodynamic sections in global coordinates.
◆ xr_motion_map
| std::vector<std::array<double, 7> > kynema::interfaces::components::AerodynamicBody::xr_motion_map |
Initial position and orientation of beam reference axis at aerodynamic sections.
The documentation for this class was generated from the following files:
- /home/runner/work/kynema/kynema/kynema/src/interfaces/components/aerodynamics.hpp
- /home/runner/work/kynema/kynema/kynema/src/interfaces/components/aerodynamics.cpp
Generated by