/home/runner/work/kynema/kynema/kynema/src/step/update_tangent_operator.hpp Source File

Kynema API: /home/runner/work/kynema/kynema/kynema/src/step/update_tangent_operator.hpp Source File
Kynema API
A flexible multibody structural dynamics code for wind turbines
Loading...
Searching...
No Matches
update_tangent_operator.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <Kokkos_Core.hpp>
4#include <Kokkos_Profiling_ScopedRegion.hpp>
5
6#include "state/state.hpp"
7#include "step_parameters.hpp"
9
10namespace kynema::step {
11
12template <typename DeviceType>
13inline void UpdateTangentOperator(StepParameters& parameters, State<DeviceType>& state) {
14 auto region = Kokkos::Profiling::ScopedRegion("Update Tangent Operator");
15
16 using RangePolicy = Kokkos::RangePolicy<typename DeviceType::execution_space>;
17
18 Kokkos::parallel_for(
19 "CalculateTangentOperator", RangePolicy(0, state.num_system_nodes),
21 parameters.h,
22 state.q_delta,
23 state.tangent,
24 }
25 );
26}
27
28} // namespace kynema::step
Definition assemble_constraints_matrix.hpp:11
void UpdateTangentOperator(StepParameters &parameters, State< DeviceType > &state)
Definition update_tangent_operator.hpp:13
Container for storing the complete system state of the simulation at a given time increment.
Definition state.hpp:18
size_t num_system_nodes
Definition state.hpp:23
A Struct containing the paramters used to control the time stepping process.
Definition step_parameters.hpp:12
A Kernel for calculating the tangent operator at each node.
Definition calculate_tangent_operator.hpp:16