flexible body model based on floating frame reference using the system information external linear FEM code
More...
|
| | FlexibleBodyLinearExternalFFR (const std::string &name) |
| | constructor More...
|
| |
|
| ~FlexibleBodyLinearExternalFFR () override=default |
| | destructor
|
| |
|
virtual int | getNumberElements () const |
| |
|
virtual double | getLength () const |
| |
|
virtual bool | isOpenStructure () const |
| |
|
void | updateM () override |
| |
| void | BuildElements () override |
| | references finite element coordinates to assembled coordinates More...
|
| |
| void | GlobalVectorContribution (int CurrentElement, const fmatvec::Vec &locVec, fmatvec::Vec &gloVec) override |
| | insert 'local' information in global vectors More...
|
| |
| void | GlobalMatrixContribution (int CurrentElement, const fmatvec::Mat &locMat, fmatvec::Mat &gloMat) override |
| | insert 'local' information in global matrices More...
|
| |
| void | GlobalMatrixContribution (int CurrentElement, const fmatvec::SymMat &locMat, fmatvec::SymMat &gloMat) override |
| | insert 'local' information in global matrices More...
|
| |
|
void | updateh (int k=0) override |
| |
|
void | init (InitStage stage, const MBSim::InitConfigSet &config) override |
| |
|
void | calcqSize () override |
| |
|
void | calcuSize (int j) override |
| |
|
void | setNumberOfModes (int nf_) |
| |
|
int | getNumberModes () const |
| |
|
MBSim::Frame * | getFloatingFrameOfReference () |
| |
|
const fmatvec::Vec3 | getModeShapeVector (int node, int column) const |
| |
|
void | readFEMData (const std::string &inFilePath, const bool millimeterUnits, bool output=false) |
| | read u0, mij, mode shape matrix and stiffness matrix form the input file
|
| |
|
void | enableFramePlot (double size=1e-3, fmatvec::VecInt numbers=fmatvec::VecInt(0)) |
| |
|
void | resetUpToDate () override |
| |
|
const fmatvec::SqrMat3 & | evalA () |
| |
|
const fmatvec::SqrMat3 & | evalG_bar () |
| |
|
const fmatvec::SqrMat3 & | evalG_bar_Dot () |
| |
|
const fmatvec::Vec & | evalQv () |
| |
|
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 |
| |
| void | updatePositions (int nodeIndex) override |
| |
| void | updateVelocities (int nodeIndex) override |
| |
| void | updateAccelerations (int nodeIndex) override |
| |
| void | updateJacobians (int nodeIndex, int j=0) override |
| |
| void | updateGyroscopicAccelerations (int nodeIndex) override |
| |
|
fmatvec::Vec3 | evalLocalPosition (int i) |
| |
Public Member Functions inherited from MBSimFlexibleBody::FlexibleBodyContinuum< fmatvec::Vec > |
| | FlexibleBodyContinuum (const std::string &name) |
| | constructor More...
|
| |
|
void | setContourNodes (const std::vector< fmatvec::Vec > nodes) |
| |
|
void | setNodeOffset (const fmatvec::Vec nodeOffset_) |
| |
|
fmatvec::Vec | getNodeOffset () const |
| |
Public Member Functions inherited from MBSimFlexibleBody::FlexibleBody |
| | 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 () |
| |
|
|
int | nNodes |
| | total number of nodes
|
| |
|
MBSim::Frame * | FFR |
| | Floating Frame of Reference.
|
| |
|
fmatvec::Vec3 | I_1 |
| | matrix for the computation of the mass-matrix (assembled part of the element matrix)
|
| |
|
fmatvec::SymMat3 | I_kl |
| | matrix
|
| |
|
fmatvec::Mat | S_bar |
| | matrix for the computation of the mass-matrix (assembled part of the element matrix)
|
| |
|
fmatvec::SqrMat | S_kl_bar [3][3] |
| | matrix for the computation of the mass-matrix (assembled part of the element matrix)
|
| |
|
fmatvec::RowVec | I_kl_bar [3][3] |
| | matrix for the computation of the mass-matrix (assembled part of the element matrix)
|
| |
|
fmatvec::SymMat3 | I_ThetaTheta_bar |
| | inertia tensor
|
| |
|
fmatvec::Mat | I_ThetaF_bar |
| | I_ThetaF 3*nf.
|
| |
|
fmatvec::SymMat | K |
| | stiffness matrix
|
| |
|
fmatvec::SymMat | KFull |
| | full stiffness matrix
|
| |
|
fmatvec::SqrMat3 | G_bar |
| | transformation matrix of the time derivates of the angles into tho angular velocity in reference coordinates
|
| |
|
fmatvec::SqrMat3 | G_bar_Dot |
| | transformation matrix of the time derivates of the angles into tho angular velocity in reference coordinates
|
| |
|
fmatvec::SqrMat3 | A |
| | transformation matrix of coordinates of the moving frame of reference into the reference frame
|
| |
|
double | M_RR {0} |
| |
|
fmatvec::SymMat | M_FF |
| | matrix for the computation of the mass-matrix (assembled part of the element matrix)
|
| |
|
fmatvec::Vec | Qv |
| | quadratic velocity vector
|
| |
|
fmatvec::Vec | mij |
| | lumped mass for each node
|
| |
|
fmatvec::Mat | phiFull |
| | matrix of all modes
|
| |
|
fmatvec::Mat | phi |
| | matrix of modes used
|
| |
|
std::vector< fmatvec::Vec3 > | u0 |
| | initial position of each node
|
| |
|
int | nf |
| | number of mode shapes used to describe the deformation
|
| |
|
bool | openStructure |
| | open or closed beam structure
|
| |
|
bool | updAG |
| |
|
bool | updQv |
| |
Protected Attributes inherited from MBSimFlexibleBody::FlexibleBodyContinuum< fmatvec::Vec > |
|
std::vector< fmatvec::Vec > | userContourNodes |
| | grid for contact point detection
|
| |
|
fmatvec::Vec | 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::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 |
| |
flexible body model based on floating frame reference using the system information external linear FEM code
- Author
- Kilian Grundl
-
Zhan Wang
- Date