|
OOFEM 3.0
|
Represents a discrete contact point used in contact mechanics formulations. More...
#include <contactpoint.h>
Public Member Functions | |
| ContactPoint () | |
| ~ContactPoint () | |
| virtual void | computeNmatrix (FloatMatrix &answer)=0 |
| Computes the interpolation matrix (N-matrix) for this contact point. | |
| virtual void | compute_dNdxi_matrix (FloatMatrix &Bs, int i)=0 |
| Computes derivative of shape functions w.r.t. the i-th local surface parameter. | |
| virtual void | computeCurvature (FloatMatrix &G, const FloatArray &normal, TimeStep *tStep)=0 |
| Computes curvature-related surface quantities at this contact point. | |
| virtual const FloatArray & | giveLocalCoordinates ()=0 |
| Returns the local (parametric) coordinates of the contact point. | |
| virtual FloatArray | giveGlobalCoordinates ()=0 |
| Returns the current global coordinates of the contact point. | |
| virtual bool | giveLocationArray (IntArray &locationArray, const IntArray &dofIDArry, const UnknownNumberingScheme &s) const =0 |
| Builds a location array for assembling quantities related to this contact point. | |
| virtual void | giveUnknownVector (FloatArray &answer, const IntArray &dofMask, ValueModeType mode, TimeStep *tStep, bool padding=false)=0 |
| Extracts the unknown vector associated with this contact point. | |
| virtual FloatArray | giveNormalVector ()=0 |
| Returns the surface normal vector at the contact point. | |
| virtual void | updateYourself (TimeStep *tStep) |
| Called to update internal state of the contact point for the time step. | |
| virtual void | init () |
| Initializes the contact point. | |
| virtual bool | inContact ()=0 |
| Returns whether this contact point is currently in contact. | |
| virtual void | computeVectorOf (ValueModeType u, TimeStep *tStep, FloatArray &answer)=0 |
| Computes a vector quantity of the contact point for a given value mode. | |
| virtual void | giveUpdatedCoordinates (FloatArray &coords, TimeStep *tStep)=0 |
| Returns updated coordinates of the contact point for the given time step. | |
| int | giveSurfaceDimension () |
| Returns the surface dimension associated with this contact point. | |
Protected Attributes | |
| int | surface_dimension |
Represents a discrete contact point used in contact mechanics formulations.
The ContactPoint class encapsulates all information associated with a single contact point on a potential contact surface or boundary. It stores references to the underlying finite element, local and global coordinates of the contact point, and the associated degrees of freedom. The class serves as a geometric and kinematic representation of contact locations used in master–slave contact algorithms.
ContactPoint provides functionality for:
The class does not enforce contact constraints by itself; instead, it acts as a low-level building block used by ContactPair and higher-level contact algorithms to assemble contact contributions to the global system of equations.
Definition at line 68 of file contactpoint.h.
|
inline |
Definition at line 73 of file contactpoint.h.
Referenced by oofem::FEContactPoint::FEContactPoint().
|
inline |
Definition at line 74 of file contactpoint.h.
|
pure virtual |
Computes derivative of shape functions w.r.t. the i-th local surface parameter.
| Bs | Output derivative matrix. |
| i | Local coordinate index. |
Implemented in oofem::FEContactPoint.
|
pure virtual |
Computes curvature-related surface quantities at this contact point.
| G | Output curvature matrix/tensor representation. |
| normal | Current surface normal used for curvature evaluation. |
| tStep | Current time step. |
Implemented in oofem::FEContactPoint.
|
pure virtual |
Computes the interpolation matrix (N-matrix) for this contact point.
The N-matrix maps element/nodal DOFs to values at the contact point location.
| answer | Output matrix. |
Implemented in oofem::FEContactPoint.
|
pure virtual |
Computes a vector quantity of the contact point for a given value mode.
Typically used to retrieve displacement/velocity/etc. at the point.
| u | Value mode/quantity selector. |
| tStep | Current time step. |
| answer | Output vector. |
Implemented in oofem::FEContactPoint.
|
pure virtual |
Returns the current global coordinates of the contact point.
Implemented in oofem::FEContactPoint, oofem::FEContactPoint_Master, and oofem::FEContactPoint_Slave.
|
pure virtual |
Returns the local (parametric) coordinates of the contact point.
The returned reference must remain valid while the ContactPoint exists.
Implemented in oofem::FEContactPoint, oofem::FEContactPoint_Master, and oofem::FEContactPoint_Slave.
|
pure virtual |
Builds a location array for assembling quantities related to this contact point.
| locationArray | Output location array. |
| dofIDArry | Requested DOF IDs/mask. |
| s | Numbering scheme. |
Implemented in oofem::FEContactPoint.
|
pure virtual |
Returns the surface normal vector at the contact point.
Implemented in oofem::FEContactPoint.
|
inline |
Returns the surface dimension associated with this contact point.
For example: 1 for a segment in 2D, 2 for a face in 3D.
Definition at line 184 of file contactpoint.h.
References surface_dimension.
|
pure virtual |
Extracts the unknown vector associated with this contact point.
Used to obtain values (e.g. displacements) corresponding to a given DOF mask and value mode, with optional padding.
| answer | Output vector. |
| dofMask | DOF IDs/mask. |
| mode | Value mode (current/incremental/etc.). |
| tStep | Current time step. |
| padding | If true, pads missing entries to match requested layout. |
Implemented in oofem::FEContactPoint.
|
pure virtual |
Returns updated coordinates of the contact point for the given time step.
| coords | Output coordinates. |
| tStep | Current time step. |
Implemented in oofem::FEContactPoint.
Referenced by oofem::FEContactSurface::computeContactPointLocalCoordinates_2d(), and oofem::FEContactSurface::computeContactPointLocalCoordinates_3d().
|
pure virtual |
Returns whether this contact point is currently in contact.
Implemented in oofem::FEContactPoint.
|
inlinevirtual |
Initializes the contact point.
Default implementation is empty; subclasses may set initial coordinates, etc.
Definition at line 155 of file contactpoint.h.
|
inlinevirtual |
Called to update internal state of the contact point for the time step.
Default implementation is empty; subclasses may cache geometry/kinematics.
| tStep | Current time step. |
Definition at line 148 of file contactpoint.h.
|
protected |
Definition at line 71 of file contactpoint.h.
Referenced by oofem::FEContactPoint::compute_dNdxi_matrix(), oofem::FEContactPoint::computeCurvature(), oofem::FEContactPoint::FEContactPoint(), oofem::FEContactPoint::giveInterpolation(), and giveSurfaceDimension().