On this page:
17.1 Abaqus Plugin
17.1.1 Bulk Element Formulation
17.1.1.1 Kinematics and constitutive update
17.1.1.2 Bulk residual
17.1.1.3 Bulk tangent
17.1.2 Penalty Boundary Enforcement
17.1.2.1 DOF partition and projection
17.1.2.2 Variational penalty form
17.1.2.3 Penalty residual and tangent

17 Abaqus Plugin

    17.1 Abaqus Plugin

17.1 Abaqus Plugin

    17.1.1 Bulk Element Formulation

      17.1.1.1 Kinematics and constitutive update

      17.1.1.2 Bulk residual

      17.1.1.3 Bulk tangent

    17.1.2 Penalty Boundary Enforcement

      17.1.2.1 DOF partition and projection

      17.1.2.2 Variational penalty form

      17.1.2.3 Penalty residual and tangent

This brief documents the formulation used by the Abaqus plugin for the bulk element residual and tangent assembly, and for penalty-based boundary enforcement on projected boundary degrees of freedom. The goal is to support a stable host-to-boundary projection contract without assuming a one-boundary-node to one-host-element pairing.

17.1.1 Bulk Element Formulation
17.1.1.1 Kinematics and constitutive update

For each trimmed volume quadrature point in an element, with quadrature weight , the plugin evaluates the host basis and its reference-space gradients. Here denotes an element-local basis index and denotes the element parametric coordinates. With reference mapping Jacobian the displacement increment is interpolated from the element nodal increment values . The code constructs the usual three-dimensional strain-displacement matrices, written here as , and forms the Voigt strain increment

The constitutive library is then called with the current deformation measure and equation to obtain the updated stress vector and a consistent material tangent matrix, denoted here by .

For the Small displacement branch, the code uses For the Large displacement branch, the code evaluates the geometric weight and deformation gradient from the current and previous configurations, where and denote the motion evaluated at the start and end of the increment, respectively: and uses a midpoint configuration to evaluate the spatial basis gradients entering . More specifically, the code forms and then builds the large-deformation strain-displacement matrix from these midpoint spatial gradients in the standard three-dimensional Voigt form, where are evaluated at the midpoint configuration.

17.1.1.2 Bulk residual

Ignoring all boundary-enforcement terms, the element internal-force vector follows the same pattern as Semi-Discrete Form. For an element-local basis index , In the implementation this quantity is accumulated into the Abaqus internal-force array with the opposite sign convention, so each quadrature contribution is added as When distributed loads are present, the plugin also adds the corresponding external-force contribution using the same trimmed-volume quadrature.

17.1.1.3 Bulk tangent

The plugin scales each tangent contribution by where is the Abaqus time-integration parameter passed into the element routine. In the expressions below, and denote element-local basis indices. For the finite-deformation branch, the assembled matrix is the Jacobian of the Abaqus rate-form internal virtual work. Written in continuum form for a test field and an increment , this is where and . The discrete formulas below are the element-quadrature realization of this Jacobian using the midpoint spatial gradients.

For the Small displacement branch, the element stiffness is purely material:

For the Large displacement branch, the element stiffness is split into material and geometric parts, The geometric contribution is assembled from the current Cauchy stress. Defining the symmetric stress tensor matrix and writing and , the code assembles with where is the element-local geometric stiffness block associated with basis functions and . Thus, for finite-deformation kinematics, the plugin uses a material tangent plus a generally non-symmetric geometric-stiffness correction obtained from the current stress state, matching the block update in addResidualAndStiffness.

17.1.2 Penalty Boundary Enforcement
17.1.2.1 DOF partition and projection

We partition the element displacement unknowns into host and boundary blocks, where is the number of interior equations for the element and is the number of boundary equations.

For each element, the plugin stores a boundary projection matrix assembled by evaluating the host basis at the parametric locations of the boundary nodes. The corresponding nodal projection relation is

Projected boundary nodal values are first formed according to equation , then interpolated on each boundary triangle by . The operator is treated as constant over the boundary integration of .

17.1.2.2 Variational penalty form

On the enforced boundary , using the projected host displacement from equation , the pointwise displacement mismatch at evaluation point is With penalty coefficient , the continuous penalty potential is Its first variation is The consistent linearization is

Evaluating these integrals by boundary quadrature and using equation gives The discrete penalty potential is

17.1.2.3 Penalty residual and tangent

Its first variation gives the penalty virtual work contribution Identifying residual blocks from this variation gives where is the boundary basis operator and is the quadrature weight.

The corresponding tangent contributions are assembled in block form: This variational statement preserves the established sign conventions and nonlinear solve behavior.