Masses< DeviceType > Struct Template Reference

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

Contains field variables for mass elements (aka, rigid bodies) to compute per-element contributions to the residual vector and system/iteration matrix. More...

#include <masses.hpp>

Public Types

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

Public Member Functions

 Masses (const size_t n_mass_elems)
 

Public Attributes

size_t num_elems
 
View< size_t * > num_nodes_per_element
 
View< size_t * > state_indices
 
View< dof::FreedomSignature * > element_freedom_signature
 
View< size_t *[6]> element_freedom_table
 
View< double[3]> gravity
 
View< double *[7]> node_x0
 
View< double *[6][6]> qp_Mstar
 
View< double *[6]> residual_vector_terms
 
View< double *[6][6]> system_matrix_terms
 

Detailed Description

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

Contains field variables for mass elements (aka, rigid bodies) to compute per-element contributions to the residual vector and system/iteration matrix.

Note
Mass elements consist of a single node and no quadrature points are required, hence no node/qp prefix is used in the Views (as opposed to Beams)

Member Typedef Documentation

◆ View

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

Constructor & Destructor Documentation

◆ Masses()

template<typename DeviceType >
kynema::Masses< DeviceType >::Masses ( const size_t  n_mass_elems)
inlineexplicit

Member Data Documentation

◆ element_freedom_signature

template<typename DeviceType >
View<dof::FreedomSignature*> kynema::Masses< DeviceType >::element_freedom_signature

◆ element_freedom_table

template<typename DeviceType >
View<size_t* [6]> kynema::Masses< DeviceType >::element_freedom_table

◆ gravity

template<typename DeviceType >
View<double[3]> kynema::Masses< DeviceType >::gravity

◆ node_x0

template<typename DeviceType >
View<double* [7]> kynema::Masses< DeviceType >::node_x0

◆ num_elems

template<typename DeviceType >
size_t kynema::Masses< DeviceType >::num_elems

◆ num_nodes_per_element

template<typename DeviceType >
View<size_t*> kynema::Masses< DeviceType >::num_nodes_per_element

◆ qp_Mstar

template<typename DeviceType >
View<double* [6][6]> kynema::Masses< DeviceType >::qp_Mstar

◆ residual_vector_terms

template<typename DeviceType >
View<double* [6]> kynema::Masses< DeviceType >::residual_vector_terms

◆ state_indices

template<typename DeviceType >
View<size_t*> kynema::Masses< DeviceType >::state_indices

◆ system_matrix_terms

template<typename DeviceType >
View<double* [6][6]> kynema::Masses< DeviceType >::system_matrix_terms

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