|
OOFEM 3.0
|
#include <contactpoint.h>
Public Member Functions | |
| FEContactPoint (FEContactSurface *cs, int ceId, int sd) | |
| ~FEContactPoint () | |
| void | computeNmatrix (FloatMatrix &answer) override |
| Computes the interpolation matrix (N-matrix) for this contact point. | |
| void | compute_dNdxi_matrix (FloatMatrix &Bs, int i) override |
| Computes derivative of shape functions w.r.t. the i-th local surface parameter. | |
| FloatArray | giveNormalVector () override |
| Returns the surface normal vector at the contact point. | |
| void | computeVectorOf (ValueModeType mode, TimeStep *tStep, FloatArray &answer) override |
| Computes a vector quantity of the contact point for a given value mode. | |
| void | computeCurvature (FloatMatrix &G, const FloatArray &normal, TimeStep *tStep) override |
| Computes curvature-related surface quantities at this contact point. | |
| bool | giveLocationArray (IntArray &locationArray, const IntArray &dofIDArry, const UnknownNumberingScheme &s) const override |
| Builds a location array for assembling quantities related to this contact point. | |
| void | giveUnknownVector (FloatArray &answer, const IntArray &dofMask, ValueModeType mode, TimeStep *tStep, bool padding=false) override |
| Extracts the unknown vector associated with this contact point. | |
| void | giveUpdatedCoordinates (FloatArray &coords, TimeStep *tStep) override |
| Returns updated coordinates of the contact point for the given time step. | |
| bool | inContact () override |
| Returns whether this contact point is currently in contact. | |
| const FloatArray & | giveLocalCoordinates () override=0 |
| Returns the local (parametric) coordinates of the contact point. | |
| FloatArray | giveGlobalCoordinates () override=0 |
| Returns the current global coordinates of the contact point. | |
| FEInterpolation * | giveInterpolation () |
| int | giveContactElementId () |
| void | setContactElementId (int ceId) |
| Public Member Functions inherited from oofem::ContactPoint | |
| ContactPoint () | |
| ~ContactPoint () | |
| 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. | |
| int | giveSurfaceDimension () |
| Returns the surface dimension associated with this contact point. | |
Protected Attributes | |
| int | contactElementId |
| std::unique_ptr< FEContactSurface > | contactSurface |
| Protected Attributes inherited from oofem::ContactPoint | |
| int | surface_dimension |
Definition at line 189 of file contactpoint.h.
|
inline |
Definition at line 196 of file contactpoint.h.
References contactElementId, oofem::ContactPoint::ContactPoint(), contactSurface, and oofem::ContactPoint::surface_dimension.
Referenced by oofem::FEContactPoint_Master::FEContactPoint_Master(), and oofem::FEContactPoint_Slave::FEContactPoint_Slave().
|
inline |
Definition at line 197 of file contactpoint.h.
|
overridevirtual |
Computes derivative of shape functions w.r.t. the i-th local surface parameter.
| Bs | Output derivative matrix. |
| i | Local coordinate index. |
Implements oofem::ContactPoint.
Definition at line 68 of file contactpoint.C.
References oofem::FloatMatrix::at(), oofem::FloatMatrix::beUnitMatrix(), giveInterpolation(), giveLocalCoordinates(), oofem::FloatMatrix::giveNumberOfRows(), oofem::FloatMatrix::resize(), oofem::FloatMatrix::setSubMatrix(), and oofem::ContactPoint::surface_dimension.
|
overridevirtual |
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. |
Implements oofem::ContactPoint.
Definition at line 96 of file contactpoint.C.
References oofem::FloatArray::add(), oofem::FloatMatrix::at(), contactElementId, contactSurface, oofem::FloatArray::dotProduct(), giveInterpolation(), giveLocalCoordinates(), oofem::FEIElementDeformedGeometryWrapper::giveVertexCoordinates(), oofem::FloatMatrix::resize(), and oofem::ContactPoint::surface_dimension.
|
overridevirtual |
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. |
Implements oofem::ContactPoint.
Definition at line 60 of file contactpoint.C.
References contactElementId, contactSurface, and giveLocalCoordinates().
|
overridevirtual |
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. |
Implements oofem::ContactPoint.
Definition at line 126 of file contactpoint.C.
References contactElementId, and contactSurface.
|
inline |
Definition at line 221 of file contactpoint.h.
References contactElementId.
|
overridepure virtual |
Returns the current global coordinates of the contact point.
Implements oofem::ContactPoint.
Implemented in oofem::FEContactPoint_Master, and oofem::FEContactPoint_Slave.
| FEInterpolation * oofem::FEContactPoint::giveInterpolation | ( | ) |
Definition at line 46 of file contactpoint.C.
References contactElementId, contactSurface, giveInterpolation(), OOFEM_ERROR, and oofem::ContactPoint::surface_dimension.
Referenced by compute_dNdxi_matrix(), computeCurvature(), giveInterpolation(), and giveUpdatedCoordinates().
|
overridepure virtual |
Returns the local (parametric) coordinates of the contact point.
The returned reference must remain valid while the ContactPoint exists.
Implements oofem::ContactPoint.
Implemented in oofem::FEContactPoint_Master, and oofem::FEContactPoint_Slave.
Referenced by compute_dNdxi_matrix(), computeCurvature(), computeNmatrix(), giveNormalVector(), and giveUpdatedCoordinates().
|
overridevirtual |
Builds a location array for assembling quantities related to this contact point.
| locationArray | Output location array. |
| dofIDArry | Requested DOF IDs/mask. |
| s | Numbering scheme. |
Implements oofem::ContactPoint.
Definition at line 143 of file contactpoint.C.
References contactElementId, and contactSurface.
|
overridevirtual |
Returns the surface normal vector at the contact point.
Implements oofem::ContactPoint.
Definition at line 89 of file contactpoint.C.
References contactElementId, contactSurface, and giveLocalCoordinates().
|
overridevirtual |
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. |
Implements oofem::ContactPoint.
Definition at line 155 of file contactpoint.C.
References contactElementId, and contactSurface.
|
overridevirtual |
Returns updated coordinates of the contact point for the given time step.
| coords | Output coordinates. |
| tStep | Current time step. |
Implements oofem::ContactPoint.
Definition at line 134 of file contactpoint.C.
References contactElementId, contactSurface, giveInterpolation(), and giveLocalCoordinates().
|
inlineoverridevirtual |
Returns whether this contact point is currently in contact.
Implements oofem::ContactPoint.
Definition at line 215 of file contactpoint.h.
References contactElementId.
|
inline |
Definition at line 222 of file contactpoint.h.
References contactElementId.
|
protected |
Definition at line 192 of file contactpoint.h.
Referenced by computeCurvature(), computeNmatrix(), computeVectorOf(), FEContactPoint(), giveContactElementId(), oofem::FEContactPoint_Master::giveGlobalCoordinates(), giveInterpolation(), giveLocationArray(), giveNormalVector(), giveUnknownVector(), giveUpdatedCoordinates(), inContact(), and setContactElementId().
|
protected |
Definition at line 193 of file contactpoint.h.
Referenced by computeCurvature(), computeNmatrix(), computeVectorOf(), FEContactPoint(), oofem::FEContactPoint_Master::giveGlobalCoordinates(), giveInterpolation(), giveLocationArray(), giveNormalVector(), giveUnknownVector(), and giveUpdatedCoordinates().