chrono::fea::ChFieldTetrahedron4Face Class Reference

Description

Tetrahedron face.

Useful for visualization etc. When wrapped in a ChFieldElementLoadableSurface, this can be also used to apply UV loads of ChLoaderUVdistributed type, for example ChLoaderPressure if referencing the ChDomainDeformation, or Neumann boundary in general like imposed heat flow, etc. Corner nodes, obtainable with GetNode(), are in counterclockwise order seen from the outside.

#include <ChFieldElementTetrahedron4Face.h>

Inheritance diagram for chrono::fea::ChFieldTetrahedron4Face:
Collaboration diagram for chrono::fea::ChFieldTetrahedron4Face:

Public Member Functions

 ChFieldTetrahedron4Face (std::shared_ptr< ChFieldElementTetrahedron4 > element, char id)
 Construct the specified face (0 <= id <= 3) on the given hexahedral element. More...
 
virtual unsigned int GetNumNodes () override
 Get the number of nodes used by this element.
 
virtual std::shared_ptr< ChNodeFEAbaseGetNode (unsigned int i) override
 Access the nth node.
 
virtual int GetSpatialDimensions () const override
 
virtual void ComputeN (const ChVector3d eta, ChRowVectorDynamic<> &N) override
 Compute shape function for the face. More...
 
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 bool IsTriangleIntegrationCompatible () const override
 
virtual ChVector3d ComputeNormal (const double U, const double V) override
 Gets the normal to the surface at the parametric coordinate u,v. More...
 
- Public Member Functions inherited from chrono::fea::ChFieldElementSurface
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
 
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
 

Constructor & Destructor Documentation

◆ ChFieldTetrahedron4Face()

chrono::fea::ChFieldTetrahedron4Face::ChFieldTetrahedron4Face ( std::shared_ptr< ChFieldElementTetrahedron4 element,
char  id 
)
inline

Construct the specified face (0 <= id <= 3) on the given hexahedral element.

The face id is: id = 0 for face opposed to vertex 0 id = 1 for face opposed to vertex 1 id = 2 for face opposed to vertex 2 id = 3 for face opposed to vertex 3

Member Function Documentation

◆ ComputeJ()

virtual double chrono::fea::ChFieldTetrahedron4Face::ComputeJ ( const ChVector3d  eta,
ChMatrix33d J 
)
inlineoverridevirtual

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.

Reimplemented from chrono::fea::ChFieldElementSurface.

◆ ComputeN()

virtual void chrono::fea::ChFieldTetrahedron4Face::ComputeN ( const ChVector3d  eta,
ChRowVectorDynamic<> &  N 
)
inlineoverridevirtual

Compute shape function for the face.

Note, only U,V of eta are used, assuming the two parametric coords of the face.

Implements chrono::fea::ChFieldElement.

◆ ComputeNormal()

virtual ChVector3d chrono::fea::ChFieldTetrahedron4Face::ComputeNormal ( const double  U,
const double  V 
)
inlineoverridevirtual

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.

Implements chrono::fea::ChFieldElementSurface.


The documentation for this class was generated from the following file:
  • /builds/uwsbel/chrono/src/chrono/fea/ChFieldElementTetrahedron4Face.h