BeamBuilder Class Reference
Kynema API
A flexible multibody structural dynamics code for wind turbines
|
Builder class for creating Blade objects. More...
#include <beam_builder.hpp>
Public Member Functions | |
BeamBuilder & | SetElementOrder (size_t element_order) |
Sets the prder of the beam elements. | |
BeamBuilder & | SetSectionRefinement (size_t section_refinement) |
Sets the number of section refinements to perform. | |
BeamBuilder & | ClearReferenceAxisPoints () |
Deletes all currently set reference axis points. | |
BeamBuilder & | AddRefAxisPoint (double grid_location, const std::array< double, 3 > &coordinates, ReferenceAxisOrientation ref_axis) |
Adds a reference axis point with specified orientation. | |
BeamBuilder & | AddRefAxisTwist (double grid_location, double twist) |
Adds a twist about the reference axis at a certain point. | |
BeamBuilder & | PrescribedRootMotion (bool enable) |
sets if this beam will have prescribed root motion or not | |
BeamBuilder & | SetRootPosition (const std::array< double, 7 > &p) |
Sets the position of this beam's root node. | |
BeamBuilder & | SetRootVelocity (const std::array< double, 6 > &v) |
Sets the velocity of this beam's root node. | |
BeamBuilder & | SetRootAcceleration (const std::array< double, 6 > &a) |
Sets the acceleration of this beam's root node. | |
BeamBuilder & | ClearSections () |
Deletes all sections that have been added to the BeamBuilder. | |
BeamBuilder & | AddSection (double grid_location, const std::array< std::array< double, 6 >, 6 > &mass_matrix, const std::array< std::array< double, 6 >, 6 > &stiffness_matrix, ReferenceAxisOrientation ref_axis) |
Adds sectional location, mass matrix, and stiffness matrix. Can handle reference axis along X or Z. | |
const BeamInput & | Input () const |
Get the current blade input configuration. | |
Beam | Build (Model &model) const |
Build a Blade object from the current configuration. | |
Detailed Description
Builder class for creating Blade objects.
Each of the methods for setting options returns a reference to this BeamBuilder object to allow chaining calls together in a single statement.
Member Function Documentation
◆ AddRefAxisPoint()
BeamBuilder & kynema::interfaces::components::BeamBuilder::AddRefAxisPoint | ( | double | grid_location, |
const std::array< double, 3 > & | coordinates, | ||
ReferenceAxisOrientation | ref_axis | ||
) |
Adds a reference axis point with specified orientation.
- Parameters
-
grid_location Location [0,1] along the blade coordinates Coordinates (x,y,z) of the reference axis point ref_axis Reference axis orientation ('X' or 'Z')
- Returns
- Reference to this builder for method chaining
◆ AddRefAxisTwist()
BeamBuilder & kynema::interfaces::components::BeamBuilder::AddRefAxisTwist | ( | double | grid_location, |
double | twist | ||
) |
Adds a twist about the reference axis at a certain point.
This value will be linearly interpolated to the required locations along the actual beam element
- Parameters
-
grid_location The location where the twist is specified twist The twist about the reference axis in degrees
- Returns
- A reference to this BeamBuilder
◆ AddSection()
BeamBuilder & kynema::interfaces::components::BeamBuilder::AddSection | ( | double | grid_location, |
const std::array< std::array< double, 6 >, 6 > & | mass_matrix, | ||
const std::array< std::array< double, 6 >, 6 > & | stiffness_matrix, | ||
ReferenceAxisOrientation | ref_axis | ||
) |
Adds sectional location, mass matrix, and stiffness matrix. Can handle reference axis along X or Z.
- Parameters
-
grid_location section location [0,1] along blade mass_matrix sectional mass matrix stiffness_matrix sectional stiffness matrix ref_axis Reference axis ('X' or 'Z')
- Returns
- Reference to this builder for method chaining
◆ Build()
Build a Blade object from the current configuration.
- Parameters
-
model The model to associate with this blade
- Returns
- A new Blade object
◆ ClearReferenceAxisPoints()
BeamBuilder & kynema::interfaces::components::BeamBuilder::ClearReferenceAxisPoints | ( | ) |
Deletes all currently set reference axis points.
- Returns
- A reference to this BeamBuilder
◆ ClearSections()
BeamBuilder & kynema::interfaces::components::BeamBuilder::ClearSections | ( | ) |
Deletes all sections that have been added to the BeamBuilder.
- Returns
- A reference to this BeamBuilder
◆ Input()
const BeamInput & kynema::interfaces::components::BeamBuilder::Input | ( | ) | const |
Get the current blade input configuration.
- Returns
- Reference to the current blade input
◆ PrescribedRootMotion()
BeamBuilder & kynema::interfaces::components::BeamBuilder::PrescribedRootMotion | ( | bool | enable | ) |
sets if this beam will have prescribed root motion or not
- Parameters
-
enable If prescirbed root motion is enabled
- Returns
- A reference to this BeamBuilder
◆ SetElementOrder()
BeamBuilder & kynema::interfaces::components::BeamBuilder::SetElementOrder | ( | size_t | element_order | ) |
Sets the prder of the beam elements.
- Returns
- A reference to this BeamBuilder
◆ SetRootAcceleration()
BeamBuilder & kynema::interfaces::components::BeamBuilder::SetRootAcceleration | ( | const std::array< double, 6 > & | a | ) |
Sets the acceleration of this beam's root node.
- Parameters
-
a The root node acceleration/angular acceleration
- Returns
- A reference to this BeamBuilder
◆ SetRootPosition()
BeamBuilder & kynema::interfaces::components::BeamBuilder::SetRootPosition | ( | const std::array< double, 7 > & | p | ) |
Sets the position of this beam's root node.
- Parameters
-
p The root node position/orientation as a quaternion
- Returns
- A reference to this BeamBuilder
◆ SetRootVelocity()
BeamBuilder & kynema::interfaces::components::BeamBuilder::SetRootVelocity | ( | const std::array< double, 6 > & | v | ) |
Sets the velocity of this beam's root node.
- Parameters
-
v The root node velocity/angular velcoity
- Returns
- A reference to this BeamBuilder
◆ SetSectionRefinement()
BeamBuilder & kynema::interfaces::components::BeamBuilder::SetSectionRefinement | ( | size_t | section_refinement | ) |
Sets the number of section refinements to perform.
This adds additional quadrature points between the supplied sections and sets their physical properties using linear interpolation. This is used to achieve sufficiently accurate quadrature for high order elements even when the physical properties have a relatively simple distribution.
- Returns
- A reference to this BeamBuilder
The documentation for this class was generated from the following files:
- /home/runner/work/kynema/kynema/kynema/src/interfaces/components/beam_builder.hpp
- /home/runner/work/kynema/kynema/kynema/src/interfaces/components/beam_builder.cpp
Generated by