CalculateJacobian< DeviceType > Struct Template Reference

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

Functor to calculate Jacobians and unit tangent vectors at quadrature points for beam elements. More...

#include <calculate_jacobian.hpp>

Public Types

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

Public Member Functions

KOKKOS_FUNCTION void operator() (int element) const
 

Public Attributes

ConstView< size_t * > num_nodes_per_element
 
ConstView< size_t * > num_qps_per_element
 
ConstView< double *** > shape_derivative
 
ConstView< double **[7]> node_position_rotation
 
View< double **[3]> qp_position_derivative
 
View< double ** > qp_jacobian
 

Detailed Description

template<typename DeviceType>
struct kynema::beams::CalculateJacobian< DeviceType >

Functor to calculate Jacobians and unit tangent vectors at quadrature points for beam elements.

This functor performs two main operations for a provided element:

  • Calculates the Jacobian (J = |dx/dξ|) at each quadrature point, which represents the mapping between parametric (ξ) and physical (x) space
  • Computes normalized position derivatives to obtain unit tangent vectors
Note
The functor modifies qp_position_derivative in place, normalizing it to create unit tangent vectors

Member Typedef Documentation

◆ ConstView

template<typename DeviceType >
template<typename ValueType >
using kynema::beams::CalculateJacobian< DeviceType >::ConstView = typename View<ValueType>::const_type

◆ View

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

Member Function Documentation

◆ operator()()

template<typename DeviceType >
KOKKOS_FUNCTION void kynema::beams::CalculateJacobian< DeviceType >::operator() ( int  element) const
inline

Member Data Documentation

◆ node_position_rotation

template<typename DeviceType >
ConstView<double** [7]> kynema::beams::CalculateJacobian< DeviceType >::node_position_rotation

◆ num_nodes_per_element

template<typename DeviceType >
ConstView<size_t*> kynema::beams::CalculateJacobian< DeviceType >::num_nodes_per_element

◆ num_qps_per_element

template<typename DeviceType >
ConstView<size_t*> kynema::beams::CalculateJacobian< DeviceType >::num_qps_per_element

◆ qp_jacobian

template<typename DeviceType >
View<double**> kynema::beams::CalculateJacobian< DeviceType >::qp_jacobian

◆ qp_position_derivative

template<typename DeviceType >
View<double** [3]> kynema::beams::CalculateJacobian< DeviceType >::qp_position_derivative

◆ shape_derivative

template<typename DeviceType >
ConstView<double***> kynema::beams::CalculateJacobian< DeviceType >::shape_derivative

The documentation for this struct was generated from the following file: