Description
Base class for finite elements over generic fields (scalrar, vectorial, etc), to be used in the new PDE multiphysics system that uses ChField and ChDomain managers.
These elements are NOT of the same class of the old ones, that typically were inherited from ChElementBase and ChElementGeneric, because the element here does not provide any constitutive law or material: it only provides shape function interpolation, shape function derivatives, jacobian, list of nodes and quadrature schemes, and few ingredients that later one can take advantage of, say in a ChDomainDeformation or ChDomainThermal, if some proper ChField is attached to the nodes.
#include <ChFieldElement.h>

Public Member Functions | |
| virtual unsigned int | GetNumNodes ()=0 |
| Get the number of nodes used by this element. | |
| virtual std::shared_ptr< ChNodeFEAbase > | GetNode (unsigned int n)=0 |
| Access the nth node. | |
| virtual int | GetSpatialDimensions () const =0 |
| virtual int | GetManifoldDimensions () const =0 |
| virtual void | ComputeN (const ChVector3d eta, ChRowVectorDynamic<> &N)=0 |
| virtual void | ComputedNde (const ChVector3d eta, ChMatrixDynamic<> &dNde)=0 |
| virtual void | ComputedNdX (const ChVector3d eta, ChMatrixDynamic<> &dNdX) |
| virtual double | ComputeJ (const ChVector3d eta, ChMatrix33d &J)=0 |
| virtual double | ComputeJinv (const ChVector3d eta, ChMatrix33d &Jinv) |
| virtual int | GetQuadratureOrder () const |
| virtual void | SetQuadratureOrder (const int morder) |
| virtual int | GetNumQuadraturePointsForOrder (const int order) const =0 |
| virtual int | GetNumMaterialPoints () const |
| virtual void | GetMaterialPointWeight (const int order, const int i, double &weight, ChVector3d &coords) const =0 |
| virtual void | Update () |
| Update, called at least at each time step. More... | |
| virtual void | SetupInitial (ChSystem *system) |
| Initial setup (called once before start of simulation). More... | |
Protected Attributes | |
| int | quadrature_order = 1 |
Member Function Documentation
◆ SetupInitial()
|
inlinevirtual |
Initial setup (called once before start of simulation).
This is used mostly to precompute matrices that do not change during the simulation, i.e. the local stiffness of each element, if any, the mass, etc.
◆ Update()
|
inlinevirtual |
Update, called at least at each time step.
If the element has to keep updated some auxiliary data, such as the rotation matrices for corotational approach, this should be implemented in this function.
Reimplemented in chrono::fea::ChFieldElementTetrahedron4, and chrono::fea::ChFieldElementHexahedron8.
The documentation for this class was generated from the following file:
- /builds/uwsbel/chrono/src/chrono/fea/ChFieldElement.h