/home/runner/work/kynema/kynema/kynema/src/elements/beams/interpolate_QP_position.hpp Source File

Kynema API: /home/runner/work/kynema/kynema/kynema/src/elements/beams/interpolate_QP_position.hpp Source File
Kynema API
A flexible multibody structural dynamics code for wind turbines
Loading...
Searching...
No Matches
interpolate_QP_position.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <Kokkos_Core.hpp>
4
5namespace kynema::beams {
6
16template <typename DeviceType>
18 template <typename ValueType>
19 using View = Kokkos::View<ValueType, DeviceType>;
20 template <typename ValueType>
22
25 ConstView<double***> shape_interpolation; //< num_elem x num_nodes x num_qps
27 node_position_rotation; //< node position vector/generalized coordinates in global csys
28 View<double** [3]> qp_position; //< quadrature point position - x, y, z (computed)
29
31 void operator()(int element) const {
32 using Kokkos::Array;
33
34 const auto num_nodes = num_nodes_per_element(element);
35 const auto num_qps = num_qps_per_element(element);
36 for (auto qp = 0U; qp < num_qps; ++qp) {
38 for (auto node = 0U; node < num_nodes; ++node) {
39 const auto phi = shape_interpolation(element, node, qp);
40 for (auto component = 0U; component < 3U; ++component) {
42 node_position_rotation(element, node, component) * phi;
43 }
44 }
45 for (auto component = 0U; component < 3U; ++component) {
47 }
48 }
49 }
50};
51
52} // namespace kynema::beams
Definition beam_quadrature.hpp:16
Interpolates quadrature point positions from nodal positions using shape functions.
Definition interpolate_QP_position.hpp:17
ConstView< double **[7]> node_position_rotation
Definition interpolate_QP_position.hpp:27
ConstView< size_t * > num_qps_per_element
Definition interpolate_QP_position.hpp:24
Kokkos::View< ValueType, DeviceType > View
Definition interpolate_QP_position.hpp:19
ConstView< double *** > shape_interpolation
Definition interpolate_QP_position.hpp:25
View< double **[3]> qp_position
Definition interpolate_QP_position.hpp:28
KOKKOS_FUNCTION void operator()(int element) const
Definition interpolate_QP_position.hpp:31
ConstView< size_t * > num_nodes_per_element
Definition interpolate_QP_position.hpp:23
typename View< ValueType >::const_type ConstView
Definition interpolate_QP_position.hpp:21