model for planar beams with large deflection using Redundant Coordinate Method (RCM)
More...
|
| FlexibleBody1s21RCM (const std::string &name, bool openStructure) |
| constructor: More...
|
|
virtual void | BuildElements () |
| references finite element coordinates to assembled coordinates
|
|
virtual void | GlobalVectorContribution (int n, const fmatvec::Vec &locVec, fmatvec::Vec &gloVec) |
| insert 'local' information in global vectors More...
|
|
virtual void | GlobalMatrixContribution (int n, const fmatvec::Mat &locMat, fmatvec::Mat &gloMat) |
| insert 'local' information in global matrices More...
|
|
virtual void | GlobalMatrixContribution (int n, const fmatvec::SymMat &locMat, fmatvec::SymMat &gloMat) |
| insert 'local' information in global matrices More...
|
|
virtual void | exportPositionVelocity (const std::string &filenamePos, const std::string &filenameVel=std::string(), const int °=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...
|
|
virtual void | updatePositions (Frame1s *frame) |
|
virtual void | updateVelocities (Frame1s *frame) |
|
virtual void | updateAccelerations (Frame1s *frame) |
|
virtual void | updateJacobians (Frame1s *frame, int j=0) |
|
virtual void | updateGyroscopicAccelerations (Frame1s *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 void | plot () |
|
virtual std::string | getType () const |
|
void | setNumberElements (int n) |
| sets size of positions and velocities
|
|
int | getNumberElements () |
|
double | getLength () |
|
void | setEModul (double E_) |
|
void | setCrossSectionalArea (double A_) |
|
void | setMomentInertia (double I_) |
|
void | setDensity (double rho_) |
|
void | setCurlRadius (double r) |
|
void | setMaterialDamping (double d) |
|
void | setLehrDamping (double d) |
|
void | setElementPlotList (fmatvec::VecInt plotElements_) |
|
fmatvec::Vec3 | getPositions (double x) |
| compute positions and angle at Lagrangian coordinate in local FE coordinates More...
|
|
fmatvec::Vec3 | getVelocities (double x) |
| compute velocities and differentiated angles at Lagrangian coordinate in local FE coordinates More...
|
|
double | computePhysicalStrain (double sGlobal) |
| computes the phyiscal strain (compare Zander p.71) of the element, defined by the global position
|
|
void | initRelaxed (double alpha) |
| initialise beam state concerning a straight cantilever setting or a circle shaped ring More...
|
|
void | initInfo () |
| initialise beam only for giving information with respect to state, number elements, length, (not for simulation)
|
|
Public Member Functions inherited from MBSimFlexibleBody::FlexibleBody1s |
| FlexibleBody1s (const std::string &name, bool openStructure) |
| constructor: More...
|
|
void | setLength (double L_) |
|
double | getLength () const |
|
bool | getOpenStructure () const |
|
void | addFrame (Frame1s *frame) |
|
virtual fmatvec::Vec3 | getPosition (double s) |
|
virtual fmatvec::SqrMat3 | getOrientation (double s) |
|
virtual fmatvec::Vec3 | getAngles (double s) |
|
void | setOpenMBVSpineExtrusion (const std::shared_ptr< OpenMBV::SpineExtrusion > &body) |
|
Public Member Functions inherited from MBSimFlexibleBody::FlexibleBodyContinuum< double > |
| FlexibleBodyContinuum (const std::string &name) |
| constructor More...
|
|
void | setContourNodes (const std::vector< double > nodes) |
|
void | setNodeOffset (const doublenodeOffset_) |
|
double | 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 | updateh (int k=0) |
|
virtual void | updateM () |
|
virtual void | updatedhdz () |
|
virtual void | initializeUsingXML (xercesc::DOMElement *element) |
|
virtual double | computeKineticEnergy () |
|
virtual double | computePotentialEnergy () |
|
virtual void | setFrameOfReference (MBSim::Frame *frame) |
|
virtual void | setq0 (fmatvec::Vec q0_) |
|
virtual void | setu0 (fmatvec::Vec u0_) |
|
const fmatvec::Vec & | getqElement (int i) |
|
const fmatvec::Vec & | getuElement (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) |
|
void | resetUpToDate () |
|
Public Member Functions inherited from MBSim::Body |
| Body (const std::string &name) |
|
virtual void | closePlot () |
|
virtual void | setDynamicSystemSolver (DynamicSystemSolver *sys) |
|
virtual Contour * | getContour (const std::string &name, bool check=true) const |
|
virtual Frame * | getFrame (const std::string &name, bool check=true) const |
|
virtual Frame * | getFrameOfReference () |
|
virtual const Frame * | getFrameOfReference () const |
|
int | frameIndex (const Frame *frame_) const |
|
int | contourIndex (const Contour *contour_) const |
|
virtual Element * | getChildByContainerAndName (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 void | updateLLM () |
|
virtual double | evalKineticEnergy () |
|
virtual double | evalPotentialEnergy () |
|
virtual void | setUpInverseKinetics () |
|
Atom & | operator= (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) |
|
model for planar beams with large deflection using Redundant Coordinate Method (RCM)
- Author
- Roland Zander
- Date
- 2009-03-23 initial kernel_dev commit (Thorsten Schindler)
-
2009-03-26 cosmetics on doxygen (*! **) and alignements; some renames (Roland Zander)
-
2009-04-05 minor change: parent class now is FlexibleBodyContinuum (Schindler / Zander)
-
2009-04-20 binormals of contours can be time variant (Thorsten Schindler)
-
2009-05-08 visualisation (Thorsten Schindler)
-
2009-07-16 splitted link / object right hand side (Thorsten Schindler)
-
2009-07-23 implicit integration (Thorsten Schindler)
-
2010-03-07 element polt list for additional element data (Roland Zander)
-
2010-04-07 added initInfo() function same as in FlexibleBody1s33RCM (Thomas Cebulla)
- Todo:
gyroscopic accelerations TODO
inverse kinetics TODO
read:
Zander, R.; Ulbrich, H.: Reference-free mixed FE-MBS approach for beam structures with constraints, Journal of Nonlinear Dynamics, Kluwer Academic Publishers, 2005
Zander, R.; Ulbrich, H.: Impacts on beam structures: Interaction of wave propagationand global dynamics, IUTAM Symposium on Multiscale Problems in Multibody System Contacts Stuttgart, Germany, 2006
Zander, R.; Ulbrich, H.: Free plain motion of flexible beams in MBS - A comparison of models, III European Conference on Computational Mechanics Lissbon, Portugal, 2006