KynemaTurbine Struct Reference

AMR-Wind API: ext_turb::KynemaTurbine Struct Reference
AMR-Wind API v0.1.0
CFD solver for wind plant simulations
Loading...
Searching...
No Matches
ext_turb::KynemaTurbine Struct Reference

#include <kynema_types.H>

Inheritance diagram for ext_turb::KynemaTurbine:
[legend]
Collaboration diagram for ext_turb::KynemaTurbine:
[legend]

Public Member Functions

void allocate_buffers ()
void populate_buffers ()
void pass_fluid_velocity_and_hub_load ()
int body_index (int id) const
int node_index (int id) const
float * position_at_vel (int dir) const override
float * solid_velocity (int dir) const override
float * fluid_velocity (int dir) const override
float * force (int dir) const override
float * position_at_force (int dir) const override
float * chord_at_force () const override
float * orientation () const override
int length_fluid_velocity (int dir) const override
int length_force (int dir) const override
int length_position_at_force (int dir) const override
int length_orientation () const override
int num_vel_pts_blade () const override

Public Attributes

std::unique_ptr< kynema::interfaces::TurbineInterface > interface
double fluid_density {1.}
double rotational_speed {0.}
double yaw {0.}
int substep_counter {0}
std::string controller_shared_lib_path {""}
std::string controller_input_file {""}
std::vector< float > buffer_cf
std::vector< float > buffer_pv
std::vector< float > buffer_sv
std::vector< float > buffer_fv
std::vector< float > buffer_f
std::vector< float > buffer_pf
std::vector< float > buffer_ori
float * ptr_cf {nullptr}
float * ptr_pv {nullptr}
float * ptr_sv {nullptr}
float * ptr_fv {nullptr}
float * ptr_f {nullptr}
float * ptr_pf {nullptr}
float * ptr_ori {nullptr}
Public Attributes inherited from ext_turb::ExternalTurbine
std::string tlabel
 Unique string identifier for this turbine.
int tid_local
 Local ID for this turbine (provided by external interface)
int tid_global
 Global ID for this turbine (set by Turbine instance)
int num_pts_blade
 Number of actuator points per blade.
int num_pts_tower
 Number of actuator points for tower.
amrex::Array< float, ndimbase_pos
 Position of tower base in global coordinate system.
amrex::Array< float, 3 > hub_abs_pos
 Hub stats for Spinner Lidar.
amrex::Array< float, 3 > hub_rot_vel
amrex::Array< double, 9 > hub_orient
SimMode sim_mode {SimMode::init}
std::string input_file
 External input file.
std::string checkpoint_file
 Checkpoint file name.
int num_blades
 Number of blades.
int num_blade_elem
 Total number of elements along the blade.
int num_tower_elem
 Total number of elements along the tower.
bool is_solution0 {true}
double start_time {0.0}
 Start time for this turbine.
double stop_time {-1.0}
 End time for this turbine.
double dt_cfd
 Timestep for CFD.
double dt_ext
 Timestep for external turbine solver.
int num_substeps
 Number of sub-steps of external solver per CFD timestep.
int time_index {0}
 Time step index for external.
int chkpt_interval
 Checkpoint interval for external.

Additional Inherited Members

Static Public Attributes inherited from ext_turb::ExternalTurbine
static constexpr int ndim = 3

Detailed Description

Representation of a turbine for exchanging data with Kynema

Member Function Documentation

◆ allocate_buffers()

void ext_turb::KynemaTurbine::allocate_buffers ( )
inline

◆ body_index()

int ext_turb::KynemaTurbine::body_index ( int id) const
inline

Helper functions for navigating indices

◆ chord_at_force()

float * ext_turb::KynemaTurbine::chord_at_force ( ) const
inlineoverridevirtual

◆ fluid_velocity()

float * ext_turb::KynemaTurbine::fluid_velocity ( int dir) const
inlineoverridevirtual

◆ force()

float * ext_turb::KynemaTurbine::force ( int dir) const
inlineoverridevirtual

◆ length_fluid_velocity()

int ext_turb::KynemaTurbine::length_fluid_velocity ( int dir) const
inlineoverridevirtual

◆ length_force()

int ext_turb::KynemaTurbine::length_force ( int dir) const
inlineoverridevirtual

◆ length_orientation()

int ext_turb::KynemaTurbine::length_orientation ( ) const
inlineoverridevirtual

◆ length_position_at_force()

int ext_turb::KynemaTurbine::length_position_at_force ( int dir) const
inlineoverridevirtual

◆ node_index()

int ext_turb::KynemaTurbine::node_index ( int id) const
inline

◆ num_vel_pts_blade()

int ext_turb::KynemaTurbine::num_vel_pts_blade ( ) const
inlineoverridevirtual

◆ orientation()

float * ext_turb::KynemaTurbine::orientation ( ) const
inlineoverridevirtual

◆ pass_fluid_velocity_and_hub_load()

void ext_turb::KynemaTurbine::pass_fluid_velocity_and_hub_load ( )
inline

◆ populate_buffers()

void ext_turb::KynemaTurbine::populate_buffers ( )
inline

◆ position_at_force()

float * ext_turb::KynemaTurbine::position_at_force ( int dir) const
inlineoverridevirtual

◆ position_at_vel()

float * ext_turb::KynemaTurbine::position_at_vel ( int dir) const
inlineoverridevirtual

Data access functions needed for every turbine type

Implements ext_turb::ExternalTurbine.

◆ solid_velocity()

float * ext_turb::KynemaTurbine::solid_velocity ( int dir) const
inlineoverridevirtual

Member Data Documentation

◆ buffer_cf

std::vector<float> ext_turb::KynemaTurbine::buffer_cf

◆ buffer_f

std::vector<float> ext_turb::KynemaTurbine::buffer_f

◆ buffer_fv

std::vector<float> ext_turb::KynemaTurbine::buffer_fv

◆ buffer_ori

std::vector<float> ext_turb::KynemaTurbine::buffer_ori

◆ buffer_pf

std::vector<float> ext_turb::KynemaTurbine::buffer_pf

◆ buffer_pv

std::vector<float> ext_turb::KynemaTurbine::buffer_pv

◆ buffer_sv

std::vector<float> ext_turb::KynemaTurbine::buffer_sv

◆ controller_input_file

std::string ext_turb::KynemaTurbine::controller_input_file {""}

◆ controller_shared_lib_path

std::string ext_turb::KynemaTurbine::controller_shared_lib_path {""}

◆ fluid_density

double ext_turb::KynemaTurbine::fluid_density {1.}

◆ interface

std::unique_ptr<kynema::interfaces::TurbineInterface> ext_turb::KynemaTurbine::interface

Variables exclusive to Kynema turbine type

◆ ptr_cf

float* ext_turb::KynemaTurbine::ptr_cf {nullptr}

◆ ptr_f

float* ext_turb::KynemaTurbine::ptr_f {nullptr}

◆ ptr_fv

float* ext_turb::KynemaTurbine::ptr_fv {nullptr}

◆ ptr_ori

float* ext_turb::KynemaTurbine::ptr_ori {nullptr}

◆ ptr_pf

float* ext_turb::KynemaTurbine::ptr_pf {nullptr}

◆ ptr_pv

float* ext_turb::KynemaTurbine::ptr_pv {nullptr}

◆ ptr_sv

float* ext_turb::KynemaTurbine::ptr_sv {nullptr}

◆ rotational_speed

double ext_turb::KynemaTurbine::rotational_speed {0.}

◆ substep_counter

int ext_turb::KynemaTurbine::substep_counter {0}

◆ yaw

double ext_turb::KynemaTurbine::yaw {0.}

The documentation for this struct was generated from the following file:
  • /home/runner/work/amr-wind/amr-wind/amr-wind/wind_energy/actuator/turbine/kynema/kynema_types.H