chrono::fea::ChContactSurfaceNodeCloud Class Reference

Description

Class which defines a contact surface for FEA elements.

Only xyz nodes in the FEA model are used as contact items for the collision detection. Might be an efficient option in case of dense tessellations (but misses the node-vs-face and edge-vs-edge cases)

#include <ChContactSurfaceNodeCloud.h>

Inheritance diagram for chrono::fea::ChContactSurfaceNodeCloud:
Collaboration diagram for chrono::fea::ChContactSurfaceNodeCloud:

Public Member Functions

 ChContactSurfaceNodeCloud (std::shared_ptr< ChMaterialSurface > material, ChMesh *mesh=nullptr)
 
void AddNode (std::shared_ptr< ChNodeFEAxyz > mnode, const double point_radius=0.001)
 Add a specific node to this collision cloud.
 
void AddNode (std::shared_ptr< ChNodeFEAxyzrot > mnode, const double point_radius=0.001)
 Add a specific node to this collision cloud.
 
void AddAllNodes (const double point_radius=0.001)
 Add all nodes of the mesh to this collision cloud.
 
void AddFacesFromNodeSet (std::vector< std::shared_ptr< ChNodeFEAbase > > &node_set, const double point_radius=0.001)
 Add nodes of the mesh, belonging to the node_set, to this collision cloud.
 
std::vector< std::shared_ptr< ChContactNodeXYZsphere > > & GetNodeList ()
 Get the list of nodes.
 
std::vector< std::shared_ptr< ChContactNodeXYZROTsphere > > & GetNodeListRot ()
 Get the list of nodes with rotational dofs.
 
unsigned int GetNnodes () const
 Get the number of nodes.
 
unsigned int GetNnodesRot () const
 Get the number of nodes with rotational dofs.
 
std::shared_ptr< ChContactNodeXYZsphereGetNode (unsigned int n)
 Access the n-th node.
 
std::shared_ptr< ChContactNodeXYZROTsphereGetNodeRot (unsigned int n)
 Access the n-th node with rotational dofs.
 
virtual void SurfaceSyncCollisionModels ()
 Functions to interface this with ChPhysicsItem container.
 
virtual void SurfaceAddCollisionModelsToSystem (ChSystem *msys)
 
virtual void SurfaceRemoveCollisionModelsFromSystem (ChSystem *msys)
 
- Public Member Functions inherited from chrono::fea::ChContactSurface
 ChContactSurface (std::shared_ptr< ChMaterialSurface > material, ChMesh *mesh=nullptr)
 
ChMeshGetMesh ()
 Get owner mesh.
 
void SetMesh (ChMesh *mesh)
 Set owner mesh.
 
std::shared_ptr< ChMaterialSurface > & GetMaterialSurface ()
 Get the surface contact material.
 

Additional Inherited Members

- Protected Attributes inherited from chrono::fea::ChContactSurface
std::shared_ptr< ChMaterialSurfacem_material
 contact material properties
 
ChMeshm_mesh
 associated mesh
 

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