AerodynamicBody Class Reference

Kynema API: kynema::interfaces::components::AerodynamicBody Class Reference
Kynema API
A flexible multibody structural dynamics code for wind turbines
Loading...
Searching...
No Matches
kynema::interfaces::components::AerodynamicBody Class Reference

#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
 
std::vector< std::array< double, 7 > > node_u
 
std::vector< std::array< double, 6 > > node_v
 
std::vector< std::array< double, 6 > > node_f
 
std::vector< std::array< double, 7 > > xr_motion_map
 
std::vector< std::array< double, 7 > > u_motion_map
 
std::vector< std::array< double, 6 > > v_motion_map
 
std::vector< std::array< double, 4 > > qqr_motion_map
 
std::vector< std::array< double, 3 > > con_motion
 
std::vector< std::array< double, 3 > > x_motion
 
std::vector< std::array< double, 3 > > v_motion
 
std::vector< std::array< double, 3 > > con_force
 
std::vector< std::array< double, 6 > > loads
 
std::vector< std::array< double, 3 > > ref_axis_moments
 
std::vector< double > jacobian_xi
 
std::vector< std::array< double, 3 > > v_inflow
 
std::vector< std::array< double, 3 > > v_rel
 
std::vector< double > twist
 
std::vector< double > chord
 
std::vector< double > delta_s
 
std::vector< size_t > polar_size
 
std::vector< std::vector< double > > aoa
 
std::vector< std::vector< double > > cl
 
std::vector< std::vector< double > > cd
 
std::vector< std::vector< double > > cm
 
std::vector< double > motion_interp
 
std::vector< double > shape_deriv_jac
 

Constructor & Destructor Documentation

◆ AerodynamicBody()

kynema::interfaces::components::AerodynamicBody::AerodynamicBody ( const AerodynamicBodyInput input,
std::span< const Node nodes 
)

Member Function Documentation

◆ AddNodalLoadsToState()

template<typename DeviceType >
void kynema::interfaces::components::AerodynamicBody::AddNodalLoadsToState ( HostState< DeviceType > &  state)
inline

◆ CalculateAerodynamicLoads()

void kynema::interfaces::components::AerodynamicBody::CalculateAerodynamicLoads ( double  fluid_density)

◆ CalculateMotion()

template<typename DeviceType >
void kynema::interfaces::components::AerodynamicBody::CalculateMotion ( const HostState< DeviceType > &  state)
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()

template<typename T >
void kynema::interfaces::components::AerodynamicBody::SetInflowFromFunction ( const T &  inflow_velocity_function)
inline

◆ SetInflowFromVector()

void kynema::interfaces::components::AerodynamicBody::SetInflowFromVector ( std::span< const std::array< double, 3 > >  inflow_velocity)

Member Data Documentation

◆ aoa

std::vector<std::vector<double> > kynema::interfaces::components::AerodynamicBody::aoa

◆ cd

std::vector<std::vector<double> > kynema::interfaces::components::AerodynamicBody::cd

◆ chord

std::vector<double> kynema::interfaces::components::AerodynamicBody::chord

◆ cl

std::vector<std::vector<double> > kynema::interfaces::components::AerodynamicBody::cl

◆ cm

std::vector<std::vector<double> > kynema::interfaces::components::AerodynamicBody::cm

◆ con_force

std::vector<std::array<double, 3> > kynema::interfaces::components::AerodynamicBody::con_force

◆ con_motion

std::vector<std::array<double, 3> > kynema::interfaces::components::AerodynamicBody::con_motion

◆ delta_s

std::vector<double> kynema::interfaces::components::AerodynamicBody::delta_s

◆ id

size_t kynema::interfaces::components::AerodynamicBody::id

◆ jacobian_xi

std::vector<double> kynema::interfaces::components::AerodynamicBody::jacobian_xi

◆ loads

std::vector<std::array<double, 6> > kynema::interfaces::components::AerodynamicBody::loads

◆ motion_interp

std::vector<double> kynema::interfaces::components::AerodynamicBody::motion_interp

◆ node_f

std::vector<std::array<double, 6> > kynema::interfaces::components::AerodynamicBody::node_f

◆ node_ids

std::vector<size_t> kynema::interfaces::components::AerodynamicBody::node_ids

◆ node_u

std::vector<std::array<double, 7> > kynema::interfaces::components::AerodynamicBody::node_u

◆ node_v

std::vector<std::array<double, 6> > kynema::interfaces::components::AerodynamicBody::node_v

◆ polar_size

std::vector<size_t> kynema::interfaces::components::AerodynamicBody::polar_size

◆ qqr_motion_map

std::vector<std::array<double, 4> > kynema::interfaces::components::AerodynamicBody::qqr_motion_map

◆ ref_axis_moments

std::vector<std::array<double, 3> > kynema::interfaces::components::AerodynamicBody::ref_axis_moments

◆ shape_deriv_jac

std::vector<double> kynema::interfaces::components::AerodynamicBody::shape_deriv_jac

◆ twist

std::vector<double> kynema::interfaces::components::AerodynamicBody::twist

◆ u_motion_map

std::vector<std::array<double, 7> > kynema::interfaces::components::AerodynamicBody::u_motion_map

◆ v_inflow

std::vector<std::array<double, 3> > kynema::interfaces::components::AerodynamicBody::v_inflow

◆ v_motion

std::vector<std::array<double, 3> > kynema::interfaces::components::AerodynamicBody::v_motion

◆ v_motion_map

std::vector<std::array<double, 6> > kynema::interfaces::components::AerodynamicBody::v_motion_map

◆ v_rel

std::vector<std::array<double, 3> > kynema::interfaces::components::AerodynamicBody::v_rel

◆ x_motion

std::vector<std::array<double, 3> > kynema::interfaces::components::AerodynamicBody::x_motion

◆ xr_motion_map

std::vector<std::array<double, 7> > kynema::interfaces::components::AerodynamicBody::xr_motion_map

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