chrono::fea::ChContactSurfaceSegmentSet Class Reference
Description
Class which defines a contact surface for FEA elements.
Suitable for cable and beam elements, it uses one or more capsules per element (depending on the number of nodes).
#include <ChContactSurfaceSegmentSet.h>
Inheritance diagram for chrono::fea::ChContactSurfaceSegmentSet:
Collaboration diagram for chrono::fea::ChContactSurfaceSegmentSet:
Public Member Functions | |
ChContactSurfaceSegmentSet (std::shared_ptr< ChContactMaterial > material, ChMesh *mesh=nullptr) | |
void | AddSegment (std::shared_ptr< ChNodeFEAxyz > node1, std::shared_ptr< ChNodeFEAxyz > node2, bool owns_node1, bool owns_node2, double sphere_swept=0.0) |
Add the segment specified by the two given XYZ nodes to this contact surface. More... | |
void | AddSegment (std::shared_ptr< ChNodeFEAxyzrot > node1, std::shared_ptr< ChNodeFEAxyzrot > node2, bool owns_node1, bool owns_node2, double sphere_swept=0.0) |
Add the segment specified by the two given XYZRot nodes to this contact surface. More... | |
void | AddAllSegments (const ChMesh &mesh, double sphere_swept=0.0) |
Utility function to add segments for all 1D elements of the specified FEA mesh to this collision set. | |
std::vector< std::shared_ptr< ChContactSegmentXYZ > > & | GetSegmentsXYZ () |
Get the list of segments. | |
std::vector< std::shared_ptr< ChContactSegmentXYZRot > > & | GetSegmentsXYZRot () |
Get the list of segments for nodes with rotational DOFs. | |
unsigned int | GetNumSegments () const |
Get the total number of segments. | |
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). | |
void | DisableSelfCollisions (int family) |
Disable self-collisions (default: enabled). More... | |
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) | |
bool | m_self_collide |
include self-collisions? | |
int | m_collision_family |
collision family (if no self-collisions) | |
Member Function Documentation
◆ AddSegment() [1/2]
void chrono::fea::ChContactSurfaceSegmentSet::AddSegment | ( | std::shared_ptr< ChNodeFEAxyz > | node1, |
std::shared_ptr< ChNodeFEAxyz > | node2, | ||
bool | owns_node1, | ||
bool | owns_node2, | ||
double | sphere_swept = 0.0 |
||
) |
Add the segment specified by the two given XYZ nodes to this contact surface.
- Parameters
-
node1 segment node1 node2 segment node2 owns_node1 collision segment owns node1 owns_node2 collision segment owns node2 sphere_swept thickness (radius of sweeping sphere)
◆ AddSegment() [2/2]
void chrono::fea::ChContactSurfaceSegmentSet::AddSegment | ( | std::shared_ptr< ChNodeFEAxyzrot > | node1, |
std::shared_ptr< ChNodeFEAxyzrot > | node2, | ||
bool | owns_node1, | ||
bool | owns_node2, | ||
double | sphere_swept = 0.0 |
||
) |
Add the segment specified by the two given XYZRot nodes to this contact surface.
- Parameters
-
node1 segment node1 node2 segment node2 owns_node1 collision segment owns node1 owns_node2 collision segment owns node2 sphere_swept thickness (radius of sweeping sphere)
The documentation for this class was generated from the following files:
- /builds/uwsbel/chrono/src/chrono/fea/ChContactSurfaceSegmentSet.h
- /builds/uwsbel/chrono/src/chrono/fea/ChContactSurfaceSegmentSet.cpp