1 Introduction

This work deals with a modern, variationally consistent, gradient-enhanced finite strain continuum damage framework, where the focus of the work at hand is set on a new and efficient strategy concerning the numerical implementation in existing finite element codes. The considered non-local, gradient-enhanced damage framework is based on the work by Waffenschmidt et al. [47], where, following a concept by Dimitrijević and Hackl [8], the local free energy of the underlying material is enhanced by a non-local gradient term.

Classic works on the modelling of damage, such as the work of Kachanov [15], consider damage to be a local effect where an effective area reduction of the stress-bearing region leads to material degradation. For an overview of the large variety of classic damage-related models, we refer the reader to the overview by Krajcinovic and Lemaitre [20] or to well-established textbooks such as the ones by Kachanov [16], Lemaitre [24], Lemaitre and Chaboche [25], and the comprehensive study of damage mechanics provided by Krajcinovic [19] and references cited therein. Common ductile damage formulations are based on the pioneering work by Gurson [13] or variations thereof, cf., e.g., Skallerud and Zhang [42]. More recent works, combining damage mechanics with complex formulations such as crystal-plasticity formulations or a micro-sphere scheme, include the articles by Ekh et al. [9] and Sáez et al. [40], respectively.

From a modelling perspective, a significant drawback of classic continuum damage formulations is their inherently local character. In the context of the finite element method, the purely local consideration of continuum damage leads to mesh-dependency and therefore to mostly meaningless results. More specifically speaking, upon mesh refinement the damage zone decreases and even tends to vanish in the limiting case. To regularise the localised damage zone, different approaches have been established in the literature. In addition to the use of viscous regularization approaches, see, e.g., Peña [35] for a modern application, non-local continuum theories have been developed, see, e.g., Eringen [10], and the works by Aifantis [2, 3], Rogula [39]. For the comparison of two such non-local continuum formulations, see, e.g., de Vree et al. [7]. Non-locality can in general be incorporated by either integral or gradient-type extensions of the underlying continuum formulation. Gradient-type formulations provide several advantages over integral-type non-local formulations, as discussed by, e.g., Lasry and Belytschko [23], Polizzotto et al. [38], or Mühlhaus and Aifantis [32], making gradient-extended formulations the more popular choice for damage regularisation. The gradient-enhancement induces an additional Euler–Lagrange equation, i.e. balance equation, that needs to be fulfilled for an additionally introduced independent variable that constitutes an additional degree of freedom of the boundary value problem.

Applications of such gradient-extended non-local theories were introduced by de Borst and Pamin [6], see also Pamin [33] and Peerlings et al. [34]. For the geometrically linear case, different formulations for the simulation of gradient-extended damage are presented by, e.g., Liebe et al. [27] for the case of isotropic gradient damage, or by Kuhl and Ramm [21] and Kuhl et al. [22] for the anisotropic case. With respect to the geometrically non-linear case, the work by Steinmann [44] was one of the first to introduce a non-local strain energy density as an additional primary variable. This approach, also used by Liebe and Steinmann [26] and Liebe et al. [28], relies on a numerically rather cumbersome global active set strategy to enforce the corresponding Kuhn–Tucker conditions.

The work at hand, in contrast, is based on the geometrically non-linear formulation presented by Waffenschmidt et al. [47], where a variational framework leads to a symmetric global equation system that is solved by standard symmetric equation solvers. The local free energy function of the underlying material is enhanced by a gradient-term that essentially contains the gradient of the non-local damage variable, where the latter is introduced as an additional independent field variable. The equivalence between local damage variable—governing the local scalar \([1-d]\)-type damage formulation—and its non-local counterpart is enforced by introducing an additional penalty term within the free energy function. This overall approach is directly related to the micromorphic thermo-mechanical framework proposed by Forest [11, 12] as well as to the multi-field incremental variational framework elaborated by Miehe [31].

Recent applications and extensions of the particular damage formulation considered in this work have been introduced by Polindara et al. [36, 37], Waffenschmidt et al. [48], and Kiefer et al. [17], all based on the implementation of an elaborate user element formulation within the commercial finite element code Abaqus. However, the use of a user element formulation—enabled in Abaqus via the UEL subroutine—has several drawbacks. First, there is a noteworthy effort in development and testing that accompanies any kind of user element formulation, see, e.g., Kouhia [18] for an account on the solution of the non-linear heat respectively diffusion equation. Additionally, Abaqus cannot genuinely visualise the results of a simulation utilising such a UEL subroutine. Workarounds as highlighted by Waffenschmidt et al. [47] involve considerable additional programming effort including particular Fortran and C++ subroutines in connection with the Abaqus scripting interface. Moreover, the incorporation of advanced element features such as contact or incompressibility requires further extensions and testing of the UEL subroutine. Finally, before being able to use other element types such as structural elements, the corresponding element formulation needs to be developed basically from scratch again.

To overcome these drawbacks, we provide a comprehensive framework for the regularisation of damage formulations, eliminating the necessity of implementing an appropriate user element routine. The framework is based on the observation that the underlying damage-related balance equation is a partial differential equation of elliptic type, as is the steady-state heat equation. Accordingly, we show that the damage regularisation can be accomplished by using the heat-equation solution capabilities included in thermo-mechanically coupled finite element formulations. In this work, we exemplarily focus on the finite element software Abaqus for the implementation, where we utilise the two most general Abaqus subroutines for this particular coupled problem, i.e. the UMAT and UMATHT subroutine. The framework provided in this work circumvents the cumbersome user element formulations and their associated drawbacks. Note, however, that using the heat equation in the context of gradient-enhanced damage restricts the model to a scalar variable for the gradient enhancement and, moreover, that further coupling such as thermo-mechanical coupling is excluded.

Our work is structured as follows. In Sect. 2, the mechanical and the damage-related balance equations governing the coupled boundary value problem are derived in a variational framework. The associated Euler–Lagrange equations are additionally presented in spatial formulation, enabling us to relate them to the spatial heat equation in Sect. 3. Section 4 then discusses the details of the exemplary Abaqus implementation, including the proper definitions of the return variables required by the UMAT and UMATHT subroutines, respectively. Here, we additionally provide general algorithms for the automatic numerical computation of the required Abaqus tangent contributions for general thermo-mechanically coupled user materials. An exemplary local constitutive model is considered in Sect. 5, including a brief examination of the local material behaviour and a presentation of representative finite element computations. In this section, we also show that regularised damage and advanced element features, such as contact, can be directly combined and basically work out of the box. The contribution is concluded by a brief summary and discussion provided in Sect. 7.

2 Variational framework

This section deals with the derivation of both mechanical and damage-related balance equations governing the coupled boundary value problem. The balance equations are derived within a variational framework, using the principle of minimum total potential energy. The resulting variational forms and their associated Euler–Lagrange equations are additionally presented in spatial formulation, which constitutes the basis for the finite element implementation.

In Sect. 2.1 we define the local and nonlocal internal and external energy contributions that constitute the overall potential energy of the body under consideration. Section 2.2 then applies variational principles to obtain the general stationarity conditions of the problem. These are then transformed to a spatial form in Sect. 2.3, facilitating the derivation of the general Euler–Lagrange equations in spatial format in Sect. 2.4. Finally, we specify the damage-related Euler–Lagrange equation—or rather balance equation—by specifying the gradient-enhanced internal energy contributions in Sect. 2.5.

2.1 Internal and external energy contributions

We start by assuming the existence of an overall internal free energy potential \(\varPsi _\mathrm {int}\). For conceptual clarity, we restrict the work at hand to an underlying hyperelastic material response, governed by the internal, local elastic energy potential \(\psi _e(\varvec{F})\). Damage to the material is accounted for by introducing a damage function \(f_\mathrm {d}(\kappa ): \mathbb {R}^{+} \rightarrow (0,1] \;\vert \; \{ {f_\mathrm {d}}(0)=1, \lim \limits _{\kappa \rightarrow \infty }f_\mathrm {d}(\kappa )=0 \}\). To regularise the damaged material response in the context of the finite element method, a gradient-extended nonlocal free energy term \(\psi _\mathrm {nloc}^\mathrm {grad}(\nabla _{\!\varvec{X}}\phi ; \varvec{F})\) is additionally accounted for in the overall internal free energy. Finally, a penalty term \(\psi _\mathrm {nloc}^\mathrm {plty}(\phi ,\kappa )\) connecting local and non-local damage variables, \(\kappa \) and \(\phi \), is taken into account. The overall internal free energy potential \(\varPsi _\mathrm {int}\) thus is of the form

$$\begin{aligned} \varPsi _\mathrm {int}(\varvec{F}, \phi , \nabla _{\!\varvec{X}}\phi ,\kappa )=&f_\mathrm {d}(\kappa )\,\psi _e(\varvec{F}) + \psi _\mathrm {nloc}^\mathrm {grad}(\nabla _{\!\varvec{X}}\phi ; \varvec{F}) \nonumber \\&+ \psi _\mathrm {nloc}^\mathrm {plty}(\phi ,\kappa ) ~. \end{aligned}$$
(1)

Here, \( \varvec{F}=\nabla _{\!\varvec{X}}\varvec{\varphi }(\varvec{X},t)\) denotes the deformation gradient, where \(\varvec{x} = \varvec{\varphi }(\varvec{X},t) \in {\mathcal {B}_t}\) is the current placement of material points with referential position \(\varvec{X} \in {\mathcal {B}_0}\), and \(\phi \) is the additional damage-related degree of freedom introduced for the regularisation of the damage formulation. The cofactor of the deformation gradient reads \(\mathrm {cof}(\varvec{F}) = J\, \varvec{F}{}^{-\mathrm {t}}\) with \(J=\det ( \varvec{F})>0\).

For conceptual clarity, we furthermore restrict the formulation to conservative external loads that only depend on the current placement \(\varvec{\varphi }\) and thus can be incorporated in terms of \(\varPsi _\mathrm {ext}(\varvec{\varphi })= \varPsi _\mathrm {ext}^\mathrm {vol}(\varvec{\varphi })+ \varPsi _\mathrm {ext}^\mathrm {sur}(\varvec{\varphi })\), where a decomposition into volume loads, referred to \(\varPsi _\mathrm {ext}^\mathrm {vol}\), and surface loads, referred to \(\varPsi _\mathrm {ext}^\mathrm {sur}\), is considered. The total free energy \(\varPsi _\mathrm {total}\) is then additively composed of overall internal and external energy contributions, i.e.

$$\begin{aligned} \varPsi _\mathrm {total}(\varvec{\varphi },\varvec{F}, \phi , \nabla _{\!\varvec{X}}\phi ,\kappa )&= \varPsi _\mathrm {int}(\varvec{F}, \phi , \nabla _{\!\varvec{X}}\phi ,\kappa )\nonumber \\&\quad +\,\varPsi _\mathrm {ext}^\mathrm {vol}(\varvec{\varphi })+ \varPsi _\mathrm {ext}^\mathrm {sur}(\varvec{\varphi })~. \end{aligned}$$
(2)

Integrating (2) over the reference domain \({\mathcal {B}_0}\) of the body under consideration results in the total potential energy \(\varPi (\varvec{\varphi },\varvec{F}, \phi , \nabla _{\!\varvec{X}}\phi ,\kappa )= \varPi _\mathrm {int}(\varvec{F}, \phi , \nabla _{\!\varvec{X}}\phi ,\kappa )+ \varPi _\mathrm {ext}^\mathrm {vol}(\varvec{\varphi })+ \varPi _\mathrm {ext}^\mathrm {sur}(\varvec{\varphi })\), with

$$\begin{aligned}&\varPi _\mathrm {int}(\varvec{F}, \phi , \nabla _{\!\varvec{X}}\phi ,\kappa )= \int _{\mathcal {B}_0}\varPsi _\mathrm {int}(\varvec{F}, \phi , \nabla _{\!\varvec{X}}\phi ,\kappa ){\,\mathrm {d}V}~, \end{aligned}$$
(3)
$$\begin{aligned}&\varPi _\mathrm {ext}^\mathrm {vol}(\varvec{\varphi })= \int _{{\mathcal {B}_0}} \varPsi _\mathrm {ext}^\mathrm {vol}(\varvec{\varphi }){\,\mathrm {d}V}= -\int _{{\mathcal {B}_0}} \bar{\varvec{B}} \cdot \varvec{\varphi }{\,\mathrm {d}V}~, \end{aligned}$$
(4)
$$\begin{aligned}&\varPi _\mathrm {ext}^\mathrm {sur}(\varvec{\varphi })= \int _{\partial \mathcal {B}_0}\varPsi _\mathrm {ext}^\mathrm {sur}(\varvec{\varphi }){\,\mathrm {d}A}= -\int _{{\partial \mathcal {B}_0}} \bar{\varvec{T}} \cdot \varvec{\varphi }{\,\mathrm {d}A}~. \end{aligned}$$
(5)

For the particular format assumed, \(\bar{\varvec{B}}\) represents the body force per unit volume in the reference configuration and \(\bar{\varvec{T}}\) denotes the traction per unit reference surface area. In Sect. 2.2 we apply a variational framework in view of the minimisation of the total potential energy defined above.

2.2 Variational form—general stationarity conditions (material format)

With the contributions to the total potential energy defined in (3)–(5), we now employ a variational framework to derive the general stationarity conditions. The boundary value problem is governed by the principle of minimum potential energy,

$$\begin{aligned} \min _{\varvec{\varphi },\phi } \varPi (\varvec{\varphi },\varvec{F}, \phi , \nabla _{\!\varvec{X}}\phi ,\kappa )~, \end{aligned}$$
(6)

so that the first variation of the total potential energy with respect to both degrees of freedom \(\varvec{\varphi }\) and \(\phi \) has to vanish, i.e.

$$\begin{aligned} \delta \varPi (\varvec{\varphi },\varvec{F}, \phi , \nabla _{\!\varvec{X}}\phi ,\kappa )&= \underbrace{ \frac{\partial \varPi }{\partial \varvec{F}} : \delta \varvec{F}+ \frac{\partial \varPi }{\partial \varvec{\varphi }}\cdot \delta \varvec{\varphi }}_{\displaystyle \delta _{\varvec{\varphi }}\varPi } \nonumber \\&\quad +\,\underbrace{ \frac{\partial \varPi }{\partial \nabla _{\!\varvec{X}}\phi }\cdot \delta \nabla _{\!\varvec{X}}\phi + \frac{\partial \varPi }{\partial \phi }\,\delta \phi }_{\displaystyle \delta _{\phi }\varPi } \nonumber \\&= 0 ~. \end{aligned}$$
(7)

Assuming that both contributions \(\delta _{\varvec{\varphi }} \varPi \) and \(\delta _{\phi } \varPi \) in (7) vanish independently and using representations (3)–(5) for the contributions to the total potential energy \(\varPi \) induces

$$\begin{aligned} \delta _{\varvec{\varphi }} \varPi =0 =&\int _{\mathcal {B}_0}\frac{\partial \varPsi _\mathrm {int}}{\partial \varvec{F}} : \delta \varvec{F}{\,\mathrm {d}V}- \int _{\mathcal {B}_0}\bar{\varvec{B}}\cdot \delta \varvec{\varphi }{\,\mathrm {d}V}\nonumber \\&- \int _{\partial \mathcal {B}_0}\bar{\varvec{T}}\cdot \delta \varvec{\varphi }{\,\mathrm {d}A} ~, \end{aligned}$$
(8)
$$\begin{aligned} \delta _{\phi } \varPi =0 =&\int _{\mathcal {B}_0}\frac{\partial \varPsi _\mathrm {int}}{\partial \nabla _{\!\varvec{X}}\phi } \cdot \delta \nabla _{\!\varvec{X}}\phi {\,\mathrm {d}V}\nonumber \\&+ \int _{\mathcal {B}_0}\frac{\partial \varPsi _\mathrm {int}}{\partial \phi } \,\delta \phi {\,\mathrm {d}V} ~. \end{aligned}$$
(9)

In (8) and (9) we can identify flux terms \(\varvec{P}\) and \(\varvec{Y}\), and source terms \(\bar{\varvec{B}}\) and Y, namely

$$\begin{aligned} \begin{aligned}&\varvec{P}:=\frac{\partial \varPsi _\mathrm {int}}{\partial \varvec{F}} ~,&\varvec{Y}:=\frac{\partial \varPsi _\mathrm {int}}{\partial \nabla _{\!\varvec{X}}\phi } ~, \\&\bar{\varvec{B}} := -\,\frac{\partial \varPsi _\mathrm {ext}^\mathrm {vol}}{\partial \varvec{\varphi }} ~,&Y:=-\,\frac{\partial \varPsi _\mathrm {int}}{\partial \phi } ~, \end{aligned} \end{aligned}$$
(10)

so that the general stationarity conditions (8) and (9) take the more compact form

$$\begin{aligned} \delta _{\varvec{\varphi }} \varPi = 0&= \int _{\mathcal {B}_0}\varvec{P}:\nabla _{\!\varvec{X}}\delta \varvec{\varphi }{\,\mathrm {d}V}- \int _{\mathcal {B}_0}\bar{\varvec{B}}\cdot \delta \varvec{\varphi }{\,\mathrm {d}V}\nonumber \\&-\int _{\partial \mathcal {B}_0}\bar{\varvec{T}}\cdot \delta \varvec{\varphi }{\,\mathrm {d}A}~, \end{aligned}$$
(11)
$$\begin{aligned} \delta _{\phi } \varPi = 0&= \int _{\mathcal {B}_0}\varvec{Y}\cdot \nabla _{\!\varvec{X}}\delta \phi {\,\mathrm {d}V}- \int _{\mathcal {B}_0}Y\,\delta \phi {\,\mathrm {d}V}~, \end{aligned}$$
(12)

with \(\delta \varvec{F}=\nabla _{\!\varvec{X}}\delta \varvec{\varphi }\) and \(\delta \nabla _{\!\varvec{X}}\phi =\nabla _{\!\varvec{X}}\delta \phi \). Note that surface contributions related to the damage field \(\phi \) are assumed to vanish identically.

2.3 Variational form—representation in terms of spatial arguments

To formulate the general stationarity conditions (11) and (12) in terms of spatial arguments, a Piola transformation is applied to the flux terms \(\varvec{P}\) and \(\varvec{Y}\), yielding \(\varvec{\sigma }= \varvec{P}\cdot \mathrm {cof}( \varvec{F}{}^{-1})\) and \(\varvec{y}=\varvec{Y}\cdot \mathrm {cof}( \varvec{F}{}^{-1})\). The spatial representations of the source terms \(\bar{\varvec{B}}\) and Y are obtained via \(\bar{\varvec{b}}=J{}^{-1}\,\bar{\varvec{B}}\) and \(y=J{}^{-1}\,Y\). Moreover, for the gradient terms we find the relations \(\nabla _{\!\varvec{X}}\delta \varvec{\varphi }= \nabla _{\!\varvec{x}}\delta \varvec{\varphi }\cdot \varvec{F}\) and \(\nabla _{\!\varvec{X}}\delta \phi = \nabla _{\!\varvec{x}}\delta \phi \cdot \varvec{F}\) by definition of the deformation gradient \( \varvec{F}=\nabla _{\!\varvec{X}}\varvec{\varphi }\). Finally, for the transformation of volume and surface elements in (11) and (12) we employ the definition of the Jacobian \( J = {\,\mathrm {d}v}/ {\,\mathrm {d}V}\) and Nanson’s formula, \(\varvec{n}{\,\mathrm {d}a}= {\mathrm {cof}}(\varvec{F})\cdot \varvec{N} {\,\mathrm {d}A}\), with \(\varvec{n}\) and \(\varvec{N}\) denoting the spatial and material surface outward normal unit vectors, resulting in the general variational forms in spatial description,

$$\begin{aligned} 0&= \int _{\mathcal {B}_t}\varvec{\sigma }:\nabla _{\!\varvec{x}}\delta \varvec{\varphi }{\,\mathrm {d}v}-\int _{\mathcal {B}_t}\bar{\varvec{b}}\cdot \delta \varvec{\varphi }{\,\mathrm {d}v}-\,\int _{\partial \mathcal {B}_t}\bar{\varvec{t}}\cdot \delta \varvec{\varphi }{\,\mathrm {d}a}~, \end{aligned}$$
(13)
$$\begin{aligned} 0&= \int _{\mathcal {B}_t}\varvec{y}\cdot \nabla _{\!\varvec{x}}\delta \phi {\,\mathrm {d}v}-\int _{\mathcal {B}_t}y\,\delta \phi {\,\mathrm {d}v}~. \end{aligned}$$
(14)

2.4 Derivation of the general Euler–Lagrange equations in spatial format

In order to obtain the Euler–Lagrange equations fulfilling the general stationarity conditions in spatial format, (13) and (14), we use the product rule for the divergence operation

$$\begin{aligned} \varvec{\sigma }: \nabla _{\!\varvec{x}}\delta \varvec{\varphi }&= \nabla _{\!\varvec{x}}\cdot [\delta \varvec{\varphi }\cdot \varvec{\sigma }] - \delta \varvec{\varphi }\cdot [\nabla _{\!\varvec{x}}\cdot \varvec{\sigma }] ~, \end{aligned}$$
(15)
$$\begin{aligned} \varvec{y}\cdot \nabla _{\!\varvec{x}}\delta \phi&= \nabla _{\!\varvec{x}}\cdot [\delta \phi \,\varvec{y}]-\delta \phi \,\nabla _{\!\varvec{x}}\cdot \varvec{y} ~. \end{aligned}$$
(16)

Integration of (15) and (16) over the domain \({\mathcal {B}_t}\) and application of Gauss’s divergence theorem yields

$$\begin{aligned} \int _{\mathcal {B}_t}\varvec{\sigma }:\nabla _{\!\varvec{x}}\delta \varvec{\varphi }{\,\mathrm {d}v}&= \int _{\partial \mathcal {B}_t}[\delta \varvec{\varphi }\cdot \varvec{\sigma }]\cdot \varvec{n} {\,\mathrm {d}a}\nonumber \\&\quad -\,\int _{\mathcal {B}_t}\delta \varvec{\varphi }\cdot [\nabla _{\!\varvec{x}}\cdot \varvec{\sigma }] {\,\mathrm {d}v}~, \end{aligned}$$
(17)
$$\begin{aligned} \int _{\mathcal {B}_t}\varvec{y}\cdot \nabla _{\!\varvec{x}}\delta \phi {\,\mathrm {d}v}&= \int _{\partial \mathcal {B}_t}[\delta \phi \,\varvec{y}]\cdot \varvec{n} {\,\mathrm {d}a}-\,\int _{\mathcal {B}_t}\delta \phi \,\nabla _{\!\varvec{x}}\cdot \varvec{y} {\,\mathrm {d}v}~,\nonumber \\ \end{aligned}$$
(18)

so that the general stationarity conditions in spatial format, (13) and (14), can be represented via

$$\begin{aligned} 0=&\int _{\partial \mathcal {B}_t}\delta \varvec{\varphi }\cdot [\varvec{\sigma }\cdot \varvec{n} - \bar{\varvec{t}}] {\,\mathrm {d}a}- \int _{\mathcal {B}_t}\delta \varvec{\varphi }\cdot [\nabla _{\!\varvec{x}}\cdot \varvec{\sigma }+ \bar{\varvec{b}}] {\,\mathrm {d}v}~, \end{aligned}$$
(19)
$$\begin{aligned} 0=&\int _{\partial \mathcal {B}_t}\delta \phi \,[\varvec{y}\cdot \varvec{n}] {\,\mathrm {d}a}- \int _{\mathcal {B}_t}\delta \phi \,[\nabla _{\!\varvec{x}}\cdot \varvec{y} +y] {\,\mathrm {d}v}~, \end{aligned}$$
(20)

from which the Euler–Lagrange equations in spatial form are identified as

$$\begin{aligned} \nabla _{\!\varvec{x}}\cdot \varvec{\sigma }+\bar{\varvec{b}} =\;&\varvec{0} \quad \text {in}~ {\mathcal {B}_t}~, \end{aligned}$$
(21)
$$\begin{aligned} \varvec{\sigma }\cdot \varvec{n}=\;&\bar{\varvec{t}} \quad \text {on}~ {\partial \mathcal {B}_t^\sigma }~, \end{aligned}$$
(22)
$$\begin{aligned} \nabla _{\!\varvec{x}}\cdot \varvec{y} + y =\;&0 \quad \text {in}~ {\mathcal {B}_t}~, \end{aligned}$$
(23)
$$\begin{aligned} \varvec{y}\cdot \varvec{n} =\;&0 \quad \text {on}~ {\partial \mathcal {B}_t^y}~, \end{aligned}$$
(24)

with \({\partial \mathcal {B}_t^y}={\partial \mathcal {B}_t}\), i.e. for the damage field we assume homogeneous Neumann boundary conditions—also referred to as natural or zero-flux boundary conditions—on the entire surface of the body.

2.5 Specification of gradient-enhanced energy contributions

To obtain an Euler–Lagrange equation for the damage variable that has the form of the heat equation, the spatial flux and source terms \(\varvec{y}\) and y governing balance equations (23) and (24) have to be of proper format. From the definition of flux and source terms provided in (10), \(\varvec{Y}:=\partial \varPsi _\mathrm {int}/ \partial \nabla _{\!\varvec{X}}\phi \) and \(Y=-\partial \varPsi _\mathrm {int}/ \partial \phi \), we recall that both quantities depend on the specification of the overall internal free energy \(\varPsi _\mathrm {int}\). Based on the additive structure of \(\varPsi _\mathrm {int}\) assumed in (1), we particularly find that both \(\varvec{Y}\) and Y depend only on the nonlocal energy contributions \(\psi _\mathrm {nloc}^\mathrm {grad}(\nabla _{\!\varvec{X}}\phi ; \varvec{F})\) and \(\psi _\mathrm {nloc}^\mathrm {plty}(\phi ,\kappa )\). In line with, e.g., Waffenschmidt et al. [47], we specify these nonlocal terms as

$$\begin{aligned} \psi _\mathrm {nloc}^\mathrm {grad}(\nabla _{\!\varvec{X}}\phi ;\varvec{F})&= \frac{c_\mathrm {d}}{2}\,\nabla _{\!\varvec{X}}\phi \cdot \varvec{C}{}^{-1}\cdot \nabla _{\!\varvec{X}}\phi \nonumber \\&= \frac{c_\mathrm {d}}{2}\,\nabla _{\!\varvec{x}}\phi \cdot \nabla _{\!\varvec{x}}\phi ~, \end{aligned}$$
(25)
$$\begin{aligned} \psi _\mathrm {nloc}^\mathrm {plty}(\phi ,\kappa )&= \frac{\beta _\mathrm {d}}{2}\,[\phi -\kappa ]^2 ~, \end{aligned}$$
(26)

where \(c_\mathrm {d}\) is a damage-related regularisation parameter, \(\beta _\mathrm {d}\) denotes a penalty-type parameter penalising deviations between local and non-local damage variables, \(\kappa \) and \(\phi \), respectively, and \(\varvec{C} = \varvec{F}^\mathrm {t}\cdot \varvec{F}\) represents the right Cauchy-Green deformation tensor. Alternatively, a material representation of the form \(\psi _\mathrm {nloc}^\mathrm {grad}= c_\mathrm {d}/2\,\nabla _{\!\varvec{X}}\phi \cdot \nabla _{\!\varvec{X}}\phi \) could have been chosen, see, e.g., Askes et al. [4], Sprave and Menzel [43] as well as the references cited therein for further discussions on the choice of non-local terms.

These nonlocal free energy contributions in combination with the spatial transformation rules introduced in Sect. 2.3 result in the specific flux and source terms

$$\begin{aligned} \varvec{y}&= J{}^{-1}\,\varvec{Y}\cdot \varvec{F}{}^\mathrm {t}= J{}^{-1}\, \frac{\partial \varPsi _\mathrm {int}(\varvec{F}, \phi , \nabla _{\!\varvec{X}}\phi ,\kappa )}{\partial \nabla _{\!\varvec{X}}\phi } \cdot \varvec{F}{}^\mathrm {t}\nonumber \\&= J{}^{-1}\,c_\mathrm {d}\,\nabla _{\!\varvec{x}}\phi ~, \end{aligned}$$
(27)
$$\begin{aligned} y&=J{}^{-1}\,Y = -\,J{}^{-1}\,\frac{\partial \varPsi _\mathrm {int}(\varvec{F}, \phi , \nabla _{\!\varvec{X}}\phi ,\kappa )}{\partial \phi } \nonumber \\&= -\,J{}^{-1}\,\beta _\mathrm {d}\,[\phi -\kappa ] ~. \end{aligned}$$
(28)

Inserting these specific flux and source terms in the relation representing the general format of the spatial variational form of the damage field variable (14) yields the representation

$$\begin{aligned} 0 =&\int _{\mathcal {B}_t}J{}^{-1}\,c_\mathrm {d}\,\nabla _{\!\varvec{x}}\phi \cdot \nabla _{\!\varvec{x}}\delta \phi {\,\mathrm {d}v}\nonumber \\&+\int _{\mathcal {B}_t}J{}^{-1}\,\beta _\mathrm {d}\,[\phi -\kappa ]\,\delta \phi {\,\mathrm {d}v}~. \end{aligned}$$
(29)

Considering the product rule for the divergence operator in terms of \(\nabla _{\!\varvec{x}}\phi \cdot \nabla _{\!\varvec{x}}\delta \phi = \nabla _{\!\varvec{x}}\cdot [\nabla _{\!\varvec{x}}\phi \,\delta \phi ] - \nabla _{\!\varvec{x}}\cdot \nabla _{\!\varvec{x}}\phi \,\delta \phi \) and applying Gauss’s theorem, the first integral in (29) can be expressed as

$$\begin{aligned} \int _{\mathcal {B}_t}J{}^{-1}\,c_\mathrm {d}\,\nabla _{\!\varvec{x}}\phi \cdot \nabla _{\!\varvec{x}}\delta \phi {\,\mathrm {d}v}&= \int _{\partial \mathcal {B}_t}J{}^{-1}\,c_\mathrm {d}\,[\delta \phi \,\nabla _{\!\varvec{x}}\phi ]\cdot \varvec{n}{\,\mathrm {d}a}\nonumber \\&\quad - \int _{\mathcal {B}_t}J{}^{-1}\,c_\mathrm {d}\,\nabla _{\!\varvec{x}}\cdot [\nabla _{\!\varvec{x}}\phi ]\,\delta \phi {\,\mathrm {d}v}. \end{aligned}$$
(30)

Assuming zero-flux boundary conditions, i.e. \(\nabla _{\!\varvec{x}}\phi \cdot \varvec{n}=0\) on \({\partial \mathcal {B}_t^y}={\partial \mathcal {B}_t}\) in line with (24), the surface integral vanishes and the weak form (29) finally takes the representation

$$\begin{aligned} \int _{\mathcal {B}_t}J{}^{-1}\,c_\mathrm {d}\,\nabla _{\!\varvec{x}}\cdot [\nabla _{\!\varvec{x}}\phi ]\,\delta \phi {\,\mathrm {d}v}- \int _{\mathcal {B}_t}J{}^{-1}\,\beta _\mathrm {d}\,[\phi -\kappa ]\,\delta \phi {\,\mathrm {d}v}=0 ~. \end{aligned}$$
(31)

As a result, the Euler–Lagrange equations for the non-local damage field variable in spatial format, (23) and (24), result in

$$\begin{aligned} c_\mathrm {d}\,\nabla _{\!\varvec{x}}\cdot [\nabla _{\!\varvec{x}}\phi ] - \beta _\mathrm {d}\,[\phi -\kappa ]&= 0 ~~ \text {in}~{\mathcal {B}_t}~, \end{aligned}$$
(32)
$$\begin{aligned} \nabla _{\!\varvec{x}}\phi \cdot \varvec{n}&= 0 ~~ \text {on}~{\partial \mathcal {B}_t^y}={\partial \mathcal {B}_t}~. \end{aligned}$$
(33)

The structure of the above balance equation for the damage field is compared to the heat equation in Sect. 3.

3 Heat equation-based solution framework

The idea behind a ‘heat equation-based’ solution framework is to use thermo-mechanically coupled finite element formulations for the regularisation of damage. As thermo-mechanically coupled finite elements solve for the mechanical equilibrium conditions (21) and for the heat equation simultaneously, we rearrange the damage-related balance equation (32) such that it formally corresponds to an appropriately specified form of the heat equation. Conceptually speaking, we ‘abuse’ the heat equation solution capabilities to solve the damage balance equation, using the ‘temperature field’ to store the non-local damage field variable \(\phi \). The reason for this approach is that many existing commercial and non-commercial finite element codes do not offer regularised damage formulations, but on the other hand provide the ability to include thermo-mechanically coupled user material subroutines to be used in connection with a given library of thermo-mechanically coupled finite element formulations. The great advantage from a user’s perspective in using these capabilities for the damage regularisation is that the necessity for writing an own user element, e.g. via the UEL subroutine in Abaqus, is eliminated. A ‘local’ material subroutine that returns appropriate ‘thermo-mechanical’ tangent contributions to be processed by the implicit finite element code is sufficient to regularise the damage formulation. As a result, existing element features such as contact, hybrid element formulations, structural elements, and potentially others—if provided for thermo-mechanically coupled problems—can be used out of the box in conjunction with regularised damage.

In the following, we briefly introduce the general format of the heat equation that can be solved within thermo-mechanically coupled Abaqus user subroutines. The general form of the heat equation presented in Sect. 3.1 is the reference representation that is required for the proper derivation of general thermal constitutive sensitivities as discussed in detail later on, cf. Sect. 4.2. In Sects. 3.2 and 3.3 we proceed with the discussion of two approaches for the regularisation of damage using the heat equation.

3.1 Heat equation—general format

The general form of the heat equation that can be solved within Abaqus in the context of a thermo-mechanically coupled user material formulation can be represented in spatial local form as

$$\begin{aligned}&\rho (J;\varvec{X})\,c_\mathrm {p}(\theta , \varvec{F}, \varvec{\mathcal {I}};\varvec{X})\,\dot{\theta } +\nabla _{\!\varvec{x}}\cdot \varvec{q}(\theta , \nabla _{\!\varvec{x}}\theta , \varvec{F}, \varvec{\mathcal {I}}, t; \varvec{X}) \nonumber \\&\quad = r_\theta (\theta , \varvec{F}, \varvec{\mathcal {I}}, t; \varvec{X}) ~, \end{aligned}$$
(34)

with \(\rho (J; \varvec{X})\) as the spatial mass density, \(c_\mathrm {p}(\theta ; \varvec{X})\) as the heat capacity, \(\dot{\theta }\) as the material time derivative of the absolute temperature \(\theta >0\), \(\varvec{q}(\theta , \nabla _{\!\varvec{x}}\theta , \varvec{F}, \varvec{\mathcal {I}}, t; \varvec{X})\) as the spatial heat flux density, and \(r_\theta (\theta , \varvec{F}, \varvec{\mathcal {I}}, t; \varvec{X})\) as the spatial heat source. The argument \( \varvec{\mathcal {I}}\) denotes a set of internal variables. The heat flux density \(\varvec{q}\) is most commonly expressed in terms of Duhamel’s law of heat conduction, where the direct temperature dependence is neglected and a linear function of the temperature gradient is assumed, so that the spatial description reads \(\varvec{q} = -\,\varvec{\kappa }_t(\theta ; \varvec{X})\cdot \nabla _{\!\varvec{x}}\theta \). Here, \(\varvec{\kappa }_t(\theta ; \varvec{X})\) denotes the positive semi-definite spatial thermal conductivity tensor.

In view of identifying a representation formally equivalent to balance equation (32), we now assume a homogeneous mass density \(\rho \), a homogeneous and temperature-independent heat capacity \(c_\mathrm {p}\) as well as thermal isotropy in terms of \(\varvec{\kappa }_t=\kappa _t\,\varvec{I}\), so that the differential form of Duhamel’s law of heat conduction simplifies to Fourier’s law, \(\varvec{q} = -\,\kappa _t\,\nabla _{\!\varvec{x}}\theta \). As a result, relation (34) is expressed in a simpler form as

$$\begin{aligned} \rho \,c_\mathrm {p}\,\dot{\theta } - \kappa _t\,\nabla _{\!\varvec{x}}\cdot [\nabla _{\!\varvec{x}}\theta ] = r_\theta (\theta , \varvec{F}, \varvec{\mathcal {I}}, t; \varvec{X}) ~. \end{aligned}$$
(35)

This relation represents the well-known spatial transient heat equation for a homogeneous body with internal heat sources where Fourier’s law is included as a thermal constitutive assumption. Next, we turn to the comparison of this equation with the damage balance equation.

3.2 Damage regularisation using the heat equation—transient formulation

In this section we briefly review the approach introduced by Hortig [14], where a regularisation of damage using the heat equation within Abaqus was established. However, note that the regularisation technique applied there corresponds to a rate-dependent damage formulation and thus differs from the approach proposed in the work at hand as presented in Sect. 3.3. Starting with the local spatial form of the transient heat equation for a homogeneous and isotropic continuum (35), Hortig [14] discussed that transient heat equation and a damage balance equation of the form presented in (32) differ in the rate term, i.e.

$$\begin{aligned}&\text {transient heat equation, see }35: \nonumber \\&~~\rho \,c_\mathrm {p}\,\dot{\theta } - \kappa _t\,\nabla _{\!\varvec{x}}\cdot [\nabla _{\!\varvec{x}}\theta ] = r_\theta ~, \end{aligned}$$
(36)
$$\begin{aligned}&\text {damage balance, see }(32): \nonumber \\&~~\beta _\mathrm {d}\,\phi - c_\mathrm {d}\,\nabla _{\!\varvec{x}}\cdot [\nabla _{\!\varvec{x}}\phi ] = \beta _\mathrm {d}\,\kappa ~. \end{aligned}$$
(37)

The formal difference in the above relations lies in the first term of both equations. To be more specific, the heat equation contains the rate of the field variable, i.e. \(\dot{\theta }\) for a thermal problem, whereas the damage balance contains the variable itself, i.e. \(\phi \).

To cast the damage balance equation into the form of the transient heat equation within Abaqus, Hortig [14] assumed unit mass density and implemented a ‘time and space-adaptive’ heat capacity that is locally adapted in such manner that the terms \(c_\mathrm {p}\,\dot{\theta }\) and \(\beta _\mathrm {d}\,\phi \) numerically coincide in the equilibrium state. Technically speaking, an additional user-defined field (USDFLD) was introduced, which then was used to compute a modified heat capacity \(\widetilde{c}_\mathrm {p}(\varDelta t)\) which depends on the discrete time step \(\varDelta t\) used within the simulation. With this approach, damage-induced softening effects and mesh-objective finite element solutions were successfully computed for inhomogeneous boundary value problems.

In the work at hand, however, we introduce an alternative approach for the regularisation of damage using the heat equation, this time based on a steady state formulation as presented in Sect. 3.3. The advantage of the approach proposed in this work is that the numerical implementation is more convenient because the necessity for the introduction of an additional user-defined field (USDFLD) is eliminated.

3.3 Damage regularisation using the heat equation—steady state formulation

We now consider the steady state thermal problem within a homogeneous, isotropic continuum. In this case, the time-dependence of the temperature vanishes, inducing \(\dot{\theta }=0\). As a result, the formerly parabolic partial differential equation that governs the transient heat distribution (35) reduces to an elliptic equation, reflecting a steady state thermal problem. We further note that the balance equation governing the nonlocal damage field variable (32) is a Poisson-type equation and thus of elliptic nature as well. Hence, appropriate rearrangement of terms in (32) results in a formal structure that is equivalent to the structure of the steady state heat equation, i.e.

$$\begin{aligned}&\text {steady state heat equation, }\dot{\theta }=0,\hbox {cf.}\,\,35: \nonumber \\&~~-\, \kappa _t\,\nabla _{\!\varvec{x}}\cdot [\nabla _{\!\varvec{x}}\theta ] = r_\theta ~, \end{aligned}$$
(38)
$$\begin{aligned}&\text {damage balance, see }32: \nonumber \\&~~-\, c_\mathrm {d}\,\nabla _{\!\varvec{x}}\cdot [\nabla _{\!\varvec{x}}\phi ] = \beta _\mathrm {d}\, [\kappa -\phi ] ~. \end{aligned}$$
(39)

Note that the right-hand side of (39) reflects a ‘damage source term’ that we denote as \(r_\mathrm {d}\) in the following, i.e. we introduce the definition \(r_\mathrm {d}:=\beta _\mathrm {d}\,[\kappa -\phi ]\). We now take a closer look at relations (38) and (39) to examine how the damage-related parameters governing (39) can be interpreted when compared to the steady state heat transfer problem. First, it is immediately apparent that the regularisation parameter \(c_\mathrm {d}\) used in the damage formulation formally corresponds to the spatial heat conductivity \(\kappa _t\). Secondly, we observe a quite interesting—and reasonable—structure that is obtained for the ‘damage source term’. We find that the penalty-related parameter \(\beta _\mathrm {d}\) introduced in (26) appears, penalising deviations between the local damage variable \(\kappa \) and its non-local counterpart \(\phi \). In other words, the structure of the right-hand side of (39) represents a significant ‘damage source’ affecting the field variable \(\phi \), scaled by the penalising coefficient \(\beta _\mathrm {d}\), as long as \(\kappa \) and \(\phi \) do not coincide. We now turn to the Abaqus implementation presented in Sect. 4, where Sect. 4.2 particularly focuses on the user implementation of the above specified heat—or rather damage balance—equation.

4 Abaqus implementation—UMAT subroutine for thermo-mechanically coupled problems

Due to the formal equivalence of the governing partial differential equations demonstrated in (38) and (39), a numerical implementation of the damage regularisation framework derived in Sect. 2 can be conveniently carried out by making use of the solution procedures already included in existing thermo-mechanically coupled finite element formulations. For the specification of thermo-mechanically coupled user materials, Abaqus requires the coding of the UMAT and the UMATHT subroutine. In Sect. 4.1, we discuss the required return variables and tangent operators to be coded within the UMAT subroutine, where we additionally focus on the corresponding expressions relevant in the context of the regularised damage framework presented in this work. Note that the UMAT subroutine only specifies the heat source and the mechanical constitutive behaviour and their related tangent operators. With Abaqus being able to handle general thermal constitutive relations in the form of (34), the use of thermo-mechanically coupled user material behaviour additionally requires the definition of the thermal constitutive properties and related sensitivities within the UMATHT subroutine as elaborated in Sect. 4.2.

After the tangent operators to be computed within the UMAT and UMATHT subroutines are established in Sects. 4.1 and 4.2, we then turn to the automatic numerical computation of these operators in Sect. 4.3. To this end, the latter section provides generic algorithms that automatically compute all of the required non-trivial tangent operators based on the repeated numerical evaluation of a classical constitutive routine.

Table 1 Overview of the Abaqus return variables that have to be specified within the UMAT user subroutine when a thermo-mechanically coupled user material is employed. Note that we assume the constitutive relation to be formulated in terms of the material quantities \(\varvec{C}\) and \(\varvec{S}\), i.e. the right Cauchy-Green deformation tensor and the Piola–Kirchhoff stress tensor. We therefore require \(\varvec{\varphi }_{\!*}\!(\bullet )\) as the push-forward operator to transfer related material sensitivities to the spatial form. Special attention has to be paid to the mechanical tangent contribution DDSDDE, which must be consistent with the Jaumann rate formulation that Abaqus is based on, see Sect. A.5 for details on the derivation

4.1 Overview—Abaqus UMAT subroutine return variables

After the formal equivalence between steady state heat equation and damage balance equation was shown in Sect. 3.3 we now turn to the details of implementation. For a mechanical user material model, the return variables STRESS, STATEV, and DDSDDE need to be computed and returned within the UMAT user subroutine. For thermo-mechanically coupled user material formulations as used in this work, the additional quantities RPL, DRPLDT, DRPLDE and DDSDDT must be properly specified. The proper definitions of the aforementioned variables required by Abaqus are summarised in Table 1. For the mechanical subproblem, the Cauchy stresses \(\varvec{\sigma }\) and a vector of internal state variables \( \varvec{\mathcal {I}}\) have to be returned. The additionally required mechanical tangent DDSDDE requires special attention as it must be consistent with the Jaumann rate formulation employed by Abaqus. Details on the derivation of the specific structure of DDSDDE are given in A.5. For conceptual clarity, we restrict this work to an isotropic, purely hyperelastic mechanical material model that is formulated in terms of the right Cauchy-Green deformation tensor \(\varvec{C}\) and the corresponding Piola–Kirchhoff stress tensor \(\varvec{S}\). With this local model and the damage framework introduced in Sect. 2, the Cauchy stresses \(\varvec{\sigma }\) to be returned as STRESS follows from a weighted push-forward operation applied to the Piola–Kirchhoff stress tensor \(\varvec{S}\), i.e.

$$\begin{aligned} \texttt {STRESS}:= \varvec{\sigma }&= J{}^{-1}\,\varvec{\varphi }_{\!*}\!(\varvec{S}) = J{}^{-1}\, \varvec{F}\cdot \varvec{S}\cdot \varvec{F}{}^\mathrm {t}\nonumber \\&= J{}^{-1}\,\varvec{\tau }~, \end{aligned}$$
(40)

with the Kirchhoff stress tensor \(\varvec{\tau }\). For the mechanical tangent, we first compute its material representation in terms of \({{\mathbf {\mathsf{{E}}}}}:=2\,{\mathrm {d}}\varvec{S} / {\mathrm {d}}\varvec{C}\), followed by a push-forward operation, addition of the Jaumann co-rotational correction term, cf. A.5, and division by \(J=\det ( \varvec{F})\), yielding

$$\begin{aligned} \texttt {DDSDDE}:&= J{}^{-1}\left[ \varvec{\varphi }_{\!*}\!\left( 2\,\frac{{\mathrm {d}}\varvec{S}}{{\mathrm {d}}\varvec{C}}\right) +{{\mathbf {\mathsf{{e}}}}}^\mathrm {cor}\right] \nonumber \\&= J{}^{-1}\left[ {{\mathbf {\mathsf{{e}}}}}+{{\mathbf {\mathsf{{e}}}}}^\mathrm {cor}\right] ~. \end{aligned}$$
(41)

Here, \({{\mathbf {\mathsf{{e}}}}}^\mathrm {cor}= 1/2\,[ \varvec{I} {\,\overline{\otimes }\,}\varvec{\tau }+ \varvec{I} {\,\underline{\otimes }\,}\varvec{\tau }+ \varvec{\tau }{\,\overline{\otimes }\,}\varvec{I} + \varvec{\tau }{\,\underline{\otimes }\,}\varvec{I} ]\) is the additional tangent contribution accounting for the Jaumann rate formulation, see (97), where \(\varvec{I}\) denotes the second-order identity tensor and where the non-standard dyadic products are defined as \([\varvec{A}_1{\,\overline{\otimes }\,}\varvec{A}_2]:\varvec{A}_3=\varvec{A}_1\cdot \varvec{A}_3\cdot \varvec{A}{}^\mathrm {t}_2\) and \([\varvec{A}_1{\,\underline{\otimes }\,}\varvec{A}_2]:\varvec{A}_3 = \varvec{A}_1\cdot \varvec{A}{}^\mathrm {t}_3\cdot \varvec{A}{}^\mathrm {t}_2\). The representations of both stress response and mechanical tangent are basically unaffected by the regularised damage framework, and as internal state variable only the local damage variable remains, STATEV\(\;:=\kappa \), cf. Table 1.

As this work focuses on the damage regularisation using the heat equation, we next discuss the associated thermo-mechanical return values and sensitivities RPL, DRPLDT, DRPLDE and DDSDDT that Abaqus expects to be returned in appropriate format. The scalar-valued variable RPL represents the heat source \(r_\mathrm {pl}\) that Abaqus expects to be defined, where the index ‘pl’ refers to a plastic process, which in a standard thermo-mechanical formulation is the main source for the occurrence of local heating. To regularise the damage formulation at hand, however, we return the expression

$$\begin{aligned} \texttt {RPL}:= r_\mathrm {d}:=\beta _\mathrm {d}\, [\kappa -\phi ] \end{aligned}$$
(42)

as ‘heat source’ instead, as elaborated in Sect. 3.3. Next, the sensitivity of the heat source with respect to the temperature, DRPLDT, must be provided. Within the presented damage framework, this translates to the sensitivity of the damage source term \(r_\mathrm {d}\) with respect to the non-local damage field variable \(\phi \) that we consider in place of the temperature field. With the damage source term specified in (42), the required sensitivity takes the form

$$\begin{aligned} \texttt {DRPLDT}:= \frac{{\mathrm {d}}r_\mathrm {d}}{ {\mathrm {d}}\phi } = \beta _\mathrm {d}\left[ \frac{{\mathrm {d}}\kappa }{ {\mathrm {d}}\phi }-1\right] ~. \end{aligned}$$
(43)

Note that the derivative \({\mathrm {d}}\kappa / {\mathrm {d}}\phi \) in (43) depends on the specific local constitutive formulation that is chosen to undergo regularised damage, see Appendix B for an exemplary derivation of the required expression. Besides ‘temperature’ sensitivity, the sensitivity of the source term with respect to the deformation, DRPLDE, must be specified. We compute the sensitivity of the source term with respect to the material deformation measure \(\varvec{C}\) and then apply a push-forward operation in order to obtain the consistent spatial tangent expression required by Abaqus. With the source term given in (42), we obtain

$$\begin{aligned} \texttt {DRPLDE}:= \varvec{\varphi }_{\!*}\!\left( \frac{{\mathrm {d}}r_\mathrm {d}}{{\mathrm {d}}\varvec{C}}\right) = \beta _\mathrm {d}\,\varvec{\varphi }_{\!*}\!\left( \frac{{\mathrm {d}}\kappa }{{\mathrm {d}}\varvec{C}}\right) ~, \end{aligned}$$
(44)

where we used the fact that \(\beta _\mathrm {d}\) is a constant coefficient and that \(\phi \) and \(\varvec{C}\) result from independent field variables, so that \({\mathrm {d}}\phi / {\mathrm {d}}\varvec{C}=\varvec{0}\). As with (43), the derivative \({\mathrm {d}}\kappa / {\mathrm {d}}\varvec{C}\) in (44) depends on the particular local constitutive formulation. An exemplary derivation of \({\mathrm {d}}\kappa / {\mathrm {d}}\varvec{C}\) for a Neo–Hookean local model with a given damage function \(f_\mathrm {d}(\kappa )\) is provided in Appendix B. Finally, the sensitivity of stresses with respect to the ‘temperature’ field variable is to be specified as DDSDDT in spatial form. Accordingly, for a constitutive model formulated in terms of the Piola–Kirchhoff stress tensor \(\varvec{S}\), and with the non-local damage variable \(\phi \) taking the place of the temperature field, we find

$$\begin{aligned} \texttt {DDSDDT}:= \varvec{\varphi }_{\!*}\!\left( \frac{{\mathrm {d}}\varvec{S}}{{\mathrm {d}}\phi }\right) ~. \end{aligned}$$
(45)

A further particularisation of (45) is possible as soon as the local constitutive model is specified. See Sect. 5 for the particular local formulation chosen for the examples provided in this work.

The push-forward \(\varvec{a}=\varvec{\varphi }_{\!*}\!\left( \varvec{A} \right) \) of material stress-type second-order tensors \(\varvec{A}\) such as the ones involved in relations (40), (44), (45), reads

$$\begin{aligned} \varvec{\varphi }_{\!*}\!\left( \varvec{A} \right) = \varvec{F} \cdot \varvec{A} \cdot \varvec{F}{}^\mathrm {t}~. \end{aligned}$$
(46)

For the push-forward representation \({{\mathbf {\mathsf{{a}}}}}=\varvec{\varphi }_{\!*}\!({\mathbf {\mathsf{{A}}}})\) of a related material fourth order tensor \({\mathbf {\mathsf{{A}}}}\) such as the tangent operator given in (41) we have

$$\begin{aligned} \varvec{\varphi }_{\!*}\!\left( {\mathbf {\mathsf{{A}}}}\right) = [\varvec{F} {\,\overline{\otimes }\,}\varvec{F}] : {\mathbf {\mathsf{{A}}}}: [ \varvec{F}{}^\mathrm {t}{\,\overline{\otimes }\,}\varvec{F}{}^\mathrm {t}] ~. \end{aligned}$$
(47)

With these relations at hand, the return variables to be specified in the Abaqus UMAT subroutine for thermo-mechanically coupled user materials are fully defined. The above described UMAT return variables and tangent operators are summarised in Table 1 where the Abaqus expressions required for classic thermo-mechanical user problems on the one hand, and the regularised damage formulation on the other hand are compared to each other.

4.2 Specification and implementation of the thermal constitutive behaviour—UMATHT subroutine

For the complete user specification of coupled thermo-mechanical behaviour in Abaqus, besides the standard user material subroutine UMAT, see Sect. 4.1, the heat transfer subroutine UMATHT also needs to be coded. The reason is that Abaqus allows for the solution of a general form of the heat equation as given in (34), where the heat transfer relation does not necessarily need to be of the form of Fourier’s or even Duhamel’s law of heat conduction. The subroutine UMATHT is called at every integration point of elements that include a user defined thermo-mechanically coupled material behaviour and is used to fully define the constitutive properties of the heat equation. To be more specific, within this routine the internal energy per unit mass U, its variation with respect to temperature \({\mathrm {d}}U / {\mathrm {d}}\theta \) and spatial gradients of temperature \({\mathrm {d}}U / {\mathrm {d}}\nabla _{\!\varvec{x}}\theta \), need to be returned as variables U, DUDT, and DUDG, respectively. Moreover, the heat flux vector \(\varvec{q}\) and its variation with respect to temperature \({\mathrm {d}}\varvec{q} / {\mathrm {d}}\theta \) and to gradients of temperature \({\mathrm {d}}\varvec{q} / {\mathrm {d}}\nabla _{\!\varvec{x}}\theta \), need to be specified and returned as FLUX, DFDT, and DFDG, respectively. All these quantities can be specified as functions of time, of internal variables, and of other parameters.

In view of the subsequent derivations, we briefly recall that the general format of the spatial local form of the heat equation introduced in Sect. 3.1 was simplified to constant coefficients and thermal isotropy including Fourier’s law,

$$\begin{aligned} \rho \,c_\mathrm {p}\,\dot{\theta } + \kappa _t\,\nabla _{\!\varvec{x}}\cdot [\nabla _{\!\varvec{x}}\theta ] = r_\mathrm {pl}~, \end{aligned}$$
(48)

by analogy with the damage balance equation (32). In line with Abaqus conventions, the heat source is denoted as \(r_\mathrm {pl}\) here. Even though we aim to carry out steady state heat transfer computations, cf. Sect. 3.3, the transient part of (48) can be specified in the UMATHT subroutine as well.

To this end we note that for a standard heat transfer problem, i.e. a rigid heat conductor, the internal specific energy depends solely on the temperature \(\theta \). In the case of a homogeneous and constant heat capacity \(c_\mathrm {p}\), the temperature-dependent internal energy is simply \(U(\theta ) = c_\mathrm {p}\,\theta \). Within the regularised damage framework where the damage field variable \(\phi \) is used in place of the temperature \(\theta \), we return

$$\begin{aligned} \texttt {U}:= U(\phi ) := \epsilon ^{c_\mathrm {p}}\,\phi ~, \end{aligned}$$
(49)

where \(\epsilon ^{c_\mathrm {p}}\) is a ‘small’ numerical value.Footnote 1

The required sensitivities with respect to temperature, DUDT, and spatial gradient of temperature, DUDG, follow as

$$\begin{aligned} \texttt {DUDT}:= \frac{{\mathrm {d}}U(\phi )}{{\mathrm {d}}\phi } = \epsilon ^{c_\mathrm {p}} \end{aligned}$$
(50)

and

$$\begin{aligned} \texttt {DUDG}:= \frac{{\mathrm {d}}U(\phi )}{{\mathrm {d}}\nabla _{\!\varvec{x}}\phi } = \varvec{0} ~, \end{aligned}$$
(51)

respectively.

Table 2 Abaqus return variables to be specified within the UMATHT user subroutine. For the damage balance equation given in the form presented in Sect. 3.3, the internal energy U and the flux vector FLUX as well as their sensitivities with respect to the field variable and the spatial gradient of the field variable can be specified as shown. For a standard thermo-mechanical problem the field variable is constituted by the temperature \(\theta \). Within the presented ‘heat equation-based damage regularisation framework’, the temperature is replaced by the non-local damage field variable \(\phi \)

Considering Fourier’s law, the heat flux vector \(\varvec{q}(\nabla _{\!\varvec{x}}\theta )\) to be returned as FLUX within the UMATHT subroutine is specified as a function of the spatial temperature gradient \(\nabla _{\!\varvec{x}}\theta \) only, taking the form \(\varvec{q}(\nabla _{\!\varvec{x}}\theta ) = -\,\kappa _t\,\nabla _{\!\varvec{x}}\theta \), where \(\kappa _t\) denotes the thermal conductivity, see (48). In the context of the regularised damage framework used in this work, this translates to

$$\begin{aligned} \texttt {FLUX}:= -\,c_\mathrm {d}\,\nabla _{\!\varvec{x}}\phi ~, \end{aligned}$$
(52)

with \(c_\mathrm {d}\) denoting a lengthscale-type regularisation parameter, cf. Sect. 3.3. With the definition of the flux vector given in (52), the corresponding variations with respect to temperature and spatial gradient of temperature are given in terms of

$$\begin{aligned} \texttt {DFDT}:= \frac{{\mathrm {d}}\varvec{q}(\nabla _{\!\varvec{x}}\phi )}{{\mathrm {d}}\phi } = \varvec{0} \end{aligned}$$
(53)

and

$$\begin{aligned} \texttt {DFDG}:= \frac{{\mathrm {d}}\varvec{q}(\nabla _{\!\varvec{x}}\phi )}{{\mathrm {d}}\nabla _{\!\varvec{x}}\phi } = -\,c_\mathrm {d}\,\varvec{I} ~. \end{aligned}$$
(54)

An overview of the required expressions for the Abaqus return variables for a standard thermal problem and their corresponding counterparts for the current regularised damage formulation is provided in Table 2.

In the current context, it is important to note that the subroutine UMATHT is recommended to be used with reduced-integration or modifiedFootnote 2 thermo-mechanically coupled element formulations only in the case where mechanical and thermal field are not coupled via plastic dissipation, i.e. reduced-integration elements should be used only if the right-hand side of the heat equation (48) vanishes, so that \(r_\mathrm {pl}=0\). This is, however, not the case for the regularised damage framework presented in this work, where \(r_\mathrm {pl}\), or rather \(r_\mathrm {d}=\beta _\mathrm {d}\,[\kappa -\phi ]\), represents a source term that in general represents a significantly non-zero contribution during the iterative solution process. In conclusion, fully integrated thermo-mechanically coupled Abaqus element formulations are utilised in this work.

4.3 Automatic numerical approximation of Abaqus tangent contributions for thermo-mechanically coupled user materials

In Sects. 4.1 and 4.2 we elaborated the coupled tangent operators to be specified within both UMAT and UMATHT subroutines, respectively. A direct comparison between the classical thermo-mechanical tangent contributions and the sensitivities required for the current regularised damage framework was provided in Table 1 for the UMAT subroutine. The analogous comparison for the tangent operators and sensitivities required for the UMATHT subroutine was given in Table 2. Due to the rather simple format of the damage balance equation—corresponding to a homogeneous, isotropic, steady state heat transfer problem, cf. Sect. 3.3—the thermal sensitivities to be specified within the UMATHT subroutine turned out to be either zero, constant or trivial as summarised in Table 2. In conclusion, the tangent operators required for the UMATHT subroutine are easy to implement and, since they are unaffected by the particular choice of the local constitutive formulation, they are valid for any local constitutive behaviour.

Fig. 1
figure 1

Perturbation-based numerical computation of the mechanical tangent DDSDDE for a general constitutive routine—here named ConstModel—that is formulated in terms of the right Cauchy-Green deformation tensor \(\varvec{C}\) and the Piola–Kirchhoff stress tensor \(\varvec{S}\). For the gradient-regularised damage formulation proposed in this work, the non-local damage field variable \(\phi \) is used in place of the temperature \(\theta \). The perturbed right Cauchy-Green deformation tensor entering the constitutive routine is denoted as \( \varvec{C}_\mathrm {pert}\) whereas the resulting, perturbed constitutive output quantities are denoted as \(\widetilde{\bullet }\). Note the symmetry preserving perturbation scheme applied to the symmetric tensor \(\varvec{C}\)

On the other hand, the sensitivities to be specified within the UMAT subroutine strongly depend on the choice of the local constitutive formulation as discussed in Sect. 4.1. For the purpose of development and testing of local constitutive formulations that undergo regularised damage, it might be advantageous to be able to compute numerical approximations of the associated sensitivities in a fully automatic manner. To this end, we provide perturbation-based algorithms for the numerical evaluation of all of the consistent algorithmic tangent operators required by the Abaqus UMAT subroutine. These algorithms enable the application of the presented damage regularisation framework to any local constitutive formulation without the need to analytically derive and implement the corresponding non-trivial coupled UMAT tangent operators.

Fig. 2
figure 2

Perturbation-based numerical computation of the coupled tangent contribution DDSDDT for a general constitutive routine—here named ConstModel—that is formulated in terms of the right Cauchy-Green deformation tensor \(\varvec{C}\) and the Piola–Kirchhoff stress tensor \(\varvec{S}\). For the gradient-regularised damage formulation proposed in this work, the non-local damage field variable \(\phi \) is used in place of the temperature \(\theta \). The perturbed field variable entering the constitutive routine is denoted as \( \theta _\mathrm {pert}\) whereas the resulting, perturbed constitutive output quantities are denoted as \(\widetilde{\bullet }\)

The starting point for the automatic computation of the UMAT tangent operators required for general thermo-mechanically coupled problems, i.e. DDSDDE, DDSDDT, DRPLDE, and DRPLDT, is a properly coded local constitutive routine. We consider a material formulation, i.e. the local constitutive routine is a function of the right Cauchy-Green deformation tensor \(\varvec{C}\) and returns the associated material Piola–Kirchhoff stresses \(\varvec{S}\). In general, the constitutive response will also depend on a set of material parameters, say \(\varvec{p}\), and a set of internal variables associated with time \(t_n\), say \( \varvec{\mathcal {I}}_n\). For a thermo-mechanically coupled formulation, the local constitutive response moreover depends on the temperature field variable \(\theta \). As return variables, besides the stress measure \(\varvec{S}\), the routine needs to provide the updated set of internal variables corresponding to time \(t_{n+1}\), say \( \varvec{\mathcal {I}}_{n+1}\), and the heat source, say \(r_\mathrm {pl}\). If a local constitutive routine is coded in terms of these input and return variables, then an automatic computation of the coupled tangent operators can be realised using proper numerical perturbation schemes. These perturbation schemes generate valid tangent operators not only for general thermo-mechanically coupled Abaqus user subroutines, but also for the gradient-enhanced damage framework presented in this work. The only difference is that the damage field variable \(\phi \) is passed in place of the temperature \(\theta \) and the returned damage source term \(r_\mathrm {d}\) takes the form elaborated in Sect. 3.3. Note that in general more accurate schemes can be introduced which make use of data at time \(t_{n-1}\) etc, but require at least more storage. In summary, the proper input-output structure of the local constitutive routine considered, here named ConstModel, reads

$$\begin{aligned}&\text {thermomechanically coupled routine:} \nonumber \\&~~[ \varvec{\mathcal {I}}_{n+1}, \varvec{S}, r_\mathrm {pl}] = \texttt {ConstModel}(\varvec{C}, \theta , \varvec{\mathcal {I}}_n, \varvec{p}) ~, \end{aligned}$$
(55)
$$\begin{aligned}&\text {gradient-regularised damage routine:} \nonumber \\&~~[ \varvec{\mathcal {I}}_{n+1}, \varvec{S}, r_\mathrm {d}] = \texttt {ConstModel}(\varvec{C}, \phi , \varvec{\mathcal {I}}_n, \varvec{p}) ~. \end{aligned}$$
(56)

To automatically compute the required sensitivities as defined in Table 1, the constitutive routine can now be called with perturbed quantities \( \varvec{C}_\mathrm {pert}\) and \( \theta _\mathrm {pert}\)—or rather \( \phi _\mathrm {pert}\). Based on the obtained, perturbed output quantities \( \widetilde{\varvec{S}}\) and \(\widetilde{r}\) and the unperturbed reference constitutive response, proper tensor-valued sensitivities can be assembled.

The algorithm sketched in Fig. 1 enables the computation of the mechanical tangent DDSDDE consistent with Abaqus’ Jaumann–Zaremba rate formulation based on the numerical approximation of the fourth order material tangent \({\mathrm {d}}\varvec{S} / {\mathrm {d}}\varvec{C}\), cf. Miehe [30]. Here it is important to point out the symmetric perturbation of \(\varvec{C}\). Note that the perturbation of the diagonal elements of \(\varvec{C}\) adds up to \([ \varvec{C}_\mathrm {pert}]_{kk}=[\varvec{C}]_{kk}+\epsilon \), whereas the off-diagonal elements are perturbed by \(\epsilon /2\) while preserving symmetry, i.e. \( \varvec{C}_\mathrm {pert}=[ \varvec{C}_\mathrm {pert}]{}^\mathrm {t}\). As a result, six additional calls to the ConstModel routine are sufficient to numerically approximate \({\mathrm {d}}\varvec{S} / {\mathrm {d}}\varvec{C}\).

Figure 2 provides the algorithm required for the numerical computation of the sensitivity DDSDDT of the Piola–Kirchhoff stress tensor \(\varvec{S}\) with respect to temperature \(\theta \), or rather damage field variable \(\phi \). One additional call to the ConstModel routine is sufficient to compute \({\mathrm {d}}\varvec{S} / {\mathrm {d}}\theta \), or rather \({\mathrm {d}}\varvec{S} / {\mathrm {d}}\phi \). The resulting second-order material tangent is then pushed forward to obtain the required form of DDSDDT defined in Table 1.

Apart from the aforementioned stress sensitivities, the source term sensitivities DRPLDE and DRPLDT, i.e. sensitivity of the source term r with respect to deformation measure \(\varvec{C}\) and field variable \(\theta \), or rather \(\phi \), can be evaluated numerically. For the numerical computation of DRPLDE shown in Fig. 3, the perturbation of \(\varvec{C}\) follows the scheme described above for DDSDDE, where six additional evaluations of the ConstModel routine are sufficient for the numerical approximation of \({\mathrm {d}}r / {\mathrm {d}}\varvec{C}\). The latter expression is then pushed forward and converted to the proper Voigt-type vector. Finally, the numerical computation of the scalar-valued thermal tangent contribution DRPLDT, i.e. \({\mathrm {d}}r / {\mathrm {d}}\theta \), or rather \({\mathrm {d}}r / {\mathrm {d}}\phi \), as shown in Fig. 4, reflects a simple one-dimensional forward-differences scheme.

For the sake of conceptual clarity, the perturbations with respect to \(\varvec{C}\), i.e. the computation of DDSDDE and DRPLDE, are sketched as two separate algorithms in Figs. 1 and 3, respectively. For highest numerical efficiency, the computation of both sensitivites can be embedded into a single loop, so that six calls to the ConstModel routine are sufficient to numerically approximate both \({\mathrm {d}}\varvec{S} / {\mathrm {d}}\varvec{C}\) and \({\mathrm {d}}r / {\mathrm {d}}\varvec{C}\) at the same time. Analogously, another single call to the ConstModel routine enables the simultaneous computation of both DDSDDT and DRPLDT.

Fig. 3
figure 3

Perturbation-based numerical computation of the coupled tangent contribution DRPLDE for a general constitutive routine—here named ConstModel—that is formulated in terms of the right Cauchy-Green deformation tensor \(\varvec{C}\) and the Piola–Kirchhoff stress tensor \(\varvec{S}\). For the gradient-regularised damage formulation proposed in this work, the non-local damage field variable \(\phi \) is used in place of the temperature \(\theta \). The perturbed right Cauchy-Green deformation tensor entering the constitutive routine is denoted as \( \varvec{C}_\mathrm {pert}\) whereas the resulting, perturbed constitutive output quantities are denoted as \(\widetilde{\bullet }\). Note the symmetry preserving perturbation scheme applied to the symmetric tensor \(\varvec{C}\)

Fig. 4
figure 4

Perturbation-based numerical computation of the thermal tangent contribution DRPLDT for a general constitutive routine—here named ConstModel—that is formulated in terms of the right Cauchy-Green deformation tensor \(\varvec{C}\) and the Piola–Kirchhoff stress tensor \(\varvec{S}\). For the gradient-regularised damage formulation proposed in this work, the non-local damage field variable \(\phi \) is used in place of the temperature \(\theta \). The perturbed field variable entering the constitutive routine is denoted as \( \theta _\mathrm {pert}\) whereas the resulting, perturbed constitutive output quantities are denoted as \(\widetilde{\bullet }\)

5 Specification of local energy contributions and constitutive relations

In view of the examples provided later on, we will now introduce an exemplary local constitutive behaviour in terms of the local elastic potential \(\psi _\mathrm {loc}\) in Sect. 5.1, followed by the specification of the damage function \(f_\mathrm {d}(\kappa )=1-d\) in Sect. 5.2. The overall internal free energy potential \(\varPsi _\mathrm {int}\) of the material, including local and non-local contributions, is then used to compute the energy release rate \(q:=-\,\partial \varPsi _\mathrm {int}/ \partial d\) in Sect. 5.3. Finally, the damage condition in terms of a damage loading function \({\varPhi _\mathrm {d}}\) is defined in Sect. 5.4.

5.1 Local elastic potential—Neo–Hookean type material undergoing damage

For conceptual clarity, we choose a simple isotropic elastic material behaviour by introducing a local free energy function representing a compressible Neo–Hookean format,

$$\begin{aligned} \psi _\mathrm {H}(\mathrm {tr}(\varvec{C}),J)&= \frac{\mu _\mathrm {e}}{2}[ \mathrm {tr}(\varvec{C})-3] \nonumber \\&\quad -\,\mu _\mathrm {e}\,\mathrm {ln}(J) + \frac{\lambda _\mathrm {e}}{2}\, [ \mathrm {ln}(J) ]^2 ~, \end{aligned}$$
(57)

where the subscript H refers to a standard Neo–Hookean expression here and in the following. In (57), \(\lambda _\mathrm {e}\) and \(\mu _\mathrm {e}\) are Lamé’s first and second elastic constants, respectively.

Making use of the relations \(\partial J/\partial \varvec{C} = 1/2\,J\,\varvec{C}^{-1}\) and \(\partial \mathrm {tr}(\varvec{C})/\partial \varvec{C} = \varvec{I}\), the undamaged—or rather effective—stresses \( \varvec{S}_\mathrm {H}:= 2\,\partial \psi _\mathrm {H}/ \partial \varvec{C}\) of the Neo–Hookean material in terms of the material Piola–Kirchhoff stress tensor \( \varvec{S}_\mathrm {H}\) follow as

$$\begin{aligned} \varvec{S}_\mathrm {H} := 2\,\frac{\partial \psi _\mathrm {H}}{\partial \varvec{C}} = \mu _\mathrm {e}\,[\varvec{I} - \varvec{C}^{-1}] + \lambda _\mathrm {e}\,\mathrm {ln}(J)\,\varvec{C}^{-1} ~. \end{aligned}$$
(58)

A weighted push-forward operation applied to (58) leads to the spatial Cauchy stress tensor related to the Neo–Hookean material,

$$\begin{aligned} \varvec{\sigma }_\mathrm {H} = \frac{1}{J}\, \varvec{F} \cdot \varvec{S}_\mathrm {H} \cdot \varvec{F}^\mathrm {t}= \frac{\mu _\mathrm {e}}{J}\,[\varvec{b}-\varvec{I}] + \frac{\lambda _\mathrm {e}}{J}\,\mathrm {ln}(J)\,\varvec{I} ~, \end{aligned}$$
(59)

with \(\varvec{b}= \varvec{F}\cdot \varvec{F}{}^\mathrm {t}\) being the left Cauchy-Green deformation tensor. Note that the final expression for the local elastic potential includes the damage function to be defined in Sect. 5.2, i.e.

$$\begin{aligned} \psi _\mathrm {loc}\equiv f_\mathrm {d}(\kappa )\,\psi _\mathrm {H}~. \end{aligned}$$
(60)

5.2 Damage function—exponential format with initiation threshold and saturation parameter

As damage function, we choose an exponential format, enabling us to take into account a damage initiation threshold and a damage saturation rate. Following Waffenschmidt et al. [47], we specify

$$\begin{aligned} f_\mathrm {d}(\kappa )= 1-d = \exp (-\eta _\mathrm {d}\langle \kappa -\kappa _\mathrm {d}\rangle )~, \end{aligned}$$
(61)

where \(\kappa \) denotes the internal damage variable, \(\kappa _\mathrm {d}> 0\) represents the damage threshold parameter, \(\eta _\mathrm {d}> 0\) is the exponential damage saturation parameter, and where \(\langle \bullet \rangle := \mathrm {max}\{0,\bullet \}\) defines the Macaulay bracket function. As long as the internal damage variable \(\kappa \) is smaller than the damage initiation threshold, \(\kappa < \kappa _\mathrm {d}\), the Macaulay bracket term in (61) vanishes and we find \(f_\mathrm {d}(\kappa )\vert _{\kappa < \kappa _\mathrm {d}} = 1\), i.e. no damage is induced. When the local damage variable exceeds the damage threshold, i.e. \(\kappa > \kappa _\mathrm {d}\), we obtain \(f_\mathrm {d}(\kappa )\vert _{\kappa > \kappa _\mathrm {d}} < 1\) and therefore damage within the material. The rate of material degradation is governed by the value chosen for the damage saturation parameter \(\eta _\mathrm {d}\), see Fig. 5.

Fig. 5
figure 5

The damage function \(f_\mathrm {d}(\kappa )\) defined in (61) is of exponential type, formulated in terms of two parameters—a damage saturation parameter \(\eta _\mathrm {d}\) and a damage threshold parameter \(\kappa _\mathrm {d}\). (a) shows \(f_\mathrm {d}(\kappa )\) for a fixed damage threshold \(\kappa _\mathrm {d}=0\) while the damage saturation parameter \(\eta _\mathrm {d}\) is varied. (b) depicts \(f_\mathrm {d}(\kappa )\) for a fixed damage saturation value of \(\eta _\mathrm {d}=2\) with varying damage threshold \(\kappa _\mathrm {d}\). A proper choice of both \(\eta _\mathrm {d}\) and \(\kappa _\mathrm {d}\) allows the definition of the point of damage initiation as well as the rate of degradation for the material under consideration

5.3 Derivation of the energy release rate based on the overall internal energy potential

We now derive the thermodynamical driving force for the internal damage variable \(\kappa \) and the energy release rate of the material, which are both functions of the overall internal energy potential \(\varPsi _\mathrm {int}\) initially introduced in (1). The non-local gradient and penalty contributions to \(\varPsi _\mathrm {int}\), see (25) and (26), respectively, were already defined in view of the specification of the damage-related balance equation (32). With the particularisation of the local elastic potential in (57) and (60), the overall internal free energy potential of the material,

$$\begin{aligned} \varPsi _\mathrm {int}(\varvec{F}, \phi , \nabla _{\!\varvec{X}}\phi ,\kappa )=&\underbrace{f_\mathrm {d}(\kappa )\,\psi _\mathrm {H}(\mathrm {tr}(\varvec{C}),J)}_{\displaystyle \psi _\mathrm {loc}( \varvec{F},\kappa )} \nonumber \\&+ \underbrace{\psi _\mathrm {nloc}^\mathrm {grad}(\nabla _{\!\varvec{X}}\phi ; \varvec{F}) + \psi _\mathrm {nloc}^\mathrm {plty}(\phi ,\kappa )}_{\displaystyle \psi _\mathrm {nloc}( \varvec{F},\phi ,\nabla _{\!\varvec{X}}\phi ,\kappa )} ~, \end{aligned}$$
(62)

is now fully defined. The thermodynamical driving force g energetically conjugated to the internal damage variable \(\kappa \) can now be computed from

$$\begin{aligned} g( \varvec{F},\phi ,\nabla _{\!\varvec{X}}\phi ,\kappa ):= -\,\frac{\partial \varPsi _\mathrm {int}(\varvec{F}, \phi , \nabla _{\!\varvec{X}}\phi ,\kappa )}{\partial \kappa } ~. \end{aligned}$$
(63)

Alternatively, a driving force for the damage parameter d corresponding to the representation \(f_\mathrm {d}(\kappa )=1-d\) is frequently employed. This particular driving force—also referred to as energy release rate—is denoted as q here. The energy release rate is defined as

$$\begin{aligned} q( \varvec{F},\phi ,\nabla _{\!\varvec{X}}\phi ,\kappa )&:= -\,\frac{\partial \varPsi _\mathrm {int}(\varvec{F}, \phi , \nabla _{\!\varvec{X}}\phi ,\kappa )}{\partial d} \nonumber \\&= -\,\frac{\partial \varPsi _\mathrm {int}(\varvec{F}, \phi , \nabla _{\!\varvec{X}}\phi ,\kappa )}{\partial \kappa }\,\frac{\partial \kappa }{\partial d} \nonumber \\&= g( \varvec{F},\phi ,\nabla _{\!\varvec{X}}\phi ,\kappa )\,\frac{\partial \kappa }{\partial d}~, \end{aligned}$$
(64)

and thus represents the driving force g scaled with the sensitivity \(\partial \kappa / \partial d\).

The additive composition of \(\varPsi _\mathrm {int}=\psi _\mathrm {loc}+\psi _\mathrm {nloc}\), see (62), reveals that the energy release rate q defined in (64) can be expressed based on its local and non-local contributions \(q_\mathrm {loc}\) and \(q_\mathrm {nloc}\) in terms of

$$\begin{aligned} q( \varvec{F},\phi ,\nabla _{\!\varvec{X}}\phi ,\kappa )= q_\mathrm {loc}( \varvec{F},\kappa )+ q_\mathrm {nloc}( \varvec{F},\phi ,\nabla _{\!\varvec{X}}\phi ,\kappa )~, \end{aligned}$$
(65)

where, in the context of (62), we introduce the definitions

$$\begin{aligned} \begin{aligned} q_\mathrm {loc}( \varvec{F},\kappa )&:= -\,\frac{\partial \psi _\mathrm {loc}( \varvec{F},\kappa )}{\partial d} \quad \text {and}\quad \\ q_\mathrm {nloc}( \varvec{F},\phi ,\nabla _{\!\varvec{X}}\phi ,\kappa )&:= -\,\frac{\partial \psi _\mathrm {nloc}( \varvec{F},\phi ,\nabla _{\!\varvec{X}}\phi ,\kappa )}{\partial d} ~. \end{aligned} \end{aligned}$$
(66)

In view of the further specification of \(q_\mathrm {loc}\) based on the potential \(\psi _\mathrm {loc}\) we note that \({f_\mathrm {d}}= 1-d\), so that we find \(\partial (\bullet ) / \partial d = -\,\partial (\bullet ) / \partial {f_\mathrm {d}}\) as an alternative expression for the partial derivative with respect to d. Hence, for the specific model at hand, we obtain

$$\begin{aligned} \begin{aligned} q_\mathrm {loc}&= \psi _\mathrm {H}(\mathrm {tr}(\varvec{C}),J)\quad \text {and}\quad \\ q_\mathrm {nloc}&= -\,\frac{\partial \psi _\mathrm {nloc}}{\partial \kappa }\,\frac{\partial \kappa }{\partial d} =\beta _\mathrm {d}\,[\phi -\kappa ]\,\frac{\partial \kappa }{\partial d} ~. \end{aligned} \end{aligned}$$
(67)

The derivative of \(\kappa \) with respect to d follows from the specification of the damage function \({f_\mathrm {d}}\) given in (61). To obtain the desired derivative \(\partial \kappa / \partial d\), we recall \(f_\mathrm {d}(\kappa )= 1-d = \exp (-\eta _\mathrm {d}\langle \kappa -\kappa _\mathrm {d}\rangle )\) and employ the implicit function theorem to a residual-type function \( R_{{f_\mathrm {d}}}(\kappa ,d)\) defined as

$$\begin{aligned} R_{{f_\mathrm {d}}}(\kappa ,d)= 1-d - \exp (-\eta _\mathrm {d}\langle \kappa -\kappa _\mathrm {d}\rangle )\equiv 0 ~, \end{aligned}$$
(68)

inducing

$$\begin{aligned} \frac{\partial \kappa }{\partial d} = -\,\frac{\partial R_{{f_\mathrm {d}}}(\kappa ,d)/ \partial d}{\partial R_{{f_\mathrm {d}}}(\kappa ,d)/ \partial \kappa } = \frac{1}{\eta _\mathrm {d}\,f_\mathrm {d}(\kappa )} > 0 \end{aligned}$$
(69)

in the case of a damage process taking place, i.e. in the case \(\kappa > \kappa _\mathrm {d}\). With \(q_\mathrm {loc}\), \(q_\mathrm {nloc}\) and \(\partial \kappa / \partial d\) defined, the energy release rate (65) associated with the damage process takes the final form

$$\begin{aligned} q( \varvec{F},\phi ,\nabla _{\!\varvec{X}}\phi ,\kappa )= \psi _\mathrm {H}(\mathrm {tr}(\varvec{C}),J)+ \frac{\beta _\mathrm {d}\,[\phi -\kappa ]}{\eta _\mathrm {d}\,f_\mathrm {d}(\kappa )} ~. \end{aligned}$$
(70)

This expression for the energy release rate q enters the damage initiation criterion provided in Sect. 5.4.

5.4 Damage initiation and evolution

In line with the damage condition employed in Waffenschmidt et al. [47], we introduce a damage function \({\varPhi _\mathrm {d}}\le 0\), where \({\varPhi _\mathrm {d}}<0\) represents the purely elastic case and where \({\varPhi _\mathrm {d}}=0\) may induce damage evolution. Using a formalism analogous to classic plasticity theory, we assume an associated evolution law for the internal damage variable \(\kappa \), which directly follows from the postulate of maximum dissipation, see, e.g., Simo and Hughes [41]. With the damage condition \({\varPhi _\mathrm {d}}\) specified as

$$\begin{aligned} {\varPhi _\mathrm {d}( \varvec{F},\phi ,\kappa )}= q( \varvec{F},\phi ,\nabla _{\!\varvec{X}}\phi ,\kappa )-\kappa \le 0 ~, \end{aligned}$$
(71)

the postulate of maximum dissipation leads to the standard constrained optimisation problem

$$\begin{aligned} \dot{\kappa } = \lambda \,\frac{\partial {\varPhi _\mathrm {d}( \varvec{F},\phi ,\kappa )}}{\partial q} = \lambda ~, \end{aligned}$$
(72)

with \(\lambda \) being a proper Lagrange multiplier that is subject to the standard Karush–Kuhn–Tucker conditions \(\lambda \ge 0\), \({\varPhi _\mathrm {d}}\le 0\), and \(\lambda \,{\varPhi _\mathrm {d}}=0\). With the given specification of the damage function (71) and the explicit representation of q given in (70), the damage loading function takes the explicit form

$$\begin{aligned} {\varPhi _\mathrm {d}( \varvec{F},\phi ,\kappa )}= \psi _\mathrm {H}(\mathrm {tr}(\varvec{C}),J)+ \frac{\beta _\mathrm {d}\,[\phi -\kappa ]}{\eta _\mathrm {d}\,f_\mathrm {d}(\kappa )} - \kappa \le 0~. \end{aligned}$$
(73)

The algorithmic solution scheme of the exemplary local constitutive formulation including the numerical computation of the evolution of the internal damage variable \(\kappa \) from (72) subject to the constraint (71) is given in Sect. 5.5.

5.5 Algorithmic treatment of the local damage evolution

With the evolution equation for the internal damage variable and the damage initiation criterion defined in Sect. 5.4 we now turn to the algorithmic treatment of the local constitutive formulation. We employ the unconditionally stable, implicit backward Euler scheme for the time-discretisation of the ordinary differential equation (72). To this end, a discrete time increment \(\varDelta t=t_{n+1}-t_n>0\) is considered, yielding the backward Euler update rule

$$\begin{aligned} \kappa _{n+1}=\kappa _n+\varDelta t\,\lambda _{n+1} =: \kappa ( \varDelta \lambda _{n+1})~, \end{aligned}$$
(74)

where we define \( \varDelta \lambda _{n+1}:=\varDelta t\,\lambda _{n+1}\ge 0\) as the incremental Lagrange multiplier subject to the Karush–Kuhn–Tucker conditions

$$\begin{aligned} \varDelta \lambda _{n+1}\ge&\;0 ~,~ \nonumber \\ {\varPhi _\mathrm {d}}\vert _{ \varDelta \lambda _{n+1}} \le&\;0 ~,~ \nonumber \\ \varDelta \lambda _{n+1}\,{\varPhi _\mathrm {d}}\vert _{ \varDelta \lambda _{n+1}} =&\;0 ~. \end{aligned}$$
(75)

Here,

$$\begin{aligned} {\varPhi _\mathrm {d}}\vert _{ \varDelta \lambda _{n+1}} := \varPhi _\mathrm {d}( \varvec{F},\phi ,\kappa ( \varDelta \lambda _{n+1}) ) \end{aligned}$$
(76)

is the damage initiation criterion where the backward Euler ansatz (74) for \(\kappa \) is inserted. With the explicit expression for the damage initiation criterion given in (73) we thus solve

$$\begin{aligned} {\varPhi _\mathrm {d}}\vert _{ \varDelta \lambda _{n+1}}&= \psi _\mathrm {H}(\mathrm {tr}(\varvec{C}),J)+ \frac{\beta _\mathrm {d}\,[\phi -\kappa ( \varDelta \lambda _{n+1})]}{\eta _\mathrm {d}\,{f_\mathrm {d}}(\kappa ( \varDelta \lambda _{n+1}))} \nonumber \\&\quad -\,\kappa ( \varDelta \lambda _{n+1}) = 0 \end{aligned}$$
(77)

for the sought incremental Lagrange multiplier \( \varDelta \lambda _{n+1}\).

For the solution of the non-linear equation (77) we resort to a Newton–Raphson scheme, yielding

$$\begin{aligned} \varDelta \lambda _{n+1}^{k+1}= \varDelta \lambda _{n+1}^k- \left[ \frac{{\mathrm {d}}{\varPhi _\mathrm {d}}\vert _{ \varDelta \lambda _{n+1}^k}}{{\mathrm {d}} \varDelta \lambda _{n+1}^k} \right] ^{-1}{\varPhi _\mathrm {d}}\vert _{ \varDelta \lambda _{n+1}^k} \end{aligned}$$
(78)

as an update rule for \( \varDelta \lambda _{n+1}^k\) in the kth Newton–Raphson iteration step, where the Jacobian required for the Newton–Raphson update takes the explicit form

$$\begin{aligned} \frac{{\mathrm {d}}{\varPhi _\mathrm {d}}\vert _{ \varDelta \lambda _{n+1}^k}}{{\mathrm {d}} \varDelta \lambda _{n+1}^k} = \beta _\mathrm {d}\frac{ \left[ \phi -\kappa _{n+1}^k \right] \eta _\mathrm {d}-1}{\eta _\mathrm {d}\,{f_\mathrm {d}}(\kappa _{n+1}^k)}-1 \end{aligned}$$
(79)

with \(\kappa _{n+1}^k:=\kappa ( \varDelta \lambda _{n+1}^k)\) from (74) being the kth numerical approximation to the updated local damage variable \(\kappa _{n+1}\) at time \(t_{n+1}\). The algorithm for the implicit backward Euler update of the local damage variable \(\kappa \) is summarised in Fig. 6.

Fig. 6
figure 6

Local Newton scheme used for the solution of the backward Euler time-discretisation scheme applied to the evolution equation for the local damage variable \(\kappa \), see (72). The local damage variable is updated from \(\kappa _n\) to \(\kappa _{n+1}\), i.e. from time \(t_n\) to \(t_{n+1}\) and then coupled to the non-local damage field variable \(\phi \) using a penalty scheme to achieve the desired damage regularisation as presented in Sect. 2.5

Fig. 7
figure 7

Local material response obtained for varying damage saturation parameters \(\eta _\mathrm {d}\) (a) and varying damage threshold parameters \(\kappa _\mathrm {d}\) (b). The undamaged material response is included for the purpose of comparison

6 Numerical examples

This section discusses numerical examples both of the local material response, see Sect. 6.1, and of the non-local behaviour of the overall formulation in terms of representative finite element computations, see Sects. 6.2 and 6.3. Here, Sect. 6.2 shows a finite element convergence study of the formulation, whereas Sect. 6.3 highlights the direct applicability of the gradient-enhanced damage formulation in combination with advanced element features such as contact.

6.1 Local material response

For the exemplary local constitutive responses presented in the following, we consider a large maximum stretch of \(\lambda _\mathrm {max}=1.5\), motivating the choice of soft rubber-type material parameters, particularly a Young’s modulus of \(E=42\) MPa and a Poisson’s ratio of \(\nu =0.45\). The corresponding first and second Lamé elastic constants, \(\lambda _\mathrm {e}\) and \(\mu _\mathrm {e}\) entering the elastic potential (57), then follow from

$$\begin{aligned} \lambda _\mathrm {e}(E,\nu ) = \frac{E}{2\,[1+\nu ]} \end{aligned}$$
(80)

and

$$\begin{aligned} \mu _\mathrm {e}(E,\nu ) = \frac{E\,\nu }{[1+\nu ][1-2\,\nu ]} ~. \end{aligned}$$
(81)

We prescribe a uni-axial isochoric deformation of the form

$$\begin{aligned} \varvec{F}(\lambda ) = \lambda \, \varvec{e}_1\otimes \varvec{e}_1- \lambda ^{-1/2}\, [ \varvec{e}_2\otimes \varvec{e}_2+ \varvec{e}_3\otimes \varvec{e}_3] \end{aligned}$$
(82)

with respect to a fixed orthonormal reference frame \(\{ \varvec{e}_1, \varvec{e}_2, \varvec{e}_3\}\), where \(\lambda \in [1,1.5]\) denotes the longitudinal stretch, not to be confused with the local Lagrange multiplier. The stress-stretch responses provided in Fig. 7 show the influence of the damage saturation parameter \(\eta _\mathrm {d}\) and the damage threshold parameter \(\kappa _\mathrm {d}\), respectively, where the undamaged, purely elastic response is included for the purpose of comparison.

Fig. 8
figure 8

Evolution of the internal damage variable \(\kappa \) for varying damage saturation parameters \(\eta _\mathrm {d}\) (a) and varying damage threshold parameters \(\kappa _\mathrm {d}\) (b). The corresponding stress-stretch responses are provided in Fig. 7a, b, respectively

Fig. 9
figure 9

Evolution of the material damage \(d=1-f_\mathrm {d}(\kappa )\) for varying damage saturation parameters \(\eta _\mathrm {d}\) (a) and varying damage threshold parameters \(\kappa _\mathrm {d}\) (b). The corresponding stress-stretch responses are provided in Fig. 7a, b, respectively

An increase of the damage saturation parameter \(\eta _\mathrm {d}\) induces a more pronounced material degradation as shown in Fig. 7a, where the point of damage initiation—determined by the damage threshold parameter \(\kappa _\mathrm {d}\)—remains fixed. Figure 7b illustrates the delayed damage initiation caused by an increase in the damage threshold parameter for a fixed damage saturation parameter. The corresponding evolution of the internal damage variable \(\kappa \) is shown in Fig. 8. The associated material degradation in terms of the damage \(d=1-f_\mathrm {d}(\kappa )\) is provided in Fig. 9, where again the relation between an increasing damage saturation parameter \(\eta _\mathrm {d}\) and a higher rate of material degradation in terms of d becomes apparent in Fig. 9a. Finally, Fig. 9b illustrates the stretch-dependent initiation and evolution of the damage d resulting from different values of the threshold parameter \(\kappa _\mathrm {d}\).

Fig. 10
figure 10

Asymmetrically notched plate with dimensions of \(200\,\mathrm {mm}\times 100\,\mathrm {mm}\times 4\,\mathrm {mm}\) (width\(\times \)height\(\times \)depth) and a coarse mesh (a). The specimen is clamped on the left-hand side and a displacement-driven tensile load with maximum displacement of \(u_{x,\mathrm {max}}=25\,\mathrm {mm}\) is applied to the right-hand side. The obtained load-deflection curve (b) shows pronounced damage-induced softening behaviour that is independent of the discretisation of the structure, i.e. the overall response is mesh-objective

6.2 Asymmetrically notched steel plate

This section highlights the mesh-objectivity and consistency of the results obtained for inhomogeneous boundary value problems, where we consider an asymmetrically notched steel plate with an initial geometry depicted in Fig. 10a as a representative example. The plate has dimensions of \(200\,\mathrm {mm}\times 100\,\mathrm {mm}\times 4\,\mathrm {mm}\) (width\(\times \)height\(\times \)depth), and as elastic material parameters we consider a Young’s modulus of \(E=210\) GPa and a Poisson’s ratio of \(\nu =0.3\). The local damage initiation parameter is set to \(\kappa _\mathrm {d}=0.1\) MPa and as a local damage saturation value we choose \(\eta _\mathrm {d}= 0.002\,\hbox {MPa}{}^{-1}\). The remaining parameters, associated with the non-locality of the overall formulation, are the penalty-type parameter \(\beta _\mathrm {d}\), enforcing equivalence between local and non-local damage variables, and the regularisation parameter \(c_\mathrm {d}\). For the examples provided in the following, we choose \(\beta _\mathrm {d}=1000\,\hbox {MPa}{}^{-1}\) and \(c_\mathrm {d}=1\,\hbox {MPa}{}^{-1}\hbox {mm}{}^2\). The plate is fixed on one side and a maximum tensile displacement of \(u_{x,\mathrm {max}}=25\,\mathrm {mm}\) is gradually applied to the other side in a quasi-static simulation.

The discretisation of the initial geometry, shown in Fig. 10a, uses 612 elements of type C3D20T, i.e. three-dimensional continuum elements with 20 nodes per element, full integration, and full thermo-mechanical coupling. The results obtained with this rather coarse finite element discretisation are compared to the results obtained for a finer mesh using 2451 elements of the same type. The load-deflection curve for both discretisations, see Fig. 10b, shows the mesh-objectivity of the overall mechanical response. At a tensile displacement of \(u_x=15\,\mathrm {mm}\) the maximum mechanical reaction force is observed, after which, induced by the continuing evolution of damage in the stress-bearing cross-section of the specimen, the reaction force decreases even though the applied tensile displacement further increases. The distribution of each the von Mises stress, local damage variable \(\kappa \), non-local damage variable \(\phi \) and damage d is presented in Figs. 11, 12, 13, and 14, respectively. The results underline the successful and consistent damage regularisation. The von Mises stress in the stress-bearing cross-section of the specimen decreases during loading from \(u_x=15\,\mathrm {mm}\) to \(u_x=u_{x,\mathrm {max}}=25\,\mathrm {mm}\) in line with the decrease of the mechanical reaction force shown in Fig. 10b. Moreover, the coupling of local and non-local damage variable is successful, as a comparison of both distributions, see Figs. 12 and 13, clearly underlines. Finally, we exemplarily highlight the distribution of the von Mises stress and the material damage \(d=1-f_\mathrm {d}(\kappa )\) for the finer discretisation in Fig. 15, illustrating once more the mesh-objectivity of the presented regularisation approach.

Fig. 11
figure 11

Von Mises stress distribution obtained for tensile displacements of \(u_x=15\,\mathrm {mm}\) (a) and \(u_x=u_{x,\mathrm {max}}=25\,\mathrm {mm}\) (b). Note the same colour scale on both plots. As a result of the damage-induced softening highlighted in Fig. 10b, the stress field decreases during loading from \(u_x=15\,\mathrm {mm}\) to \(u_x=u_{x,\mathrm {max}}=25\,\mathrm {mm}\)

Fig. 12
figure 12

Distribution of the local damage variable \(\kappa \) obtained for tensile displacements of \(u_x=15\,\mathrm {mm}\) (a) and \(u_x=u_{x,\mathrm {max}}=25\,\mathrm {mm}\) (b). Note the same colour scale on both plots. As the deformation increases from \(u_x=15\,\mathrm {mm}\) to \(u_x=u_{x,\mathrm {max}}=25\,\mathrm {mm}\), the local damage variable continuously evolves towards higher values

Fig. 13
figure 13

Non-local damage field variable \(\phi \) obtained for tensile displacements of \(u_x=15\,\mathrm {mm}\) (a) and \(u_x=u_{x,\mathrm {max}}=25\,\mathrm {mm}\) (b). Note the same colour scale on both plots. The obtained distribution of the non-local damage field variable coincides with the distribution of the local counterpart depicted in Fig. 12

Fig. 14
figure 14

Distribution of damage \(d=1-f_\mathrm {d}(\kappa )\) obtained for tensile displacements of \(u_x=15\,\mathrm {mm}\) (a) and \(u_x=u_{x,\mathrm {max}}=25\,\mathrm {mm}\) (b). Note the same colour scale on both plots. As the deformation increases from \(u_x=15\,\mathrm {mm}\) to \(u_x=u_{x,\mathrm {max}}=25\,\mathrm {mm}\), the damage within the material increases from 45 % to \(92.9\,\%\), giving rise to the macroscopic softening observed in the load-deflection response provided in Fig. 10b

Fig. 15
figure 15

Von Mises stress distribution (a) and damage d (b) obtained at maximum tensile displacement, \(u_x=u_{x,\mathrm {max}}=25\,\mathrm {mm}\), using a finer finite element discretisation of the boundary value problem. The results obtained with a fine mesh of 2541 elements are equivalent to those achieved with a coarse mesh of 612 elements

6.3 Contact problem

One advantage of the damage regularisation approach proposed in this work is the ability to directly use different element features in combination with regularised damage. As an example, we consider a boundary value problem that combines regularised damage and contact. The boundary value problem is motivated by an indentation test, where a rigid sphere penetrates a body undergoing regularised damage. The penetrated workpiece is of dimension \(200\,\mathrm {mm}\times 15\,\mathrm {mm}\times 100\,\mathrm {mm}\) (width \(\times \) height \(\times \) depth), where only a quarter of the symmetric setup is actually computed, see Fig. 16a. The simulation uses 10,000 elements of type C3D8T.Footnote 3 The friction coefficient is set to zero and the rigid sphere with a diameter of \(15\,\mathrm {mm}\) reaches a maximum indentation depth of \(3.3\,\mathrm {mm}\), see Fig. 16b.

As material parameters, we choose the same steel-type parameters used in Sect. 6.2 for the notched plate, i.e. a Young’s modulus of \(E=210\) GPa and a Poisson’s ratio of \(\nu =0.3\) with local damage parameters \(\kappa _\mathrm {d}=0.1\) MPa and \(\eta _\mathrm {d}= 0.002\,\hbox {MPa}{}^{-1}\). As before, the penalty-type parameter is set to \(\beta _\mathrm {d}=1000\,\hbox {MPa}{}^{-1}\) and the regularisation parameter is chosen as \(c_\mathrm {d}=1\,\hbox {MPa}{}^{-1}\hbox {mm}{}^2\).

Figure 16 shows the symmetric setup of the boundary value problem, including the Dirichlet boundary conditions, and the indentation force obtained as a function of indentation depth. For the purpose of comparison, the indentation force is also provided for a computation with deactivated evolution of damage and for a computation using a smaller damage saturation value in terms of \(\eta _\mathrm {d}= 0.001\,\hbox {MPa}{}^{-1}\). The higher the rate of material degradation—controlled by \(\eta _\mathrm {d}\)—the slower is the development of the indentation force.

The cut view of the final states provided in Figs. 17 and 18 shows the distribution of the von Mises equivalent stress and of the damage measure d within the material for a damage saturation parameter of \(\eta _\mathrm {d}= 0.002\,\hbox {MPa}{}^{-1}\) and \(\eta _\mathrm {d}= 0.001\,\hbox {MPa}{}^{-1}\), respectively. The computation using the lower damage saturation parameter, see Fig. 18, induces lower damage in the material, in turn leading to higher von Mises equivalent stress values. For this particular boundary value problem, we refrain from showing and discussing the distributions of further variables such as local and non-local damage variable for the sake of conciseness. For a more detailed discussion giving insight into the interplay of the associated model variables, the reader is instead referred to the representative boundary value problem examined in Sect. 6.2.

Fig. 16
figure 16

Indentation test: boundary value problem, including symmetry-preserving Dirichlet boundary conditions (a), and obtained indentation forces for different damage saturation parameters (b). The considered quarter of the symmetric setup is modelled with 10,000 elements of type C3D8T for the workpiece. The maximum indentation depth of the rigid sphere is \(3.3\,\mathrm {mm}\)

Fig. 17
figure 17

Gradient-regularised damage and contact – distribution of von Mises stress (a) and damage d (b) obtained using a damage saturation parameter of \(\eta _\mathrm {d}=0.002\,\text {MPa}\). The cut view shows the results obtained for the final state of the indentation test, compare Fig. 16b. For the purpose of comparison, the color scale used is the same as in Fig. 18

Fig. 18
figure 18

Gradient-regularised damage and contact – distribution of von Mises stress (a) and damage d (b) obtained using a lower damage saturation parameter of \(\eta _\mathrm {d}=0.001\,\text {MPa}\). The cut view shows the results obtained for the final state of the indentation test, compare Fig. 16b. For the purpose of comparison, the color scale used is the same as in Fig. 17

Fig. 19
figure 19

Combination of gradient-regularised damage and (quasi-)incompressibility in a hybrid element formulation. The boundary value problem (a) reflects a rubber strip under tensile deformation discretized with 1440 elements and controlled by Dirichlet boundary conditions. The volume change during tension of the elastic body undergoing regularised damage is shown in (b). The results highlight that the framework proposed is successfully combined with a hybrid element formulation, see also Figs. 20 and 21

Fig. 20
figure 20

Comparison of the load-deflection curve for two values of Poisson’s ratio, \(\nu =0.3\) and \(\nu =0.49999\), where the computation considering the latter value is carried out using a C3D8HT hybrid finite element formulation

6.4 Hybrid element formulation—combination of regularised damage and (quasi-)incompressibility

A number of boundary value problems in engineering—especially in the context of polymer materials—involve the computation of quasi-incompressible or fully incompressible material responses. In particular, rubbery materials under finite deformations are usually considered as providing (quasi-)incompressible behaviour. For incompressible materials, a unique stress response cannot be computed based on the displacements alone, since a hydrostatic pressure contribution can be superimposed to the solution without affecting the displacement field. In the nearly incompressible case, where the bulk modulus is much larger than the shear modulus, or, in other terms, Poisson’s ratio approaches \(\nu =0.5\), even a slight change in displacement induces very large changes in pressure, rendering a purely displacement-based solution too sensitive to be useful numerically.

A common method to overcome these problems is the utilisation of hybrid finite element formulations. A hybrid finite element introduces the pressure stress as an independent degree of freedom, i.e. an additional scalar field variable is introduced in addition to displacements and, in the case of thermo-mechanically coupled finite element formulations, temperature. Such hybrid element formulations also prevent volumetric locking that usually occurs for Poisson’s ratios of around \(\nu =0.49\) and larger.

Abaqus provides different options for the simulation of (quasi-)incompressible material behaviour using hybrid element formulations in combination with the UMAT general user material subroutine, cf. Suchocki [46]. The simplest method—from a user’s perspective—is to have Abaqus replace the hydrostatic Cauchy stress contribution computed within the UMAT subroutine with the value of the hydrostatic pressure field computed by the hybrid element formulation. In that case, the bulk modulus—or, equivalently, Poisson’s ratio—used within the UMAT subroutine has to be set to a sufficiently large value, so that incompressible behaviour can be adequately approximated without inducing the numerical problems mentioned above. Abaqus then automatically modifies the hydrostatic part of the stress response and the associated algorithmic tangent modulus appropriately. However, this method is not recommended to be used with hyperelastic user material formulations at very large strains as convergence issues might eventually occur, see Abaqus 2016 Documentation [1].

An alternative method for the combination of hybrid element formulations with total-form, i.e. hyperelastic-type, UMAT user material formulations makes use of a volumetric-isochoric decomposition of the underlying total Helmholtz free energy potential, \(\varPsi _\mathrm {total}=\varPsi _\mathrm {vol}+\varPsi _\mathrm {ich}\), and a modified Jacobian \(\tilde{J}\), where \(\tilde{J}\ne J=\det ( \varvec{F})\). The volumetric free energy contribution \(\varPsi _\mathrm {vol}(\tilde{J})\) needs to be evaluated in terms of \(\tilde{J}\) which is passed into the UMAT subroutine as the STRESS(NTENS\(+1\)) entry. Besides the hydrostatic stress contribution computed in terms of \(\tilde{J}\), the additional scalar quantities \(\tilde{\kappa }=J\,\partial ^2\varPsi _\mathrm {vol}/ \partial \tilde{J}^2\) and \(\partial \tilde{\kappa } / \partial \tilde{J}\) need to be returned, the latter being stored as entries NTENS\(+1\) and NTENS\(+2\), respectively, in the STRESS array.

The example provided in this section is motivated by a (quasi-)incompressible rubber strip under tensile deformation. The geometry and applied boundary conditions are depicted in Fig. 19a, where the strip has overall dimensions of \(80\,\mathrm {mm}\times 20\,\mathrm {mm}\times 10\,\mathrm {mm}\) and a quasi-static Dirichlet-controlled tensile displacement with \(u_{x,\mathrm {max}}=20\,\mathrm {mm}\) is applied, corresponding to a maximum macroscopic stretch of \(25\,\%\). The material parameters controlling the damage behaviour are chosen as \(c_d=1\), \(\beta _\mathrm {d}=1000\), \(\eta _\mathrm {d}=0.02\), \(\kappa _\mathrm {d}=0\). For the elastic properties, we consider a rubber-type Young’s modulus of \(E=42\) MPa. Two simulations are carried out, both identical except for the choice of Poisson’s ratio and the element type.

We provide the results obtained for a computation using a Poisson’s ratio of \(\nu =0.49999\) within a hybrid C3D8HTFootnote 4 finite element formulation, and for a computation using a Poisson’s ratio of \(\nu =0.3\) within a regular C3D8T finite element formulation for the purpose of comparison. The total volume change occurring during tensile deformation is shown in Fig. 19b for both simulations. Both the mesh and the number of elements, 1440, are identical in both cases. At the state of maximum tensile deformation, \(u_x=20\) mm, the regular C3D8T finite element type in combination with a Poisson’s ratio of \(\nu =0.3\) leads to an increase in total volume of more than \(7\,\%\). In contrast, the use of a hybrid C3D8HT element in combination with a Poisson’s ratio of \(\nu =0.49999\) facilitates the simulation of the rubber strip with a total volume change that is numerically zero. The percentage change in total volume as provided in Fig. 19b is computed from \(\varDelta V_t = [\sum _e V^e_t] / [\sum _e V_0^e] -1\), i.e. a summation over all elements with \(V_t^e\) and \(V_0^e\) denoting the current and reference volume of each element e, respectively. The load-deflection curves for both computations are provided in Fig. 20. Figure 21 depicts the von Mises stress distribution, the damage field variable, and the pressure field variable, highlighting the successful combination of regularised damage and a hybrid finite element formulation.

7 Summary

This work introduces a comprehensive framework for the user element-free implementation of gradient-enhanced damage formulations in existing finite element codes with an exemplary implementation in the finite element tool Abaqus. The gradient-enhanced damage formulation outlined in Sect. 2 is a modern variational framework presented by Dimitrijević and Hackl [8] and Waffenschmidt et al. [47], and which is in line with the elaborate works by Forest [11] and Miehe [31]. Until today, the numerical solution of such formulations within commercial finite element codes has included specifically formulated user element subroutines, see also the works by Kiefer et al. [17], Polindara et al. [36, 37], and Waffenschmidt et al. [48]. The disadvantages of such user element subroutines are mentioned in Sect. 1, such as development and testing effort, difficulties with result visualisation, inability to directly use advanced element features like contact, and others.

To overcome the drawbacks associated with the application of user element subroutines, we provide a framework that uses the heat equation solution capabilities present in thermo-mechanically coupled finite element formulations for the regularisation of damage. For this purpose, we use the Abaqus UMATHT subroutine, enabling us to freely define the constitutive properties of the general form of the heat equation that is presented in Sect. 3.1. As a result, the framework introduced in this work provides maximum flexibility for the solution of an additional partial differential equation of proper parabolic (transient) or elliptic (steady state) type in addition to the standard mechanical balance equation. Using the UMATHT subroutine, we specify the constitutive properties of the general heat equation in such manner that the resulting mathematical structure formally coincides with the damage-related balance equation derived in Sect. 2. The examples provided in Sect. 5 underline the successful regularisation capabilities of the framework provided, where both damage-induced softening and mesh-objectivity for inhomogeneous boundary value problems are highlighted. We also show a boundary value problem reflecting an indentation test to emphasise that the framework allows us to directly combine regularised damage with advanced element features such as contact.

Fig. 21
figure 21

Combination of gradient-regularised damage and (quasi-)incompressibility in a hybrid element formulation. The simulation uses 1440 hybrid C3D8HT elements and a Poisson’s ratio of \(\nu =0.49999\), thereby enforcing incompressibility, see also Fig. 19b. The contour plots highlight the distributions of von Mises stress (a), damage field variable \(\phi \) (b), and pressure field variable \(p=-1/3\,\mathrm {tr}(\varvec{\sigma })\) (c)

In conclusion, the numerical solution framework presented in this work allows for the implementation of gradient-enhanced damage formulations within commercial finite element software without the need for user element subroutines, thereby eliminating all of the disadvantages associated with them. Considering the additionally provided algorithms for the automatic numerical computation of the required Abaqus UMAT tangent contributions for general thermo-mechanically coupled user materials, this work allows for a quick and efficient implementation of any local constitutive model that undergoes regularised damage, at the same time allowing for a direct combination with advanced element features such as contact or incompressibility, or even structural elements or remeshing schemes.