Controller Class Reference

Kynema-FMB API: kynema_fmb::interfaces::components::Controller Class Reference
Kynema-FMB API
A flexible multibody structural dynamics code for wind turbines
Loading...
Searching...
No Matches
kynema_fmb::interfaces::components::Controller Class Reference

#include <controller.hpp>

Public Member Functions

 Controller (const ControllerInput &input)
 Constructor for the Controller class.
 
void CallController ()
 Method to call the controller function from the shared library.
 
double PitchAngleCommand () const
 Get the collective commanded pitch angle (rad)
 
std::array< double, 3 > PitchAngleCommandIndividual () const
 Get the commanded individual pitch angle (rad)
 
double GeneratorTorqueCommand () const
 Get the commanded generator torque (Nm)
 
double YawAngleCommand () const
 Get the commanded yaw angle (rad) integrated from yaw rate command.
 
void SetStatusInit ()
 Set the controller status to initialization.
 
void SetStatusOperating ()
 Set the controller status to operating.
 
void SetStatusWriteCheckpoint ()
 Set the controller status to write checkpoint file (only valid for ROSCO controller)
 
void SetStatusReadCheckpoint ()
 Set the controller status to read checkpoint file (only valid for ROSCO controller)
 
void SetSimulationTime (double simulation_time)
 Set the simulation time (s)
 
void SetSimulationTimeStep (double simulation_time_step)
 Set the simulation time step (s)
 
void SetYawAngle (double yaw_angle)
 Set the measured yaw angle (rad)
 
void SetRotorSpeed (double rotor_speed)
 Set the measured rotor speed (rad/s)
 
void SetGeneratorSpeed (double generator_speed)
 Set the measured generator speed (rad/s)
 
void SetGeneratorTorque (double generator_torque)
 Set the measured generator torque (Nm)
 
void SetGeneratorPower (double generator_power)
 Set measured generator power (W)
 
void SetWindSpeed (double wind_speed)
 Set measured wind speed at hub (m/s)
 
void SetRotorAzimuth (double rotor_azimuth)
 Set the rotor azimuth angle (rad)
 
void SetBladePitch (double blade_pitch_collective)
 Set measured blade pitch angle (rad)
 
void SetBladePitch (std::array< double, 3 > blade_pitch)
 Set measured blade pitch angle (rad)
 
void SetOutOfPlaneRootBendingMoment (std::array< double, 3 > root_moment)
 Set measured out-of-plane root bending moment for each blade (Nm)
 

Detailed Description

A turbine controller class that works as a wrapper around the shared library containing the controller logic

Constructor & Destructor Documentation

◆ Controller()

kynema_fmb::interfaces::components::Controller::Controller ( const ControllerInput input)
explicit

Constructor for the Controller class.

Parameters
inputController input parameters structure

Member Function Documentation

◆ CallController()

void kynema_fmb::interfaces::components::Controller::CallController ( )

Method to call the controller function from the shared library.

◆ GeneratorTorqueCommand()

double kynema_fmb::interfaces::components::Controller::GeneratorTorqueCommand ( ) const
inline

Get the commanded generator torque (Nm)

◆ PitchAngleCommand()

double kynema_fmb::interfaces::components::Controller::PitchAngleCommand ( ) const
inline

Get the collective commanded pitch angle (rad)

◆ PitchAngleCommandIndividual()

std::array< double, 3 > kynema_fmb::interfaces::components::Controller::PitchAngleCommandIndividual ( ) const
inline

Get the commanded individual pitch angle (rad)

◆ SetBladePitch() [1/2]

void kynema_fmb::interfaces::components::Controller::SetBladePitch ( double  blade_pitch_collective)
inline

Set measured blade pitch angle (rad)

◆ SetBladePitch() [2/2]

void kynema_fmb::interfaces::components::Controller::SetBladePitch ( std::array< double, 3 >  blade_pitch)
inline

Set measured blade pitch angle (rad)

◆ SetGeneratorPower()

void kynema_fmb::interfaces::components::Controller::SetGeneratorPower ( double  generator_power)
inline

Set measured generator power (W)

◆ SetGeneratorSpeed()

void kynema_fmb::interfaces::components::Controller::SetGeneratorSpeed ( double  generator_speed)
inline

Set the measured generator speed (rad/s)

◆ SetGeneratorTorque()

void kynema_fmb::interfaces::components::Controller::SetGeneratorTorque ( double  generator_torque)
inline

Set the measured generator torque (Nm)

◆ SetOutOfPlaneRootBendingMoment()

void kynema_fmb::interfaces::components::Controller::SetOutOfPlaneRootBendingMoment ( std::array< double, 3 >  root_moment)
inline

Set measured out-of-plane root bending moment for each blade (Nm)

◆ SetRotorAzimuth()

void kynema_fmb::interfaces::components::Controller::SetRotorAzimuth ( double  rotor_azimuth)
inline

Set the rotor azimuth angle (rad)

◆ SetRotorSpeed()

void kynema_fmb::interfaces::components::Controller::SetRotorSpeed ( double  rotor_speed)
inline

Set the measured rotor speed (rad/s)

◆ SetSimulationTime()

void kynema_fmb::interfaces::components::Controller::SetSimulationTime ( double  simulation_time)
inline

Set the simulation time (s)

◆ SetSimulationTimeStep()

void kynema_fmb::interfaces::components::Controller::SetSimulationTimeStep ( double  simulation_time_step)
inline

Set the simulation time step (s)

◆ SetStatusInit()

void kynema_fmb::interfaces::components::Controller::SetStatusInit ( )
inline

Set the controller status to initialization.

◆ SetStatusOperating()

void kynema_fmb::interfaces::components::Controller::SetStatusOperating ( )
inline

Set the controller status to operating.

◆ SetStatusReadCheckpoint()

void kynema_fmb::interfaces::components::Controller::SetStatusReadCheckpoint ( )
inline

Set the controller status to read checkpoint file (only valid for ROSCO controller)

◆ SetStatusWriteCheckpoint()

void kynema_fmb::interfaces::components::Controller::SetStatusWriteCheckpoint ( )
inline

Set the controller status to write checkpoint file (only valid for ROSCO controller)

◆ SetWindSpeed()

void kynema_fmb::interfaces::components::Controller::SetWindSpeed ( double  wind_speed)
inline

Set measured wind speed at hub (m/s)

◆ SetYawAngle()

void kynema_fmb::interfaces::components::Controller::SetYawAngle ( double  yaw_angle)
inline

Set the measured yaw angle (rad)

◆ YawAngleCommand()

double kynema_fmb::interfaces::components::Controller::YawAngleCommand ( ) const
inline

Get the commanded yaw angle (rad) integrated from yaw rate command.


The documentation for this class was generated from the following files:
  • /home/runner/work/kynema-fmb/kynema-fmb/kynema-fmb/src/interfaces/components/controller.hpp
  • /home/runner/work/kynema-fmb/kynema-fmb/kynema-fmb/src/interfaces/components/controller.cpp