|
| | FlexibleBody (const std::string &name) |
| | constructor More...
|
| |
|
| ~FlexibleBody () override |
| | destructor
|
| |
|
void | updateqd () override |
| |
|
void | updateh (int k=0) override |
| |
|
void | updateM () override |
| |
|
void | updatedhdz () override |
| |
|
void | initializeUsingXML (xercesc::DOMElement *element) override |
| |
|
void | init (InitStage stage, const MBSim::InitConfigSet &config) override |
| |
|
virtual double | computeKineticEnergy () |
| |
| virtual double | computePotentialEnergy () |
| |
| void | setFrameOfReference (MBSim::Frame *frame) override |
| |
|
virtual void | setq0 (const fmatvec::Vec &q0_) |
| |
|
virtual void | setu0 (const fmatvec::Vec &u0_) |
| |
| virtual void | BuildElements ()=0 |
| | references finite element coordinates to assembled coordinates More...
|
| |
|
const fmatvec::Vec & | getqElement (int i) |
| |
|
const fmatvec::Vec & | getuElement (int i) |
| |
|
virtual fmatvec::Vec3 | getAngles (int i) |
| |
|
virtual fmatvec::Vec3 | getDerivativeOfAngles (int i) |
| |
| virtual void | GlobalVectorContribution (int CurrentElement, const fmatvec::Vec &locVec, fmatvec::Vec &gloVec)=0 |
| | insert 'local' information in global vectors More...
|
| |
| virtual void | GlobalMatrixContribution (int CurrentElement, const fmatvec::Mat &locMat, fmatvec::Mat &gloMat)=0 |
| | insert 'local' information in global matrices More...
|
| |
| virtual void | GlobalMatrixContribution (int CurrentElement, const fmatvec::SymMat &locMat, fmatvec::SymMat &gloMat)=0 |
| | insert 'local' information in global matrices More...
|
| |
| void | setMassProportionalDamping (const double d_) |
| | Jacobians and gyroscopes for contour or external frame are set by implementation class. More...
|
| |
|
void | addFrame (MBSim::ContourFrame *frame) |
| |
| void | addFrame (MBSim::FixedRelativeFrame *frame) |
| |
| void | addContour (MBSim::Contour *contour) override |
| |
| 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...
|
| |
|
void | resetUpToDate () override |
| |
| void | addFrame (NodeBasedFrame *frame) |
| |
Public Member Functions inherited from MBSimFlexibleBody::NodeBasedBody |
|
| NodeBasedBody (const std::string &name) |
| |
|
void | resetUpToDate () override |
| |
|
virtual void | updatePositions (int i) |
| |
|
virtual void | updateVelocities (int i) |
| |
|
virtual void | updateAccelerations (int i) |
| |
|
virtual void | updateJacobians (int i, int j=0) |
| |
|
virtual void | updateGyroscopicAccelerations (int i) |
| |
|
virtual void | updateStresses (int i) |
| |
|
const fmatvec::Vec3 & | evalNodalPosition (int i) |
| |
|
const fmatvec::Vec3 & | evalNodalVelocity (int i) |
| |
|
const fmatvec::Vec3 & | evalNodalAcceleration (int i) |
| |
|
const fmatvec::Mat3xV & | evalNodalJacobianOfTranslation (int i, int j=0) |
| |
|
const fmatvec::Vec3 & | evalNodalGyroscopicAccelerationOfTranslation (int i) |
| |
|
const fmatvec::Vec3 & | evalNodalDisplacement (int i) |
| |
|
const fmatvec::Vector< fmatvec::Fixed< 6 >, double > & | evalNodalStress (int i) |
| |
|
fmatvec::SqrMat3 & | getNodalOrientation (int i, bool check=true) |
| |
|
fmatvec::Vec3 & | getNodalAngularVelocity (int i, bool check=true) |
| |
|
fmatvec::Vec3 & | getNodalAngularAcceleration (int i, bool check=true) |
| |
|
fmatvec::Mat3xV & | getNodalJacobianOfRotation (int i, int j=0, bool check=true) |
| |
|
fmatvec::Vec3 & | getNodalGyroscopicAccelerationOfRotation (int i, bool check=true) |
| |
| void | addFrame (NodeBasedFrame *frame) |
| |
|
void | init (InitStage stage, const MBSim::InitConfigSet &config) override |
| |
|
int | getNumberOfNodes () |
| |
|
int | getNodeIndex (int nodeNumber) const |
| |
Public Member Functions inherited from MBSim::Body |
|
| Body (const std::string &name) |
| |
| void | plot () override |
| |
| void | setDynamicSystemSolver (DynamicSystemSolver *sys) override |
| |
| void | init (InitStage stage, const InitConfigSet &config) override |
| |
| void | createPlotGroup () override |
| |
|
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 |
| |
|
virtual void | setFrameOfReference (Frame *frame) |
| |
|
int | frameIndex (const Frame *frame_) const |
| |
|
int | contourIndex (const Contour *contour_) const |
| |
| Element * | getChildByContainerAndName (const std::string &container, const std::string &name) const override |
| |
|
virtual void | addFrame (Frame *frame) |
| |
|
virtual void | addContour (Contour *contour) |
| |
|
| Object (const std::string &name) |
| |
| void | plot () override |
| |
|
virtual void | updateqRef (fmatvec::Vec &qRef) |
| |
|
virtual void | updateqdRef (fmatvec::Vec &qdRef) |
| |
|
virtual void | updatedqRef (fmatvec::Vec &dqRef) |
| |
|
virtual void | updateuRef (fmatvec::Vec &uRef) |
| |
|
virtual void | updateuallRef (fmatvec::Vec &uallRef) |
| |
|
virtual void | updateudRef (fmatvec::Vec &udRef) |
| |
|
virtual void | updateduRef (fmatvec::Vec &duRef) |
| |
|
virtual void | updateudallRef (fmatvec::Vec &udallRef) |
| |
|
virtual void | updatehRef (fmatvec::Vec &hRef, int i=0) |
| |
|
virtual void | updatedhdqRef (fmatvec::Mat &dhdqRef, int i=0) |
| |
|
virtual void | updatedhduRef (fmatvec::SqrMat &dhduRef, int i=0) |
| |
|
virtual void | updatedhdtRef (fmatvec::Vec &dhdtRef, int i=0) |
| |
|
virtual void | updaterRef (fmatvec::Vec &ref, int i=0) |
| |
|
virtual void | updaterdtRef (fmatvec::Vec &ref) |
| |
|
virtual void | updateTRef (fmatvec::Mat &ref) |
| |
|
virtual void | updateMRef (fmatvec::SymMat &ref) |
| |
|
virtual void | updateLLMRef (fmatvec::SymMat &ref) |
| |
| void | init (InitStage stage, const InitConfigSet &config) override |
| |
|
virtual void | initz () |
| |
|
virtual void | writez (H5::GroupBase *group) |
| |
|
virtual void | readz0 (H5::GroupBase *group) |
| |
|
virtual void | updateLLM () |
| |
| virtual void | setUpInverseKinetics () |
| |
| void | createPlotGroup () override |
| |
|
| 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) |
| |
|
DynamicSystemSolver * | getDynamicSystemSolver () |
| |
| virtual void | init (InitStage stage, const InitConfigSet &config=InitConfigSet()) |
| |
| virtual void | createPlotGroup () |
| |
|
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, 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 Element * | getChildByContainerAndName (const std::string &container, const std::string &name) const |
| |
|
std::vector< Element * > | getDependencies () const |
| |
|
int | computeLevel () |
| |
|
|
std::vector< DiscretizationInterface * > | discretization |
| | stl-vector of discretizations/finite elements
|
| |
|
std::vector< fmatvec::Vec > | qElement |
| | stl-vector of finite element wise positions
|
| |
|
std::vector< fmatvec::Vec > | uElement |
| | 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 MBSimFlexibleBody::NodeBasedBody |
|
std::vector< fmatvec::Vec3 > | WrOP |
| |
|
std::vector< fmatvec::Vec3 > | WvP |
| |
|
std::vector< fmatvec::Vec3 > | Wom |
| |
|
std::vector< fmatvec::Vec3 > | WaP |
| |
|
std::vector< fmatvec::Vec3 > | Wpsi |
| |
|
std::vector< fmatvec::Vec3 > | WjP |
| |
|
std::vector< fmatvec::Vec3 > | WjR |
| |
|
std::vector< fmatvec::Vec3 > | disp |
| |
|
std::vector< fmatvec::SqrMat3 > | AWK |
| |
|
std::vector< fmatvec::Mat3xV > | WJP [2] |
| |
|
std::vector< fmatvec::Mat3xV > | WJR [2] |
| |
|
std::vector< bool > | updNodalPos |
| |
|
std::vector< bool > | updNodalVel |
| |
|
std::vector< bool > | updNodalAcc |
| |
|
std::vector< bool > | updNodalGA |
| |
|
std::vector< bool > | updNodalStress |
| |
|
std::vector< bool > | updNodalJac [2] |
| |
|
std::vector< fmatvec::Vector< fmatvec::Fixed< 6 >, double > > | sigma |
| |
|
int | nn {0} |
| |
|
std::vector< int > | nodeMap |
| |
|
std::vector< int > | nodeNumbers |
| |
Protected Attributes inherited from MBSim::Body |
|
std::vector< Frame * > | frame |
| |
|
Frame * | R |
| |
|
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 |
| |
|
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 |
| |
upmost class for flexible body implementation
- Author
- Roland Zander
-
Thorsten Schindler
- Date
- 2009-03-24 changes for new MBSim (Thorsten Schindler)
-
2009-03-25 conflicts solved (Thorsten Schindler)
-
2009-04-05 changed to non-template definition (Schindler / Zander)
-
2009-04-20 frame concept (Thorsten Schindler)
-
2009-06-14 OpenMP (Thorsten Schindler)
-
2009-07-16 splitted link / object right hand side (Thorsten Schindler)
-
2009-07-27 implicit integration (Thorsten Schindler)
-
2010-06-20 revision of doxygen comments: add parameter names (Roland Zander)
- Todo:
OpenMP only static scheduling with intelligent reordering of vectors by dynamic test runs TODO
mass proportional damping should be distributed on discretization and is not at the correct place (dependence on M) TODO