Acronyms, mathematical symbols and code-specific terms used throughout the documentation, taken from the glossaries of the thesis (pp. 359–371) and from the source code.
Edit me
Sources. Thesis glossaries “Acronyms” (pp. 359–363), “Mathematical symbols”, “Constraint enforcement and optimization” (p. 365), “Mortar formulation” (p. 368), “Contact mechanics” (pp. 369–371), “Adaptive remeshing” (pp. 371–373); the variables and names of the code are described in Variables and flags.
Acronyms
| Acronym | Meaning | Where it appears |
|---|---|---|
| AABB | Axis-Aligned Bounding Box | search broad phase (in_box) |
| AALM | Adapted Augmented Lagrangian Method (Bussetta et al.) | AALMAdaptPenaltyValueProcess, adapt_penalty |
| AD | Automatic Differentiation | automatic_differentiation/ |
| ADLM | Augmented Dual Lagrange Multiplier (the thesis’ name for the ALM + dual-multiplier formulation) | ALM conditions |
| ALM | Augmented Lagrangian Method | ALMContact* formulations |
| AMG | Algebraic MultiGrid | AMGCL inner solver of the MixedULMLinearSolver |
| APM | Adapted Penalty Method | thesis App. D.2.3.1 |
| BC | Boundary Conditions | |
| BS | Bounding Spheres | in_radius search |
| BVH | Bounding Volume Hierarchies | KD-tree / octree search |
| BVP / IBVP | (Initial) Boundary Value Problem | strong formulation |
| CAS | Computer Algebra System | sympy generators |
| CCM | Computational Contact Mechanics | |
| CD | Collision Detection | |
| CDM | Contact Domain Method | thesis §4.2.2.3 (not implemented) |
| CDT | Constrained Delaunay Triangulation | mortar segmentation alternatives |
| CL | Constitutive Law | |
| COF | Coefficient Of Friction, \(\mu\) | FRICTION_COEFFICIENT |
| CPPM | Closest Point Projection Method | mortar projection |
| DDM | Domain Decomposition Method | origin of mortar methods |
| DLMM | Double (dual) Lagrange Multiplier Method | dual shape functions \(\Phi_j\) |
| DOF | Degree Of Freedom | |
| DOP / k-DOP | Discretised Orientation Polytopes | bounding volumes (kdop not implemented) |
| FAD | Forward Automatic Differentiation | |
| FE / FEM / FEA | Finite Element (Method / Analysis) | |
| GP | Gauss Point | INTEGRATION_ORDER_CONTACT |
| HSM | Hertz–Signorini–Moreau conditions (= KKT conditions of contact) | thesis eq. 4.3 |
| IGA | Isogeometric Analysis | thesis §4.2.2.5.1 (not implemented) |
| KKT | Karush–Kuhn–Tucker conditions | \(g_n \ge 0,\ p_n \le 0,\ p_n g_n = 0\) |
| LM / LMM | Lagrange Multiplier (Method) | |
| MFC / MPC | MultiFreedom / MultiPoint Constraint | MPCMortarContactCondition, ContactMasterSlaveConstraint |
| MMG | The Mmg remeshing library | contact_remesh_mmg_process.py |
| NCP | Non-linear Complementarity Problem (function) | semi-smooth Newton, thesis eqs. 4.44, 4.79 |
| NL | Non-Linear | |
| NR | Newton–Raphson | |
| NTN / NTS / STS | Node-To-Node / Node-To-Segment / Segment-To-Segment discretisations | thesis §4.2.2; mortar = STS |
| OBB | Oriented Bounding Box | OrientedBoundingBox, *_with_obb |
| PDASS | Primal–Dual Active Set Strategy | ActiveSetUtilities |
| PDE | Partial Differential Equation | |
| PM | Penalty Method | PenaltyContact* formulations |
| SAT | Separating Axis Theorem | OBB_intersection_type: SeparatingAxisTheorem |
| SPR | Superconvergent Patch Recovery | ContactSPRErrorProcess |
| SVD | Singular Value Decomposition | condition number study (thesis §4.3.3.3) |
| TL / UL | Total / Updated Lagrangian | structural elements |
| VM | Von Mises (stress) | remeshing metric |
Symbols of the contact formulation
| Symbol | Meaning | Code counterpart |
|---|---|---|
| \(\Omega^{(i)}\), \(\Gamma_u^{(i)}\), \(\Gamma_\sigma^{(i)}\), \(\Gamma_c^{(i)}\) | Body \(i\) (\(1\) = slave, \(2\) = master) and its Dirichlet, Neumann and contact boundaries in the reference configuration; \(\gamma\) denotes the current configuration | sub-model-parts Contact, SlaveSubModelPart<k>, MasterSubModelPart<k> |
| \(\mathbf{n}\), \(\boldsymbol\tau_1\), \(\boldsymbol\tau_2\) | Slave unit normal and tangents of the local contact frame | NORMAL, MortarUtilities::ComputeTangentMatrix |
| \(\chi\), \(\chi_h\) | (Discrete) interface mapping: projection of slave points onto the master along \(\mathbf{n}\) | ExactMortarIntegrationUtility, MasterShapeFunctionValue |
| \(g_n\) | Normal gap \(g_n = \mathbf{n}\cdot(\mathbf{x}^{(1)} - \hat{\mathbf{x}}^{(2)})\) (positive when open) | NORMAL_GAP (mapped) |
| \(\tilde g_n\) | Weighted (mortar-integrated) nodal gap \(\tilde g_n = \mathbf{n}\cdot(\mathbf{D}\mathbf{x}^{(1)} - \mathbf{M}\mathbf{x}^{(2)})\) | WEIGHTED_GAP |
| \(\tilde{\mathbf{g}}_\tau\), \(\tilde{\mathbf{u}}_\tau\), \(\tilde{\mathbf{v}}_\tau\) | Weighted tangential slip increment and relative velocity (objective / non-objective measures) | WEIGHTED_SLIP, OPERATOR_THRESHOLD |
| \(p_n\), \(\mathbf{t}_c\), \(t_{co}^n\), \(t_{co}^\tau\) | Contact pressure and interface traction (normal / tangential) | |
| \(\lambda_n\), \(\boldsymbol\lambda\), \(\boldsymbol\lambda_\tau\) | Scalar normal multiplier (= \(-p_n\)), vector multiplier and its tangential part | LAGRANGE_MULTIPLIER_CONTACT_PRESSURE, VECTOR_LAGRANGE_MULTIPLIER |
| \(\bar\lambda_n = k\lambda_n + \varepsilon\tilde g_n\) | Augmented normal pressure (the frictionless NCP function up to the \(\max\)) | AUGMENTED_NORMAL_CONTACT_PRESSURE |
| \(\bar{\boldsymbol\lambda}_\tau\) | Augmented tangential traction | AUGMENTED_TANGENT_CONTACT_PRESSURE |
| \(\varepsilon\), \(\varepsilon_n\), \(\varepsilon_\tau\) | Penalty parameter (normal, tangential \(\varepsilon_\tau =\) TANGENT_FACTOR \(\cdot\varepsilon\)) |
INITIAL_PENALTY, TANGENT_FACTOR |
| \(k\) | Scale factor of the ALM functional (conditioning only) | SCALE_FACTOR |
| \(\mu\) | Coulomb friction coefficient | FRICTION_COEFFICIENT |
| \(\mathcal{F}\), \(g\) (Tresca) | Friction threshold (\(\mu\vert p_n\vert\) for Coulomb, constant for Tresca) | FrictionalLaw::GetThresholdValue, TRESCA_FRICTION_THRESHOLD |
| \(\beta\) | Velocity–traction ratio of Coulomb’s law (stick \(\beta = 0\), slip \(\beta \gt 0\)) | SLIP flag |
| \(\langle\cdot\rangle\) | Macaulay bracket | ALM functional (thesis eq. 4.10) |
| \(\mathcal{L}\), \(\mathcal{L}_\lambda\), \(\mathcal{L}_{\bar\lambda}\), \(f_p\) | Lagrangian functionals of the LMM / ALM and penalised function of the PM | generator scripts (rv_galerkin) |
| \(\mathcal{U}\), \(\mathcal{V}\), \(\mathcal{M}\), \(\mathcal{M}_h\) | Solution and weighting spaces of the displacements and (discrete) multipliers | |
| \(C_{\lambda_n}\), \(C_\tau\) | NCP functions of the normal and tangential problems (thesis eqs. 4.44, 4.79) | ActiveSetUtilities |
| \(\mathcal{A}\), \(\mathcal{I}\), \(\mathcal{S}\), \(\mathcal{M}\), \(\mathcal{N}\) | Active / inactive slave sets, slave / master / remaining DoF sets | ACTIVE flag, MixedULMLinearSolver::BlockType |
| \(\mathrm{sl}\), \(\mathrm{st}\) | Slip / stick subsets of the active set | SLIP flag |
Symbols of the mortar formulation
| Symbol | Meaning | Code counterpart |
|---|---|---|
| \(N_k^{(1)}\), \(N_l^{(2)}\) | Standard shape functions of slave and master | geometry ShapeFunctionsValues |
| \(\Phi_j\) | Dual (biorthogonal) Lagrange-multiplier shape functions | DualLagrangeMultiplierOperators |
| \(\mathbf{A}_e = \mathbf{D}_e\mathbf{M}_e^{-1}\) | Coefficient matrix of the dual functions (\(\Phi_j = a_{jk}N_k\)) | CalculateAe, CalculateDe |
| \(\mathbf{D}\), \(\mathbf{M}\) | Mortar operators (slave–slave, diagonal with dual multipliers; slave–master) | MortarOperator::DOperator, MOperator |
| \(\Delta\mathbf{D}\), \(\Delta\mathbf{M}\), \(\Delta\mathbf{A}_e\), \(\Delta\mathbf{n}\) | Directional derivatives of the operators, dual coefficients and normals | MortarOperatorWithDerivatives, DerivativesUtilities |
| \(\mathbf{P} = \mathbf{D}^{-1}\mathbf{M}\) | Mortar projection operator (relation matrix of the MPC route) | CalculatePOperator, UpdateConstraint* |
| \(\mathbf{B}_{co}\), \(\mathbf{B}_{mt}\) | Discrete mortar contact / tying operators \([\mathbf{0}, -\mathbf{M}^T, \mathbf{D}^T]\) | assembled by the conditions |
| \(\xi_a^{1}, \xi_b^{1}, \xi_a^{2}, \xi_b^{2}\) | Local coordinates of the integration segment ends on slave and master (2D) | ExactMortarIntegrationUtility |
| \(\mathbf{x}_{clip}\), \(\hat{\mathbf{x}}^{i}_{j}\), \(\mathbf{n}_{plane}\), \(J_{clip}\), \(\bar N\) | Clipping points, projected nodes, auxiliary plane normal, Jacobian and shape functions of the 3D integration cells | idem, CalculateDeltaCellVertex |
| \(w_g\), \(J_g\) | Gauss weights and Jacobians of the integration cells | INTEGRATION_ORDER_CONTACT |
| \(m^{(1)}\), \(n^{(1)}\), \(n^{(2)}\) | Number of multiplier nodes, slave nodes and master nodes | TNumNodes, TNumNodesMaster |
Symbols of the search
| Symbol | Meaning | Code counterpart |
|---|---|---|
| \(\mathbf{C}\), \(\mathbf{A}_i\), \(a_i\) | Centre, axes and half-extents of an oriented bounding box (thesis eq. 4.80) | OrientedBoundingBox |
| \(r\) | Search radius (multiple of the condition size) | search_factor × NODAL_H |
| \(h\), \(h_{mean}\) | Element / mean element size | NODAL_H |
| \(E_{mean}\) | Mean Young modulus of the interface | ALMVariablesCalculationProcess |
Code-specific terms
| Term | Meaning |
|---|---|
| Slave / master | The slave side is where the mortar integration and the multipliers live (Popp’s “non-mortar” side); the master side is projected onto it. Chosen with assume_master_slave. Note that PairedCondition::GetParentGeometry() returns the slave and GetPairedGeometry() the master. |
| Pair / paired condition | One slave condition coupled with one master condition (PairedCondition with a CouplingGeometry), created by the search in ComputingContact. |
mortar_type |
The solver key that selects the formulation (ALMContactFrictionless, ALMContactFrictionlessComponents, ALMContactFrictional[PureSlip], PenaltyContactFrictionless, PenaltyContactFrictional[PureSlip], ScalarMeshTying, ComponentsMeshTying). |
| Components formulation | Frictionless ALM with a vector multiplier whose tangential part is penalised to zero; allows the static condensation of the multipliers. |
| NV | “Normal Variation” suffix of the conditions whose tangent includes the derivatives of the slave normals (normal_variation: nodal_elemental_derivatives). |
| Active set | The slave nodes currently in contact (ACTIVE flag), updated after every Newton iteration from the sign of \(\bar\lambda_n\). |
| Semi-smooth Newton | Single Newton loop that treats the active-set change as one more non-linearity (thesis Algorithms 2–3); the simplified variant freezes the sets inside an inner loop (simplified_semi_smooth_newton, INTERACTION flag). |
| Weighted gap / weighted slip | Mortar-integrated (nodal) gap and slip, WEIGHTED_GAP / WEIGHTED_SLIP; not lengths but integrals over the nodal support. |
| Augmented pressure | \(\bar\lambda_n\), the effective contact pressure and active-set indicator (AUGMENTED_NORMAL_CONTACT_PRESSURE). |
| Isolated node | A slave node whose pairs have all been removed; its multiplier DoFs are fixed by the block builder (ISOLATED flag). |
| Explicit contribution | Residual-only evaluation of a pair (AddExplicitContributionOfMortarCondition) used to refresh the weighted gap in Predict() and in the criteria, and by the explicit solver. |
| Dynamic factor | DYNAMIC_FACTOR, a nodal scaling of the contact contribution derived from the gap history (dynamic problems). |
| Consistent gap | Gap computed by mapping the master surface onto the slave with the mortar mapper (check_gap: check_mapping, thesis Algorithm 8). |
| AD exception | A quantity whose derivative is supplied externally to the symbolic differentiation (the mortar operators and normals); see Automatic differentiation. |
ComputingContact |
Sub-model-part holding the pair conditions that are assembled; Contact holds the interface conditions and nodes. |
See also the Bibliography.