Description
Class for grouping all finite elements that have a manifold dimension of 2, like surfaces (shells, etc.)
#include <ChFieldElement.h>


Public Member Functions | |
| virtual int | GetManifoldDimensions () const override |
| virtual double | ComputeJ (const ChVector3d eta, ChMatrix33d &J) override |
| Compute Jacobian J = dX/dη, and returns its determinant. More... | |
| virtual bool | IsTriangleIntegrationCompatible () const =0 |
| virtual ChVector3d | ComputeNormal (const double U, const double V)=0 |
| Gets the normal to the surface at the parametric coordinate u,v. More... | |
Public Member Functions inherited from chrono::fea::ChFieldElement | |
| 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 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 | 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... | |
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.
It should be GetSpatialDimensions() x 2 = 3x2, but return as 3x3 by padding 3rd columns with auxiliary orthogonal column. FALLBACK default implementation; but if possible implement a faster ad hoc computation.
Implements chrono::fea::ChFieldElement.
Reimplemented in chrono::fea::ChFieldTetrahedron4Face, and chrono::fea::ChFieldHexahedron8Face.
◆ ComputeNormal()
|
pure virtual |
Gets the normal to the surface at the parametric coordinate u,v.
Normal must be considered pointing outside in case the surface is a boundary to a volume.
Implemented in chrono::fea::ChFieldHexahedron8Face, and chrono::fea::ChFieldTetrahedron4Face.
The documentation for this class was generated from the following files:
- /builds/uwsbel/chrono/src/chrono/fea/ChFieldElement.h
- /builds/uwsbel/chrono/src/chrono/fea/ChFieldElement.cpp
Public Member Functions inherited from