All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Pages
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:
MBSimFlexibleBody::Contour2s MBSim::Contour MBSim::Element fmatvec::Atom

Public Member Functions

 NurbsDisk2s (const std::string &name)
 constructor More...
 
virtual ~NurbsDisk2s ()
 destructor
 
virtual std::string getType () const
 
void init (InitStage stage)
 
virtual MBSim::ContourFramecreateContourFrame (const std::string &name="P")
 
virtual fmatvec::Vec3 evalPosition (const fmatvec::Vec2 &zeta)
 
virtual fmatvec::Vec3 evalWs (const fmatvec::Vec2 &zeta)
 
virtual fmatvec::Vec3 evalWt (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 bool isZetaOutside (const fmatvec::Vec2 &zeta)
 
void updatePositions (MBSim::ContourFrame *frame)
 
void updateVelocities (MBSim::ContourFrame *frame)
 
void updateAccelerations (MBSim::ContourFrame *frame)
 
void updateJacobians (MBSim::ContourFrame *frame, int j=0)
 
void updateGyroscopicAccelerations (MBSim::ContourFrame *frame)
 
fmatvec::Vec3 evalPosition ()
 
fmatvec::SqrMat3 evalOrientation ()
 
virtual void plot ()
 
virtual MBSim::ContactKinematicsfindContactPairingWith (std::string type0, std::string type1)
 
 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
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 evalWrPS (const fmatvec::Vec2 &zeta)
 
- Public Member Functions inherited from fmatvec::Atom
Atomoperator= (const Atom &)
 
void setMessageStreamActive (MsgType type, bool active)
 
void getMessageStream (MsgType type, std::shared_ptr< bool > &a, std::shared_ptr< std::ostream > &s)
 
void adoptMessageStreams (const Atom *src=NULL)
 
std::ostream & msg (MsgType type)
 
bool msgAct (MsgType type)
 

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
 

Additional Inherited Members

- Public Types inherited from fmatvec::Atom
enum  MsgType
 
- Static Public Member Functions inherited from fmatvec::Atom
static void setCurrentMessageStream (MsgType type, const std::shared_ptr< bool > &a=std::make_shared< bool >(true), const std::shared_ptr< std::ostream > &s=std::make_shared< std::ostream >(std::cout.rdbuf()))
 
static std::ostream & msgStatic (MsgType type)
 
static bool msgActStatic (MsgType type)
 
- Protected Member Functions inherited from fmatvec::Atom
 Atom (const Atom &src)
 

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

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

constructor

Parameters
nameof contour

Member Function Documentation

Mat MBSimFlexibleBody::NurbsDisk2s::computeCurvatures ( const double &  radius,
const double &  phi 
)
Returns
curvature on the surface: (first column: radial direction / second column: azimuthal-direction)
Parameters
radiallocation
azimuthallocation
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
radiallocation
azimuthallocation
orderof derivative
double MBSimFlexibleBody::NurbsDisk2s::computeError ( const fmatvec::Vec Vec1,
const fmatvec::Vec Vec2 
)
Returns
norm of the difference between two vectors
Parameters
firstvector
secondvector
void MBSimFlexibleBody::NurbsDisk2s::computeUVector ( const int  NbPts)

computes the U vector of the surface for a closed interpolation

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

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

Parameters
Vec MBSimFlexibleBody::NurbsDisk2s::getControlPoints ( const int  u,
const int  v 
)
Returns
control point
Parameters
ulocation
vlocation
Vec MBSimFlexibleBody::NurbsDisk2s::getUVector ( )

return U-Vector of the surface (azimuthal direction)

Vec MBSimFlexibleBody::NurbsDisk2s::getVVector ( )

return V-Vector of the surface (radial direction)

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
parametrisationvector
Vec MBSimFlexibleBody::NurbsDisk2s::transformCW ( const fmatvec::Vec WrPoint)

initialize NURBS disk

Parameters
stageof initialisation

transformation cartesian to cylinder system

Parameters
cartesianvector in world system
Returns
cylindrical coordinates

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

Impressum / Disclaimer / Datenschutz Generated by doxygen 1.8.5 Valid HTML