/home/runner/work/kynema/kynema/kynema/src/constraints/constraint.hpp Source File

Kynema API: /home/runner/work/kynema/kynema/kynema/src/constraints/constraint.hpp Source File
Kynema API
A flexible multibody structural dynamics code for wind turbines
Loading...
Searching...
No Matches
constraint.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <cstddef>
4
5#include "constraint_type.hpp"
6
7namespace kynema::constraints {
8
17struct Constraint {
18 size_t ID;
20 std::array<size_t, 2> node_ids;
21 std::array<double, 3> axis_vector;
22 std::array<double, 7> initial_displacement;
23 double* control;
24
36 size_t id, ConstraintType c_type, const std::array<size_t, 2>& ids,
37 const std::array<double, 3>& v = {0., 0., 0.},
38 const std::array<double, 7>& init_disp = {0., 0., 0., 1., 0., 0., 0.}, double* ctrl = nullptr
39 )
40 : ID(id),
41 type(c_type),
42 node_ids(ids),
43 axis_vector(v),
44 initial_displacement(init_disp),
45 control(ctrl) {}
46};
47
48} // namespace kynema::constraints
Definition calculate_constraint_output.hpp:8
ConstraintType
Definition constraint_type.hpp:9
Defines a constraint between two nodes or enforces a boundary condition at a single node.
Definition constraint.hpp:17
ConstraintType type
Type of constraint.
Definition constraint.hpp:19
Constraint(size_t id, ConstraintType c_type, const std::array< size_t, 2 > &ids, const std::array< double, 3 > &v={0., 0., 0.}, const std::array< double, 7 > &init_disp={0., 0., 0., 1., 0., 0., 0.}, double *ctrl=nullptr)
Constructs a constraint with specified parameters.
Definition constraint.hpp:35
std::array< double, 7 > initial_displacement
Initial displacement for prescribed BC.
Definition constraint.hpp:22
std::array< double, 3 > axis_vector
Vector for rotation/control axis.
Definition constraint.hpp:21
std::array< size_t, 2 > node_ids
Node IDs for: {base_node, target_node}.
Definition constraint.hpp:20
size_t ID
Unique identifier for constraint.
Definition constraint.hpp:18
double * control
Pointer to control signal (if any)
Definition constraint.hpp:23