mbsimflexiblebody 4.0.0 MBSim Flexible Body Module

Public Member Functions | Protected Attributes | List of all members
MBSimFlexibleBody::NurbsDisk2s Class Reference

2s flexible More...

`#include <nurbs_disk_2s.h>`

Inheritance diagram for MBSimFlexibleBody::NurbsDisk2s:
[legend]

## Public Member Functions

| NurbsDisk2s (const std::string &name)
| constructor More...
| ~NurbsDisk2s () override
| destructor
void | init (InitStage stage, const MBSim::InitConfigSet &config) override
MBSim::ContourFrame * | createContourFrame (const std::string &name="P") override
fmatvec::Vec3 | evalPosition (const fmatvec::Vec2 &zeta) override
fmatvec::Vec3 | evalWs (const fmatvec::Vec2 &zeta) override
fmatvec::Vec3 | evalWt (const fmatvec::Vec2 &zeta) override
fmatvec::Vec3 | evalWu (const fmatvec::Vec2 &zeta) override
fmatvec::Vec3 | evalWv (const fmatvec::Vec2 &zeta) override
fmatvec::Vec3 | evalWn (const fmatvec::Vec2 &zeta) override
bool | isZetaOutside (const fmatvec::Vec2 &zeta) override
void | updatePositions (MBSim::Frame *frame) override
void | updateVelocities (MBSim::Frame *frame) override
void | updateAccelerations (MBSim::Frame *frame) override
void | updateJacobians (MBSim::Frame *frame, int j=0) override
void | updateGyroscopicAccelerations (MBSim::Frame *frame) override
fmatvec::Vec3 | evalPosition ()
fmatvec::SqrMat3 | evalOrientation ()
void | plot () override
MBSim::ContactKinematics * | findContactPairingWith (const std::type_info &type0, const std::type_info &type1) override
| BOOST_PARAMETER_MEMBER_FUNCTION ((void), enableOpenMBV, MBSim::tag,(optional(diffuseColor,(const fmatvec::Vec3 &),"[-1;1;1]")(transparency,(double), 0)))
fmatvec::Vec | transformCW (const fmatvec::Vec &WrPoint)
| initialize NURBS disk More...
fmatvec::Mat | computeDirectionalDerivatives (const double &radius, const double &phi, const int &deg)
fmatvec::Mat | computeCurvatures (const double &radius, const double &phi)
void | computeUVector (const int NbPts)
| computes the U vector of the surface for a closed interpolation More...
void | computeVVector (const int NbPts)
| computes the V-vector of the surface for an open interpolation More...
void | computeSurface ()
| interpolates the surface with node-data from body
void | computeSurfaceVelocities ()
| interpolates the velocities of the surface with the node-data from the body
void | computeSurfaceJacobians ()
| interpolates the Jacobians of translation of the surface with the node-data from the body
fmatvec::Vec | getControlPoints (const int u, const int v)
fmatvec::Vec | getUVector ()
fmatvec::Vec | getVVector ()
int | testInsideBounds (const fmatvec::Vec &s)
double | computeError (const fmatvec::Vec &Vec1, const fmatvec::Vec &Vec2)
Public Member Functions inherited from MBSimFlexibleBody::Contour2s
| Contour2s (const std::string &name)
| constructor More...
Public Member Functions inherited from MBSim::Contour
| Contour (const std::string &name)
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)
void | createPlotGroup () override
Public Member Functions inherited from MBSim::Element
| Element (const std::string &name)
virtual void | setDynamicSystemSolver (DynamicSystemSolver *sys)
virtual void | plotAtSpecialEvent ()
const std::string & | getName () const
void | setName (const std::string &str)
DynamicSystemSolver * | getDynamicSystemSolver ()
virtual void | init (InitStage stage, const InitConfigSet &config)
H5::GroupBase * | getPlotGroup ()
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)
T * | getByPath (const std::string &path, bool initialCaller=true) const
std::string | getPath (const Element *relTo=nullptr, std::string sep="/") const
virtual Element * | getChildByContainerAndName (const std::string &container, const std::string &name) const
std::vector< Element * > | getDependencies () const
int | computeLevel ()

## Protected Attributes

int | RefDofs
| number of reference dofs of the flexible body
int | nj
| number of elements in azimuthal and radial direction
int | nr
int | degU
| interpolation degree azimuthal and radial
int | degV
double | Ri
| inner and outer radius
double | Ra
std::shared_ptr< OpenMBV::NurbsDisk > | openMBVNurbsDisk
double | drawDegree
PlNurbsSurfaced * | Surface
| interpolated surface of the contour
PlNurbsSurfaced * | SurfaceVelocities
| interpolated velocities of the surface-points
std::vector< PlNurbsSurfaced > | SurfaceJacobiansOfTranslation
| interpolated Jacobians of Translation on the surface
std::vector< PlNurbsSurfaced > | SurfaceJacobiansOfRotation
| interpolated Jacobians of Rotation on the surface
PLib::Vector< double > * | uvec
| knot vectors, used for the U und V coordinates of the surface
PLib::Vector< double > * | uVec
PLib::Vector< double > * | vvec
PLib::Vector< double > * | vVec
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
DynamicSystemSolver * | ds
H5::VectorSerie< double > * | plotVectorSerie
std::vector< double > | plotVector
std::vector< std::string > | plotColumns
H5::GroupBase * | plotGroup
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

2s flexible

Author
  Kilian Grundl
  Raphael Missel
  Thorsten Schindler

Date
  2009-05-22 initial commit (Grundl / Missel / Schindler)
  2009-06-04 separate contour files (Thorsten Schindler)
  2009-08-16 contour / visualisation (Grundl / Missel / Schindler)
  2010-04-21 flexible disks with parent (Grundl / Schindler)

Todo:

  computeSurfaceJacobians / computeSurfaceVelocities only in contact case TODO

  angularVelocity TODO

  flexible body should only parametrise midplane -> other surfaces in contour TODO

## Constructor & Destructor Documentation

## ◆ NurbsDisk2s()

MBSimFlexibleBody::NurbsDisk2s::NurbsDisk2s | ( | const std::string & | name | ) |

constructor

Parameters

  name | of contour

## Member Function Documentation

## ◆ computeCurvatures()

Mat MBSimFlexibleBody::NurbsDisk2s::computeCurvatures | ( | const double & | radius,
|  | const double & | phi
| ) |  |

Returns
  curvature on the surface: (first column: radial direction / second column: azimuthal-direction)

Parameters

  radial | location
  azimuthal | location

## ◆ computeDirectionalDerivatives()

Mat MBSimFlexibleBody::NurbsDisk2s::computeDirectionalDerivatives | ( | const double & | radius,
|  | const double & | phi,
|  | const int & | deg
| ) |  |

Returns
  derivates of the surface: (first column: deg-th derivative in radial direction / second column: deg-th derivative in azimuthal-direction)

Parameters

  radial | location
  azimuthal | location
  order | of derivative

## ◆ computeError()

double MBSimFlexibleBody::NurbsDisk2s::computeError | ( | const fmatvec::Vec & | Vec1,
|  | const fmatvec::Vec & | Vec2
| ) |  |

Returns
  norm of the difference between two vectors

Parameters

  first | vector
  second | vector

## ◆ computeUVector()

void MBSimFlexibleBody::NurbsDisk2s::computeUVector | ( | const int | NbPts | ) |

computes the U vector of the surface for a closed interpolation

Parameters

## ◆ computeVVector()

void MBSimFlexibleBody::NurbsDisk2s::computeVVector | ( | const int | NbPts | ) |

computes the V-vector of the surface for an open interpolation

Parameters

## ◆ getControlPoints()

Vec MBSimFlexibleBody::NurbsDisk2s::getControlPoints | ( | const int | u,
|  | const int | v
| ) |  |

Returns
  control point

Parameters

  u | location
  v | location

## ◆ getUVector()

Vec MBSimFlexibleBody::NurbsDisk2s::getUVector | ( |  | ) |

return U-Vector of the surface (azimuthal direction)

## ◆ getVVector()

Vec MBSimFlexibleBody::NurbsDisk2s::getVVector | ( |  | ) |

return V-Vector of the surface (radial direction)

## ◆ testInsideBounds()

int MBSimFlexibleBody::NurbsDisk2s::testInsideBounds | ( | const fmatvec::Vec & | s | ) |

Returns
  flag, whether the input radius is inside the bounds or the input angle is between 0 and 2 PI

Parameters

  parametrisation | vector

## ◆ transformCW()

Vec MBSimFlexibleBody::NurbsDisk2s::transformCW | ( | const fmatvec::Vec & | WrPoint | ) |

initialize NURBS disk

Parameters

  stage | of initialisation

transformation cartesian to cylinder system

Parameters

  cartesian | vector in world system

Returns
  cylindrical coordinates

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

- /mbsim-env/mbsim/modules/mbsimFlexibleBody/mbsimFlexibleBody/contours/nurbs_disk_2s.h
- /mbsim-env/mbsim/modules/mbsimFlexibleBody/mbsimFlexibleBody/contours/nurbs_disk_2s.cc