Project Chrono: chrono::fea::ChContactSurfaceNodeCloud Class Reference

Public Member Functions | List of all members
chrono::fea::ChContactSurfaceNodeCloud Class Reference
Chrono::Engine » Finite Element Analysis » Contact

## 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:
[legend]
Collaboration diagram for chrono::fea::ChContactSurfaceNodeCloud:
[legend]

## Public Member Functions
| ChContactSurfaceNodeCloud (std::shared_ptr< ChContactMaterial > material, ChMesh *mesh=nullptr)
void | AddNode (std::shared_ptr< ChNodeFEAxyz > node, const double point_radius=0.001)
| Add a specific node to this collision cloud.
void | AddNode (std::shared_ptr< ChNodeFEAxyzrot > node, const double point_radius=0.001)
| Add a specific node to this collision cloud.
void | AddAllNodes (const double point_radius=0.001)
| Utility function to add all nodes of the associated FEA mesh to this collision cloud.
void | AddNodesFromNodeSet (std::vector< std::shared_ptr< ChNodeFEAbase > > &node_set, const double point_radius=0.001)
| Utility function to add nodes of the associated mesh belonging to the given node_set, to this collision cloud.
std::vector< std::shared_ptr< ChContactNodeXYZsphere > > & | GetNodes ()
| Get the list of nodes.
std::vector< std::shared_ptr< ChContactNodeXYZRotSphere > > & | GetNodesRot ()
| Get the list of nodes with rotational dofs.
unsigned int | GetNumNodes () const
| Get the number of nodes.
unsigned int | GetNumNodesRot () const
| Get the number of nodes with rotational dofs.
std::shared_ptr< ChContactNodeXYZsphere > | GetNode (unsigned int n)
| Access the n-th node.
std::shared_ptr< ChContactNodeXYZRotSphere > | GetNodeRot (unsigned int n)
| Access the n-th node with rotational dofs.
virtual void | SyncCollisionModels () const override
virtual void | AddCollisionModelsToSystem (ChCollisionSystem *coll_sys) const override
virtual void | RemoveCollisionModelsFromSystem (ChCollisionSystem *coll_sys) const override
Public Member Functions inherited from chrono::fea::ChContactSurface
| ChContactSurface (std::shared_ptr< ChContactMaterial > material, ChPhysicsItem *mesh=nullptr)
ChPhysicsItem * | GetPhysicsItem ()
| Get the owner physics item (e.g., an FEA mesh).
void | SetPhysicsItem (ChPhysicsItem *physics_item)
| Set the owner physics item (e.g., an FEA mesh).
std::shared_ptr< ChContactMaterial > & | GetMaterialSurface ()
| Get the surface contact material.

## Additional Inherited Members
Protected Attributes inherited from chrono::fea::ChContactSurface
std::shared_ptr< ChContactMaterial > | m_material
| contact material properties
ChPhysicsItem * | m_physics_item
| associated physics item (e.g., an FEA mesh)

## Member Function Documentation

## ◆ AddAllNodes()

void chrono::fea::ChContactSurfaceNodeCloud::AddAllNodes | ( | const double | point_radius = 0.001 | ) |

Utility function to add all nodes of the associated FEA mesh to this collision cloud.

Add all nodes of the mesh to this collision cloud.

This function does nothing if the contact surface was not yet associated with an FEA mesh.

## ◆ AddCollisionModelsToSystem()

void chrono::fea::ChContactSurfaceNodeCloud::AddCollisionModelsToSystem | ( | ChCollisionSystem * | coll_sys | ) | const
| overridevirtual

Implements chrono::fea::ChContactSurface.

## ◆ AddNodesFromNodeSet()

void chrono::fea::ChContactSurfaceNodeCloud::AddNodesFromNodeSet | ( | std::vector< std::shared_ptr< ChNodeFEAbase > > & | node_set,
|  | const double | point_radius = 0.001 )

Utility function to add nodes of the associated mesh belonging to the given node_set, to this collision cloud.

Add nodes of the mesh, belonging to the node_set, to this collision cloud.

This function does nothing if the contact surface was not yet associated with an FEA mesh.

## ◆ RemoveCollisionModelsFromSystem()

void chrono::fea::ChContactSurfaceNodeCloud::RemoveCollisionModelsFromSystem | ( | ChCollisionSystem * | coll_sys | ) | const
| overridevirtual

Implements chrono::fea::ChContactSurface.

## ◆ SyncCollisionModels()

void chrono::fea::ChContactSurfaceNodeCloud::SyncCollisionModels | ( |  | ) | const
| overridevirtual

Implements chrono::fea::ChContactSurface.

The documentation for this class was generated from the following files:

- D:/W/B/src/chrono-9.0.1/src/chrono/fea/ChContactSurfaceNodeCloud.h
- D:/W/B/src/chrono-9.0.1/src/chrono/fea/ChContactSurfaceNodeCloud.cpp