plate according to Reissner-Mindlin with axial moving frame of reference More...
#include <flexible_body_2s_13_disk.h>
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... | |
![]() | |
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::Vec & | evalqExt () |
const fmatvec::Vec & | evaluExt () |
![]() | |
FlexibleBody2s (const std::string &name) | |
constructor: More... | |
void | addFrame (Frame2s *frame) |
void | setOpenMBVSpineExtrusion (const std::shared_ptr< OpenMBV::SpineExtrusion > &body) |
![]() | |
FlexibleBodyContinuum (const std::string &name) | |
constructor More... | |
void | setContourNodes (const std::vector< fmatvec::Vec2 > nodes) |
void | setNodeOffset (const fmatvec::Vec2nodeOffset_) |
fmatvec::Vec2 | getNodeOffset () const |
![]() | |
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::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) |
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 () |
![]() | |
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 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) |
Protected Member Functions | |
virtual void | initMatrices () |
calculate the matrices for the first time More... | |
virtual void | updateAG () |
update the transformation matrices A and G | |
![]() | |
void | BuildElement (const fmatvec::Vec &s) |
detect involved element for contact description More... | |
double | computeThickness (const double &r_) |
![]() | |
virtual void | addFrame (Frame *frame) |
![]() | |
Atom (const Atom &src) | |
Additional Inherited Members | |
![]() | |
enum | LockType { innerring, outerring } |
condensation setting for clamping to rigid body motion | |
![]() | |
enum | MsgType |
![]() | |
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) |
![]() | |
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::Vec > | ElementalNodes |
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 |
NurbsDisk2s * | contour |
contour for contact description | |
int | DEBUGLEVEL |
bool | updExt |
bool | updAG |
![]() | |
std::vector< fmatvec::Vec2 > | userContourNodes |
grid for contact point detection | |
fmatvec::Vec2 | nodeOffset |
offset of the ROTNODE from the TRANSNODE | |
![]() | |
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... | |
![]() | |
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 |
plate according to Reissner-Mindlin with axial moving frame of reference
MBSimFlexibleBody::FlexibleBody2s13Disk::FlexibleBody2s13Disk | ( | const std::string & | name | ) |
constructor
name | of body |
|
virtual |
insert 'local' information in global matrices
CurrentElement | number of current finite element |
locMat | local matrix |
gloMat | global matrix |
Implements MBSimFlexibleBody::FlexibleBody.
|
virtual |
insert 'local' information in global matrices
CurrentElement | number of current finite element |
locMat | local matrix |
gloMat | global matrix |
Implements MBSimFlexibleBody::FlexibleBody.
|
virtual |
insert 'local' information in global vectors
number | of finite element |
local | vector |
global | vector |
Implements MBSimFlexibleBody::FlexibleBody.
|
protectedvirtual |
calculate the matrices for the first time
END-Static-Test/
Implements MBSimFlexibleBody::FlexibleBody2s13.
|
virtual |
transform Cartesian to cylinder system
Cartesian | vector in world system of plate |
Implements MBSimFlexibleBody::FlexibleBody2s13.