All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Pages
Public Member Functions | Protected Member Functions | List of all members
MBSimFlexibleBody::FlexibleBody2s13Disk Class Reference

plate according to Reissner-Mindlin with axial moving frame of reference More...

#include <flexible_body_2s_13_disk.h>

Inheritance diagram for MBSimFlexibleBody::FlexibleBody2s13Disk:
MBSimFlexibleBody::FlexibleBody2s13 MBSimFlexibleBody::FlexibleBody2s MBSimFlexibleBody::FlexibleBodyContinuum< fmatvec::Vec2 > MBSimFlexibleBody::FlexibleBody MBSim::Body MBSim::Object MBSim::Element fmatvec::Atom

Public Member Functions

 FlexibleBody2s13Disk (const std::string &name)
 constructor More...
 
virtual ~FlexibleBody2s13Disk ()
 destructor
 
virtual void BuildElements ()
 references finite element coordinates to assembled coordinates
 
virtual void GlobalVectorContribution (int CurrentElement, const fmatvec::Vec &locVec, fmatvec::Vec &gloVec)
 insert 'local' information in global vectors More...
 
virtual void GlobalMatrixContribution (int CurrentElement, const fmatvec::Mat &locMat, fmatvec::Mat &gloMat)
 insert 'local' information in global matrices More...
 
virtual void GlobalMatrixContribution (int CurrentElement, const fmatvec::SymMat &locMat, fmatvec::SymMat &gloMat)
 insert 'local' information in global matrices More...
 
fmatvec::Vec3 evalPosition ()
 
fmatvec::SqrMat3 evalOrientation ()
 
virtual void updatePositions (Frame2s *frame)
 
virtual void updateVelocities (Frame2s *frame)
 
virtual void updateAccelerations (Frame2s *frame)
 
virtual void updateJacobians (Frame2s *frame, int j=0)
 
virtual void updateGyroscopicAccelerations (Frame2s *frame)
 
virtual void updatePositions (NodeFrame *frame)
 
virtual void updateVelocities (NodeFrame *frame)
 
virtual void updateAccelerations (NodeFrame *frame)
 
virtual void updateJacobians (NodeFrame *frame, int j=0)
 
virtual void updateGyroscopicAccelerations (NodeFrame *frame)
 
virtual void init (InitStage stage)
 
virtual std::string getType () const
 
virtual fmatvec::Vec transformCW (const fmatvec::Vec &WrPoint)
 transform Cartesian to cylinder system More...
 
- Public Member Functions inherited from MBSimFlexibleBody::FlexibleBody2s13
 FlexibleBody2s13 (const std::string &name, const int &DEBUGLEVEL_=0)
 constructor More...
 
virtual ~FlexibleBody2s13 ()
 destructor
 
virtual void updateh (int j=0)
 
virtual void updatedhdz ()
 
virtual void updateM ()
 
virtual void updateLLM ()
 
virtual void plot ()
 
void setRadius (double Ri_, double Ra_)
 
void setEModul (double E_)
 
void setPoissonRatio (double nu_)
 
void setThickness (const fmatvec::Vec &d_)
 
fmatvec::Vec getThickness () const
 
void setDensity (double rho_)
 
int getReferenceDegreesOfFreedom () const
 
int getRadialNumberOfElements () const
 
int getAzimuthalNumberOfElements () const
 
double getInnerRadius () const
 
double getOuterRadius () const
 
double getAzimuthalDegree () const
 
double getRadialDegree () const
 
fmatvec::SqrMat3 & evalA ()
 
fmatvec::SqrMat3 & evalG ()
 
void setReferenceInertia (double m0_, fmatvec::SymMat3 J0_)
 
void setLockType (LockType LT_)
 
void setNumberElements (int nr_, int nj_)
 set number of elements in radial and azimuthal direction More...
 
double computePotentialEnergy ()
 
void resetUpToDate ()
 
void updateExt ()
 
const fmatvec::VecevalqExt ()
 
const fmatvec::VecevaluExt ()
 
- Public Member Functions inherited from MBSimFlexibleBody::FlexibleBody2s
 FlexibleBody2s (const std::string &name)
 constructor: More...
 
void addFrame (Frame2s *frame)
 
void setOpenMBVSpineExtrusion (const std::shared_ptr< OpenMBV::SpineExtrusion > &body)
 
- Public Member Functions inherited from MBSimFlexibleBody::FlexibleBodyContinuum< fmatvec::Vec2 >
 FlexibleBodyContinuum (const std::string &name)
 constructor More...
 
void setContourNodes (const std::vector< fmatvec::Vec2 > nodes)
 
void setNodeOffset (const fmatvec::Vec2nodeOffset_)
 
fmatvec::Vec2 getNodeOffset () const
 
- Public Member Functions inherited from MBSimFlexibleBody::FlexibleBody
 FlexibleBody (const std::string &name)
 constructor More...
 
virtual ~FlexibleBody ()
 destructor
 
virtual void updatedq ()
 
virtual void updateqd ()
 
virtual void initializeUsingXML (xercesc::DOMElement *element)
 
virtual double computeKineticEnergy ()
 
virtual void setFrameOfReference (MBSim::Frame *frame)
 
virtual void setq0 (fmatvec::Vec q0_)
 
virtual void setu0 (fmatvec::Vec u0_)
 
const fmatvec::VecgetqElement (int i)
 
const fmatvec::VecgetuElement (int i)
 
virtual fmatvec::Vec3 getAngles (int i)
 
virtual fmatvec::Vec3 getDerivativeOfAngles (int i)
 
void setMassProportionalDamping (const double d_)
 cartesian kinematic for contour or external frame (normal, tangent, binormal) is set by implementation class More...
 
void addFrame (NodeFrame *frame)
 
void addFrame (MBSim::ContourFrame *frame)
 
void addFrame (MBSim::FixedRelativeFrame *frame)
 
void addContour (MBSim::Contour *contour)
 
virtual void exportPositionVelocity (const std::string &filenamePos, const std::string &filenameVel=std::string(), const int &deg=3, const bool &writePsFile=false)
 interpolates the position and optional the velocity coordinates of the flexible body with Nurbs-package and exports the nurbs curve in the specified file More...
 
virtual void importPositionVelocity (const std::string &filenamePos, const std::string &filenameVel=std::string())
 imports the interpolated position and optional the velocity files (created with exportPositionVelocity) and fits the rigid and flexible coordinate dofs and optional the translatory velocity components of flexible body to the imported nurbs curve More...
 
void resetUpToDate ()
 
- Public Member Functions inherited from MBSim::Body
 Body (const std::string &name)
 
virtual void closePlot ()
 
virtual void setDynamicSystemSolver (DynamicSystemSolver *sys)
 
virtual ContourgetContour (const std::string &name, bool check=true) const
 
virtual FramegetFrame (const std::string &name, bool check=true) const
 
virtual FramegetFrameOfReference ()
 
virtual const FramegetFrameOfReference () const
 
int frameIndex (const Frame *frame_) const
 
int contourIndex (const Contour *contour_) const
 
virtual ElementgetChildByContainerAndName (const std::string &container, const std::string &name) const
 
 Object (const std::string &name)
 
virtual void updateqRef (const fmatvec::Vec &qRef)
 
virtual void updateqdRef (const fmatvec::Vec &qdRef)
 
virtual void updatedqRef (const fmatvec::Vec &dqRef)
 
virtual void updateuRef (const fmatvec::Vec &uRef)
 
virtual void updateuallRef (const fmatvec::Vec &uallRef)
 
virtual void updateudRef (const fmatvec::Vec &udRef)
 
virtual void updateduRef (const fmatvec::Vec &duRef)
 
virtual void updateudallRef (const fmatvec::Vec &udallRef)
 
virtual void updatehRef (const fmatvec::Vec &hRef, int i=0)
 
virtual void updatedhdqRef (const fmatvec::Mat &dhdqRef, int i=0)
 
virtual void updatedhduRef (const fmatvec::SqrMat &dhduRef, int i=0)
 
virtual void updatedhdtRef (const fmatvec::Vec &dhdtRef, int i=0)
 
virtual void updaterRef (const fmatvec::Vec &ref, int i=0)
 
virtual void updaterdtRef (const fmatvec::Vec &ref)
 
virtual void updateTRef (const fmatvec::Mat &ref)
 
virtual void updateMRef (const fmatvec::SymMat &ref)
 
virtual void updateLLMRef (const fmatvec::SymMat &ref)
 
virtual void initz ()
 
virtual void writez (H5::GroupBase *group)
 
virtual void readz0 (H5::GroupBase *group)
 
virtual double evalKineticEnergy ()
 
virtual double evalPotentialEnergy ()
 
virtual void setUpInverseKinetics ()
 
- 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 Member Functions

virtual void initMatrices ()
 calculate the matrices for the first time More...
 
virtual void updateAG ()
 update the transformation matrices A and G
 
- Protected Member Functions inherited from MBSimFlexibleBody::FlexibleBody2s13
void BuildElement (const fmatvec::Vec &s)
 detect involved element for contact description More...
 
double computeThickness (const double &r_)
 
- Protected Member Functions inherited from MBSim::Body
virtual void addFrame (Frame *frame)
 
- Protected Member Functions inherited from fmatvec::Atom
 Atom (const Atom &src)
 

Additional Inherited Members

- Public Types inherited from MBSimFlexibleBody::FlexibleBody2s13
enum  LockType { innerring, outerring }
 condensation setting for clamping to rigid body motion
 
- 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 Attributes inherited from MBSimFlexibleBody::FlexibleBody2s13
int Elements
 total number of elements
 
int NodeDofs
 elastic dof per node
 
int RefDofs
 dof of moving frame of reference
 
double E
 Young's modulus.
 
double nu
 Poisson ratio.
 
double rho
 density
 
fmatvec::Vec d
 parameterization of thickness over radius function: d(0) + d(1)*r + d(2)*r*r More...
 
double Ri
 inner and outer radius of disk
 
double Ra
 
double dr
 radial and azimuthal length of an FE
 
double dj
 
double m0
 mass of the attached shaft
 
fmatvec::SymMat3 J0
 inertia of the attached shaft in local coordinates
 
int degV
 degree of surface interpolation in radial and azimuthal direction More...
 
int degU
 
int drawDegree
 number of points drawn between nodes
 
std::vector< fmatvec::VecElementalNodes
 vector of boundary data of the FE (r1,j1,r2,j2)
 
int currentElement
 number of element currently involved in contact calculations
 
fmatvec::SymMat MConst
 constant part of the mass matrix
 
fmatvec::SymMat K
 stiffness matrix
 
int nr
 number of elements in radial and azimuthal direction, number of FE nodes
 
int nj
 
int Nodes
 
fmatvec::Mat NodeCoordinates
 matrix mapping nodes and coordinates (size number of nodes x number of node coordinates) More...
 
fmatvec::Matrix
< fmatvec::General,
fmatvec::Ref, fmatvec::Ref,
int > 
ElementNodeList
 matrix mapping elements and nodes (size number of elements x number of nodes per elements) More...
 
int Dofs
 total dof of disk with reference movement and elastic deformation but without including bearing
 
LockType LType
 Dirichlet boundary condition concerning reference movement. More...
 
fmatvec::RangeV ILocked
 index of condensated dofs
 
fmatvec::Vec qext
 position and velocity with respect to Dofs
 
fmatvec::Vec uext
 
fmatvec::SqrMat3 A
 transformation matrix of coordinates of the moving frame of reference into the reference frame
 
fmatvec::SqrMat3 G
 transformation matrix of the time derivates of the angles into tho angular velocity in reference coordinates
 
fmatvec::Mat Jext
 
NurbsDisk2scontour
 contour for contact description
 
int DEBUGLEVEL
 
bool updExt
 
bool updAG
 
- Protected Attributes inherited from MBSimFlexibleBody::FlexibleBodyContinuum< fmatvec::Vec2 >
std::vector< fmatvec::Vec2 > userContourNodes
 grid for contact point detection
 
fmatvec::Vec2 nodeOffset
 offset of the ROTNODE from the TRANSNODE
 
- Protected Attributes inherited from MBSimFlexibleBody::FlexibleBody
std::vector
< DiscretizationInterface * > 
discretization
 stl-vector of discretizations/finite elements
 
std::vector< fmatvec::VecqElement
 stl-vector of finite element wise positions
 
std::vector< fmatvec::VecuElement
 stl-vector of finite element wise velocities
 
double d_massproportional
 damping factor for mass proportion, see BodyFlexible::setMassProportionalDamping()
 
bool updEle
 vector of contour parameters each describing a frame More...
 
- Protected Attributes inherited from MBSim::Body
std::vector< Frame * > frame
 
FrameR
 
fmatvec::Mat3xV PJT [2]
 
int qSize
 
int uSize [2]
 
int hSize [2]
 
int qInd
 
fmatvec::Vec q
 
fmatvec::Vec q0
 
fmatvec::Vec qd
 
fmatvec::Vec h [2]
 
fmatvec::Mat dhdq
 
fmatvec::Mat T
 
fmatvec::SymMat M
 
fmatvec::SymMat LLM
 

Detailed Description

plate according to Reissner-Mindlin with axial moving frame of reference

Author
Roland Zander
Thorsten Schindler
Kilian Grundl
Raphael Missel
Adrian Staszkiewicz
Date
2009-05-14 initial commit (Schindler / Grundl / Missel)
2009-08-15 contour / visualisation (Schindler / Grundl / Missel)
2010-04-21 fixed position and velocity at surface node (Schindler)
Todo:
gravity TODO

Constructor & Destructor Documentation

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

constructor

Parameters
nameof body

Member Function Documentation

void MBSimFlexibleBody::FlexibleBody2s13Disk::GlobalMatrixContribution ( int  CurrentElement,
const fmatvec::Mat locMat,
fmatvec::Mat gloMat 
)
virtual

insert 'local' information in global matrices

Parameters
CurrentElementnumber of current finite element
locMatlocal matrix
gloMatglobal matrix

Implements MBSimFlexibleBody::FlexibleBody.

void MBSimFlexibleBody::FlexibleBody2s13Disk::GlobalMatrixContribution ( int  CurrentElement,
const fmatvec::SymMat locMat,
fmatvec::SymMat gloMat 
)
virtual

insert 'local' information in global matrices

Parameters
CurrentElementnumber of current finite element
locMatlocal matrix
gloMatglobal matrix

Implements MBSimFlexibleBody::FlexibleBody.

void MBSimFlexibleBody::FlexibleBody2s13Disk::GlobalVectorContribution ( int  CurrentElement,
const fmatvec::Vec locVec,
fmatvec::Vec gloVec 
)
virtual

insert 'local' information in global vectors

Parameters
numberof finite element
localvector
globalvector

Implements MBSimFlexibleBody::FlexibleBody.

void MBSimFlexibleBody::FlexibleBody2s13Disk::initMatrices ( )
protectedvirtual

calculate the matrices for the first time

END-Static-Test/

Implements MBSimFlexibleBody::FlexibleBody2s13.

Vec MBSimFlexibleBody::FlexibleBody2s13Disk::transformCW ( const fmatvec::Vec WrPoint)
virtual

transform Cartesian to cylinder system

Parameters
Cartesianvector in world system of plate
Returns
cylindrical coordinates

Implements MBSimFlexibleBody::FlexibleBody2s13.


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

Impressum / Disclaimer / Datenschutz Generated by doxygen 1.8.5 Valid HTML