Description
Class which defines a surface for a mesh FEA elements.
The contact surface is a collection of pointers to ChLoadableUV objects, those can be shells in the mesh, or proxies to faces of solid elements such as ChFaceTetra_4.
#include <ChMeshSurface.h>
Public Member Functions | |
ChMeshSurface (ChMesh *parentmesh=0) | |
ChMesh * | GetMesh () |
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 () |
Given a solid mesh (ex a mesh of tetrahedrons) it finds the faces on the outer boundary. More... | |
Member Function Documentation
◆ AddFace()
|
inlinevirtual |
Add a single mesh face.
Beware, it does not check for double insertion of the same face.
◆ AddFacesFromBoundary()
|
virtual |
Given a solid mesh (ex a mesh of tetrahedrons) it finds the faces on the outer boundary.
That is, it scans all the finite elements already added in the parent ChMesh and adds the faces that are not shared (ie. the faces on the boundary 'skin'). Supported solids that generate boundary skin:
- tetrahedrons
- more will follow in future
Case1. Outer skin boundary of meshes of TETRAHEDRONS:
◆ AddFacesFromNodeSet()
|
virtual |
Add multiple faces of FEM elements given a set of nodes at vertexes.
It scans all the finite elements already added in the parent ChMesh, and see if someone has a face whose vertexes are all in the given node set; if so, adds it to this mesh surface, with these rules:
- surface elements inherited from ChLoadableUV such as ChElementShellANCF: the element is added
- face of ChElementTetra_4 : a ChFaceTetra_4 proxy is created and added
- Support for other elements of solid type will follow in future.
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