Description
Linear tetrahedron for generic constitutive laws.
Can be used for multiphysics. Because of linear interpolation, some closed form ad-hoc expressions are used here for J, dNdX, etc., aiming at higher performance.
#include <ChFieldElementTetrahedron4.h>


Public Member Functions | |
| virtual std::shared_ptr< ChNodeFEAfieldXYZ > | GetTetrahedronNode (unsigned int n) |
| Return the specified tetrahedron node (0 <= n <= 3). | |
| virtual void | SetTetrahedronNode (unsigned int n, std::shared_ptr< ChNodeFEAfieldXYZ > mnode) |
| Set the specified tetrahedron node (0 <= n <= 3). | |
| virtual void | SetNodes (std::shared_ptr< ChNodeFEAfieldXYZ > nodeA, std::shared_ptr< ChNodeFEAfieldXYZ > nodeB, std::shared_ptr< ChNodeFEAfieldXYZ > nodeC, std::shared_ptr< ChNodeFEAfieldXYZ > nodeD) |
| Set the nodes used by this tetrahedron. | |
| virtual unsigned int | GetNumNodes () override |
| Get the number of nodes used by this element. | |
| virtual std::shared_ptr< ChNodeFEAbase > | GetNode (unsigned int n) override |
| Access the nth node. | |
| virtual int | GetSpatialDimensions () const override |
| virtual void | ComputeN (const ChVector3d eta, ChRowVectorDynamic<> &N) override |
| virtual void | ComputedNde (const ChVector3d eta, ChMatrixDynamic<> &dNde) override |
| virtual double | ComputeJ (const ChVector3d eta, ChMatrix33d &J) override |
| Compute Jacobian J = dX/dη, and returns its determinant. More... | |
| virtual double | ComputeJinv (const ChVector3d eta, ChMatrix33d &Jinv) override |
| virtual int | GetNumQuadraturePointsForOrder (const int order) const override |
| virtual void | GetMaterialPointWeight (const int order, const int i, double &weight, ChVector3d &coords) const override |
| virtual void | Update () override |
| Update, called at least at each time step. More... | |
| virtual bool | IsTetrahedronIntegrationCompatible () const override |
| virtual bool | IsTrianglePrismIntegrationCompatible () const override |
| virtual int | GetNumFaces () override |
| virtual std::shared_ptr< ChFieldElementSurface > | BuildFace (int i_face, std::shared_ptr< ChFieldElementVolume > shared_this) override |
Public Member Functions inherited from chrono::fea::ChFieldElementVolume | |
| virtual int | GetManifoldDimensions () const override |
Public Member Functions inherited from chrono::fea::ChFieldElement | |
| virtual void | ComputedNdX (const ChVector3d eta, ChMatrixDynamic<> &dNdX) |
| virtual int | GetQuadratureOrder () const |
| virtual void | SetQuadratureOrder (const int morder) |
| virtual int | GetNumMaterialPoints () const |
Additional Inherited Members | |
Protected Attributes inherited from chrono::fea::ChFieldElement | |
| int | quadrature_order = 1 |
Member Function Documentation
◆ ComputeJ()
|
overridevirtual |
Compute Jacobian J = dX/dη, and returns its determinant.
Compute Jacobian J = dX/deta, and returns its determinant.
FALLBACK default implementation; but if possible implement a faster ad hoc computation.
Reimplemented from chrono::fea::ChFieldElementVolume.
◆ Update()
|
inlineoverridevirtual |
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 from chrono::fea::ChFieldElement.
The documentation for this class was generated from the following files:
- /builds/uwsbel/chrono/src/chrono/fea/ChFieldElementTetrahedron4.h
- /builds/uwsbel/chrono/src/chrono/fea/ChFieldElementTetrahedron4.cpp
Public Member Functions inherited from