chrono::fea::ChFieldElementVolume Class Referenceabstract

Description

Class for grouping all finite elements that have a manifold dimension of 3, like volumes (tetrahedrons, hexahedrons, etc.)

#include <ChFieldElement.h>

Inheritance diagram for chrono::fea::ChFieldElementVolume:
Collaboration diagram for chrono::fea::ChFieldElementVolume:

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 int GetNumFaces ()
 
virtual std::shared_ptr< ChFieldElementSurfaceBuildFace (int i_face, std::shared_ptr< ChFieldElementVolume > shared_this)
 
virtual bool IsTetrahedronIntegrationCompatible () const =0
 
virtual bool IsTrianglePrismIntegrationCompatible () const =0
 
- 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< ChNodeFEAbaseGetNode (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()

double chrono::fea::ChFieldElementVolume::ComputeJ ( const ChVector3d  eta,
ChMatrix33d J 
)
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.

Implements chrono::fea::ChFieldElement.

Reimplemented in chrono::fea::ChFieldElementTetrahedron4, and chrono::fea::ChFieldElementHexahedron8.


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