TurbineBuilder Class Reference

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

Builder class for creating Turbine objects with a fluent interface pattern. More...

#include <turbine_builder.hpp>

Public Member Functions

 TurbineBuilder ()=default
 
const TurbineInputInput ()
 Get the current turbine input configuration.
 
Turbine Build (Model &model)
 Build a Turbine object from the current configuration.
 
components::BeamBuilderBlade (size_t blade_index)
 Get reference to builder for a specific blade.
 
components::BeamBuilderTower ()
 Get reference to builder for the tower.
 
TurbineBuilderSetYawBearingInertiaMatrix (const std::array< std::array< double, 6 >, 6 > &matrix)
 Set the yaw bearing inertia matrix (6x6)
 
TurbineBuilderSetHubInertiaMatrix (const std::array< std::array< double, 6 >, 6 > &matrix)
 Set the hub inertia matrix (6x6)
 
TurbineBuilderSetTowerBasePosition (const std::array< double, 7 > &position)
 Set the position of the tower base node.
 
TurbineBuilderSetTowerAxisToRotorApex (double distance)
 Set the distance from tower axis to hub i.e. distance from tower axis -> rotor apex (meters)
 
TurbineBuilderSetTowerTopToRotorApex (double height)
 Set the hub height above the tower top i.e. distrance from tower top -> rotor apex (meters)
 
TurbineBuilderSetRotorApexToHub (double distance)
 Distance from rotor apex to hub center of mass (meters)
 
TurbineBuilderSetHubDiameter (double diameter)
 Set the hub diameter (meters)
 
TurbineBuilderSetShaftTiltAngle (double angle)
 Set the shaft tilt angle (degrees)
 
TurbineBuilderSetNacelleYawAngle (double angle)
 Set the initial nacelle yaw angle (radians)
 
TurbineBuilderSetConeAngle (double angle)
 Set the initial cone angle (radians)
 
TurbineBuilderSetBladePitchAngle (double angle)
 Set the initial blade pitch angle (radians)
 
TurbineBuilderSetAzimuthAngle (double angle)
 Set the azimuth angle (radiams)
 
TurbineBuilderSetRotorSpeed (double speed)
 Set the initial rotor speed (rad/s)
 

Detailed Description

Builder class for creating Turbine objects with a fluent interface pattern.

Constructor & Destructor Documentation

◆ TurbineBuilder()

kynema::interfaces::components::TurbineBuilder::TurbineBuilder ( )
default

Member Function Documentation

◆ Blade()

components::BeamBuilder & kynema::interfaces::components::TurbineBuilder::Blade ( size_t  blade_index)

Get reference to builder for a specific blade.

Parameters
blade_indexThe index of the blade
Returns
Reference to the blade builder

◆ Build()

Turbine kynema::interfaces::components::TurbineBuilder::Build ( Model model)

Build a Turbine object from the current configuration.

Parameters
modelThe model to associate with this turbine
Returns
A new Turbine object

◆ Input()

const TurbineInput & kynema::interfaces::components::TurbineBuilder::Input ( )

Get the current turbine input configuration.

Returns
Reference to the current turbine input

◆ SetAzimuthAngle()

TurbineBuilder & kynema::interfaces::components::TurbineBuilder::SetAzimuthAngle ( double  angle)

Set the azimuth angle (radiams)

Parameters
angleThe azimuth angle to set
Returns
Reference to the builder for method chaining

◆ SetBladePitchAngle()

TurbineBuilder & kynema::interfaces::components::TurbineBuilder::SetBladePitchAngle ( double  angle)

Set the initial blade pitch angle (radians)

Parameters
angleThe blade pitch angle to set
Returns
Reference to the builder for method chaining

◆ SetConeAngle()

TurbineBuilder & kynema::interfaces::components::TurbineBuilder::SetConeAngle ( double  angle)

Set the initial cone angle (radians)

Parameters
angleThe cone angle to set
Returns
Reference to the builder for method chaining

◆ SetHubDiameter()

TurbineBuilder & kynema::interfaces::components::TurbineBuilder::SetHubDiameter ( double  diameter)

Set the hub diameter (meters)

Parameters
diameterThe hub diameter to set (meters)
Returns
Reference to this builder for method chaining

◆ SetHubInertiaMatrix()

TurbineBuilder & kynema::interfaces::components::TurbineBuilder::SetHubInertiaMatrix ( const std::array< std::array< double, 6 >, 6 > &  matrix)

Set the hub inertia matrix (6x6)

Parameters
matrixThe inertia matrix to set, includes hub assembly mass and inertia
Returns
Reference to the builder for method chaining

◆ SetNacelleYawAngle()

TurbineBuilder & kynema::interfaces::components::TurbineBuilder::SetNacelleYawAngle ( double  angle)

Set the initial nacelle yaw angle (radians)

Parameters
angleThe nacelle yaw angle to set
Returns
Reference to the builder for method chaining

◆ SetRotorApexToHub()

TurbineBuilder & kynema::interfaces::components::TurbineBuilder::SetRotorApexToHub ( double  distance)

Distance from rotor apex to hub center of mass (meters)

Parameters
distanceThe distance to set (meters)
Returns
Reference to the builder for method chaining

◆ SetRotorSpeed()

TurbineBuilder & kynema::interfaces::components::TurbineBuilder::SetRotorSpeed ( double  speed)

Set the initial rotor speed (rad/s)

Parameters
speedThe rotor speed to set
Returns
Reference to the builder for method chaining

◆ SetShaftTiltAngle()

TurbineBuilder & kynema::interfaces::components::TurbineBuilder::SetShaftTiltAngle ( double  angle)

Set the shaft tilt angle (degrees)

Parameters
angleThe shaft tilt angle to set
Returns
Reference to the builder for method chaining

◆ SetTowerAxisToRotorApex()

TurbineBuilder & kynema::interfaces::components::TurbineBuilder::SetTowerAxisToRotorApex ( double  distance)

Set the distance from tower axis to hub i.e. distance from tower axis -> rotor apex (meters)

Parameters
distanceThe distance to set
Returns
Reference to the builder for method chaining

◆ SetTowerBasePosition()

TurbineBuilder & kynema::interfaces::components::TurbineBuilder::SetTowerBasePosition ( const std::array< double, 7 > &  position)

Set the position of the tower base node.

Parameters
positionArray containing position/orientation [x,y,z,qw,qx,qy,qz]
Returns
Reference to the builder for method chaining

◆ SetTowerTopToRotorApex()

TurbineBuilder & kynema::interfaces::components::TurbineBuilder::SetTowerTopToRotorApex ( double  height)

Set the hub height above the tower top i.e. distrance from tower top -> rotor apex (meters)

Parameters
heightThe hub height to set
Returns
Reference to the builder for method chaining

◆ SetYawBearingInertiaMatrix()

TurbineBuilder & kynema::interfaces::components::TurbineBuilder::SetYawBearingInertiaMatrix ( const std::array< std::array< double, 6 >, 6 > &  matrix)

Set the yaw bearing inertia matrix (6x6)

Parameters
matrixThe inertia matrix to set, includes yaw bearing and nacelle mass with inertia about yaw bearing i.e. system_inertia_tt in WindIO
Returns
Reference to the builder for method chaining

◆ Tower()

components::BeamBuilder & kynema::interfaces::components::TurbineBuilder::Tower ( )

Get reference to builder for the tower.

Returns
Reference to the tower builder

The documentation for this class was generated from the following files: