mbsimflexiblebody  4.0.0
MBSim Flexible Body Module
MBSimFlexibleBody::NurbsCurve1s Class Reference

contour 1s flexible with NURBS parametrization More...

#include <nurbs_curve_1s.h>

Inheritance diagram for MBSimFlexibleBody::NurbsCurve1s:
[legend]

Public Member Functions

 NurbsCurve1s (const std::string &name)
 constructor More...
 
 ~NurbsCurve1s () override=default
 destructor
 
virtual void computeRootFunctionPosition (MBSim::ContourFrame *frame)
 
virtual void computeRootFunctionFirstTangent (MBSim::ContourFrame *frame)
 
virtual void computeRootFunctionNormal (MBSim::ContourFrame *frame)
 
virtual void computeRootFunctionSecondTangent (MBSim::ContourFrame *frame)
 
MBSim::ContactKinematicsfindContactPairingWith (const std::type_info &type0, const std::type_info &type1) override
 
void setNormalRotationGrid (const fmatvec::Vec &normal_)
 
void initContourFromBody (InitStage stage)
 initialize NURBS curve More...
 
void computeCurveTranslations (bool update=false)
 interpolates the translations with node-data from body
 
void computeCurveVelocities (bool update=false)
 interpolates the velocities with the node-data from the body
 
void computeCurveAngularVelocities (bool update=false)
 interpolates the angular velocities with the node-data from the body
 
void computeCurveJacobians (bool trans=true, bool rot=true, bool update=false)
 interpolates the Jacobians of translation with the node-data from the body More...
 
- Public Member Functions inherited from MBSimFlexibleBody::Contour1s
 Contour1s (const std::string &name)
 constructor More...
 
void init (InitStage stage_, const MBSim::InitConfigSet &config) override
 
void plot () override
 
void setOpenMBVSpineExtrusion (const std::shared_ptr< OpenMBV::SpineExtrusion > &spineExtrusion)
 
std::shared_ptr< OpenMBV::SpineExtrusion > & getOpenMBVSpineExtrusion ()
 
- Public Member Functions inherited from MBSim::Contour
 Contour (const std::string &name)
 
virtual ContactKinematicsfindContactPairingWith (const std::type_info &type0, const std::type_info &type1)=0
 
virtual fmatvec::Vec3 evalPosition (const fmatvec::Vec2 &zeta)
 
virtual fmatvec::Vec3 evalWu (const fmatvec::Vec2 &zeta)
 
virtual fmatvec::Vec3 evalWv (const fmatvec::Vec2 &zeta)
 
virtual fmatvec::Vec3 evalWn (const fmatvec::Vec2 &zeta)
 
virtual fmatvec::Vec3 evalParDer1Wn (const fmatvec::Vec2 &zeta)
 
virtual fmatvec::Vec3 evalParDer2Wn (const fmatvec::Vec2 &zeta)
 
virtual fmatvec::Vec3 evalParDer1Wu (const fmatvec::Vec2 &zeta)
 
virtual fmatvec::Vec3 evalParDer2Wu (const fmatvec::Vec2 &zeta)
 
virtual fmatvec::Vec3 evalParDer1Wv (const fmatvec::Vec2 &zeta)
 
virtual fmatvec::Vec3 evalParDer2Wv (const fmatvec::Vec2 &zeta)
 
virtual fmatvec::Vec3 evalWs (const fmatvec::Vec2 &zeta)
 
virtual fmatvec::Vec3 evalWt (const fmatvec::Vec2 &zeta)
 
void createPlotGroup () override
 
- Public Member Functions inherited from MBSim::Element
 Element (const std::string &name)
 
virtual void setDynamicSystemSolver (DynamicSystemSolver *sys)
 
virtual void plot ()
 
virtual void plotAtSpecialEvent ()
 
const std::string & getName () const
 
void setName (const std::string &str)
 
DynamicSystemSolvergetDynamicSystemSolver ()
 
virtual void init (InitStage stage, const InitConfigSet &config=InitConfigSet())
 
virtual void createPlotGroup ()
 
H5::GroupBasegetPlotGroup ()
 
bool getPlotFeature (const PlotFeatureEnum &pf)
 
virtual void setPlotFeature (const PlotFeatureEnum &pf, bool value)
 
void setPlotFeatureForChildren (const PlotFeatureEnum &pf, bool value)
 
void setPlotFeatureRecursive (const PlotFeatureEnum &pf, bool value)
 
void setPlotAttribute (const std::string &name, const T &value, PlotAttributeStorage storage=PlotAttributeStorage::attribute)
 
T * getByPath (const std::string &path, bool initialCaller=true) const
 
std::string getPath (const Element *relTo=nullptr, std::string sep="/") const
 
virtual ElementgetChildByContainerAndName (const std::string &container, const std::string &name) const
 
std::vector< Element * > getDependencies () const
 
int computeLevel ()
 

Protected Attributes

int Elements
 number of elements
 
int qSize
 number of DOFs
 
bool openStructure
 open or closed beam structure
 
double L
 length of entire curve
 
int degU
 interpolation degree
 
MBSim::NurbsCurve curveTranslations
 interpolated translations of the contour
 
MBSim::NurbsCurve curveVelocities
 interpolated velocities of the contour
 
MBSim::NurbsCurve curveAngularVelocities
 interpolated angular velocities of the contour
 
fmatvec::Vec3 normalRotationGrid
 closest normal on rotation grid to update direction of normal of nurbs-curve and to avoid jumping
 
std::vector< MBSim::NurbsCurveCurveJacobiansOfTranslation
 interpolated Jacobians of Translation of the contour
 
std::vector< MBSim::NurbsCurveCurveJacobiansOfRotation
 interpolated Jacobians of Rotation on the contour
 
- Protected Attributes inherited from MBSimFlexibleBody::Contour1s
std::shared_ptr< OpenMBV::SpineExtrusionopenMBVSpineExtrusion
 body for the spine extrusion for visualisation of the 1s-body
 
- Protected Attributes inherited from MBSim::Contour
int hSize [2]
 
double thickness
 
- Protected Attributes inherited from MBSim::Element
std::string name
 
std::string path
 
MBXMLUtils::DOMEvalException domEvalError
 
DynamicSystemSolverds
 
H5::VectorSerie< double > * plotVectorSerie
 
std::vector< double > plotVector
 
std::vector< std::string > plotColumns
 
H5::GroupBaseplotGroup
 
std::vector< Element * > dependency
 
PlotFeatureMap plotFeature
 

Additional Inherited Members

- Public Types inherited from MBSim::Element
enum  InitStage
 
- Public Attributes inherited from MBSim::Element
 resolveStringRef
 
 preInit
 
 plotting
 
 unknownStage
 

Detailed Description

contour 1s flexible with NURBS parametrization

Author
Thorsten Schindler
Kilian Grundl
Date
2011-10-16 initial commit (Thorsten Schindler)
2012-03-15 updateKinematicsForFrame and contact Jacobians (Cebulla / Schindler)
2013-02-04 contour now for 2D and 3D Cosserat beam (Zitzewitz / Cebulla / Schindler)
2013-08-19 using self implemented nurbs-curve

Constructor & Destructor Documentation

◆ NurbsCurve1s()

MBSimFlexibleBody::NurbsCurve1s::NurbsCurve1s ( const std::string &  name)
inline

constructor

Parameters
nameof contour

Member Function Documentation

◆ computeCurveJacobians()

void MBSimFlexibleBody::NurbsCurve1s::computeCurveJacobians ( bool  trans = true,
bool  rot = true,
bool  update = false 
)

interpolates the Jacobians of translation with the node-data from the body

Parameters
interpolatetranslational jacobian
interpolaterotational jacobian

◆ findContactPairingWith()

ContactKinematics * MBSimFlexibleBody::NurbsCurve1s::findContactPairingWith ( const std::type_info &  type0,
const std::type_info &  type1 
)
overridevirtual

Implements MBSim::Contour.

◆ initContourFromBody()

void MBSimFlexibleBody::NurbsCurve1s::initContourFromBody ( InitStage  stage)

initialize NURBS curve

Parameters
stageof initialisation

The documentation for this class was generated from the following files: