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

Kynema API: /home/runner/work/kynema/kynema/kynema/src/step/update_constraint_prediction.hpp Source File
Kynema API
A flexible multibody structural dynamics code for wind turbines
Loading...
Searching...
No Matches
update_constraint_prediction.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <Kokkos_Core.hpp>
4#include <Kokkos_Profiling_ScopedRegion.hpp>
5
8#include "solver/solver.hpp"
9
10namespace kynema::step {
11
12template <typename DeviceType>
15) {
16 auto region = Kokkos::Profiling::ScopedRegion("Update Constraint Prediction");
17 using RangePolicy = Kokkos::RangePolicy<typename DeviceType::execution_space>;
18 auto range_policy = RangePolicy(0, constraints.num_constraints);
19 Kokkos::parallel_for(
20 "UpdateLambdaPrediction", range_policy,
22 solver.num_system_dofs, constraints.row_range, solver.x, constraints.lambda
23 }
24 );
25}
26
27} // namespace kynema::step
Definition assemble_constraints_matrix.hpp:11
void UpdateConstraintPrediction(Solver< DeviceType > &solver, Constraints< DeviceType > &constraints)
Definition update_constraint_prediction.hpp:13
Container class for managing multiple constraints in a simulation.
Definition constraints.hpp:29
View< double *[6]> lambda
Definition constraints.hpp:60
View< Kokkos::pair< size_t, size_t > * > row_range
Definition constraints.hpp:45
size_t num_constraints
Definition constraints.hpp:35
This object manages the assembly and solution of linear system arising from the generalized-alpha bas...
Definition solver.hpp:21
MultiVectorType x
Definition solver.hpp:79
size_t num_system_dofs
Definition solver.hpp:74
A Kernel to update the predicted constraint Lagrange multiplier values at each nonlinear iteration.
Definition update_lambda_prediction.hpp:12