/home/runner/work/kynema/kynema/kynema/src/model/node.hpp Source File
Kynema API
A flexible multibody structural dynamics code for wind turbines
|
Loading...
Searching...
No Matches
node.hpp
Go to the documentation of this file.
314 NodeBuilder& SetPosition(double x, double y, double z, double w, double i, double j, double k) {
Builder class for constructing and configuring Node objects.
Definition node.hpp:282
NodeBuilder & SetAcceleration(double x, double y, double z)
Definition node.hpp:499
NodeBuilder(NodeBuilder &&)=delete
NodeBuilder & operator=(const NodeBuilder &)=delete
NodeBuilder & SetDisplacement(double x, double y, double z)
Definition node.hpp:416
NodeBuilder & SetAcceleration(const std::array< double, 3 > &v)
Definition node.hpp:510
NodeBuilder(const NodeBuilder &)=delete
NodeBuilder & SetVelocity(const std::array< double, 3 > &v)
Definition node.hpp:463
NodeBuilder & SetDisplacement(double x, double y, double z, double w, double i, double j, double k)
Definition node.hpp:391
NodeBuilder & SetVelocity(const std::array< double, 6 > &v)
Definition node.hpp:442
NodeBuilder & SetAcceleration(const std::array< double, 6 > &v)
Definition node.hpp:489
NodeBuilder & SetDisplacement(const std::array< double, 3 > &p)
Definition node.hpp:403
NodeBuilder & SetVelocity(double x, double y, double z, double rx, double ry, double rz)
Definition node.hpp:433
NodeBuilder & SetPosition(double x, double y, double z, double w, double i, double j, double k)
Definition node.hpp:314
NodeBuilder & SetElemLocation(double location)
Definition node.hpp:522
NodeBuilder & SetOrientation(double w, double i, double j, double k)
Definition node.hpp:364
NodeBuilder & SetPosition(const std::array< double, 3 > &p)
Definition node.hpp:324
NodeBuilder & operator=(NodeBuilder &&)=delete
~NodeBuilder()=default
NodeBuilder & SetPosition(const std::array< double, 7 > &p)
Definition node.hpp:299
NodeBuilder & SetPosition(double x, double y, double z)
Definition node.hpp:337
NodeBuilder & SetDisplacement(const std::array< double, 7 > &p)
Definition node.hpp:376
NodeBuilder & SetVelocity(double x, double y, double z)
Definition node.hpp:452
NodeBuilder & SetOrientation(const std::array< double, 4 > &p)
Definition node.hpp:349
NodeBuilder & SetAcceleration(double x, double y, double z, double rx, double ry, double rz)
Definition node.hpp:480
size_t Build() const
Build finalizes construction of node and returns the node's ID.
Definition node.hpp:532
KOKKOS_INLINE_FUNCTION void CrossProduct(const VectorType &a, const VectorType &b, const VectorType &c)
Calculate the cross product between two vector views.
Definition vector_operations.hpp:40
KOKKOS_INLINE_FUNCTION void QuaternionCompose(const Quaternion1 &q1, const Quaternion2 &q2, QuaternionN &qn)
Composes (i.e. multiplies) two quaternions and stores the result in a third quaternion.
Definition quaternion_operations.hpp:204
KOKKOS_INLINE_FUNCTION void RotationVectorToQuaternion(const Vector &phi, const Quaternion &quaternion)
Returns a 4-D quaternion from provided 3-D rotation vector, i.e. the exponential map.
Definition quaternion_operations.hpp:231
KOKKOS_INLINE_FUNCTION void RotateVectorByQuaternion(const Quaternion &q, const View1 &v, const View2 &v_rot)
Rotates provided vector by provided unit quaternion and returns the result.
Definition quaternion_operations.hpp:120
Definition calculate_constraint_output.hpp:8
Node & RotateDisplacementAboutPoint(const std::array< double, 3 > &rv, const std::array< double, 3 > &point)
Rotate node displacement by a rotation vector about the given point.
Definition node.hpp:190
Node & Translate(const std::array< double, 3 > &displacement)
Translate node by a displacement vector.
Definition node.hpp:87
Node & RotateDisplacementAboutPoint(const std::array< double, 4 > &q, const std::array< double, 3 > &point)
Rotate node displacement by a quaternion about the given point.
Definition node.hpp:152
Node & RotateAboutPoint(const std::array< double, 4 > &q, const std::array< double, 3 > &point)
Rotate node by a quaternion about the given point.
Definition node.hpp:100
void SetVelocityAboutPoint(const std::array< double, 6 > &velocity, const std::array< double, 3 > &point)
Set node velocity based on rigid body motion about a reference point.
Definition node.hpp:203
Node(size_t node_id, std::array< double, 7 > position, std::array< double, 7 > displacement=std::array< double, 7 >{0., 0., 0., 1., 0., 0., 0.}, std::array< double, 6 > velocity=std::array< double, 6 >{0., 0., 0., 0., 0., 0.}, std::array< double, 6 > acceleration=std::array< double, 6 >{0., 0., 0., 0., 0., 0.})
Construct a node with an ID, position, displacement, velocity, and acceleration vectors.
Definition node.hpp:45
void SetAccelerationAboutPoint(const std::array< double, 6 > &acceleration, const std::array< double, 3 > &omega, const std::array< double, 3 > &point)
Set node acceleration based on rigid body motion about a reference point.
Definition node.hpp:233
Node & RotateAboutPoint(const std::array< double, 3 > &rv, const std::array< double, 3 > &point)
Rotate node by a rotation vector about the given point.
Definition node.hpp:133
Node & TranslateDisplacement(const std::array< double, 3 > &displacement)
Add translational displacement to node displacement vector.
Definition node.hpp:144
std::array< double, 7 > DisplacedPosition() const
Definition node.hpp:61
Generated by