Beams< DeviceType > Struct Template Reference

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

Contains the field variables needed to compute the per-element contributions to the residual vector and system matrix. More...

#include <beams.hpp>

Public Types

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

Public Member Functions

 Beams (const size_t n_beams, const size_t max_e_nodes, const size_t max_e_qps)
 

Public Attributes

size_t num_elems
 
size_t max_elem_nodes
 
size_t max_elem_qps
 
View< size_t * > num_nodes_per_element
 
View< size_t * > num_qps_per_element
 
View< size_t ** > node_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 **[7]> node_u
 
View< double **[6]> node_u_dot
 
View< double **[6]> node_u_ddot
 
View< double **[6]> node_FX
 
View< double ** > qp_weight
 
View< double ** > qp_jacobian
 
View< double **[6][6]> qp_Mstar
 
View< double **[6][6]> qp_Cstar
 
View< double **[7]> qp_x
 
View< double **[3]> qp_x0
 
View< double **[3]> qp_x0_prime
 
View< double **[4]> qp_r0
 
View< double **[3]> qp_u
 
View< double **[3]> qp_u_prime
 
View< double **[3]> qp_u_dot
 
View< double **[3]> qp_u_ddot
 
View< double **[4]> qp_r
 
View< double **[4]> qp_r_prime
 
View< double **[3]> qp_omega
 
View< double **[3]> qp_omega_dot
 
View< double **[3]> qp_deformation
 
View< double **[3][4]> qp_E
 
View< double **[6]> qp_Fe
 
View< double **[6]> residual_vector_terms
 
View< double ***[6][6]> system_matrix_terms
 
View< double *** > shape_interp
 
View< double *** > shape_deriv
 

Detailed Description

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

Contains the field variables needed to compute the per-element contributions to the residual vector and system matrix.

  • In all Views, the first dimension corresponds to the element number
  • In Views prefixed node_, the second dimension corresponds to the node number within that element
  • In Views prefixed qp_, the second dimension corresponds to the quadrature point within that element
  • The remaining dimensions are the number of components as defined by physics
  • Additionally, shape_interp and shape_deriv have dimensions num_elems x num_nodes x num_qps

Member Typedef Documentation

◆ View

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

Constructor & Destructor Documentation

◆ Beams()

template<typename DeviceType >
kynema::Beams< DeviceType >::Beams ( const size_t  n_beams,
const size_t  max_e_nodes,
const size_t  max_e_qps 
)
inline

Member Data Documentation

◆ element_freedom_signature

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

◆ element_freedom_table

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

◆ gravity

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

◆ max_elem_nodes

template<typename DeviceType >
size_t kynema::Beams< DeviceType >::max_elem_nodes

◆ max_elem_qps

template<typename DeviceType >
size_t kynema::Beams< DeviceType >::max_elem_qps

◆ node_FX

template<typename DeviceType >
View<double** [6]> kynema::Beams< DeviceType >::node_FX

◆ node_state_indices

template<typename DeviceType >
View<size_t**> kynema::Beams< DeviceType >::node_state_indices

◆ node_u

template<typename DeviceType >
View<double** [7]> kynema::Beams< DeviceType >::node_u

◆ node_u_ddot

template<typename DeviceType >
View<double** [6]> kynema::Beams< DeviceType >::node_u_ddot

◆ node_u_dot

template<typename DeviceType >
View<double** [6]> kynema::Beams< DeviceType >::node_u_dot

◆ node_x0

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

◆ num_elems

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

◆ num_nodes_per_element

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

◆ num_qps_per_element

template<typename DeviceType >
View<size_t*> kynema::Beams< DeviceType >::num_qps_per_element

◆ qp_Cstar

template<typename DeviceType >
View<double** [6][6]> kynema::Beams< DeviceType >::qp_Cstar

◆ qp_deformation

template<typename DeviceType >
View<double** [3]> kynema::Beams< DeviceType >::qp_deformation

◆ qp_E

template<typename DeviceType >
View<double** [3][4]> kynema::Beams< DeviceType >::qp_E

◆ qp_Fe

template<typename DeviceType >
View<double** [6]> kynema::Beams< DeviceType >::qp_Fe

◆ qp_jacobian

template<typename DeviceType >
View<double**> kynema::Beams< DeviceType >::qp_jacobian

◆ qp_Mstar

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

◆ qp_omega

template<typename DeviceType >
View<double** [3]> kynema::Beams< DeviceType >::qp_omega

◆ qp_omega_dot

template<typename DeviceType >
View<double** [3]> kynema::Beams< DeviceType >::qp_omega_dot

◆ qp_r

template<typename DeviceType >
View<double** [4]> kynema::Beams< DeviceType >::qp_r

◆ qp_r0

template<typename DeviceType >
View<double** [4]> kynema::Beams< DeviceType >::qp_r0

◆ qp_r_prime

template<typename DeviceType >
View<double** [4]> kynema::Beams< DeviceType >::qp_r_prime

◆ qp_u

template<typename DeviceType >
View<double** [3]> kynema::Beams< DeviceType >::qp_u

◆ qp_u_ddot

template<typename DeviceType >
View<double** [3]> kynema::Beams< DeviceType >::qp_u_ddot

◆ qp_u_dot

template<typename DeviceType >
View<double** [3]> kynema::Beams< DeviceType >::qp_u_dot

◆ qp_u_prime

template<typename DeviceType >
View<double** [3]> kynema::Beams< DeviceType >::qp_u_prime

◆ qp_weight

template<typename DeviceType >
View<double**> kynema::Beams< DeviceType >::qp_weight

◆ qp_x

template<typename DeviceType >
View<double** [7]> kynema::Beams< DeviceType >::qp_x

◆ qp_x0

template<typename DeviceType >
View<double** [3]> kynema::Beams< DeviceType >::qp_x0

◆ qp_x0_prime

template<typename DeviceType >
View<double** [3]> kynema::Beams< DeviceType >::qp_x0_prime

◆ residual_vector_terms

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

◆ shape_deriv

template<typename DeviceType >
View<double***> kynema::Beams< DeviceType >::shape_deriv

◆ shape_interp

template<typename DeviceType >
View<double***> kynema::Beams< DeviceType >::shape_interp

◆ system_matrix_terms

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

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