State< DeviceType > Struct Template Reference

Kynema API: kynema::State< DeviceType > Struct Template Reference
Kynema API
A flexible multibody structural dynamics code for wind turbines
Loading...
Searching...
No Matches
kynema::State< DeviceType > Struct Template Reference

Container for storing the complete system state of the simulation at a given time increment. More...

#include <state.hpp>

Public Types

template<typename ValueType >
using View = Kokkos::View< ValueType, DeviceType >
 

Public Member Functions

 State (size_t num_system_nodes_)
 

Public Attributes

size_t time_step {0}
 
size_t num_system_nodes
 
View< size_t * > ID
 
View< dof::FreedomSignature * > node_freedom_allocation_table
 
View< size_t * > active_dofs
 
View< size_t * > node_freedom_map_table
 
View< double *[7]> x0
 
View< double *[7]> x
 
View< double *[6]> q_delta
 
View< double *[7]> q_prev
 
View< double *[7]> q
 
View< double *[6]> v
 
View< double *[6]> vd
 
View< double *[6]> a
 
View< double *[6]> f
 
View< double *[6][6]> tangent
 

Detailed Description

template<typename DeviceType>
struct kynema::State< DeviceType >

Container for storing the complete system state of the simulation at a given time increment.

This struct maintains all state variables required for the dynamic simulation, including:

  • Node configuration and freedom allocation
  • Position and rotation states (current, previous, and initial)
  • Velocity and acceleration states
  • Tangent matrix

Member Typedef Documentation

◆ View

template<typename DeviceType >
template<typename ValueType >
using kynema::State< DeviceType >::View = Kokkos::View<ValueType, DeviceType>

Constructor & Destructor Documentation

◆ State()

template<typename DeviceType >
kynema::State< DeviceType >::State ( size_t  num_system_nodes_)
inlineexplicit

Member Data Documentation

◆ a

template<typename DeviceType >
View<double* [6]> kynema::State< DeviceType >::a

◆ active_dofs

template<typename DeviceType >
View<size_t*> kynema::State< DeviceType >::active_dofs

◆ f

template<typename DeviceType >
View<double* [6]> kynema::State< DeviceType >::f

◆ ID

template<typename DeviceType >
View<size_t*> kynema::State< DeviceType >::ID

◆ node_freedom_allocation_table

template<typename DeviceType >
View<dof::FreedomSignature*> kynema::State< DeviceType >::node_freedom_allocation_table

◆ node_freedom_map_table

template<typename DeviceType >
View<size_t*> kynema::State< DeviceType >::node_freedom_map_table

◆ num_system_nodes

template<typename DeviceType >
size_t kynema::State< DeviceType >::num_system_nodes

◆ q

template<typename DeviceType >
View<double* [7]> kynema::State< DeviceType >::q

◆ q_delta

template<typename DeviceType >
View<double* [6]> kynema::State< DeviceType >::q_delta

◆ q_prev

template<typename DeviceType >
View<double* [7]> kynema::State< DeviceType >::q_prev

◆ tangent

template<typename DeviceType >
View<double* [6][6]> kynema::State< DeviceType >::tangent

◆ time_step

template<typename DeviceType >
size_t kynema::State< DeviceType >::time_step {0}

◆ v

template<typename DeviceType >
View<double* [6]> kynema::State< DeviceType >::v

◆ vd

template<typename DeviceType >
View<double* [6]> kynema::State< DeviceType >::vd

◆ x

template<typename DeviceType >
View<double* [7]> kynema::State< DeviceType >::x

◆ x0

template<typename DeviceType >
View<double* [7]> kynema::State< DeviceType >::x0

The documentation for this struct was generated from the following file:
  • /home/runner/work/kynema/kynema/kynema/src/state/state.hpp