chrono::fea::ChNodeFEAbase Class Referenceabstract

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>

Inheritance diagram for chrono::fea::ChNodeFEAbase:
Collaboration diagram for chrono::fea::ChNodeFEAbase:

Public Member Functions

virtual void Relax ()=0
 Set the rest position as the actual position.
 
virtual void SetNoSpeedNoAcceleration ()=0
 Reset to no speed and acceleration.
 
virtual void SetFixed (bool mev)=0
 Set the 'fixed' state of the node. More...
 
virtual bool GetFixed ()=0
 Get the 'fixed' state of the node. More...
 
virtual void SetIndex (unsigned int mindex)
 Sets the global index of the node.
 
virtual unsigned int GetIndex ()
 Gets the global index of the node.
 
- Public Member Functions inherited from chrono::ChNodeBase
 ChNodeBase (const ChNodeBase &other)
 
ChNodeBaseoperator= (const ChNodeBase &other)
 
virtual int Get_ndof_x () const =0
 Get the number of degrees of freedom.
 
virtual int Get_ndof_w () const
 Get the number of degrees of freedom, derivative This might be different from ndof if quaternions are used for rotations, as derivative might be angular velocity. More...
 
unsigned int NodeGetOffset_x ()
 Get offset in the state vector (position part)
 
unsigned int NodeGetOffset_w ()
 Get offset in the state vector (speed part)
 
void NodeSetOffset_x (const unsigned int moff)
 Set offset in the state vector (position part)
 
void NodeSetOffset_w (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 NodeIntLoadResidual_F (const unsigned int off, ChVectorDynamic<> &R, const double c)
 
virtual void NodeIntLoadResidual_Mv (const unsigned int off, ChVectorDynamic<> &R, const ChVectorDynamic<> &w, 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 &mdescriptor)
 Tell to a system descriptor that there are variables of type ChVariables in this object (for further passing it to a solver)
 
virtual void VariablesFbReset ()
 Sets the 'fb' part (the known term) of the encapsulated ChVariables to zero.
 
virtual void VariablesFbLoadForces (double factor=1)
 Adds the current forces (applied to node) into the encapsulated ChVariables, in the 'fb' part: qf+=forces*factor.
 
virtual void VariablesQbLoadSpeed ()
 Initialize the 'qb' part of the ChVariables with the current value of speeds. More...
 
virtual void VariablesFbIncrementMq ()
 Adds M*q (masses multiplied current 'qb') to Fb, ex. More...
 
virtual void VariablesQbSetSpeed (double step=0)
 Fetches 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 &marchive)
 
virtual void ArchiveIN (ChArchiveIn &marchive)
 Method to allow de serialization of transient data from archives.
 

Public Attributes

double m_TotalMass
 Nodal mass obtained from element masss 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)
 

Member Function Documentation

virtual bool chrono::fea::ChNodeFEAbase::GetFixed ( )
pure virtual

Get the 'fixed' state of the node.

If true, its current field value is not changed by solver.

Implemented in chrono::fea::ChNodeFEAcurv, chrono::fea::ChNodeFEAxyzDD, chrono::fea::ChNodeFEAxyzD, chrono::fea::ChNodeFEAxyz, chrono::fea::ChNodeFEAxyzrot, and chrono::fea::ChNodeFEAxyzP.

virtual void chrono::fea::ChNodeFEAbase::SetFixed ( bool  mev)
pure virtual

Set the 'fixed' state of the node.

If true, its current field value is not changed by solver.

Implemented in chrono::fea::ChNodeFEAcurv, chrono::fea::ChNodeFEAxyzDD, chrono::fea::ChNodeFEAxyzD, chrono::fea::ChNodeFEAxyz, chrono::fea::ChNodeFEAxyzrot, and chrono::fea::ChNodeFEAxyzP.