CalculateConstraintResidualGradient< DeviceType > Struct Template Reference

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

Top level kernel which calculates the residual and gradient contributions of a constraint. More...

#include <calculate_constraint_residual_gradient.hpp>

Public Types

using TransposeMatrix = KokkosBatched::SerialCopy< KokkosBatched::Trans::Transpose >
 
using Gemm = KokkosBatched::SerialGemm< KokkosBatched::Trans::NoTranspose, KokkosBatched::Trans::NoTranspose, KokkosBatched::Algo::Gemm::Default >
 
using CopyVector = KokkosBatched::SerialCopy< KokkosBatched::Trans::NoTranspose, 1 >
 
using CopyMatrix = KokkosBatched::SerialCopy< KokkosBatched::Trans::NoTranspose, 2 >
 
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 FixedBC (size_t constraint) const
 
KOKKOS_FUNCTION void FixedBC3DOF (size_t constraint) const
 
KOKKOS_FUNCTION void PrescribedBC (size_t constraint) const
 
KOKKOS_FUNCTION void PrescribedBC3DOF (size_t constraint) const
 
KOKKOS_FUNCTION void RigidJoint (size_t constraint) const
 
KOKKOS_FUNCTION void RigidJoint3DOF (size_t constraint) const
 
KOKKOS_FUNCTION void RevoluteJoint (size_t constraint) const
 
KOKKOS_FUNCTION void RotationControl (size_t constraint) const
 
KOKKOS_FUNCTION void operator() (size_t constraint) const
 

Public Attributes

ConstView< ConstraintType * > type_
 
ConstView< size_t * > base_node_index_
 
ConstView< size_t * > target_node_index_
 
ConstView< double *[3]> X0_
 
ConstView< double *[3][3]> axes_
 
ConstView< double *[7]> constraint_inputs_
 
ConstView< double *[6]> lambda_
 
ConstView< double *[6][6]> tangent_
 
ConstView< double *[7]> node_u_
 
View< double *[6]> res_
 
View< double *[6]> b_lambda_res_
 
View< double *[6]> t_lambda_res_
 
View< double *[6]> system_res_
 
View< double *[6][6]> b_grad_
 
View< double *[6][6]> t_grad_
 
View< double *[6][6]> b_grad_trans_
 
View< double *[6][6]> t_grad_trans_
 

Detailed Description

template<typename DeviceType>
struct kynema::constraints::CalculateConstraintResidualGradient< DeviceType >

Top level kernel which calculates the residual and gradient contributions of a constraint.

This Kernel performs the action of identifying the constraint's type, loading the required input variables into local variables, and then calling specialized kernels that perform the actual calculations.

Member Typedef Documentation

◆ ConstView

template<typename DeviceType >
template<typename ValueType >
using kynema::constraints::CalculateConstraintResidualGradient< DeviceType >::ConstView = typename View<ValueType>::const_type

◆ CopyMatrix

template<typename DeviceType >
using kynema::constraints::CalculateConstraintResidualGradient< DeviceType >::CopyMatrix = KokkosBatched::SerialCopy<KokkosBatched::Trans::NoTranspose, 2>

◆ CopyVector

template<typename DeviceType >
using kynema::constraints::CalculateConstraintResidualGradient< DeviceType >::CopyVector = KokkosBatched::SerialCopy<KokkosBatched::Trans::NoTranspose, 1>

◆ Gemm

template<typename DeviceType >
using kynema::constraints::CalculateConstraintResidualGradient< DeviceType >::Gemm = KokkosBatched::SerialGemm< KokkosBatched::Trans::NoTranspose, KokkosBatched::Trans::NoTranspose, KokkosBatched::Algo::Gemm::Default>

◆ TransposeMatrix

template<typename DeviceType >
using kynema::constraints::CalculateConstraintResidualGradient< DeviceType >::TransposeMatrix = KokkosBatched::SerialCopy<KokkosBatched::Trans::Transpose>

◆ View

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

Member Function Documentation

◆ FixedBC()

template<typename DeviceType >
KOKKOS_FUNCTION void kynema::constraints::CalculateConstraintResidualGradient< DeviceType >::FixedBC ( size_t  constraint) const
inline

◆ FixedBC3DOF()

template<typename DeviceType >
KOKKOS_FUNCTION void kynema::constraints::CalculateConstraintResidualGradient< DeviceType >::FixedBC3DOF ( size_t  constraint) const
inline

◆ operator()()

template<typename DeviceType >
KOKKOS_FUNCTION void kynema::constraints::CalculateConstraintResidualGradient< DeviceType >::operator() ( size_t  constraint) const
inline

◆ PrescribedBC()

template<typename DeviceType >
KOKKOS_FUNCTION void kynema::constraints::CalculateConstraintResidualGradient< DeviceType >::PrescribedBC ( size_t  constraint) const
inline

◆ PrescribedBC3DOF()

template<typename DeviceType >
KOKKOS_FUNCTION void kynema::constraints::CalculateConstraintResidualGradient< DeviceType >::PrescribedBC3DOF ( size_t  constraint) const
inline

◆ RevoluteJoint()

template<typename DeviceType >
KOKKOS_FUNCTION void kynema::constraints::CalculateConstraintResidualGradient< DeviceType >::RevoluteJoint ( size_t  constraint) const
inline

◆ RigidJoint()

template<typename DeviceType >
KOKKOS_FUNCTION void kynema::constraints::CalculateConstraintResidualGradient< DeviceType >::RigidJoint ( size_t  constraint) const
inline

◆ RigidJoint3DOF()

template<typename DeviceType >
KOKKOS_FUNCTION void kynema::constraints::CalculateConstraintResidualGradient< DeviceType >::RigidJoint3DOF ( size_t  constraint) const
inline

◆ RotationControl()

template<typename DeviceType >
KOKKOS_FUNCTION void kynema::constraints::CalculateConstraintResidualGradient< DeviceType >::RotationControl ( size_t  constraint) const
inline

Member Data Documentation

◆ axes_

template<typename DeviceType >
ConstView<double* [3][3]> kynema::constraints::CalculateConstraintResidualGradient< DeviceType >::axes_

◆ b_grad_

template<typename DeviceType >
View<double* [6][6]> kynema::constraints::CalculateConstraintResidualGradient< DeviceType >::b_grad_

◆ b_grad_trans_

template<typename DeviceType >
View<double* [6][6]> kynema::constraints::CalculateConstraintResidualGradient< DeviceType >::b_grad_trans_

◆ b_lambda_res_

template<typename DeviceType >
View<double* [6]> kynema::constraints::CalculateConstraintResidualGradient< DeviceType >::b_lambda_res_

◆ base_node_index_

template<typename DeviceType >
ConstView<size_t*> kynema::constraints::CalculateConstraintResidualGradient< DeviceType >::base_node_index_

◆ constraint_inputs_

template<typename DeviceType >
ConstView<double* [7]> kynema::constraints::CalculateConstraintResidualGradient< DeviceType >::constraint_inputs_

◆ lambda_

template<typename DeviceType >
ConstView<double* [6]> kynema::constraints::CalculateConstraintResidualGradient< DeviceType >::lambda_

◆ node_u_

template<typename DeviceType >
ConstView<double* [7]> kynema::constraints::CalculateConstraintResidualGradient< DeviceType >::node_u_

◆ res_

template<typename DeviceType >
View<double* [6]> kynema::constraints::CalculateConstraintResidualGradient< DeviceType >::res_

◆ system_res_

template<typename DeviceType >
View<double* [6]> kynema::constraints::CalculateConstraintResidualGradient< DeviceType >::system_res_

◆ t_grad_

template<typename DeviceType >
View<double* [6][6]> kynema::constraints::CalculateConstraintResidualGradient< DeviceType >::t_grad_

◆ t_grad_trans_

template<typename DeviceType >
View<double* [6][6]> kynema::constraints::CalculateConstraintResidualGradient< DeviceType >::t_grad_trans_

◆ t_lambda_res_

template<typename DeviceType >
View<double* [6]> kynema::constraints::CalculateConstraintResidualGradient< DeviceType >::t_lambda_res_

◆ tangent_

template<typename DeviceType >
ConstView<double* [6][6]> kynema::constraints::CalculateConstraintResidualGradient< DeviceType >::tangent_

◆ target_node_index_

template<typename DeviceType >
ConstView<size_t*> kynema::constraints::CalculateConstraintResidualGradient< DeviceType >::target_node_index_

◆ type_

◆ X0_


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