Description
Interface for objects that can be subject to loads (forces) Forces can be distributed on UV surfaces, or lines, etc.,so look also the more detailed children classes.
#include <ChLoadable.h>
Public Member Functions | |
virtual int | LoadableGet_ndof_x ()=0 |
Gets the number of DOFs affected by this element (position part) | |
virtual int | LoadableGet_ndof_w ()=0 |
Gets the number of DOFs affected by this element (speed part) | |
virtual void | LoadableGetStateBlock_x (int block_offset, ChState &mD)=0 |
Gets all the DOFs packed in a single vector (position part) | |
virtual void | LoadableGetStateBlock_w (int block_offset, ChStateDelta &mD)=0 |
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)=0 |
Increment all DOFs using a delta. More... | |
virtual int | Get_field_ncoords ()=0 |
Number of coordinates in the interpolated field, ex=3 for a tetrahedron finite element or a cable, = 1 for a thermal problem, etc. | |
virtual int | GetSubBlocks ()=0 |
Tell the number of DOFs blocks (ex. =1 for a body, =4 for a tetrahedron, etc.) | |
virtual unsigned int | GetSubBlockOffset (int nblock)=0 |
Get the offset of the i-th sub-block of DOFs in global vector. | |
virtual unsigned int | GetSubBlockSize (int nblock)=0 |
Get the size of the i-th sub-block of DOFs in global vector. | |
virtual void | LoadableGetVariables (std::vector< ChVariables * > &mvars)=0 |
Get the pointers to the contained ChVariables, appending to the mvars vector. | |
Member Function Documentation
◆ LoadableStateIncrement()
|
pure virtual |
Increment all DOFs using a delta.
Default is sum, but may override if ndof_x is different than ndof_w, for example with rotation quaternions and angular w vel. This could be invoked, for example, by the BDF differentiation that computes the jacobians.
Implemented in chrono::fea::ChElementBeamIGA, chrono::fea::ChContactTriangleXYZROT, chrono::ChBody, chrono::fea::ChElementShellReissner4, chrono::fea::ChElementShellBST, chrono::fea::ChElementShellANCF_8, chrono::fea::ChElementBeamANCF, chrono::fea::ChElementTetra_4_P, chrono::fea::ChElementShellANCF, chrono::fea::ChContactTriangleXYZ, chrono::fea::ChElementBrick_9, chrono::fea::ChElementBeamEuler, chrono::ChShaft, chrono::fea::ChElementCableANCF, chrono::fea::ChElementHexa_20, chrono::fea::ChElementTetra_10, chrono::fea::ChElementHexa_8, chrono::fea::ChNodeFEAxyzDD, chrono::fea::ChElementTetra_4, chrono::fea::ChNodeFEAxyzD, chrono::fea::ChElementBrick, chrono::fea::ChFaceHexa_8, chrono::fea::ChFaceBrick_9, chrono::fea::ChFaceTetra_4, and chrono::ChNodeXYZ.
The documentation for this class was generated from the following file:
- /builds/uwsbel/chrono/src/chrono/physics/ChLoadable.h