chrono::fea::ChFieldHexahedron8Face Class Reference

Description

Face of an hexahedron.

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 <ChFieldElementHexahedron8Face.h>

Inheritance diagram for chrono::fea::ChFieldHexahedron8Face:
Collaboration diagram for chrono::fea::ChFieldHexahedron8Face:

Public Member Functions

 ChFieldHexahedron8Face (std::shared_ptr< ChFieldElementHexahedron8 > element, char id)
 Construct the specified face (0 <= id <= 5) 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
 
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

◆ ChFieldHexahedron8Face()

chrono::fea::ChFieldHexahedron8Face::ChFieldHexahedron8Face ( std::shared_ptr< ChFieldElementHexahedron8 element,
char  id 
)
inline

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

Assuming the U,V,W parametrization of the hexahedron, the face id is: id = 0 for face at U=-1, id = 1 for face at U=+1, id = 2 for face at V=-1, id = 3 for face at V=+1, id = 4 for face at W=-1, id = 5 for face at W=+1,

Member Function Documentation

◆ ComputeJ()

virtual double chrono::fea::ChFieldHexahedron8Face::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.

◆ ComputeNormal()

virtual ChVector3d chrono::fea::ChFieldHexahedron8Face::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/ChFieldElementHexahedron8Face.h