cfd Namespace Reference

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

Classes

struct  FloatingPlatform
 A structure describing a point mass and its attached mooring lines. More...
 
struct  FloatingPlatformInput
 The input configuration options describing a FloatingPlatform object. More...
 
class  Interface
 The main interface for controlling the CFD problem. More...
 
struct  InterfaceBuilder
 A factory for configuring and building a CFD interface object. More...
 
struct  InterfaceInput
 An object describing the configuration of the interface. More...
 
struct  MooringLine
 A description of a mooring line including its node and spring indices. More...
 
struct  MooringLineInput
 A descritpion of the configuration of a mooring line for use in initialization. More...
 
struct  NodeData
 All of the data describing the state at a node in an ergonomic way. More...
 
struct  Turbine
 The top level structure defining the CFD problem. More...
 
struct  TurbineInput
 A collection of the input objects defining the CFD problem's configuration. More...
 

Functions

void GetNodeMotion (NodeData &node, const Kokkos::View< double *[7]>::HostMirror::const_type &host_state_x, const Kokkos::View< double *[7]>::HostMirror::const_type &host_state_q, const Kokkos::View< double *[6]>::HostMirror::const_type &host_state_v, const Kokkos::View< double *[6]>::HostMirror::const_type &host_state_vd)
 Populates the provided NodeData object with state information.
 
FloatingPlatform CreateFloatingPlatform (const FloatingPlatformInput &input, Model &model)
 Adds nodes to the provided model based on the provided input configuration.
 
template<typename DeviceType >
void SetPlatformLoads (const FloatingPlatform &platform, kynema::interfaces::HostState< DeviceType > &host_state)
 Sets the force vector at the Platform's mass node in the host_state.
 
void GetFloatingPlatformMotion (FloatingPlatform &platform, const Kokkos::View< double *[7]>::HostMirror::const_type &host_state_x, const Kokkos::View< double *[7]>::HostMirror::const_type &host_state_q, const Kokkos::View< double *[6]>::HostMirror::const_type &host_state_v, const Kokkos::View< double *[6]>::HostMirror::const_type &host_state_vd)
 Sets the state data on the provided FloatingPlatform object.
 
Turbine CreateTurbine (const TurbineInput &input, Model &model)
 Creates the Turbine object based on the input configuration and populates the provided model.
 
template<typename DeviceType >
void SetTurbineLoads (const Turbine &turbine, kynema::interfaces::HostState< DeviceType > &host_state, State< DeviceType > &state)
 Sets the force loads on the provided HostState and State objects.
 
void GetTurbineMotion (Turbine &turbine, const Kokkos::View< double *[7]>::HostMirror::const_type &host_state_x, const Kokkos::View< double *[7]>::HostMirror::const_type &host_state_q, const Kokkos::View< double *[6]>::HostMirror::const_type &host_state_v, const Kokkos::View< double *[6]>::HostMirror::const_type &host_state_vd)
 Populates the Turbine object with the appropriate state data.
 

Function Documentation

◆ CreateFloatingPlatform()

FloatingPlatform kynema::interfaces::cfd::CreateFloatingPlatform ( const FloatingPlatformInput input,
Model model 
)

Adds nodes to the provided model based on the provided input configuration.

Parameters
inputThe configuration for the floating platform
modelThe Kynema Model to be populated with mass and spring element information
Returns
A FlatingPlatform object based on the provided configuration

◆ CreateTurbine()

Turbine kynema::interfaces::cfd::CreateTurbine ( const TurbineInput input,
Model model 
)

Creates the Turbine object based on the input configuration and populates the provided model.

Parameters
inputThe problem configuration object
modelThe Model to be populated with element information based on the input
Returns
The full turbine object configured based on input

◆ GetFloatingPlatformMotion()

void kynema::interfaces::cfd::GetFloatingPlatformMotion ( FloatingPlatform platform,
const Kokkos::View< double *[7]>::HostMirror::const_type &  host_state_x,
const Kokkos::View< double *[7]>::HostMirror::const_type &  host_state_q,
const Kokkos::View< double *[6]>::HostMirror::const_type &  host_state_v,
const Kokkos::View< double *[6]>::HostMirror::const_type &  host_state_vd 
)

Sets the state data on the provided FloatingPlatform object.

Parameters
platformThe FloatingPlatform where data will be set
host_state_xLocation data
host_state_qDisplacement data
host_state_vVelocity data
host_state_vdAcceleration Data

◆ GetNodeMotion()

void kynema::interfaces::cfd::GetNodeMotion ( NodeData node,
const Kokkos::View< double *[7]>::HostMirror::const_type &  host_state_x,
const Kokkos::View< double *[7]>::HostMirror::const_type &  host_state_q,
const Kokkos::View< double *[6]>::HostMirror::const_type &  host_state_v,
const Kokkos::View< double *[6]>::HostMirror::const_type &  host_state_vd 
)

Populates the provided NodeData object with state information.

Parameters
node
host_state_x
host_state_q
host_state_v
host_state_vd

◆ GetTurbineMotion()

void kynema::interfaces::cfd::GetTurbineMotion ( Turbine turbine,
const Kokkos::View< double *[7]>::HostMirror::const_type &  host_state_x,
const Kokkos::View< double *[7]>::HostMirror::const_type &  host_state_q,
const Kokkos::View< double *[6]>::HostMirror::const_type &  host_state_v,
const Kokkos::View< double *[6]>::HostMirror::const_type &  host_state_vd 
)

Populates the Turbine object with the appropriate state data.

Parameters
turbineThe Turbine object to have its state data populated
host_state_xPosition data
host_state_qDisplacement data
host_state_vVelocity Data
host_state_vdAcceleration Data

◆ SetPlatformLoads()

template<typename DeviceType >
void kynema::interfaces::cfd::SetPlatformLoads ( const FloatingPlatform platform,
kynema::interfaces::HostState< DeviceType > &  host_state 
)

Sets the force vector at the Platform's mass node in the host_state.

Template Parameters
DeviceTypeThe Kokkos Device where the State corresponding to the HostState resides
Parameters
platformThe platform object where the forces have been set
host_stateThe HostState object where the forces wil be set

◆ SetTurbineLoads()

template<typename DeviceType >
void kynema::interfaces::cfd::SetTurbineLoads ( const Turbine turbine,
kynema::interfaces::HostState< DeviceType > &  host_state,
State< DeviceType > &  state 
)

Sets the force loads on the provided HostState and State objects.

Template Parameters
DeviceTypeThe Kokkos Device where the State object resides
Parameters
turbineThe Turbine object where the forces have been set
host_stateA HostState object corresponding to the provided State
stateA State object where the forces will be set