Class for a generic 3D finite element node, with x,y,z displacement, and 3 position vector derivatives.
For a Fully Parameterized ANCF element:
- The variable D represents the position vector gradient with respect to the 1st element coordinate line.
- The variable DD represents the position vector gradient with respect to the 2nd element coordinate line.
- The variable DDD represents the position vector gradient with respect to the 3rd element coordinate line. Other ANCF elements may use these derivative vectors differently.
|
| ChNodeFEAxyzDDD (ChVector3d initial_pos=VNULL, ChVector3d initial_dir_u=VECT_X, ChVector3d initial_dir_v=VECT_Y, ChVector3d initial_dir_w=VECT_Z) |
|
| ChNodeFEAxyzDDD (const ChNodeFEAxyzDDD &other) |
|
ChNodeFEAxyzDDD & | operator= (const ChNodeFEAxyzDDD &other) |
|
void | SetSlope3 (const ChVector3d &d) |
| Set the 3rd derivative vector.
|
|
const ChVector3d & | GetSlope3 () const |
| Get the 3rd derivative vector.
|
|
void | SetSlope3Dt (const ChVector3d &dt) |
| Set the speed of the 3rd derivative vector.
|
|
const ChVector3d & | GetSlope3Dt () const |
| Get the speed of the 3rd derivative vector.
|
|
void | SetSlope3Dt2 (const ChVector3d &dtt) |
| Set the acceleration of the 3rd derivative vector.
|
|
const ChVector3d & | GetSlope3Dt2 () const |
| Get the acceleration of the 3rd derivative vector.
|
|
ChVariables & | VariablesSlope3 () |
|
virtual void | ForceToRest () override |
| Reset to no speed and acceleration.
|
|
virtual void | SetFixed (bool fixed) override |
| Fix/release this node.
|
|
virtual bool | IsFixed () const override |
| Return true if the node is fixed (i.e., its state variables are not changed by the solver).
|
|
void | SetSlope3Fixed (bool fixed) |
| Fix/release the 3rd derivative vector states.
|
|
bool | IsSlope3Fixed () const |
| Return true if the 3rd derivative vector states are fixed.
|
|
virtual unsigned int | GetNumCoordsPosLevel () const override |
| Get the number of degrees of freedom.
|
|
virtual unsigned int | GetNumCoordsVelLevel () const override |
| Get the number of degrees of freedom, derivative.
|
|
virtual unsigned int | GetNumCoordsPosLevelActive () const override |
| Get the actual number of active degrees of freedom.
|
|
virtual unsigned int | GetNumCoordsVelLevelActive () const override |
| Get the actual number of active degrees of freedom, derivative.
|
|
virtual void | ArchiveOut (ChArchiveOut &archive) override |
| Method to allow serialization of transient data to archives.
|
|
virtual void | ArchiveIn (ChArchiveIn &archive) override |
| Method to allow de-serialization of transient data from archives.
|
|
virtual void | SetupInitial (ChSystem *system) override |
| Initial setup. Set number of degrees of freedom for this node.
|
|
virtual void | NodeIntStateGather (const unsigned int off_x, ChState &x, const unsigned int off_v, ChStateDelta &v, double &T) override |
|
virtual void | NodeIntStateScatter (const unsigned int off_x, const ChState &x, const unsigned int off_v, const ChStateDelta &v, const double T) override |
|
virtual void | NodeIntStateGatherAcceleration (const unsigned int off_a, ChStateDelta &a) override |
|
virtual void | NodeIntStateScatterAcceleration (const unsigned int off_a, const ChStateDelta &a) override |
|
virtual void | NodeIntStateIncrement (const unsigned int off_x, ChState &x_new, const ChState &x, const unsigned int off_v, const ChStateDelta &Dv) override |
|
virtual void | NodeIntStateGetIncrement (const unsigned int off_x, const ChState &x_new, const ChState &x, const unsigned int off_v, ChStateDelta &Dv) override |
|
virtual void | NodeIntLoadResidual_F (const unsigned int off, ChVectorDynamic<> &R, const double c) override |
|
virtual void | NodeIntLoadResidual_Mv (const unsigned int off, ChVectorDynamic<> &R, const ChVectorDynamic<> &w, const double c) override |
|
virtual void | NodeIntLoadLumpedMass_Md (const unsigned int off, ChVectorDynamic<> &Md, double &error, const double c) override |
|
virtual void | NodeIntToDescriptor (const unsigned int off_v, const ChStateDelta &v, const ChVectorDynamic<> &R) override |
|
virtual void | NodeIntFromDescriptor (const unsigned int off_v, ChStateDelta &v) override |
|
virtual void | InjectVariables (ChSystemDescriptor &descriptor) override |
| Register with the given system descriptor any ChVariable objects associated with this item.
|
|
virtual void | VariablesFbReset () override |
| Set the 'fb' part (the known term) of the encapsulated ChVariables to zero.
|
|
virtual void | VariablesFbLoadForces (double factor=1) override |
| Add the current forces (applied to node) into the encapsulated ChVariables.
|
|
virtual void | VariablesQbLoadSpeed () override |
| Initialize the 'qb' part of the ChVariables with the current value of speeds.
|
|
virtual void | VariablesQbSetSpeed (double step=0) override |
| Fetch the item speed (ex.
|
|
virtual void | VariablesFbIncrementMq () override |
| Add M*q (masses multiplied current 'qb') to Fb, ex.
|
|
virtual void | VariablesQbIncrementPosition (double step) override |
| Increment node positions by the 'qb' part of the ChVariables, multiplied by a 'step' factor.
|
|
virtual unsigned int | GetLoadableNumCoordsPosLevel () override |
| Gets the number of DOFs affected by this element (position part).
|
|
virtual unsigned int | GetLoadableNumCoordsVelLevel () override |
| Gets the number of DOFs affected by this element (speed part).
|
|
virtual void | LoadableGetStateBlockPosLevel (int block_offset, ChState &S) override |
| Gets all the DOFs packed in a single vector (position part).
|
|
virtual void | LoadableGetStateBlockVelLevel (int block_offset, ChStateDelta &S) override |
| Gets all the DOFs packed in a single vector (speed part).
|
|
virtual void | LoadableStateIncrement (const unsigned int off_x, ChState &x_new, const ChState &x, const unsigned int off_v, const ChStateDelta &Dv) override |
| Increment all DOFs using a delta.
|
|
virtual unsigned int | GetNumFieldCoords () override |
| Number of coordinates in the interpolated field.
|
|
virtual unsigned int | GetSubBlockSize (unsigned int nblock) override |
| Get the size of the i-th sub-block of DOFs in global vector.
|
|
virtual void | LoadableGetVariables (std::vector< ChVariables * > &vars) override |
| Get the pointers to the contained ChVariables, appending to the mvars vector.
|
|
virtual void | ComputeNF (const double U, const double V, const double W, ChVectorDynamic<> &Qi, double &detJ, const ChVectorDynamic<> &F, ChVectorDynamic<> *state_x, ChVectorDynamic<> *state_w) override |
| Evaluate Q = N'*F, for Q generalized lagrangian load, where N is some type of matrix evaluated at point P(U,V,W) assumed in absolute coordinates, and F is a load assumed in absolute coordinates.
|
|
| ChNodeFEAxyzDD (ChVector3d initial_pos=VNULL, ChVector3d initial_dir=VECT_X, ChVector3d initial_curv=VNULL) |
|
| ChNodeFEAxyzDD (const ChNodeFEAxyzDD &other) |
|
ChNodeFEAxyzDD & | operator= (const ChNodeFEAxyzDD &other) |
|
void | SetSlope2 (const ChVector3d &d) |
| Set the 2nd derivative vector.
|
|
const ChVector3d & | GetSlope2 () const |
| Get the 2nd derivative vector.
|
|
void | SetSlope2Dt (const ChVector3d &dt) |
| Set the speed of the 2nd derivative vector.
|
|
const ChVector3d & | GetSlope2Dt () const |
| Get the speed of the 2nd derivative vector.
|
|
void | SetSlope2Dt2 (const ChVector3d &dtt) |
| Set the acceleration of the 2nd derivative vector.
|
|
const ChVector3d & | GetSlope2Dt2 () const |
| Get the acceleration of the 2nd derivative vector.
|
|
ChVariables & | VariablesSlope2 () |
|
void | SetSlope2Fixed (bool fixed) |
| Fix/release the 2nd derivative vector states.
|
|
bool | IsSlope2Fixed () const |
| Return true if the 2nd derivative vector states are fixed.
|
|
| ChNodeFEAxyzD (ChVector3d initial_pos=VNULL, ChVector3d initial_dir=VECT_X) |
|
| ChNodeFEAxyzD (const ChNodeFEAxyzD &other) |
|
ChNodeFEAxyzD & | operator= (const ChNodeFEAxyzD &other) |
|
void | SetSlope1 (const ChVector3d &d) |
| Set the derivative vector.
|
|
const ChVector3d & | GetSlope1 () const |
| Get the derivative vector.
|
|
void | SetSlope1Dt (const ChVector3d &dt) |
| Set the speed of the derivative vector.
|
|
const ChVector3d & | GetSlope1Dt () const |
| Get the speed of the derivative vector.
|
|
void | SetSlope1Dt2 (const ChVector3d &dtt) |
| Set the acceleration of the derivative vector.
|
|
const ChVector3d & | GetSlope1Dt2 () const |
| Get the acceleration of the derivative vector.
|
|
ChVariables & | VariablesSlope1 () |
|
void | SetSlope1Fixed (bool fixed) |
| Fix/release the derivative vector states.
|
|
bool | IsSlope1Fixed () const |
| Return true if the derivative vector states are fixed.
|
|
| ChNodeFEAxyz (ChVector3d initial_pos=VNULL) |
|
| ChNodeFEAxyz (const ChNodeFEAxyz &other) |
|
ChNodeFEAxyz & | operator= (const ChNodeFEAxyz &other) |
|
virtual ChVariablesNode & | Variables () override |
|
virtual void | Relax () override |
| Set the rest position as the actual position.
|
|
virtual double | GetMass () const override |
| Get mass of the node.
|
|
virtual void | SetMass (double m) override |
| Set mass of the node.
|
|
virtual void | SetX0 (const ChVector3d &x) |
| Set the initial (reference) position.
|
|
virtual const ChVector3d & | GetX0 () const |
| Get the initial (reference) position.
|
|
virtual void | SetForce (const ChVector3d &frc) |
| Set the 3d applied force, in absolute reference.
|
|
virtual const ChVector3d & | GetForce () const |
| Get the 3d applied force, in absolute reference.
|
|
virtual ChVariables * | GetVariables1 () override |
|
virtual void | SetIndex (unsigned int mindex) |
| Sets the global index of the node.
|
|
virtual unsigned int | GetIndex () |
| Gets the global index of the node.
|
|
| ChNodeBase (const ChNodeBase &other) |
|
ChNodeBase & | operator= (const ChNodeBase &other) |
|
virtual bool | IsAllCoordsActive () const |
| Return true if all node DOFs are active (no node variable is fixed).
|
|
unsigned int | NodeGetOffsetPosLevel () |
| Get offset in the state vector (position part).
|
|
unsigned int | NodeGetOffsetVelLevel () |
| Get offset in the state vector (speed part).
|
|
void | NodeSetOffsetPosLevel (const unsigned int moff) |
| Set offset in the state vector (position part).
|
|
void | NodeSetOffsetVelLevel (const unsigned int moff) |
| Set offset in the state vector (speed part).
|
|
| ChNodeXYZ (const ChVector3d &initial_pos) |
|
| ChNodeXYZ (const ChNodeXYZ &other) |
|
ChNodeXYZ & | operator= (const ChNodeXYZ &other) |
|
const ChVector3d & | GetPos () const |
|
void | SetPos (const ChVector3d &mpos) |
|
const ChVector3d & | GetPosDt () const |
|
void | SetPosDt (const ChVector3d &mposdt) |
|
const ChVector3d & | GetPosDt2 () const |
|
void | SetPosDt2 (const ChVector3d &mposdtdt) |
|
virtual unsigned int | GetNumSubBlocks () override |
| Get the number of DOFs sub-blocks.
|
|
virtual unsigned int | GetSubBlockOffset (unsigned int nblock) override |
| Get the offset of the specified sub-block of DOFs in global vector.
|
|
virtual bool | IsSubBlockActive (unsigned int nblock) const override |
| Check if the specified sub-block of DOFs is active.
|
|
virtual double | GetDensity () override |
| This is not needed because not used in quadrature.
|
|
virtual bool | IsTetrahedronIntegrationNeeded () |
| If true, use quadrature over u,v,w in [0..1] range as tetrahedron volumetric coords (with z=1-u-v-w) otherwise use default quadrature over u,v,w in [-1..+1] as box isoparametric coords.
|
|
virtual bool | IsTrianglePrismIntegrationNeeded () |
| If true, use quadrature over u,v in [0..1] range as triangle natural coords (with z=1-u-v), and use linear quadrature over w in [-1..+1], otherwise use default quadrature over u,v,w in [-1..+1] as box isoparametric coords.
|
|