Project Chrono: chrono::fea::ChNodeFEAxyzDD Class Reference

Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
chrono::fea::ChNodeFEAxyzDD Class Reference
Chrono::Engine » Finite Element Analysis » Nodes

## Description

Class for a generic 3D finite element node, with x,y,z displacement and 2 position vector derivatives.

Depending on the specific type of ANCF element, these derivative vectors can be gradients of the position vector in two different directions or else a gradient and a curvature.

`#include <ChNodeFEAxyzDD.h>`

Inheritance diagram for chrono::fea::ChNodeFEAxyzDD:
[legend]
Collaboration diagram for chrono::fea::ChNodeFEAxyzDD:
[legend]

## Public Member Functions
| 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 ()
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 | SetSlope2Fixed (bool fixed)
| Fix/release the 2nd derivative vector states.
bool | IsSlope2Fixed () const
| Return true if the 2nd 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.
Public Member Functions inherited from chrono::fea::ChNodeFEAxyzD
| 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.
Public Member Functions inherited from chrono::fea::ChNodeFEAxyz
| 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
Public Member Functions inherited from chrono::fea::ChNodeFEAbase
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)
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).
Public Member Functions inherited from chrono::ChNodeXYZ
| 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.
Public Member Functions inherited from chrono::ChLoadableUVW
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.

## Protected Member Functions
ChVectorDynamic & | GetMassDiagonalSlope2 ()
| Get mass of the node (corresponding to the 2nd slope derivative).
Protected Member Functions inherited from chrono::fea::ChNodeFEAxyzD
ChVectorDynamic & | GetMassDiagonalSlope1 ()
| Get mass of the node (corresponding to the slope derivative).

## Protected Attributes
ChVariablesGenericDiagonalMass * | variables_DD
| 2nd derivative vector
ChVector3d | DD
ChVector3d | DD_dt
ChVector3d | DD_dtdt
Protected Attributes inherited from chrono::fea::ChNodeFEAxyzD
ChVariablesGenericDiagonalMass * | variables_D
| derivative vector
ChVector3d | D
ChVector3d | D_dt
ChVector3d | D_dtdt
Protected Attributes inherited from chrono::fea::ChNodeFEAxyz
ChVariablesNode | variables
| 3D node variables, with x,y,z
ChVector3d | X0
| reference position
ChVector3d | Force
| applied force
Protected Attributes inherited from chrono::fea::ChNodeFEAbase
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)

## Additional Inherited Members
Public Types inherited from chrono::ChVariableTupleCarrier_1vars< 3 >
typedef ChConstraintTuple_1vars< ChVariableTupleCarrier_1vars< N1 > > | type_constraint_tuple
Public Attributes inherited from chrono::fea::ChNodeFEAxyzD
unsigned int | m_dof_actual
| actual number of degrees of freedom
Public Attributes inherited from chrono::fea::ChNodeFEAbase
double | m_TotalMass
| Nodal mass obtained from element mass matrix.
Public Attributes inherited from chrono::ChNodeXYZ
ChVector3d | pos
ChVector3d | pos_dt
ChVector3d | pos_dtdt
Static Public Attributes inherited from chrono::ChVariableTupleCarrier_1vars< 3 >
static const int | nvars1

## Member Function Documentation

## ◆ ArchiveIn()

void chrono::fea::ChNodeFEAxyzDD::ArchiveIn | ( | ChArchiveIn & | archive | ) |
| overridevirtual

Method to allow de-serialization of transient data from archives.

Reimplemented from chrono::fea::ChNodeFEAxyzD.

Reimplemented in chrono::fea::ChNodeFEAxyzDDD.

## ◆ ArchiveOut()

void chrono::fea::ChNodeFEAxyzDD::ArchiveOut | ( | ChArchiveOut & | archive | ) |
| overridevirtual

Method to allow serialization of transient data to archives.

Reimplemented from chrono::fea::ChNodeFEAxyzD.

Reimplemented in chrono::fea::ChNodeFEAxyzDDD.

## ◆ ComputeNF()

void chrono::fea::ChNodeFEAxyzDD::ComputeNF | ( | const double | U,
|  | const double | V,
|  | const double | W,
|  | ChVectorDynamic<> & | Qi,
|  | double & | detJ,
|  | const ChVectorDynamic<> & | F,
|  | ChVectorDynamic<> * | state_x,
|  | ChVectorDynamic<> * | state_w )
| overridevirtual

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.

Here, det[J] is unused.

Parameters

  U | x coordinate of application point in absolute space
  V | y coordinate of application point in absolute space
  W | z coordinate of application point in absolute space
  Qi | Return result of N'*F here, maybe with offset block_offset
  detJ | Return det[J] here
  F | Input F vector, containing Force xyz in absolute coords and a 'pseudo' torque.
  state_x | if != 0, update state (pos. part) to this, then evaluate Q
  state_w | if != 0, update state (speed part) to this, then evaluate Q

Reimplemented from chrono::fea::ChNodeFEAxyzD.

Reimplemented in chrono::fea::ChNodeFEAxyzDDD.

## ◆ ForceToRest()

void chrono::fea::ChNodeFEAxyzDD::ForceToRest | ( |  | ) |
| overridevirtual

Reset to no speed and acceleration.

Reimplemented from chrono::fea::ChNodeFEAxyzD.

Reimplemented in chrono::fea::ChNodeFEAxyzDDD.

## ◆ GetLoadableNumCoordsPosLevel()

virtual unsigned int chrono::fea::ChNodeFEAxyzDD::GetLoadableNumCoordsPosLevel | ( |  | ) |
| inlineoverridevirtual

Gets the number of DOFs affected by this element (position part).

Reimplemented from chrono::fea::ChNodeFEAxyzD.

Reimplemented in chrono::fea::ChNodeFEAxyzDDD.

## ◆ GetLoadableNumCoordsVelLevel()

virtual unsigned int chrono::fea::ChNodeFEAxyzDD::GetLoadableNumCoordsVelLevel | ( |  | ) |
| inlineoverridevirtual

Gets the number of DOFs affected by this element (speed part).

Reimplemented from chrono::fea::ChNodeFEAxyzD.

Reimplemented in chrono::fea::ChNodeFEAxyzDDD.

## ◆ GetNumCoordsPosLevel()

virtual unsigned int chrono::fea::ChNodeFEAxyzDD::GetNumCoordsPosLevel | ( |  | ) | const
| inlineoverridevirtual

Get the number of degrees of freedom.

Reimplemented from chrono::fea::ChNodeFEAxyzD.

Reimplemented in chrono::fea::ChNodeFEAxyzDDD.

## ◆ GetNumCoordsPosLevelActive()

virtual unsigned int chrono::fea::ChNodeFEAxyzDD::GetNumCoordsPosLevelActive | ( |  | ) | const
| inlineoverridevirtual

Get the actual number of active degrees of freedom.

Reimplemented from chrono::fea::ChNodeFEAxyzD.

Reimplemented in chrono::fea::ChNodeFEAxyzDDD.

## ◆ GetNumCoordsVelLevel()

virtual unsigned int chrono::fea::ChNodeFEAxyzDD::GetNumCoordsVelLevel | ( |  | ) | const
| inlineoverridevirtual

Get the number of degrees of freedom, derivative.

Reimplemented from chrono::fea::ChNodeFEAxyzD.

Reimplemented in chrono::fea::ChNodeFEAxyzDDD.

## ◆ GetNumCoordsVelLevelActive()

virtual unsigned int chrono::fea::ChNodeFEAxyzDD::GetNumCoordsVelLevelActive | ( |  | ) | const
| inlineoverridevirtual

Get the actual number of active degrees of freedom, derivative.

Reimplemented from chrono::fea::ChNodeFEAxyzD.

Reimplemented in chrono::fea::ChNodeFEAxyzDDD.

## ◆ GetNumFieldCoords()

virtual unsigned int chrono::fea::ChNodeFEAxyzDD::GetNumFieldCoords | ( |  | ) |
| inlineoverridevirtual

Number of coordinates in the interpolated field.

Reimplemented from chrono::fea::ChNodeFEAxyzD.

Reimplemented in chrono::fea::ChNodeFEAxyzDDD.

## ◆ GetSubBlockSize()

virtual unsigned int chrono::fea::ChNodeFEAxyzDD::GetSubBlockSize | ( | unsigned int | nblock | ) |
| inlineoverridevirtual

Get the size of the i-th sub-block of DOFs in global vector.

Reimplemented from chrono::fea::ChNodeFEAxyzD.

Reimplemented in chrono::fea::ChNodeFEAxyzDDD.

## ◆ InjectVariables()

void chrono::fea::ChNodeFEAxyzDD::InjectVariables | ( | ChSystemDescriptor & | descriptor | ) |
| overridevirtual

Register with the given system descriptor any ChVariable objects associated with this item.

Reimplemented from chrono::fea::ChNodeFEAxyzD.

Reimplemented in chrono::fea::ChNodeFEAxyzDDD.

## ◆ IsFixed()

bool chrono::fea::ChNodeFEAxyzDD::IsFixed | ( |  | ) | const
| overridevirtual

Return true if the node is fixed (i.e., its state variables are not changed by the solver).

Reimplemented from chrono::fea::ChNodeFEAxyzD.

Reimplemented in chrono::fea::ChNodeFEAxyzDDD.

## ◆ LoadableGetStateBlockPosLevel()

void chrono::fea::ChNodeFEAxyzDD::LoadableGetStateBlockPosLevel | ( | int | block_offset,
|  | ChState & | S )
| overridevirtual

Gets all the DOFs packed in a single vector (position part).

Reimplemented from chrono::fea::ChNodeFEAxyzD.

Reimplemented in chrono::fea::ChNodeFEAxyzDDD.

## ◆ LoadableGetStateBlockVelLevel()

void chrono::fea::ChNodeFEAxyzDD::LoadableGetStateBlockVelLevel | ( | int | block_offset,
|  | ChStateDelta & | S )
| overridevirtual

Gets all the DOFs packed in a single vector (speed part).

Reimplemented from chrono::fea::ChNodeFEAxyzD.

Reimplemented in chrono::fea::ChNodeFEAxyzDDD.

## ◆ LoadableGetVariables()

void chrono::fea::ChNodeFEAxyzDD::LoadableGetVariables | ( | std::vector< ChVariables * > & | vars | ) |
| overridevirtual

Get the pointers to the contained ChVariables, appending to the mvars vector.

Reimplemented from chrono::fea::ChNodeFEAxyzD.

Reimplemented in chrono::fea::ChNodeFEAxyzDDD.

## ◆ LoadableStateIncrement()

void chrono::fea::ChNodeFEAxyzDD::LoadableStateIncrement | ( | const unsigned int | off_x,
|  | ChState & | x_new,
|  | const ChState & | x,
|  | const unsigned int | off_v,
|  | const ChStateDelta & | Dv )
| overridevirtual

Increment all DOFs using a delta.

Reimplemented from chrono::fea::ChNodeFEAxyzD.

Reimplemented in chrono::fea::ChNodeFEAxyzDDD.

## ◆ NodeIntFromDescriptor()

void chrono::fea::ChNodeFEAxyzDD::NodeIntFromDescriptor | ( | const unsigned int | off_v,
|  | ChStateDelta & | v )
| overridevirtual

Reimplemented from chrono::fea::ChNodeFEAxyzD.

## ◆ NodeIntLoadLumpedMass_Md()

void chrono::fea::ChNodeFEAxyzDD::NodeIntLoadLumpedMass_Md | ( | const unsigned int | off,
|  | ChVectorDynamic<> & | Md,
|  | double & | error,
|  | const double | c )
| overridevirtual

Reimplemented from chrono::fea::ChNodeFEAxyzD.

## ◆ NodeIntLoadResidual_F()

void chrono::fea::ChNodeFEAxyzDD::NodeIntLoadResidual_F | ( | const unsigned int | off,
|  | ChVectorDynamic<> & | R,
|  | const double | c )
| overridevirtual

Reimplemented from chrono::fea::ChNodeFEAxyzD.

## ◆ NodeIntLoadResidual_Mv()

void chrono::fea::ChNodeFEAxyzDD::NodeIntLoadResidual_Mv | ( | const unsigned int | off,
|  | ChVectorDynamic<> & | R,
|  | const ChVectorDynamic<> & | w,
|  | const double | c )
| overridevirtual

Reimplemented from chrono::fea::ChNodeFEAxyzD.

## ◆ NodeIntStateGather()

void chrono::fea::ChNodeFEAxyzDD::NodeIntStateGather | ( | const unsigned int | off_x,
|  | ChState & | x,
|  | const unsigned int | off_v,
|  | ChStateDelta & | v,
|  | double & | T )
| overridevirtual

Reimplemented from chrono::fea::ChNodeFEAxyzD.

## ◆ NodeIntStateGatherAcceleration()

void chrono::fea::ChNodeFEAxyzDD::NodeIntStateGatherAcceleration | ( | const unsigned int | off_a,
|  | ChStateDelta & | a )
| overridevirtual

Reimplemented from chrono::fea::ChNodeFEAxyzD.

## ◆ NodeIntStateGetIncrement()

void chrono::fea::ChNodeFEAxyzDD::NodeIntStateGetIncrement | ( | const unsigned int | off_x,
|  | const ChState & | x_new,
|  | const ChState & | x,
|  | const unsigned int | off_v,
|  | ChStateDelta & | Dv )
| overridevirtual

Reimplemented from chrono::fea::ChNodeFEAxyzD.

## ◆ NodeIntStateIncrement()

void chrono::fea::ChNodeFEAxyzDD::NodeIntStateIncrement | ( | const unsigned int | off_x,
|  | ChState & | x_new,
|  | const ChState & | x,
|  | const unsigned int | off_v,
|  | const ChStateDelta & | Dv )
| overridevirtual

Reimplemented from chrono::fea::ChNodeFEAxyzD.

## ◆ NodeIntStateScatter()

void chrono::fea::ChNodeFEAxyzDD::NodeIntStateScatter | ( | const unsigned int | off_x,
|  | const ChState & | x,
|  | const unsigned int | off_v,
|  | const ChStateDelta & | v,
|  | const double | T )
| overridevirtual

Reimplemented from chrono::fea::ChNodeFEAxyzD.

## ◆ NodeIntStateScatterAcceleration()

void chrono::fea::ChNodeFEAxyzDD::NodeIntStateScatterAcceleration | ( | const unsigned int | off_a,
|  | const ChStateDelta & | a )
| overridevirtual

Reimplemented from chrono::fea::ChNodeFEAxyzD.

## ◆ NodeIntToDescriptor()

void chrono::fea::ChNodeFEAxyzDD::NodeIntToDescriptor | ( | const unsigned int | off_v,
|  | const ChStateDelta & | v,
|  | const ChVectorDynamic<> & | R )
| overridevirtual

Reimplemented from chrono::fea::ChNodeFEAxyzD.

## ◆ SetFixed()

void chrono::fea::ChNodeFEAxyzDD::SetFixed | ( | bool | fixed | ) |
| overridevirtual

Fix/release this node.

If fixed, its state variables are not changed by the solver.

Reimplemented from chrono::fea::ChNodeFEAxyzD.

Reimplemented in chrono::fea::ChNodeFEAxyzDDD.

## ◆ SetSlope2Fixed()

void chrono::fea::ChNodeFEAxyzDD::SetSlope2Fixed | ( | bool | fixed | ) |

Fix/release the 2nd derivative vector states.

If fixed, these states are not changed by the solver. Note that releasing the 3rd derivative vector forces the first derivative vector to also be released.

## ◆ SetupInitial()

void chrono::fea::ChNodeFEAxyzDD::SetupInitial | ( | ChSystem * | system | ) |
| overridevirtual

Initial setup. Set number of degrees of freedom for this node.

Reimplemented from chrono::fea::ChNodeFEAxyzD.

Reimplemented in chrono::fea::ChNodeFEAxyzDDD.

## ◆ VariablesFbIncrementMq()

void chrono::fea::ChNodeFEAxyzDD::VariablesFbIncrementMq | ( |  | ) |
| overridevirtual

Add M*q (masses multiplied current 'qb') to Fb, ex.

if qb is initialized with v_old using VariablesQbLoadSpeed, this method can be used in timestepping schemes that do: M*v_new = M*v_old + forces*dt

Reimplemented from chrono::fea::ChNodeFEAxyzD.

Reimplemented in chrono::fea::ChNodeFEAxyzDDD.

## ◆ VariablesFbLoadForces()

void chrono::fea::ChNodeFEAxyzDD::VariablesFbLoadForces | ( | double | factor = 1 | ) |
| overridevirtual

Add the current forces (applied to node) into the encapsulated ChVariables.

Include in the 'fb' part: qf+=forces*factor

Reimplemented from chrono::fea::ChNodeFEAxyzD.

Reimplemented in chrono::fea::ChNodeFEAxyzDDD.

## ◆ VariablesFbReset()

void chrono::fea::ChNodeFEAxyzDD::VariablesFbReset | ( |  | ) |
| overridevirtual

Set the 'fb' part (the known term) of the encapsulated ChVariables to zero.

Reimplemented from chrono::fea::ChNodeFEAxyzD.

Reimplemented in chrono::fea::ChNodeFEAxyzDDD.

## ◆ VariablesQbIncrementPosition()

void chrono::fea::ChNodeFEAxyzDD::VariablesQbIncrementPosition | ( | double | step | ) |
| overridevirtual

Increment node positions by the 'qb' part of the ChVariables, multiplied by a 'step' factor.

pos+=qb*step If qb is a speed, this behaves like a single step of 1-st order numerical integration (Euler integration).

Reimplemented from chrono::fea::ChNodeFEAxyzD.

Reimplemented in chrono::fea::ChNodeFEAxyzDDD.

## ◆ VariablesQbLoadSpeed()

void chrono::fea::ChNodeFEAxyzDD::VariablesQbLoadSpeed | ( |  | ) |
| overridevirtual

Initialize the 'qb' part of the ChVariables with the current value of speeds.

Reimplemented from chrono::fea::ChNodeFEAxyzD.

Reimplemented in chrono::fea::ChNodeFEAxyzDDD.

## ◆ VariablesQbSetSpeed()

void chrono::fea::ChNodeFEAxyzDD::VariablesQbSetSpeed | ( | double | step = 0 | ) |
| overridevirtual

Fetch the item speed (ex.

linear velocity, in xyz nodes) from the 'qb' part of the ChVariables and sets it as the current item speed. If 'step' is not 0, also should compute the approximate acceleration of the item using backward differences, that is accel=(new_speed-old_speed)/step. Mostly used after the solver provided the solution in ChVariables.

Reimplemented from chrono::fea::ChNodeFEAxyzD.

Reimplemented in chrono::fea::ChNodeFEAxyzDDD.

The documentation for this class was generated from the following files:

- D:/W/B/src/chrono-9.0.1/src/chrono/fea/ChNodeFEAxyzDD.h
- D:/W/B/src/chrono-9.0.1/src/chrono/fea/ChNodeFEAxyzDD.cpp