Description
Base class for a generic finite element node that can be stored in ChMesh containers.
Derived classes must implement specialized versions.
#include <ChNodeFEAbase.h>


Public Member Functions | |
| virtual void | Relax ()=0 |
| Set the rest position as the actual position. | |
| virtual void | ForceToRest ()=0 |
| Reset to no speed and acceleration. | |
| virtual void | SetFixed (bool fixed)=0 |
| Fix/release this node. More... | |
| virtual bool | IsFixed () const =0 |
| Return true if the node is fixed (i.e., its state variables are not changed by the solver). | |
| virtual void | SetIndex (unsigned int mindex) |
| Sets the global index of the node. | |
| virtual unsigned int | GetIndex () |
| Gets the global index of the node. | |
| virtual void | SetupInitial (ChSystem *system) |
| Initial setup. More... | |
| virtual void | UpdateActiveCoords () |
| Update the number of active coordinates from the current fixed state of the node. More... | |
| virtual bool | SupportsCheckpoint () const |
| Return true if the internal state of this node can be saved in a checkpoint (see ChPhysicsItem). | |
| virtual void | SaveInternalState (ChCheckpointWriter &writer) const |
| Save the internal state of this node: data not stored in the system state vectors that it carries from step to step (for example, plastic strains). More... | |
| virtual void | LoadInternalState (ChCheckpointReader &reader) |
| Load the internal state of this node, as saved by SaveInternalState. | |
Public Member Functions inherited from chrono::ChNodeBase | |
| ChNodeBase (const ChNodeBase &other) | |
| ChNodeBase & | operator= (const ChNodeBase &other) |
| virtual unsigned int | GetNumCoordsPosLevel () const =0 |
| Get the number of degrees of freedom. | |
| virtual unsigned int | GetNumCoordsVelLevel () const |
| Get the number of degrees of freedom, derivative. More... | |
| virtual unsigned int | GetNumCoordsPosLevelActive () const |
| Get the actual number of active degrees of freedom. More... | |
| virtual unsigned int | GetNumCoordsVelLevelActive () const |
| Get the actual number of active degrees of freedom, derivative. More... | |
| 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). | |
| virtual void | NodeIntStateGather (const unsigned int off_x, ChState &x, const unsigned int off_v, ChStateDelta &v, double &T) |
| virtual void | NodeIntStateScatter (const unsigned int off_x, const ChState &x, const unsigned int off_v, const ChStateDelta &v, const double T) |
| virtual void | NodeIntStateGatherAcceleration (const unsigned int off_a, ChStateDelta &a) |
| virtual void | NodeIntStateScatterAcceleration (const unsigned int off_a, const ChStateDelta &a) |
| virtual void | NodeIntStateIncrement (const unsigned int off_x, ChState &x_new, const ChState &x, const unsigned int off_v, const ChStateDelta &Dv) |
| virtual void | NodeIntStateGetIncrement (const unsigned int off_x, const ChState &x_new, const ChState &x, const unsigned int off_v, ChStateDelta &Dv) |
| virtual void | NodeIntLoadResidual_F (const unsigned int off, ChVectorDynamic<> &R, const double c) |
| virtual void | NodeIntLoadResidual_F_applied (const unsigned int off, ChVectorDynamic<> &R, const double c) |
| Load only the externally applied loads on the node (see ChPhysicsItem::IntLoadResidual_F_applied). | |
| virtual void | NodeIntLoadResidual_Mv (const unsigned int off, ChVectorDynamic<> &R, const ChVectorDynamic<> &w, const double c) |
| virtual void | NodeIntLoadLumpedMass_Md (const unsigned int off, ChVectorDynamic<> &Md, double &error, const double c) |
| virtual void | NodeIntToDescriptor (const unsigned int off_v, const ChStateDelta &v, const ChVectorDynamic<> &R) |
| virtual void | NodeIntFromDescriptor (const unsigned int off_v, ChStateDelta &v) |
| virtual void | InjectVariables (ChSystemDescriptor &descriptor) |
| Register with the given system descriptor any ChVariable objects associated with this item. | |
| virtual void | VariablesFbReset () |
| Set the 'fb' part (the known term) of the encapsulated ChVariables to zero. | |
| virtual void | VariablesFbLoadForces (double factor=1) |
| Add the current forces (applied to node) into the encapsulated ChVariables. More... | |
| virtual void | VariablesQbLoadSpeed () |
| Initialize the 'qb' part of the ChVariables with the current value of speeds. | |
| virtual void | VariablesFbIncrementMq () |
| Add M*q (masses multiplied current 'qb') to Fb, ex. More... | |
| virtual void | VariablesQbSetSpeed (double step=0) |
| Fetch the item speed (ex. More... | |
| virtual void | VariablesQbIncrementPosition (double step) |
| Increment node positions by the 'qb' part of the ChVariables, multiplied by a 'step' factor. More... | |
| virtual void | ArchiveOut (ChArchiveOut &archive_out) |
| Method to allow serialization of transient data to archives. | |
| virtual void | ArchiveIn (ChArchiveIn &archive_in) |
| Method to allow de-serialization of transient data from archives. | |
Public Attributes | |
| double | m_TotalMass |
| Nodal mass obtained from element mass matrix. | |
Protected Attributes | |
| unsigned int | g_index |
| global node index | |
Protected Attributes inherited from chrono::ChNodeBase | |
| unsigned int | offset_x |
| offset in vector of state (position part) | |
| unsigned int | offset_w |
| offset in vector of state (speed part) | |
Friends | |
| class | ChMesh |
Member Function Documentation
◆ SaveInternalState()
|
inlinevirtual |
Save the internal state of this node: data not stored in the system state vectors that it carries from step to step (for example, plastic strains).
Derived classes must first call the base class implementation.
◆ SetFixed()
|
pure virtual |
Fix/release this node.
If fixed, its state variables are not changed by the solver.
Implemented in chrono::fea::ChNodeFEAcurv, chrono::fea::ChNodeFEAxyzDDD, chrono::fea::ChNodeFEAxyzDD, chrono::fea::ChNodeFEAxyzD, chrono::fea::ChNodeFEAxyz, chrono::fea::ChNodeFEAxyzrot, chrono::fea::ChNodeFEAfieldXYZ, and chrono::fea::ChNodeFEAxyzP.
◆ SetupInitial()
|
inlinevirtual |
Initial setup.
Called once by the containing mesh, before the node is first used in a simulation.
Reimplemented in chrono::fea::ChNodeFEAxyzDDD, chrono::fea::ChNodeFEAxyzDD, and chrono::fea::ChNodeFEAxyzD.
◆ UpdateActiveCoords()
|
inlinevirtual |
Update the number of active coordinates from the current fixed state of the node.
Called by the containing mesh every time it counts coordinates. Only needed for nodes whose number of active coordinates can change.
Reimplemented in chrono::fea::ChNodeFEAxyzDDD, chrono::fea::ChNodeFEAxyzD, and chrono::fea::ChNodeFEAxyzDD.
The documentation for this class was generated from the following file:
- /builds/uwsbel/chrono/src/chrono/fea/ChNodeFEAbase.h
Public Member Functions inherited from