|
OOFEM 3.0
|
Abstract base class for contact search algorithms. More...
#include <contactsearch.h>
Public Member Functions | |
| ContactSearchAlgorithm (Domain *d) | |
| ~ContactSearchAlgorithm () | |
| virtual void | createContactPairs ()=0 |
| Creates initial contact pairs based on the current configuration. | |
| virtual void | updateContactPairs (TimeStep *tStep)=0 |
| Updates previously created contact pairs for the current time step. | |
| std::vector< std::unique_ptr< ContactPair > > & | getContactPairs () |
| Returns the internally stored list of contact pairs. | |
| const std::vector< std::unique_ptr< ContactPair > > & | getContactPairs () const |
| Returns the internally stored list of contact pairs (const overload). | |
Protected Attributes | |
| Domain * | domain |
| std::vector< std::unique_ptr< ContactPair > > | contactPairs |
Abstract base class for contact search algorithms.
The ContactSearch class defines a common interface for algorithms responsible for detecting potential contact interactions between contact surfaces. It provides the functionality required to identify candidate contact pairs based on geometric proximity, bounding-box intersection, or other search strategies.
Concrete implementations may employ different search techniques, such as brute-force search, spatial partitioning, hierarchical bounding volumes, or grid-based methods. The output of a contact search is typically a set of potential contact pairs that can be further processed by contact enforcement algorithms.
This class focuses solely on contact detection and does not prescribe any particular contact formulation or constraint enforcement method.
Definition at line 67 of file contactsearch.h.
|
inline |
Definition at line 74 of file contactsearch.h.
References domain.
Referenced by oofem::ContactSearchAlgorithm_Surface2FESurface::ContactSearchAlgorithm_Surface2FESurface().
|
inline |
Definition at line 75 of file contactsearch.h.
|
pure virtual |
Creates initial contact pairs based on the current configuration.
Performs broad-phase (and possibly narrow-phase) detection to produce a set of candidate contact pairs used by the contact boundary condition.
Implemented in oofem::ContactSearchAlgorithm_Surface2FESurface.
|
inline |
Returns the internally stored list of contact pairs.
Definition at line 96 of file contactsearch.h.
References contactPairs.
|
inline |
Returns the internally stored list of contact pairs (const overload).
Definition at line 100 of file contactsearch.h.
References contactPairs.
|
pure virtual |
Updates previously created contact pairs for the current time step.
Typical responsibilities include re-projection, pair filtering, and updating kinematic measures (gap, normals, tangents) as the configuration changes.
| tStep | Current time step. |
Implemented in oofem::ContactSearchAlgorithm_Surface2FESurface, oofem::ContactSearchAlgorithm_Surface2FESurface_2d, oofem::ContactSearchAlgorithm_Surface2FESurface_3d, and oofem::ContactSearchAlgorithm_Surface2FESurface_3d_SweepAndPrune.
|
protected |
Definition at line 71 of file contactsearch.h.
Referenced by oofem::ContactSearchAlgorithm_Surface2FESurface::createContactPairs(), getContactPairs(), getContactPairs(), oofem::ContactSearchAlgorithm_Surface2FESurface_3d_SweepAndPrune::initialize(), oofem::ContactSearchAlgorithm_Surface2FESurface_3d_SweepAndPrune::updateAABBs(), oofem::ContactSearchAlgorithm_Surface2FESurface_2d::updateContactPairs(), oofem::ContactSearchAlgorithm_Surface2FESurface_3d::updateContactPairs(), and oofem::ContactSearchAlgorithm_Surface2FESurface_3d_SweepAndPrune::updateContactPairs().
|
protected |
Definition at line 70 of file contactsearch.h.
Referenced by ContactSearchAlgorithm().