Description

Class which defines a surface for a mesh FEA elements.

The contact surface is a collection of pointers to ChLoadableUV objects, which can be shells in the mesh or proxies to faces of solid elements (such as ChTetrahedronFace or ChHexahedronFace).

#include <ChMeshSurface.h>

Public Member Functions

 ChMeshSurface (ChMesh *parentmesh=nullptr)
 
ChMeshGetMesh ()
 Get owner mesh.
 
void SetMesh (ChMesh *mm)
 Set owner mesh.
 
std::vector< std::shared_ptr< ChLoadableUV > > & GetFacesList ()
 Direct access to the list of faces.
 
virtual void AddFace (std::shared_ptr< ChLoadableUV > mface)
 Add a single mesh face. More...
 
virtual void AddFacesFromNodeSet (std::vector< std::shared_ptr< ChNodeFEAbase > > &node_set)
 Add multiple faces of FEM elements given a set of nodes at vertexes. More...
 
virtual void AddFacesFromBoundary ()
 Find faces on the outer boundary of a solid mesh. More...
 

Member Function Documentation

◆ AddFace()

virtual void chrono::fea::ChMeshSurface::AddFace ( std::shared_ptr< ChLoadableUV mface)
inlinevirtual

Add a single mesh face.

Note that this function does not check for double insertion of the same face.

◆ AddFacesFromBoundary()

void chrono::fea::ChMeshSurface::AddFacesFromBoundary ( )
virtual

Find faces on the outer boundary of a solid mesh.

Scan all the finite elements already added in the parent ChMesh and add the faces that are not shared.

◆ AddFacesFromNodeSet()

void chrono::fea::ChMeshSurface::AddFacesFromNodeSet ( std::vector< std::shared_ptr< ChNodeFEAbase > > &  node_set)
virtual

Add multiple faces of FEM elements given a set of nodes at vertexes.

Scan all the finite elements already added in the parent ChMesh, and check if any has a face whose vertexes are all in the given node set; if so, add it to this mesh surface, with these rules:


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