Class ModalNodeDeformationProvider#

Nested Relationships#

Nested Types#

Inheritance Relationships#

Base Type#

Class Documentation#

class ModalNodeDeformationProvider : public Karana::Dynamics::NodeDeformationProvider#

Node deformation provider class for modeling small deformation via modal representation.

See Flexible body systems section for more information of deformation provider classes.

Public Functions

ModalNodeDeformationProvider(std::string_view name, kc::ks_ptr<Node> node)#

Constructor.

Parameters:
  • name – the assignmed name

  • node – the associated node

~ModalNodeDeformationProvider()#

Destructor.

inline virtual std::string_view typeString() const noexcept override#

Returns the type string of Base.

Returns:

The type string.

void setNodalMatrix(const km::Mat &nodal_matrix)#

Set the nodal deformation matrix.

Parameters:

nodal_matrix – the nodal matrix

inline const km::Mat6n &getNodalMatrix() const#

Return the nodal deformation matrix.

Returns:

the nodal matrix

inline kc::ks_ptr<kf::Frame> undeformedFrame() const#

Return the undeformed frame.

Returns:

the undeformed Frame instance

inline kc::ks_ptr<kf::Frame> deformedTransFrame() const#

Return the deformed translational frame.

Returns:

the deformed translational Frame instance

inline kc::ks_ptr<kf::Frame> deformedRotFrame() const#

Return the deformed rotational frame.

Returns:

the derformed rotational Frame instance

virtual bool isFinalized() const override#

Checks is the params for the object have been initialized.

Returns:

True if the params have set up.

virtual std::string dumpString(std::string_view prefix, const Karana::Core::Base::DumpOptions *options) const override#

Return information about the object.

Parameters:
  • prefix – A string to use as prefix for each output line

  • options – Struct with options to tailor the output

Returns:

String with the information about the object.

Protected Functions

virtual kc::ks_ptr<NodeDeformationProvider::DeformationParams> _getParams() const override#
virtual void _setParams(const NodeDeformationProvider::DeformationParams &params) override#
void _discard(kc::ks_ptr<Base> &base) override#

Discard the provided ModalDeformationProvider.

Parameters:

base – - Base pointer to the ModalDeformationProvider to discard.

km::HomTran _transFrameRelTransformHelper() const#

helper methods to compute the deformation quantitities in the body frame for the node. For regular body nodes and onodes, these will essentially be the callbacks for the node’s f2f edge. For a pnode, the undeformed frame is a child of the node, and the body a child of the undeformed frame. These helper methods will be used within the _undeformed frame’s f2f edge’s callbacks to compute the quantities.

km::SpatialVector _transFrameRelSpVelHelper() const#
km::SpatialVector _transFrameRelSpAccelHelper() const#
km::HomTran _rotFrameRelTransformHelper() const#
km::SpatialVector _rotFrameRelSpVelHelper() const#
km::SpatialVector _rotFrameRelSpAccelHelper() const#
km::HomTran _transFrameRelTransformReversedHelper() const#
km::SpatialVector _transFrameRelSpVelReversedHelper() const#
km::SpatialVector _transFrameRelSpAccelReversedHelper() const#
km::HomTran _rotFrameRelTransformReversedHelper() const#
km::SpatialVector _rotFrameRelSpVelReversedHelper() const#
km::SpatialVector _rotFrameRelSpAccelReversedHelper() const#

Protected Attributes

km::Mat6n _nodal_matrix#

the modal matrix for this node

kc::ks_ptr<kf::Frame> _undeformed_frame = nullptr#

the undeformed frame for this node.

kc::ks_ptr<kf::Frame> _deformed_trans_frame = nullptr#

the “trans” deformed frame for this node.

kc::ks_ptr<kf::Frame> _deformed_rot_frame = nullptr#

the “rot” deformed frame for this node.

struct DeformationParams : public Karana::Dynamics::NodeDeformationProvider::DeformationParams#

Struct with modal deformation parameters for a node

Public Functions

DeformationParams() = default#
inline DeformationParams &operator=(const NodeDeformationProvider::DeformationParams *p)#

Assignment operator.

Parameters:

pDeformationParams to copy values from.

Returns:

A reference to the newly assigned DeformationParams.

Public Members

km::Mat nodal_matrix#

the nodal matrix for the node