Description
Face of a hexahedron-shaped element.
Corner nodes, obtainable with GetNode(), are in counterclockwise order seen from the outside.
        v
        ^
3 o-----+-----o 2
  |     |     |
--+-----+-----+-> u
  |     |     |
0 o-----+-----o 1
 #include <ChHexahedronFace.h>


Public Member Functions | |
| ChHexahedronFace (std::shared_ptr< ChElementHexahedron > element, char id) | |
| Construct the specified face (0 <= id <= 5) on the given hexahedral element.  | |
| std::shared_ptr< ChNodeFEAxyz > | GetNode (unsigned int i) const | 
| void | ShapeFunctions (ChVectorN< double, 4 > &N, double x, double y) | 
| Fills the N shape function vector (size 4).  | |
| virtual unsigned int | GetLoadableNumCoordsPosLevel () override | 
| Get the number of DOFs affected by this element (position part).  | |
| virtual unsigned int | GetLoadableNumCoordsVelLevel () override | 
| Get the number of DOFs affected by this element (speed part).  | |
| virtual void | LoadableGetStateBlockPosLevel (int block_offset, ChState &mD) override | 
| Get all the DOFs packed in a single vector (position part).  | |
| virtual void | LoadableGetStateBlockVelLevel (int block_offset, ChStateDelta &mD) override | 
| Get all the DOFs packed in a single vector (speed part).  | |
| virtual void | LoadableStateIncrement (const unsigned int off_x, ChState &x_new, const ChState &x, const unsigned int off_v, const ChStateDelta &Dv) override | 
| Increment all DOFs using a delta.  | |
| virtual unsigned int | GetNumFieldCoords () override | 
| Number of coordinates in the interpolated field: here the {x,y,z} displacement.  | |
| virtual unsigned int | GetNumSubBlocks () override | 
| Get the number of DOFs sub-blocks.  | |
| virtual unsigned int | GetSubBlockOffset (unsigned int nblock) override | 
| Get the offset of the specified sub-block of DOFs in global vector.  | |
| virtual unsigned int | GetSubBlockSize (unsigned int nblock) override | 
| Get the size of the specified sub-block of DOFs in global vector.  | |
| virtual bool | IsSubBlockActive (unsigned int nblock) const override | 
| Check if the specified sub-block of DOFs is active.  | |
| virtual void | LoadableGetVariables (std::vector< ChVariables * > &mvars) override | 
| Get the pointers to the contained ChVariables, appending to the mvars vector.  | |
| virtual void | ComputeNF (const double U, const double V, ChVectorDynamic<> &Qi, double &detJ, const ChVectorDynamic<> &F, ChVectorDynamic<> *state_x, ChVectorDynamic<> *state_w) override | 
| Evaluate N'*F , where N is some type of shape function evaluated at U,V coordinates of the surface, each ranging in -1..+1 F is a load, N'*F is the resulting generalized load.  More... | |
| virtual bool | IsTriangleIntegrationNeeded () override | 
| If true, use quadrature over u,v in [0..1] range as triangle volumetric coords.  | |
| virtual ChVector3d | ComputeNormal (const double U, const double V) override | 
| Get the normal to the surface at the parametric coordinate u,v.  More... | |
Member Function Documentation
◆ ComputeNF()
      
  | 
  inlineoverridevirtual | 
Evaluate N'*F , where N is some type of shape function evaluated at U,V coordinates of the surface, each ranging in -1..+1 F is a load, N'*F is the resulting generalized load.
Returns also det[J] with J=[dx/du,..], which may be useful in Gauss quadrature.
- Parameters
 - 
  
U parametric coordinate in surface V parametric coordinate in surface Qi result of N'*F, maybe with offset block_offset detJ det[J] F Input F vector, size is = n.field coords. state_x if != 0, update state (pos. part) to this, then evaluate Q state_w if != 0, update state (speed part) to this, then evaluate Q  
Implements chrono::ChLoadableUV.
◆ ComputeNormal()
      
  | 
  inlineoverridevirtual | 
Get 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::ChLoadableUV.
The documentation for this class was generated from the following file:
- /builds/uwsbel/chrono/src/chrono/fea/ChHexahedronFace.h