chrono::fea::ChContactSurfaceNodeCloud Class Reference

Description

Class which defines a contact surface for FEA elements, where 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 FEAnodes-vs-FEAfaces cases, and misses FEAedge-vs-edges)

#include <ChContactSurfaceNodeCloud.h>

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

Public Member Functions

 ChContactSurfaceNodeCloud (ChMesh *parentmesh=0)
 
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.
 
unsigned int GetNnodes () const
 Get the number of nodes.
 
unsigned int GetNnodesRot () const
 Get the number of nodes with rotation too.
 
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 rotation too.
 
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 (ChMesh *parentmesh=0)
 
ChMeshGetMesh ()
 Get owner mesh.
 
void SetMesh (ChMesh *mm)
 Set owner mesh.
 
void SetMaterialSurface (const std::shared_ptr< ChMaterialSurface > &mnewsurf)
 Set the material surface for 'boundary contact'.
 
virtual std::shared_ptr< ChMaterialSurface > & GetMaterialSurfaceBase ()
 Set the material surface for 'boundary contact'.
 

Additional Inherited Members

- Protected Attributes inherited from chrono::fea::ChContactSurface
std::shared_ptr< ChMaterialSurfacematsurface
 material for contacts
 
ChMeshmmesh