1 Introduction

Crystal plasticity is the accepted model framework for incorporating microstructural information in continuum theory with application to crystalline, metals where dislocations constitute the mechanism behind inelastic deformation. In order to account for the size effects, e.g. the Hall–Petch effect (cf. Hall [18] Petch [26]), due to the existence of grain boundaries in a polycrystal, it is convenient to include some sort of gradient-extension of the flow properties along the slip directions, either in the dragstress or backstress. These could come from for example, geometrically necessary dislocations, cf. Ashby [1], from here on referred to as GND’s, which are generally of two types, edge and screw dislocations. Various explicit models based on this conceptual background have been proposed, for example in a series of papers by Gurtin and coworkers [13, 15, 17]. An attempt to unify and generalize several models for gradient enhanced crystal plasticity (within the framework of large deformations) was presented by Svendsen and Bargmann [28], who also compared the models from a conceptual viewpoint. However, several modeling issues still await their resolution. An elegant way of unifying gradient theory for different application models, including inelasticity, damage and phase-field models, was presented by Miehe [22].

The so-called primal format uses the displacements and slip of each slip system as the primary unknown fields (see e.g. Bittencourt et al. [6], Borg [7], Okumura et al. [25]). An alternative format is coined the semi-dual format, which, in addition, includes the microstresses as primary fields and thereby defines a mixed variational problem where the explicit dependence on the gradient fields are avoided. Similar mixed formulations have been used by Bayley et al. [4], Yefimov et al. [29], Evers et al. [11], but typically in these references, the GND’s are the primary variables instead of the microstresses. A comparison of different FE-approximations for use in crystal plasticity was carried out by Kuroda [20] using the GND’s as primary fields. We note that the mixed method used extensively in our research group in recent years, see Bargmann et al. [2, 3], Ekh et al. [8, 9], bears resemblance with the semi-dual format, however, without possessing a well-defined variational structure.

In this paper we focus on issues related to the theoretical and computational format of material models with gradient variables. As a prototype model we choose crystal visco-elasticity of the Norton type with kinematic gradient hardening. More specifically, the back-stress resulting from GND’s (representing kinematic hardening) is of purely gradient origin. We compare the primal and semi-dual variational formats in terms of pros and cons from modeling as well as numerical viewpoints.

The paper is outlined as follows. A class of gradient-enhanced dissipative materials is considered in Sect. 2 and are presented in the time-continuous and time-discrete formats. The resulting space-continuous boundary value problem is described in Sect. 3. In Sects. 4 and 5, we establish the primal and semi-dual weak format as well as the resulting Finite Element problem. In particular, the semi-dual format is established in terms of a micro-stress energy that is obtained after a partial Legendre transformation of the free energy. We show that, for a common choice of the gradient hardening modulus, it is possible to decompose the residual equation including the vectorial micro-stress into one and two scalar equations, for a problem in two and three dimensions, respectively. In Sect. 6, we show computational results for both a single crystal and a polycrystal. The convergence rate with respect to mesh refinement is investigated for the unknown fields in different norms, and the results for the primal and semi-dual formulations are compared. In particular, we investigate the degenerate case when the slip direction of a slip system is parallel with a grain boundary. Finally, concluding remarks and an outlook to future work are given in Sect. 7.

1.1 Notation

Throughout the paper we use direct notation. Contractions are defined by

$$\begin{aligned} \varvec{a} \cdot \varvec{b}= & {} a_i b_i, \quad \quad {\left( \varvec{A} \cdot \varvec{a}\right) }_{i} = A_{ij} b_j \nonumber \\ \varvec{A} : \varvec{B}= & {} A_{ij} B_{ij}, \quad {\left( \varvec{\mathsf {E}} : \varvec{A}\right) }_{ij} = E_{ijkl} A_{kl} \end{aligned}$$
(1)

where \({\varvec{a}, \varvec{b}}\) are vectors (rank 1 tensors), \({\varvec{A}, \varvec{B}}\) are rank 2 tensors and \({\varvec{\mathsf {E}}}\) is a rank 4 tensor and repeated indicies are summed over (Einstein summation convention). Outer products are defined by the relations

$$\begin{aligned} {{\left( \varvec{a} \otimes \varvec{b}\right) }_{ij} = a_i b_j, \quad {\left( \varvec{A} \otimes \varvec{B}\right) }_{ijkl} = A_{ij} B_{kl}.} \end{aligned}$$
(2)

The vector product between two vectors is defined by \({{(\varvec{a }\times \varvec{b})}_i = \epsilon _{ijk} a_j b_k}\) where \(\epsilon _{ijk}\) is the Levi-Civita tensor. The symmetric part of a rank-2 tensor is expressed as \({{\varvec{A}^\text {sym}=1/2 (\varvec{A}+\varvec{A}^\mathrm {T})}}\) where \({\varvec{A}^\mathrm {T}}\) is the transpose of \(\varvec{A}\). Gradients of tensors are defined by \({{(\varvec{u} \otimes {{\varvec{\nabla }}})}_{ij} = u_{i,j}}\) where the component i is partially differentiated with respect to the component j. Divergence and curl of vectors are defined by \({{{\varvec{\nabla }}}\cdot \varvec{u} = u_{i,i}}\) and \({{(\varvec{u} \times {{\varvec{\nabla }}})}_{i} = \epsilon _{ijk} u_{j,k}}\), respectively.

2 Prototype model of gradient-extended crystal visco-elasticity

2.1 Crystal inelasticity: preliminaries

In the chosen prototype model for crystal inelasticity, the stress \({\varvec{\sigma }}\) is given as

$$\begin{aligned} {\varvec{\sigma }}&= {{\mathbf {\mathsf{{E}}}}}^{\mathrm {e}} : \big [ {\varvec{\epsilon }}-{\varvec{\epsilon }}^{\mathrm {p}}\big (\underline{\gamma }\big )\big ], \quad {\varvec{\epsilon }}^{\mathrm {p}}\overset{\mathrm {def}}{=}\big ({\varvec{h}}^{\mathrm {p}}\big )^\mathrm {sym}, \nonumber \\ {\varvec{h}}^{\mathrm {p}}&\overset{\mathrm {def}}{=}\sum _{\alpha = 1}^{M} \gamma _\alpha {\varvec{s}}_{\alpha } \otimes {\varvec{m}}_\alpha , \end{aligned}$$
(3)

where \({{\mathbf {\mathsf{{E}}}}}^{\mathrm {e}}\) is the elasticity tensor, \({\varvec{\epsilon }}= ({\varvec{u}} \otimes {{\varvec{\nabla }}})^\text {sym}\) is the strain and \({\varvec{\epsilon }}^\mathrm {p}\) is the plastic strain. The plastic deformation is modeled by the slip \(\gamma _\alpha \) on the slip system \(\alpha \), where \({\varvec{s}}_{\alpha }\) and \({\varvec{m}}_{\alpha }\) are the slip direction and the normal to the slip plane, respectively. These slip directions and slip normals are assumed to stay fixed (unaffected by the deformation). We treat \(\underline{\gamma } = (\gamma _1,\gamma _2, \ldots ,\gamma _M)\) as a set of internal variables.Footnote 1

We shall investigate the inherent properties of the kinematics associated with crystallographic slip in some further detail. To this end, we introduce the Cartesian axes (defined by three orthogonal unit vectors) as \(({\varvec{m}}_{\alpha }, {\varvec{s}}_{\alpha }, {\varvec{k}}_{\alpha })\) where \({\varvec{k}}_{\alpha } \overset{\mathrm {def}}{=}{\varvec{m}}_{\alpha } \times {\varvec{s}}_{\alpha }\), for any slip system. We may then decompose the gradient of an arbitrary function f as

$$\begin{aligned} {{\varvec{\nabla }}}f&= \left( {\varvec{m}}_{\alpha }\cdot {{\varvec{\nabla }}}f\right) {\varvec{m}}_{\alpha }+ \left( {\varvec{s}}_{\alpha }\cdot {{\varvec{\nabla }}}f\right) {\varvec{s}}_{\alpha }+ \left( {\varvec{k}}_{\alpha }\cdot {{\varvec{\nabla }}}f\right) {\varvec{k}}_{\alpha } \end{aligned}$$
(4a)
$$\begin{aligned}&= \left( {\varvec{m}}_{\alpha }\cdot {{\varvec{\nabla }}}f\right) {\varvec{m}}_{\alpha }+ {{\varvec{\nabla }}}^{\alpha }_{\mathrm {tan}} f, \end{aligned}$$
(4b)

where we have defined the tangential gradient operator \( {{\varvec{\nabla }}}^{\alpha }_{\mathrm {tan}} \), operating on a function f as

$$\begin{aligned} {{\varvec{\nabla }}}^{\alpha }_{\mathrm {tan}} f \overset{\mathrm {def}}{=}({\varvec{s}}_{\alpha }\cdot {{\varvec{\nabla }}}f) {\varvec{s}}_{\alpha }+ ({\varvec{k}}_{\alpha }\cdot {{\varvec{\nabla }}}f) {\varvec{k}}_{\alpha }. \end{aligned}$$
(5)

Next, we introduce Nye’s dislocation density tensor \({\varvec{G}}\) (cf. [24]) as follows:

$$\begin{aligned} {\varvec{G}} \overset{\mathrm {def}}{=}{\varvec{h}}^{\mathrm {p}} \times {{\varvec{\nabla }}}= \sum _{\alpha = 1}^{M}{\varvec{G}}_\alpha \quad \text {with} \quad {\varvec{G}}_\alpha \overset{\mathrm {def}}{=}\left[ \gamma _\alpha {\varvec{s}}_{\alpha }\otimes {\varvec{m}}_{\alpha }\right] \times {{\varvec{\nabla }}}. \end{aligned}$$
(6)

We may derive an alternative representation of \({\varvec{G}}_\alpha \) as

$$\begin{aligned} {\varvec{G}}_\alpha = -b \rho _{\bot , \alpha }^\mathrm {GND} {\varvec{s}}_{\alpha }\otimes {\varvec{k}}_{\alpha }- b\rho _{\odot , \alpha }^\mathrm {GND} {\varvec{s}}_{\alpha }\otimes {\varvec{s}}_{\alpha }, \end{aligned}$$
(7)

where

$$\begin{aligned} \rho _{\bot , \alpha }^\mathrm {GND} \overset{\mathrm {def}}{=}-\frac{1}{b}{\varvec{s}}_{\alpha }\cdot {{\varvec{\nabla }}}\gamma _a \quad \text {and} \quad \rho _{\odot , \alpha }^\mathrm {GND} \overset{\mathrm {def}}{=}\frac{1}{b}{\varvec{k}}_{\alpha }\cdot {{\varvec{\nabla }}}\gamma _a \end{aligned}$$
(8)

are the edge dislocation and screw dislocation densities, respectively (Fleck et al. [12]). Here, b is the magnitude of the Burgers vector. The decomposition in (7) thus represents continuous distributions of the edge and screw dislocations. In the literature, these densities are called geometrically necessary dislocations (GNDs). We note that \({\varvec{G}}_K \overset{\mathrm {def}}{=}- {\varvec{G}}^{\mathrm T}\) is Kröner’s dislocation tensor ([19]).

Remark

From (5) and (8) it appears that the tangential gradient of \(\gamma _a\), denoted \({{\varvec{\nabla }}}^{\alpha }_{\mathrm {tan}}\gamma _\alpha \), is given as \({{\varvec{\nabla }}}^{\alpha }_{\mathrm {tan}} \gamma _\alpha = -b\rho _{\bot ,\alpha }^\mathrm {GND} {\varvec{s}}_{\alpha }+ b\rho _{\odot , \alpha }^\mathrm {GND} {\varvec{k}}_{\alpha }\). \(\square \)

2.2 Crystal visco-elasticity with kinematic gradient hardening

Associated with each slip system, we introduce kinematic hardening that is of purely gradient origin and is represented by the gradient variables \({\varvec{g}}_\alpha \overset{\mathrm {def}}{=}{{\varvec{\nabla }}}\gamma _\alpha \). The free energy density \(\psi \) is then proposed as the additive decomposition

$$\begin{aligned} \psi \big ( {\varvec{\epsilon }}, \underline{\gamma }, \underline{{\varvec{g}}} \big ) = \psi ^{\mathrm {e}}\big ({\varvec{\epsilon }}, \underline{\gamma }\big ) + \psi ^\mathrm {g}\big (\underline{{\varvec{g}}}\big ) \end{aligned}$$
(9)

where \(\psi ^{\mathrm {e}}\) is the contribution from elastic (stored) energy, whereas \(\psi ^{\mathrm {g}}\) are the contributions from gradient hardening in the slip systems. They are defined as

$$\begin{aligned}&\psi ^{\mathrm {e}}\big ({\varvec{\epsilon }}, \underline{\gamma }\big ) = \frac{1}{2} \big [ {\varvec{\epsilon }}- {\varvec{\epsilon }}^{\mathrm {p}}\big (\underline{\gamma } \big )\big ] : {{\mathbf {\mathsf{{E}}}}}^{\mathrm {e}} : \big [ {\varvec{\epsilon }}- {\varvec{\epsilon }}^{\mathrm {p}}\big ( \underline{\gamma } \big )\big ] , \end{aligned}$$
(10a)
$$\begin{aligned}&\psi ^\mathrm {g}\big (\underline{{\varvec{g}}}\big ) = \sum _{\alpha = 1}^M \psi _\alpha ^{\mathrm {g}}\big ({\varvec{g}}_\alpha \big ), \nonumber \\&\psi _\alpha ^{\mathrm {g}}\big ( {\varvec{g}}_\alpha \big )= \frac{1}{2}{\big (l_\alpha \big )}^2 {\varvec{g}}_\alpha \cdot {\varvec{H}}_{\alpha }^{\mathrm {gra}} \cdot {\varvec{g}}_\alpha , \end{aligned}$$
(10b)

where we introduced the gradient hardening tensors \({\varvec{H}}_\alpha ^{\text {gra}}\). We note that the gradient contributions vanish when the length parameters \(l_\alpha \) tend to zero.

Remark

A more complex expression of \(\psi ^\mathrm {g}\) was proposed in, e.g, Bargmann et al. [3]:

$$\begin{aligned} {\psi ^\mathrm {g}\big (\underline{{\varvec{g}}}\big ) = \frac{1}{2} l_0^2 H_0^\text {gra} \sum _{\alpha , \beta = 1}^M \varvec{G}_\alpha : \varvec{G}_\beta .} \end{aligned}$$
(11)

Omitting gradient cross-hardening i.e. restricting the sum in (11) to \(\alpha = \beta \), we obtain

$$\begin{aligned} \psi ^\mathrm {g}\big (\underline{{\varvec{g}}}\big ) = \frac{1}{2} l_0^2 H_0^\text {gra} b^2\sum _{\alpha = 1}^M \big [ {\big (\rho _{\bot , \alpha }^\mathrm {GND} \big )}^2 + {\big (\rho _{\odot , \alpha }^\mathrm {GND}\big )}^2 \big ] \end{aligned}$$
(12)

This expression also represents a special case of (10b), c.f. Sect. 2.3. \(\square \)

The (equilibrium) stress is given by

$$\begin{aligned} {\varvec{\sigma }}&= \frac{\partial \psi }{\partial \varvec{\epsilon }} = \frac{\partial \psi ^{\mathrm {e}}}{\partial \varvec{\epsilon }} = {{\mathbf {\mathsf{{E}}}}}^{\mathrm {e}} : \big [ {\varvec{\epsilon }}- {\varvec{\epsilon }}^{\mathrm {p}}\big ( \underline{\gamma } \big )\big ]. \end{aligned}$$
(13)

A dual dissipation function \(\phi _{\alpha }^*(\tau _\alpha ^\mathrm {di})\), that is associated with each slip system, is chosen as

$$\begin{aligned} \phi ^*_{\alpha } = \frac{1}{t_*} F\big ( \left| \tau _\alpha ^\mathrm {di}\right| \big ), \end{aligned}$$
(14)

where \(\tau _\alpha ^\mathrm {di}\) are (scalar) “dissipative microstresses” that are energy-conjugated to \(\dot{\gamma }_\alpha \), F is an overstress function and \(t_*\) is a material parameter corresponding to a relaxation time. The evolution rules for \(\gamma _\alpha \) thus read

$$\begin{aligned} \dot{\gamma }_\alpha = \frac{\partial \phi ^*_\alpha }{\partial \tau _\alpha ^\mathrm {di}} = \lambda _\alpha {{\mathrm{sgn}}}\big (\tau _\alpha ^\mathrm {di}\big ), \end{aligned}$$
(15)

where the plastic multiplier \(\lambda _\alpha \) is given as

$$\begin{aligned} \lambda _\alpha \big (\tau _\alpha ^\mathrm {di}\big ) = \frac{1}{t_*} \eta \big (\left| \tau _\alpha ^\mathrm {di}\right| \big ), \quad \eta (\bullet )\overset{\mathrm {def}}{=}\frac{\mathop {}\!\mathrm {d}F(\bullet )}{\mathop {}\!\mathrm {d}\bullet }. \end{aligned}$$
(16)

Remark

For the numerical examples later, we choose

$$\begin{aligned} F\big (\big |\tau _\alpha ^\mathrm {di}\big |\big ) = \frac{C}{m+1} \left[ \frac{\big |\tau _\alpha ^\mathrm {di}\big |}{C} \right] ^{m+1} \quad \Rightarrow \quad \eta \big (\big |\tau _\alpha ^\mathrm {di}\big |\big ) = \left[ \frac{\big |\tau _\alpha ^\mathrm {di}\big |}{C} \right] ^{m}, \end{aligned}$$
(17)

where C is a reference stress and m is the Norton exponent. We note that increasing the value of m makes the response tend towards perfect plasticity with a yield stress C. \(\square \)

In order to “close” the problem formulation, we need to establish the Biot equations, see e.g. Biot and Romain [5], Nguyen [23] and Ziegler and Wehrli [30], which in this case read

$$\begin{aligned} \tau _\alpha ^\mathrm {en}+ \tau _\alpha ^\mathrm {di}- {\varvec{\xi }}_\alpha ^{\mathrm {en}} \cdot {{\varvec{\nabla }}}= 0, \end{aligned}$$
(18)

where the “energetic microstresses” are defined as

$$\begin{aligned} \tau _\alpha ^\mathrm {en}&= \frac{\partial \psi }{\partial \gamma _\alpha } = \frac{\partial \psi ^{\mathrm {e}}}{\partial \gamma _\alpha } = \frac{\partial \psi ^{\mathrm {e}}}{\partial {\varvec{\epsilon }}^{\mathrm {p}}} : \frac{\partial {\varvec{\epsilon }}^{\mathrm {p}}}{\partial \gamma _\alpha } = -{\varvec{\sigma }}: \left[ {\varvec{s}}_{\alpha }\otimes {\varvec{m}}_{\alpha }\right] \overset{\mathrm {def}}{=}-\tau _\alpha , \end{aligned}$$
(19a)
$$\begin{aligned} {\varvec{\xi }}_\alpha ^{\mathrm {en}}&= \frac{\partial \psi }{\partial {\varvec{g}}_\alpha } = \frac{\partial \psi _\alpha ^{\mathrm {g}}}{\partial {\varvec{g}}_\alpha } = \left( l_\alpha \right) ^2{\varvec{H}}_\alpha ^{\text {gra}}\cdot {\varvec{g}}_\alpha . \end{aligned}$$
(19b)

Equation (18) is sometimes denoted microforce balance; Gurtin [14]. We note that \(\tau _\alpha = {\varvec{\sigma }}: [ {\varvec{s}}_{\alpha }\otimes {\varvec{m}}_{\alpha }] \) is the classical Schmid (resolved) stress.

Henceforth, we adopt the more concise notation \({\varvec{\xi }}_\alpha = {\varvec{\xi }}^\mathrm {en}_\alpha \) corresponding to the absence of a dissipative counterpart. From Biot’s equations (18), we obtain the relation

$$\begin{aligned} \tau _\alpha ^\mathrm {di}= - \tau _\alpha ^\mathrm {en}+ {\varvec{\xi }}_\alpha \cdot {{\varvec{\nabla }}}= \tau _\alpha + \chi _\alpha , \quad \text {with} \quad \chi _\alpha \overset{\mathrm {def}}{=}{\varvec{\xi }}_\alpha \cdot {{\varvec{\nabla }}}\end{aligned}$$
(20)

where \(-\chi _\alpha \) has the form of a back-stress. In view of (14), it is clear that the gradient effect embedded in \(\tau _\alpha ^\mathrm {di}\) represents the sole source of “back-stress”. In fact, we may rewrite (14) more explicitly as

$$\begin{aligned} \phi ^*_{\alpha } = \frac{1}{t_*} F\left( |\tau _\alpha + \chi _\alpha | \right) . \end{aligned}$$
(21)

2.3 Crystal visco-elasticity with kinematic gradient hardening: special case

A simple choice of the gradient hardening tensors \({\varvec{H}}_\alpha ^{\text {gra}}\) (see e.g. Gurtin et al. [17], Gurtin [16], Erturk et al. [10]) is

$$\begin{aligned} {\varvec{H}}_\alpha ^{\text {gra}}&\overset{\mathrm {def}}{=}H_{\bot ,\alpha }^{\mathrm {gra}} {\varvec{s}}_{\alpha }\otimes {\varvec{s}}_{\alpha }+ H_{\odot , \alpha }^{\mathrm {gra}} {\varvec{k}}_{\alpha }\otimes {\varvec{k}}_{\alpha }, \end{aligned}$$
(22)

by which the gradient part of the free energy, given in (10b), is replaced by

$$\begin{aligned} \psi _\alpha ^{\mathrm {g}}\left( g_{\bot ,\alpha },g_{\odot ,\alpha }\right)&= \frac{1}{2} {\left( l_\alpha \right) }^2 \left[ H_{\bot ,\alpha }^{\mathrm {gra}} \left[ g_{\bot ,\alpha }\right] ^2 \right. \nonumber \\&\left. \quad +\, H_{\odot ,\alpha }^{\mathrm {gra}} \left[ g_{\odot ,\alpha } \right] ^2\right] , \end{aligned}$$
(23)

where we note the identities \(g_{\bot ,\alpha }=-b\rho _{\bot ,\alpha }^\mathrm {GND}\) and \(g_{\odot ,\alpha }=b\rho _{\odot ,\alpha }^\mathrm {GND}\). Clearly, this simple expression does not allow for cross-hardening. We may now express \({\varvec{\xi }}_\alpha \) as

$$\begin{aligned} {\varvec{\xi }}_\alpha&= \xi _{\bot ,\alpha } {\varvec{s}}_{\alpha }+ \xi _{\odot ,\alpha } {\varvec{k}}_{\alpha }, \end{aligned}$$
(24)

where we introduced the “edge” and “screw” components of \({\varvec{\xi }}_\alpha \) as follows:

$$\begin{aligned} \xi _{\perp ,\alpha }(g_{\perp ,\alpha })&= (l_\alpha )^2 H_{\perp ,\alpha }^{\text {gra}} g_{\perp , \alpha }, \nonumber \\ \xi _{\odot , \alpha }(g_{\odot , \alpha })&= (l_\alpha )^2 H_{\odot ,\alpha }^{\text {gra}} g_{\odot , \alpha }. \end{aligned}$$
(25)

Furthermore, we may decompose \(\chi _\alpha \) as

$$\begin{aligned} \chi _\alpha = \chi _{\perp , \alpha } + \chi _{\odot , \alpha } \quad \text {with} \quad \chi _{\perp , \alpha } = {{\varvec{\nabla }}}\xi _{\perp ,\alpha } \cdot {\varvec{s}}_{\alpha }, \chi _{\odot , \alpha } = {{\varvec{\nabla }}}\xi _{\odot ,\alpha } \cdot {\varvec{k}}_{\alpha }. \nonumber \\ \end{aligned}$$
(26)

3 Boundary value problem

3.1 Time-continuous strong format

We consider a body occupying the domain \(\Omega \) and, for simplicity, restrict the problem formulation to quasistatic conditions. The strong format of the coupled problem of finding the fields \( {\varvec{u}}({\varvec{x}},t):\Omega \times \mathbb {R}^+ \rightarrow \mathbb {R}^3\), \(\gamma _\alpha ({\varvec{x}}, t):\Omega \times \mathbb {R}^+ \rightarrow \mathbb {R}\), \(\tau _\alpha ^\mathrm {di}({\varvec{x}}, t):\Omega \times \mathbb {R}^+ \rightarrow \mathbb {R}\) in space-time is given as

$$\begin{aligned} - {\varvec{\sigma }}\big ({\varvec{{\epsilon }}}[{{\varvec{u}}}],\underline{\gamma }\big )\cdot {{\varvec{\nabla }}}&= {\varvec{b}}, \end{aligned}$$
(27a)
$$\begin{aligned} \tau _\alpha ^\mathrm {en}\big (\varvec{\epsilon }[\varvec{u}],\underline{\gamma }\big ) + \tau _\alpha ^\mathrm {di}- {\varvec{\xi }}_\alpha \big (\varvec{g}[\gamma _\alpha ]\big ) \cdot {{\varvec{\nabla }}}&= 0, \end{aligned}$$
(27b)
$$\begin{aligned} \dot{\gamma }_\alpha - \frac{\partial \phi ^*_\alpha (\tau _\alpha ^\mathrm {di})}{\partial \tau _\alpha ^\mathrm {di}}&=0. \end{aligned}$$
(27c)

The boundary conditions on the body with boundary \(\Gamma \) are defined as follows:

$$\begin{aligned} {\varvec{u}}&= \overline{{\varvec{u}}} \quad \text{ on } \Gamma _{\mathrm u}, \quad {\varvec{t}}\overset{\mathrm {def}}{=}{\varvec{\sigma }}\cdot {\varvec{n}} = \bar{\varvec{t}} \quad \text{ on } \Gamma _{\mathrm t} , \end{aligned}$$
(28a)
$$\begin{aligned} \gamma _\alpha&= \overline{\gamma }_\alpha \quad \text{ on } \Gamma _{\text {u}}^{(\gamma )}, \quad t_{\alpha }^{(\gamma )} \overset{\mathrm {def}}{=}{\varvec{\xi }}_\alpha \cdot {\varvec{n}} = \bar{t}_\alpha ^{(\gamma )} \quad \text{ on } \Gamma _{\text {t}}^{(\gamma )} , \end{aligned}$$
(28b)

where \(\Gamma =\Gamma _{\mathrm u}\cup \Gamma _{\mathrm t} = \Gamma _{\text {u}}^{(\gamma )} \cup \Gamma _{\text {t}}^{(\gamma )}\).

Remark

Each of the given boundary conditions in (28b) is of either the Dirichlet (essential) or Neumann (natural) type. The appropriate classification depends on the actual choice of variational format, as discussed further below. \(\square \)

3.2 Time-discrete strong format

Adopting the standard Backward Euler rule for integrating the system in (27) over the time interval \((t_n, t_{n+1} = t_n + \Delta t)\), we obtain the solution for the time-updated fields \({\varvec{u}}({\varvec{x}})\), \(\gamma _\alpha ({\varvec{x}}), \tau _\alpha ^\mathrm {di}({\varvec{x}})\) Footnote 2 from the time-discrete equations

$$\begin{aligned}&- {\varvec{\sigma }}\big (\varvec{\epsilon }[\varvec{u}],\underline{\gamma }\big ) \cdot {{\varvec{\nabla }}}= {\varvec{b}} , \end{aligned}$$
(29a)
$$\begin{aligned}&\tau _\alpha ^\mathrm {en}\big (\varvec{\epsilon }[\varvec{u}],\underline{\gamma }\big ) + \tau _\alpha ^\mathrm {di}- {\varvec{\xi }}_\alpha \big (\varvec{g}[\gamma _\alpha ]\big ) \cdot {{\varvec{\nabla }}}= 0, \end{aligned}$$
(29b)
(29c)

4 Primal variational format

4.1 Time-discrete primal variational format

In order to establish the proper variational format, we introduce the solution and test spacesFootnote 3:

$$\begin{aligned}&\mathbb {U} = \{ {\varvec{u}}\in \mathbb {H}^1(\Omega )\, | \, {\varvec{u}}= \overline{{\varvec{u}}} \quad \text {on} \quad \Gamma _\mathrm {u} \}, \end{aligned}$$
(30a)
$$\begin{aligned}&\mathbb {G}_\alpha = \{ \gamma _\alpha \in \mathbb {H}^1(\Omega )\, | \, \gamma _\alpha = \overline{\gamma }_\alpha \quad \text {on} \quad \Gamma _{\mathrm {u} }^{(\gamma )} \}, \end{aligned}$$
(30b)
$$\begin{aligned}&\mathbb {T} = \mathbb {L}_2(\Omega ). \end{aligned}$$
(30c)

The primal variational format corresponding to the strong format in (29) becomes: Find \({\varvec{u}}\in \mathbb {U}\), \(\gamma _\alpha \in \mathbb {G}_\alpha \), and \(\tau _\alpha ^\mathrm {di}\in \mathbb {T}\) that solve

$$\begin{aligned}&\int _{\Omega } {\varvec{\sigma }}\big (\varvec{\epsilon }\left[ \varvec{u}\right] ,\underline{\gamma }\big ) : {\varvec{\epsilon }}\left[ \delta {\varvec{u}}\right] \mathop {}\!\mathrm {d}\Omega = l^{(u)}\left( \delta {\varvec{u}}\right) \quad \forall \delta {\varvec{u}}\in \mathbb {U}^0, \end{aligned}$$
(31a)
$$\begin{aligned}&\int _{\Omega } \big [ \tau _\alpha ^\mathrm {en}\big (\varvec{\epsilon }\left[ \varvec{u}\right] ,\underline{\gamma }\big ) + \tau _\alpha ^\mathrm {di}\big ] \delta \gamma _\alpha \mathop {}\!\mathrm {d}\Omega {} \nonumber \\&+\int _{\Omega } {\varvec{\xi }}_\alpha (\varvec{g}[\gamma _\alpha ]) \cdot {\varvec{g}}[\delta \gamma _\alpha ] \mathop {}\!\mathrm {d}\Omega = l_\alpha ^{(\gamma )}(\delta \gamma _\alpha ) \quad \forall \delta \gamma _\alpha \in \mathbb {G}^0, \end{aligned}$$
(31b)
(31c)

where we introduced the data in terms of the linear functionals

$$\begin{aligned} l^{(u)}(\delta {\varvec{u}})&= \int _{\Omega } {\varvec{b}} \cdot \delta {\varvec{u}} \mathop {}\!\mathrm {d}\Omega + \int _{\Gamma _\mathrm {t}} \overline{{\varvec{t}}} \cdot \delta {\varvec{u}}\mathop {}\!\mathrm {d}S, \end{aligned}$$
(32a)
$$\begin{aligned} l_\alpha ^{(\gamma )}(\delta \gamma )&= \int _{\Gamma _\mathrm {t}^{(\gamma )}} \overline{t}_\alpha ^{(\gamma )} \delta \gamma _\alpha \mathop {}\!\mathrm {d}S. \end{aligned}$$
(32b)

As to the boundary conditions, those given on the boundary part \(\Gamma _{\mathrm {u}}^{(\gamma )}\) are of the Dirichlet type, whereas those on \(\Gamma _{\mathrm {t}}^{(\gamma )}\) are of the Neumann type. Common special cases are

  • Microhard conditions: \(\gamma _\alpha = 0\) on \( \Gamma _\mathrm {u}\) (Dirichlet)

  • Microfree conditions: \( \overline{t}_\alpha ^{(\gamma )} = 0\) on \( \Gamma _\mathrm {t}^{(\gamma )}\) (Neumann)

In both these special cases the boundary integral on the RHS in (31b) vanishes.

Next, we introduce the volume-specific incremental potential \(\pi \) as follows:

(33)

The global incremental potential \(\Pi = \Pi ^{\text {int}} + \Pi ^{\text {ext}}\) becomes

$$\begin{aligned} \Pi ^{\text {int}} \big ({\varvec{u}}, \underline{\gamma }, \underline{\tau }^\mathrm {di}\big )&= \int _{\Omega } \pi \big ({\varvec{\epsilon }}[{\varvec{u}}], \underline{\gamma }, \underline{{\varvec{g}}}[\underline{\gamma }], \underline{\tau }^\mathrm {di}\big ) \mathop {}\!\mathrm {d}\Omega , \end{aligned}$$
(34a)
(34b)

The stationarity conditions of \(\Pi (\hat{{\varvec{u}}},\hat{\underline{\gamma }},\hat{\underline{\tau }}^\mathrm {di})\) are those in (31).

Fig. 1
figure 1

Nested iterations for the primal formulation

4.2 Nested iteration strategy: primal variational format

Firstly, we choose to satisfy Eq. (31c) in the strong sense, i.e. we introduce the local residual in each spatial point \(\varvec{x}\in \Omega \)

(35)

and we note that \(r_\alpha ^{(\tau )}(\gamma _\alpha ,\tau _\alpha ^\mathrm {di})=0\) can be solved for \(\tau _\alpha ^\mathrm {di}\{\gamma _\alpha \}\) Footnote 4 for any given \(\gamma _\alpha \). The (remaining) global residuals corresponding to Eqs. (31a), (31b) are given as

$$\begin{aligned}&R^{(u)} \big ({\varvec{u}}, \underline{\gamma }; \delta {\varvec{u}}\big ) \overset{\mathrm {def}}{=}{} \int _{\Omega } {\varvec{\sigma }}\big ({\varvec{\epsilon }}[{\varvec{u}}],\underline{\gamma }\big ) : {\varvec{\epsilon }}\left[ \delta {\varvec{u}}\right] \mathop {}\!\mathrm {d}\Omega - l^{(u)}\left( \delta {\varvec{u}}\right) \nonumber \\&\quad = \int _{\Omega } \left[ \varvec{\mathsf {E}}^\text {e} : {\varvec{\epsilon }}[{\varvec{u}}] - \sum _{\alpha = 1}^M {\varvec{D}}_\alpha ^\text {e} \gamma _\alpha \right] : {\varvec{\epsilon }}\left[ \delta {\varvec{u}}\right] \mathop {}\!\mathrm {d}\Omega - l^{(u)}\left( \delta {\varvec{u}}\right) \end{aligned}$$
(36a)
$$\begin{aligned}&R_\alpha ^{(\gamma )}\big ({\varvec{u}}, \underline{\gamma }; \delta \gamma _\alpha \big ) \overset{\mathrm {def}}{=}\int _{\Omega } \big [ \tau _\alpha ^\mathrm {en}\big ( {\varvec{\epsilon }}[{\varvec{u}}], \underline{\gamma }\big ) + \tau _\alpha ^\mathrm {di}\left\{ \gamma _\alpha \right\} \big ] \delta \gamma _\alpha \mathop {}\!\mathrm {d}\Omega \nonumber \\&\qquad + \int _{\Omega } {\varvec{\xi }}_\alpha \big ({\varvec{g}}[\gamma _\alpha ]\big ) \cdot {\varvec{g}}[\delta \gamma _\alpha ] \mathop {}\!\mathrm {d}\Omega - l_\alpha ^{(\gamma )}\left( \delta \gamma _\alpha \right) \nonumber \\&\quad = \int _{\Omega } \left[ -{\varvec{D}}_\alpha ^\text {e} : {\varvec{\epsilon }}[{\varvec{u}}] + \sum _{\beta = 1}^M E_{\alpha \beta } \gamma _\beta + \tau _\alpha ^\mathrm {di}\{\gamma _\alpha \} \right] \delta \gamma _\alpha \mathop {}\!\mathrm {d}\Omega \nonumber \\&\qquad + \int _{\Omega } \big [ (l_\alpha )^2 {\varvec{H}}_\alpha ^\mathrm {gra} \cdot {\varvec{g}}[\gamma _\alpha ] \big ] \cdot {\varvec{g}}[\delta \gamma _\alpha ] \mathop {}\!\mathrm {d}\Omega - l_\alpha ^{(\gamma )} \left( \delta \gamma _\alpha \right) \end{aligned}$$
(36b)

In order to obtain (36), we used the functional dependence of \({\varvec{\sigma }}\), \(\tau _\alpha ^\mathrm {en}\) and \({\varvec{\xi }}_\alpha \) as follows:

$$\begin{aligned} {\varvec{\sigma }}({\varvec{\epsilon }}[{\varvec{u}}], \underline{\gamma }) = {}&{{\mathbf {\mathsf{{E}}}}}^{\mathrm {e}} : \bigg [ {\varvec{\epsilon }}[{\varvec{u}}] - \sum _{\alpha = 1}^M \gamma _\alpha [ {\varvec{s}}_{\alpha }\otimes {\varvec{m}}_{\alpha }] \bigg ], \end{aligned}$$
(37a)
$$\begin{aligned} \tau _\alpha ^\mathrm {en}( {\varvec{\epsilon }}[{\varvec{u}}], \underline{\gamma }) = {}&- {\varvec{\sigma }}: [{\varvec{s}}_{\alpha }\otimes {\varvec{m}}_{\alpha }] \nonumber \\ =&-\bigg [{\varvec{D}}_\alpha ^\text {e} : {\varvec{\epsilon }}[{\varvec{u}}] - \sum _{\beta = 1}^M E_{\alpha \beta } \gamma _\beta \bigg ] , \end{aligned}$$
(37b)
$$\begin{aligned} {\varvec{\xi }}_\alpha ( {\varvec{g}}[\gamma _\alpha ]) ={}&{(l_\alpha )}^2 {\varvec{H}}_\alpha ^{\text {gra}} \cdot {\varvec{g}}[\gamma _\alpha ]. \end{aligned}$$
(37c)

where we introduced the new operators

$$\begin{aligned} {\varvec{D}}_\alpha ^\text {e}&\overset{\mathrm {def}}{=}[{\varvec{s}}_{\alpha }\otimes {\varvec{m}}_{\alpha }] : {{\mathbf {\mathsf{{E}}}}}^\text {e}, \end{aligned}$$
(38a)
$$\begin{aligned} E_{\alpha \beta }^\text {e}&\overset{\mathrm {def}}{=}[{\varvec{s}}_{\alpha }\otimes {\varvec{m}}_{\alpha }] : {{\mathbf {\mathsf{{E}}}}}^\text {e} : [{\varvec{s}}_\beta \otimes {\varvec{m}}_\beta ] = E_{\beta \alpha }^\text {e}. \end{aligned}$$
(38b)

The problem in (31) is thus reformulated as that of finding the fields \({\varvec{u}}\in \mathbb {U}\), \(\gamma _\alpha \in \mathbb {G}_\alpha \), and \(\tau _\alpha ^\mathrm {di}\in \mathbb {T}\) that solve

$$\begin{aligned} R^{(u)} ({\varvec{u}}, \underline{\gamma }; \delta {\varvec{u}}) = {}&0 \quad \forall \delta {\varvec{u}}\in \mathbb {U}^0, \end{aligned}$$
(39a)
$$\begin{aligned} R^{(\gamma )}_\alpha ({\varvec{u}}, \underline{\gamma }; \delta \gamma _\alpha ) = {}&0 \quad \forall \delta \gamma _\alpha \in \mathbb {G}^0,\,\, \alpha =1,2,\ldots ,M, \end{aligned}$$
(39b)

together with the local implicit relation \(\tau _\alpha ^\mathrm {di}\{\gamma _\alpha \} = \tau _\alpha ^\mathrm {di}\) that satisfies

$$\begin{aligned} r_\alpha ^{(\tau )}(\gamma _\alpha , \tau _\alpha ^\mathrm {di}) = 0 \quad \varvec{x}\in \Omega . \end{aligned}$$
(40)

This is a non-linear system of equations, that in general requires some sort of iteration strategy to solve. The most straightforward approach would be to solve for all the fields \(( {\varvec{u}}, \underline{\gamma }, \underline{\tau }^\mathrm {di})\) in each iteration step in a “monolithic” fashion as is done for gradient plasticity by Liebe et al. [21]. However, due to the multiple slip systems in crystal plasticity models this approach would lead to a large number of global degrees of freedoms and, consequently, the strategy would be computationally heavy. Hence, it is convenient to resort to so-called nested iterations, whereby a two-level procedure of Newton iterations is designed as follows:

  • Global iterations Iterations are carried out on the global fields \(z =( {\varvec{u}}, \underline{\gamma } )\), while assuming that the constitutive equations that govern the fields \(\tau _\alpha ^\mathrm {di}\{\gamma _\alpha \}\) are satisfied when carrying out linearization of (39) in order to obtain the pertinent Algorithmic Tangent Operators (see below).

  • Local iterations For given value of \(z^{(k)} = ( {\varvec{u}}^{(k)}, \underline{\gamma }^{(k)} )\) in the global iteration k that is thus known in each spatial point \({\varvec{x}}\), iterations are carried out on the constitutive Eq. (40) in order to obtain \(\tau _\alpha ^\mathrm {di}\) for given value of \(\gamma _\alpha \), i.e. \(\tau _\alpha ^\mathrm {di}=\tau _\alpha ^\mathrm {di}\{\gamma _\alpha \}\). We remark that the particular model adopted in this paper, (17), is simple enough to allow a closed form solution for \(\tau _\alpha ^\mathrm {di}(\gamma _\alpha )\); hence, no local iterations are needed.

A schematic figure of the nested iteration strategy and the interaction of information between the global and local levels is shown in Fig. 1.

4.2.1 Linearization and algorithmic tangent tensors

The system (39) is linearized while it is assumed that the local Eq. (40) are satisfied exactly. These latter conditions are used in order to compute the pertinent sensitivities of each \(\tau _\alpha ^\mathrm {di}\) for a perturbation of \(\gamma _\beta \). These sensitivities are defined as the directional derivatives

$$\begin{aligned} \big (\mathrm {d}\tau _\alpha ^\mathrm {di}\big )_{\gamma _\beta } = A_{\tau _\alpha ^\mathrm {di},\gamma _\beta } \mathrm {d}\gamma _\beta . \end{aligned}$$
(41)

We note that the sensitivities are uncoupled in the sense that \((\mathrm {d}\tau _\alpha ^\mathrm {di})_{\gamma _\beta }\ne 0\) only when \(\beta =\alpha \). The sensitivities are computed from a linearized form of the residual equation in (40), as shown in Appendix 1.

4.2.2 Global Newton iterations

For given value \(z^{(k)} = ({\varvec{u}}^{(k)}, \underline{\gamma }^{(k)}) \) in the global iteration step k, we compute updated values

$$\begin{aligned} z^{(k+1)} = z^{(k)} + \Delta z, \end{aligned}$$
(42)

whereby the increment \(\Delta z = (\Delta {\varvec{u}}, \Delta \underline{\gamma }) \in \mathbb {Z}^0 \overset{\mathrm {def}}{=}\mathbb {U}^0\times \mathbb {G}^0\) is solved from the system

$$\begin{aligned}&\big ( R^{(u)} \big )'_u (z^{(k)}; \delta {\varvec{u}}, \Delta {\varvec{u}}) + \sum _{\beta = 1}^M \big ( R^{(u)}\big )'_{\gamma _\beta } \big (z^{(k)}; \delta {\varvec{u}}, \Delta \gamma _\beta \big ) \nonumber \\&\qquad = -\, R^{(u)}(z^{(k)}; \delta {\varvec{u}}), \quad \forall \delta {\varvec{u}}\in \mathbb {U}^0 , \end{aligned}$$
(43a)
$$\begin{aligned}&\big ( R_\alpha ^{(\gamma )} \big )'_u (z^{(k)}; \delta \gamma _\alpha , \Delta {\varvec{u}}) + \sum _{\beta = 1}^M \big ( R_\alpha ^{(\gamma )}\big )'_{\gamma _\beta } \big (z^{(k)}; \delta \gamma _\alpha , \Delta \gamma _\beta \big ) \nonumber \\&\qquad = - R_\alpha ^{(\gamma )}(z^{(k)}; \delta \gamma _\alpha ), \quad \forall \delta \gamma _\alpha \in \mathbb {G}^0,\; \alpha = 1,2,\ldots , M. \end{aligned}$$
(43b)

The pertinent linearized forms are given as

$$\begin{aligned} \big ( R^{(u)}\big )'_u (\bullet ; \delta {\varvec{u}}, \mathrm {d}{\varvec{u}})&= \int _{\Omega } {\varvec{\epsilon }}[\delta {\varvec{u}}] : {{\mathbf {\mathsf{{E}}}}}^{\text {e}} : {\varvec{\epsilon }}[\mathop {}\!\mathrm {d}{\varvec{u}}] \mathop {}\!\mathrm {d}\Omega , \end{aligned}$$
(44a)
$$\begin{aligned} \big ( R^{(u)}\big )'_{\gamma _\beta } (\bullet ; \delta {\varvec{u}}, \mathrm {d}\gamma _\beta )&= \int _{\Omega } {\varvec{\epsilon }}[\delta {\varvec{u}}] : [- {\varvec{D}}_\beta ^\text {e} ] \mathrm {d}\gamma _\beta \mathop {}\!\mathrm {d}\Omega , \end{aligned}$$
(44b)
$$\begin{aligned} \big ( R_\alpha ^{(\gamma )}\big )'_{u} (\bullet ; \delta \gamma _\alpha , \mathrm {d}{\varvec{u}})&=\int _{\Omega } \delta \gamma _\alpha [- {\varvec{D}}_\alpha ^\text {e}] : {\varvec{\epsilon }}[\mathrm {d}{\varvec{u}}] \mathop {}\!\mathrm {d}\Omega , \end{aligned}$$
(44c)
$$\begin{aligned} \big ( R_\alpha ^{(\gamma )}\big )'_{\gamma _\beta } (\bullet ; \delta \gamma _\alpha , \mathrm {d}\gamma _\beta )&= \int _{\Omega } \delta \gamma _\alpha E_{\alpha \beta }^\text {e} \mathrm {d}\gamma _\beta \mathop {}\!\mathrm {d}\Omega \nonumber \\&\quad \, + \int _{\Omega } \delta _{\alpha \beta }\, {\varvec{g}}[\delta \gamma _\alpha ] \cdot {(l_\beta )}^2 {\varvec{H}}_\beta ^{\text {gra}} \cdot {\varvec{g}}[\mathrm {d}\gamma _\beta ] \mathop {}\!\mathrm {d}\Omega \nonumber \\&\quad +\, \int _{\Omega } \delta _{\alpha \beta }\, \delta \gamma _\alpha A_{\tau _\beta ^\mathrm {di},\gamma _\beta } \mathrm {d}\gamma _\beta \mathop {}\!\mathrm {d}\Omega . \end{aligned}$$
(44d)

The FE-discretized versions of (36) and (44) are given in Appendix 1.

4.2.3 Local iterations

For given values of the fields \(z = ({\varvec{u}}, \underline{\gamma })\), or only \(\underline{\gamma }\) (in fact), in any given spatial point \({\varvec{x}}\), we compute the corresponding values of \(\underline{\tau }^\mathrm {di}\). For the model in (14), the pertinent constitutive problem becomes: For given \(\gamma _\alpha \), compute \(\tau _\alpha ^\mathrm {di}\) from

(45)

The solution is obtained conveniently in two steps: Firstly, \(|\tau _\alpha ^\mathrm {di} |\) is solved from the equation

(46)

Remark

For the specific power law (Norton type) model in (17), we obtain the explicit solution

(47)

\(\square \)

Secondly, the sign of \(\tau _\alpha ^\mathrm {di}\) is determined as follows:

  • , i.e. \(\tau _\alpha ^\mathrm {di}=|\tau _\alpha ^\mathrm {di} |,\)

  • , i.e. \(\tau _\alpha ^\mathrm {di}=-|\tau _\alpha ^\mathrm {di} |.\)

5 Dual variational format

5.1 Time-discrete semi-dual variational format

In the (semi-)dual variational format we exploit a partial Legendre transformation of the free energy density \(\psi \) w.r.t. to the gradient variables \({\varvec{g}}_\alpha \). Our aim is to obtain the compliance format of the relation in (19b), which we repeat here,

$$\begin{aligned} {\varvec{\xi }}_\alpha = \left( l_\alpha \right) ^2 {\varvec{H}}_\alpha ^{\text {gra}} \cdot {\varvec{g}}_\alpha . \end{aligned}$$
(48)

In this section, we consider the situation that \( {\varvec{H}}_\alpha ^{\text {gra}}\) is positive definite, such that it is possible to invert (48) in straightforward fashion. It is then possible to define the Legendre transformation

$$\begin{aligned} \psi ^{*\mathrm {g}}_\alpha ( {\varvec{\xi }}_\alpha ) \overset{\mathrm {def}}{=}\sup _{\hat{{\varvec{g}}}_\alpha } \left[ {\varvec{\xi }}_\alpha \cdot \hat{{\varvec{g}}}_\alpha - \psi ^{\mathrm {g}}_\alpha (\hat{{\varvec{g}}}_\alpha )\right] \end{aligned}$$
(49)

and define the semi-dual free energy density as

$$\begin{aligned} \varphi ({\varvec{\epsilon }},\underline{\gamma }, \underline{{\varvec{\xi }}})&= \psi ^\text {e} ({\varvec{\epsilon }},\underline{\gamma }) - \sum _{\alpha =1}^M \sup _{\hat{{\varvec{g}}}_\alpha } \left[ {\varvec{\xi }}_\alpha \cdot \hat{{\varvec{g}}}_\alpha - \psi ^{\mathrm {g}}_\alpha (\hat{{\varvec{g}}}_\alpha ) \right] \nonumber \\&= \psi ^\text {e} ({\varvec{\epsilon }},\underline{\gamma }) - \sum _{\alpha =1}^M \psi _\alpha ^{* \mathrm {g}} ({\varvec{\xi }}_\alpha ). \end{aligned}$$
(50)

The stationarity condition of (49) gives the constitutive equations for \({\varvec{g}}_\alpha \) expressed as

$$\begin{aligned} {\varvec{g}}_\alpha = \frac{\partial \psi _\alpha ^{*\mathrm {g}}({\varvec{\xi }}_\alpha )}{\partial {\varvec{\xi }}_\alpha } = \frac{1}{(l_\alpha )^2} {\varvec{H}}_\alpha ^{* \mathrm {gra}} \cdot {\varvec{\xi }}_\alpha , \end{aligned}$$
(51)

where \({\varvec{H}}_{\alpha }^{*\mathrm {gra}}\) is the inverse of \({\varvec{H}}_{\alpha }^{\mathrm {gra}}\) in the classical sense, i.e. it satisfies the condition \({\varvec{H}}_{\alpha }^{*\mathrm {gra}} \cdot {\varvec{H}}_{\alpha }^{\mathrm {gra}} = {\varvec{I}}\). Upon inserting (51) into (49), we obtain

$$\begin{aligned} \psi ^{*\mathrm {g}}_\alpha ({\varvec{\xi }}_\alpha ) = \frac{1}{2} \frac{1}{(l_\alpha )^2} {\varvec{\xi }}_\alpha \cdot {\varvec{H}}_{\alpha }^{*\mathrm {gra}} \cdot {\varvec{\xi }}_\alpha . \end{aligned}$$
(52)

Next, we introduce the appropriate solution and test spaces

$$\begin{aligned} \mathbb {U}&= \left\{ {\varvec{u}}\in {\mathbb {H}}^1(\Omega ) ,\quad {\varvec{u}}= \overline{{\varvec{u}}} \quad \text {on} \quad \Gamma _\mathrm {u} \right\} , \end{aligned}$$
(53a)
$$\begin{aligned} \mathbb {X}_\alpha&= \left\{ {\varvec{\xi }}_\alpha \in {\mathbb {L}}_2(\Omega ), \quad {\varvec{\xi }}_\alpha \cdot {{\varvec{\nabla }}}\in {\mathbb {L}}_2(\Omega ), \quad t_\alpha ^{(\gamma )} \overset{\mathrm {def}}{=}{\varvec{\xi }}_\alpha \cdot {\varvec{n}} \right. \nonumber \\&= \left. \overline{t}_\alpha ^{(\gamma )} \quad \text {on} \quad \Gamma _{\mathrm {t}}^{(\gamma )} \right\} , \end{aligned}$$
(53b)
$$\begin{aligned} {\mathbb {T}}&= {\mathbb {L}}_2(\Omega ). \end{aligned}$$
(53c)

The dual variational format can thus be stated as follows: find \({\varvec{u}}\in \mathbb {U}\), \({\varvec{\xi }}_\alpha \in \mathbb {X}_\alpha \), \(\gamma _\alpha \in {\mathbb {T}}\), and \( \tau _\alpha ^\mathrm {di}\in {\mathbb {T}}\) that solve

$$\begin{aligned}&\int _{\Omega } {\varvec{\sigma }}({\varvec{\epsilon }}[{\varvec{u}}], \underline{\gamma }) : {\varvec{\epsilon }}[\delta {\varvec{u}}] \mathop {}\!\mathrm {d}\Omega = l^{(u)}(\delta {\varvec{u}}) \quad \forall \delta {\varvec{u}}\in \mathbb {U}^0, \end{aligned}$$
(54a)
$$\begin{aligned}&\int _{\Omega } \big [-{\varvec{g}}_\alpha ({\varvec{\xi }}_\alpha ) \cdot \delta {\varvec{\xi }}_\alpha - \gamma _\alpha [\delta {\varvec{\xi }}_\alpha \cdot {{\varvec{\nabla }}}] \big ] \mathop {}\!\mathrm {d}\Omega = l_\alpha ^{(\xi )} (\delta {\varvec{\xi }}_\alpha ) \quad \forall \delta {\varvec{\xi }}_\alpha \in \mathbb {X}^0,\end{aligned}$$
(54b)
$$\begin{aligned}&\int _{\Omega } \big [ \tau _\alpha ^\mathrm {en}({\varvec{\epsilon }}[{\varvec{u}}], \underline{\gamma }) + \tau _\alpha ^\mathrm {di}- {\varvec{\xi }}_\alpha \cdot {{\varvec{\nabla }}}\big ] \delta \gamma _\alpha \mathop {}\!\mathrm {d}\Omega = 0 \quad \forall \delta \gamma _\alpha \in {\mathbb {T}},\nonumber \\ \end{aligned}$$
(54c)
(54d)

where we introduced the data in terms of the linear functionals

$$\begin{aligned} l^{(u)}(\delta {\varvec{u}})&= \int _{\Omega } {\varvec{b}} \cdot \delta {\varvec{u}} \mathop {}\!\mathrm {d}\Omega + \int _{\Gamma _\mathrm {t}} \overline{{\varvec{t}}} \cdot \delta {\varvec{u}}\mathop {}\!\mathrm {d}S, \end{aligned}$$
(55a)
$$\begin{aligned} l_\alpha ^{(\xi )}(\delta {\varvec{\xi }}_\alpha )&= -\int _{\Gamma _{\mathrm {u}}^{(\gamma )}} \overline{\gamma }_\alpha \left[ \delta {\varvec{\xi }}_\alpha \cdot {\varvec{n}} \right] \mathop {}\!\mathrm {d}S. \end{aligned}$$
(55b)

Remark

When \(l \rightarrow 0\), the gradient part of the free energy vanishes. Hence, the expression in (49) will render \(\psi ^{*\mathrm {g}}\) to enforce \(\varvec{\xi }_\alpha = 0\). Consequently, the entire Eq. (54b) and the divergence term in (54c) are removed, and the system of equations degenerates to exactly those arising in standard non-gradient crystal plasticity where displacements are solved for in the global iterations and the slips are solved for in the local iterations. In the primal formulation, however, the slip fields would remain global. \(\square \)

As to the boundary conditions, those on boundary parts \(\Gamma _{\mathrm {t}}^{(\gamma )}\) are now of the Dirichlet type, whereas those on \(\Gamma _{\mathrm {u}}^{(\gamma )}\) are of the Neumann type. The difference from the primary format is that the type of the boundary conditions on the different parts of \(\Gamma \) have switched their roles. We note that in a finite element implementation of the dual format, enforcing microfree conditions \(\varvec{\xi }_\alpha \cdot \varvec{n} = 0\) would require a local coordinate transformation on the form \(\varvec{\xi }_\alpha = \xi _{\alpha , \mathrm {n}} \varvec{n} + \xi _{\alpha , \mathrm {t}_1} \varvec{t}_1 + \xi _{\alpha , \mathrm {t}_2} \varvec{t}_2\), where \(\varvec{t}_1\) and \(\varvec{t}_2\) are two orthogonal vectors in the plane with normal \(\varvec{n}\). The condition \(\varvec{\xi }_\alpha \cdot \varvec{n} = \xi _{\alpha , \mathrm {n}}\) can then be enforced strongly.

The corresponding volume-specific incremental potential \(\pi \) is introduced as follows:

(56)

where we recall the notation \(\chi _\alpha = \chi [{\varvec{\xi }}_\alpha ] \overset{\mathrm {def}}{=}{\varvec{\xi }}_\alpha \cdot {{\varvec{\nabla }}}\). The global potential \(\Pi = \Pi ^\mathrm {int} + \Pi ^\mathrm {ext}\) becomes

$$\begin{aligned} \Pi ^\mathrm {int}\big ({\varvec{u}}, \underline{{\varvec{\xi }}}, \underline{\gamma }, \underline{\tau }^\mathrm {di}\big )&= \int _{\Omega } \pi \big ({\varvec{\epsilon }}[{\varvec{u}}], \underline{\gamma }, \underline{{\varvec{\xi }}}, \underline{\chi }[{\varvec{\xi }}], \underline{\tau }^\mathrm {di}\big ) \mathop {}\!\mathrm {d}\Omega , \end{aligned}$$
(57a)
(57b)

The stationarity conditions of \(\Pi (\hat{{\varvec{u}}}, \hat{\underline{{\varvec{\xi }}}}, \hat{\underline{\gamma }}, \hat{\underline{\tau }}^\mathrm {di})\) are those in (54). Comparing (56) with (33), we note that \(\psi \) has been replaced by \(\varphi \) and that an additional term involving \(\chi _\alpha \) is present in (56).

5.2 Time-discrete semi-dual variational format: special case of singular gradient hardening

The special case that \({\varvec{H}}_\alpha ^{\text {gra}}\) is of the form given in (22), and thus singular, requires special care. When the gradient part of the free energy \(\psi ^{\mathrm {g}}_\alpha \) takes the form in (23), it is possible to replace the Legendre transformation in (49) with the problem of reduced dimensionality:

$$\begin{aligned} \psi ^{*\mathrm {g}}_\alpha \left( \xi _{\bot ,\alpha },\xi _{\odot ,\alpha }\right)&\overset{\mathrm {def}}{=} \sup _{\left( \hat{g}_{\bot ,\alpha },\hat{g}_{\odot ,\alpha }\right) } \left[ \xi _{\bot ,\alpha } \hat{g}_{\bot ,\alpha }+\xi _{\odot ,\alpha } \hat{g}_{\odot ,\alpha } \right. \nonumber \\&\left. -\psi ^{\mathrm {g}}_\alpha \left( \hat{g}_{\bot ,\alpha },\hat{g}_{\odot ,\alpha }\right) \right] . \end{aligned}$$
(58)

We define the semi-dual free energy density as

$$\begin{aligned} \varphi ({\varvec{\epsilon }}, \underline{\gamma }, \underline{\xi }_{\bot }, \underline{\xi }_{\odot }) = \psi ^\text {e} ({\varvec{\epsilon }}, \underline{\gamma }) - \sum _{\alpha =1}^M \psi ^{*\mathrm {g}}_\alpha (\xi _{\bot ,\alpha },\xi _{\odot ,\alpha }). \end{aligned}$$
(59)

The stationarity condition of (58) gives the constitutive equations

$$\begin{aligned} g_{\bot ,\alpha } ={}&\frac{\partial \psi _\alpha ^{*\mathrm {g}}(\xi _{\bot ,\alpha },\xi _{\odot ,\alpha })}{\partial \xi _{\bot ,\alpha }} = \frac{1}{(l_\alpha )^2} \frac{1}{H_{\bot ,\alpha }^{\mathrm {gra}}}\xi _{\bot ,\alpha }, \end{aligned}$$
(60a)
$$\begin{aligned} g_{\odot ,\alpha } ={}&\frac{\partial \psi _\alpha ^{*\mathrm {g}}(\xi _{\bot ,\alpha },\xi _{\odot ,\alpha })}{\partial \xi _{\odot ,\alpha }} = \frac{1}{(l_\alpha )^2} \frac{1}{H_{\odot ,\alpha }^{\mathrm {gra}}}\xi _{\odot ,\alpha }. \end{aligned}$$
(60b)

Upon inserting (60) into (58), we obtain

$$\begin{aligned} \psi ^{*\mathrm {g}}(\xi _{\bot ,\alpha },\xi _{\odot ,\alpha }) = \frac{1}{2}\frac{1}{(l_\alpha )^2} \bigg [ \frac{1}{H_{\bot ,\alpha }^{\mathrm {gra}}}\left( \xi _{\bot ,\alpha }\right) ^2 + \frac{1}{H_{\odot ,\alpha }^{\mathrm {gra}}}\left( \xi _{\odot ,\alpha }\right) ^2 \bigg ]. \end{aligned}$$
(61)

In this case the appropriate solution and test spaces are defined as

$$\begin{aligned}&\mathbb {U} = \left\{ {\varvec{u}}\in {\mathbb {H}}^1(\Omega ) ,\quad {\varvec{u}}= \overline{{\varvec{u}}} \quad \text {on} \quad \Gamma _\mathrm {u} \right\} , \end{aligned}$$
(62a)
$$\begin{aligned}&\mathbb {X}_{\perp ,\alpha } = \left\{ \xi _{\perp ,\alpha } \in {\mathbb {H}}^1(\Omega ), \quad t_{\perp , \alpha }^{(\gamma )} \overset{\mathrm {def}}{=}\xi _{\perp , \alpha } {\varvec{s}}_{\alpha }\cdot {\varvec{n}} = \overline{t}_{\perp , \alpha }^{(\gamma )} \quad \text {on} \quad \Gamma _{\mathrm {t}}^{(\gamma )} \right\} , \end{aligned}$$
(62b)
$$\begin{aligned}&\mathbb {X}_{\odot , \alpha } = \left\{ \xi _{\odot ,\alpha } \in {\mathbb {H}}^1(\Omega ), \quad t_{\odot , \alpha }^{(\gamma )} \overset{\mathrm {def}}{=}\xi _{\odot , \alpha } {\varvec{l}}_\alpha \cdot {\varvec{n}} = \overline{t}_{\odot , \alpha }^{(\gamma )} \quad \text {on} \quad \Gamma _{\mathrm {t}}^{(\gamma )} \right\} , \end{aligned}$$
(62c)
$$\begin{aligned}&{\mathbb {T}}= {\mathbb {L}}_2(\Omega ). \end{aligned}$$
(62d)

The dual variational format thus becomes: Find \({\varvec{u}}\in \mathbb {U}\), \( \xi _{\perp , \alpha } \in \mathbb {X}_{\perp , \alpha } \), \( \xi _{\odot , \alpha } \in \mathbb {X}_{\odot , \alpha } \), \(\gamma _\alpha \in {\mathbb {T}}\), and \( \tau _\alpha ^\mathrm {di}\in {\mathbb {T}}\) that solve

$$\begin{aligned}&\int _{\Omega } {\varvec{\sigma }}({\varvec{\epsilon }}[{\varvec{u}}], \underline{\gamma }) : {\varvec{\epsilon }}[\delta {\varvec{u}}] \mathop {}\!\mathrm {d}\Omega \nonumber \\&\quad = l^{(u)}(\delta {\varvec{u}}) \quad \forall \delta {\varvec{u}}\in \mathbb {U}^0, \end{aligned}$$
(63a)
$$\begin{aligned}&\int _{\Omega } \left[ - g_{\perp , \alpha }(\xi _{\perp ,\alpha })\delta \xi _{\perp ,\alpha } - \gamma _\alpha {{\varvec{\nabla }}}\delta \xi _{\perp ,\alpha } \cdot {\varvec{s}}_{\alpha }\right] \mathop {}\!\mathrm {d}\Omega \nonumber \\&\quad ={} l_{\perp ,\alpha }^{(\xi )} (\delta \xi _{\perp ,\alpha }) \quad \forall \delta \xi _{\perp ,\alpha } \in \mathbb {X}_{\perp ,\alpha }^0, \end{aligned}$$
(63b)
$$\begin{aligned}&\int _{\Omega } \left[ - g_{\odot , \alpha }(\xi _{\odot ,\alpha })\delta \xi _{\odot ,\alpha } - \gamma _\alpha {{\varvec{\nabla }}}\delta \xi _{\odot ,\alpha } \cdot {\varvec{k}}_{\alpha }\right] \mathop {}\!\mathrm {d}\Omega \nonumber \\&\quad = l_{\odot ,\alpha }^{(\xi )} (\delta \xi _{\odot ,\alpha }) \quad \forall \delta \xi _{\odot , \alpha } \in \mathbb {X}_{\odot ,\alpha }^0, \end{aligned}$$
(63c)
$$\begin{aligned}&\int _{\Omega } \big [ \tau _\alpha ^\mathrm {en}({\varvec{\epsilon }}[{\varvec{u}}],\underline{\gamma }) + \tau _\alpha ^\mathrm {di}- \left[ {\varvec{s}}_{\alpha }\cdot {{\varvec{\nabla }}}\xi _{\perp ,\alpha } + {\varvec{k}}_{\alpha }\cdot {{\varvec{\nabla }}}\xi _{\odot ,\alpha } \right] \big ]\delta \gamma _\alpha \mathop {}\!\mathrm {d}\Omega \nonumber \\&\quad = 0 \quad \forall \delta \gamma _\alpha \in {\mathbb {T}}, \end{aligned}$$
(63d)
(63e)

where we introduced the data in terms of the linear functionals

$$\begin{aligned}&l^{(u)}(\delta {\varvec{u}}) = \int _{\Omega } {\varvec{b}} \cdot \delta {\varvec{u}} \mathop {}\!\mathrm {d}\Omega + \int _{\Gamma _\mathrm {t}} \overline{{\varvec{t}}} \cdot \delta {\varvec{u}}\mathop {}\!\mathrm {d}S, \end{aligned}$$
(64a)
$$\begin{aligned}&l_{\perp , \alpha }^{(\xi )} (\delta \xi _{\perp ,\alpha }) = - \int _{\Gamma _{\mathrm {u}}^{(\gamma )}} \overline{\gamma }_\alpha \delta \xi _{\perp , \alpha }[{\varvec{s}}_{\alpha }\cdot {\varvec{n}} ] \mathop {}\!\mathrm {d}S, \end{aligned}$$
(64b)
$$\begin{aligned}&l_{\odot , \alpha }^{(\xi )} (\delta \xi _{\odot ,\alpha }) = - \int _{\Gamma _{\mathrm {u}}^{(\gamma )}} \overline{\gamma }_\alpha \delta \xi _{\odot , \alpha }[{\varvec{k}}_{\alpha }\cdot {\varvec{n}} ] \mathop {}\!\mathrm {d}S. \end{aligned}$$
(64c)

The corresponding volume-specific incremental potential \(\pi \) is introduced as follows:

(65)

where we recall the notation \(\chi _{\perp ,\alpha } = {{\varvec{\nabla }}}\xi _{\perp ,\alpha } \cdot {\varvec{s}}_{\alpha }\) and \(\chi _{\odot , \alpha } = {{\varvec{\nabla }}}\xi _{\odot ,\alpha } \cdot {\varvec{k}}_{\alpha }\). The global potential \(\Pi = \Pi ^\mathrm {int} + \Pi ^\mathrm {ext}\) becomes

$$\begin{aligned}&\Pi ^\mathrm {int}({\varvec{u}}, \underline{\xi }_{\perp }, \underline{\xi }_{\odot }, \underline{\gamma }, \underline{\tau }^\mathrm {di}) \nonumber \\&\quad = \int _{\Omega } \pi ({\varvec{\epsilon }}[{\varvec{u}}], \underline{\gamma }, \underline{\xi }_{\perp }, \underline{\xi }_{\odot }, \underline{\chi }_{\perp }[\underline{\xi }_{\perp }], \underline{\chi }_{\odot }[\underline{\xi }_{\odot }], \underline{\tau }^\mathrm {di}) \mathop {}\!\mathrm {d}\Omega , \end{aligned}$$
(66a)
(66b)

The stationarity conditions of \(\Pi (\hat{{\varvec{u}}}, \underline{\xi }_{\perp }, \underline{\xi }_{\odot }, \hat{\underline{\gamma }}, \hat{\underline{\tau }}^\mathrm {di})\) are those in (63).

Remark

It is interesting to note that the formulation in (63) becomes identical to the “mixed” formulation, originally proposed by Svedberg and Runesson [27] and used by Ekh et al. [8] in the context of crystal plasticity, when screw dislocations are ignored (or the analysis is restricted to 2D, in which case screw dislocations never appear). In such a case (63c) becomes obsolete. To show the identity, we recall the relationsFootnote 5

$$\begin{aligned} \xi _\alpha = c_\alpha g_\alpha , \,\, \delta \xi _\alpha = c_\alpha \delta g_\alpha , \,\,\text { with }\,\, c_\alpha \overset{\mathrm {def}}{=}\left( l_\alpha \right) ^2 H_{\bot ,\alpha }^{\mathrm {gra}}. \end{aligned}$$
(67)

Furthermore, we assume that \(c_\alpha \) is homogeneous. As a result, we may rephrase (63b), (63d) as

$$\begin{aligned}&\int _{\Omega } \left[ - g_\alpha \delta g_\alpha - \gamma _\alpha \left[ {\varvec{s}}_{\alpha }\cdot {{\varvec{\nabla }}}(\delta g_\alpha )\right] \right] \mathop {}\!\mathrm {d}\Omega \nonumber \\&\quad = -\int _{\Gamma _{\mathrm {u}}^{(\gamma )}} \overline{\gamma }_\alpha [{\varvec{s}}_{\alpha }\cdot {\varvec{n}}]\delta g_\alpha \mathop {}\!\mathrm {d}S \quad \forall \delta g_\alpha \in \mathbb {G}^0, \end{aligned}$$
(68a)
$$\begin{aligned}&\int _{\Omega } [ \tau _\alpha ^\mathrm {en}({\varvec{\epsilon }}[{\varvec{u}}], \underline{\gamma }) + \tau _\alpha ^\mathrm {di}- c_\alpha {\varvec{s}}_{\alpha }\cdot {{\varvec{\nabla }}}(g_\alpha )] \delta \gamma _\alpha \mathop {}\!\mathrm {d}\Omega \nonumber \\&\quad = 0 \quad \forall \delta \gamma _\alpha \in {\mathbb {T}}, \end{aligned}$$
(68b)

where we introduced the space of test functions

$$\begin{aligned} \mathbb {G}^0= \left\{ g_\alpha \in {\mathbb {H}}^1(\Omega ), \quad g_\alpha {\varvec{s}}_{\alpha }\cdot {\varvec{n}} = 0 \quad \text {on} \quad \Gamma _{\mathrm {t}}^{(\gamma )} \right\} . \end{aligned}$$
(69)

These two equations are precisely those used by Ekh et al. [8]. \(\square \)

Fig. 2
figure 2

Nested iterations for the dual formulation

5.3 Nested iteration strategy: dual variational format

Let us now return to the more general situation where \({\varvec{H}}_\alpha ^\mathrm {gra}\) is a constant, positive definite, tensor. We first choose to satisfy (54c), (54d) in the strong sense, i.e. we introduce the local residuals in each spatial point:

$$\begin{aligned} r_\alpha ^{(\gamma )}({\varvec{u}}, \underline{\gamma }, {\varvec{\xi }}_\alpha , \tau _\alpha ^\mathrm {di})&\overset{\mathrm {def}}{=}\tau _\alpha ^\mathrm {en}({\varvec{\epsilon }}[{\varvec{u}}], \underline{\gamma }) + \tau _\alpha ^\mathrm {di}- \chi [ {\varvec{\xi }}_\alpha ] \nonumber \\&= -{\varvec{D}}_\alpha ^\text {e} : {\varvec{\epsilon }}[{\varvec{u}}] + \sum _{\beta =1}^M E_{\alpha \beta } \gamma _\beta + \tau _\alpha ^\mathrm {di}- \chi [ {\varvec{\xi }}_\alpha ], \end{aligned}$$
(70a)
(70b)

The remaining residuals in (54) are treated as global:

$$\begin{aligned} R^{(u)}\big ({\varvec{u}}, \underline{\varvec{\xi }}; \delta {\varvec{u}}\big )&\overset{\mathrm {def}}{=}\int _{\Omega } {\varvec{\sigma }}\big ({\varvec{\epsilon }}[{\varvec{u}}],\underline{\gamma }\{{\varvec{u}},\underline{\varvec{\xi }}\}\big ) : {\varvec{\epsilon }}[\delta {\varvec{u}}] \mathop {}\!\mathrm {d}\Omega - l^{(u)}(\delta {\varvec{u}})\nonumber \\&= \int _{\Omega } \left[ \varvec{\mathsf {E}}^\text {e} : {\varvec{\epsilon }}[{\varvec{u}}] - \sum _{\alpha = 1}^M {\varvec{D}}_\alpha ^\text {e} \gamma _\alpha \{{\varvec{u}},\underline{\varvec{\xi }}\}\right] : {\varvec{\epsilon }}[\delta {\varvec{u}}] \mathop {}\!\mathrm {d}\Omega \nonumber \\&\qquad - l^{(u)}(\delta {\varvec{u}}), \end{aligned}$$
(71a)
$$\begin{aligned} R^{(\xi )}_\alpha ({\varvec{u}}, \underline{\varvec{\xi }}; \delta {\varvec{\xi }}_\alpha )&= \int _{\Omega } \big [ -{\varvec{g}}_\alpha ({\varvec{\xi }}_\alpha ) \cdot \delta {\varvec{\xi }}_\alpha \nonumber \\&\quad - \gamma _\alpha \{{\varvec{u}},\underline{\varvec{\xi }}\}\chi [\delta {\varvec{\xi }}_\alpha ] \big ] \mathop {}\!\mathrm {d}\Omega - l_\alpha ^{(\xi )} (\delta {\varvec{\xi }}_\alpha )\nonumber \\&= \int _{\Omega } \big [ -\frac{1}{(l_\alpha )^2} {\varvec{\xi }}_\alpha \cdot \varvec{H}_\alpha ^{*\mathrm {gra}} \cdot \delta {\varvec{\xi }}_\alpha \nonumber \\&\quad - \gamma _\alpha \{{\varvec{u}},\underline{\varvec{\xi }}\} \chi [\delta {\varvec{\xi }}_\alpha ] \big ] \mathop {}\!\mathrm {d}\Omega - l_\alpha ^{(\xi )} (\delta {\varvec{\xi }}_\alpha ). \end{aligned}$$
(71b)

The problem in (54) is thus reformulated as that of finding \({\varvec{u}}\in \mathbb {U}\), \({\varvec{\xi }}_\alpha \in \mathbb {X}\), \(\gamma _\alpha \in {\mathbb {T}}\), and \(\tau _\alpha ^\mathrm {di}\in {\mathbb {T}}\) that solve

$$\begin{aligned} R^{(u)}({\varvec{u}}, \underline{\varvec{\xi }}; \delta {\varvec{u}})&= 0 \quad \forall \delta {\varvec{u}}\in \mathbb {U}^0, \end{aligned}$$
(72a)
$$\begin{aligned} R^{(\xi )}_\alpha ({\varvec{u}}, \underline{\varvec{\xi }}; \delta {\varvec{\xi }}_\alpha )&= 0 \quad \forall \delta {\varvec{\xi }}_\alpha \in \mathbb {X}^0, \end{aligned}$$
(72b)

together with the implicit relations \(\underline{\gamma }\{{\varvec{u}}, \underline{{\varvec{\xi }}} \}\) and \(\tau _\alpha ^\mathrm {di}\{{\varvec{u}}, \underline{{\varvec{\xi }}} \}\) satisfying

$$\begin{aligned}&r^{(\gamma )}_\alpha ({\varvec{u}}, \underline{\gamma },{\varvec{\xi }}_\alpha , \tau _\alpha ^\mathrm {di}) = 0 \quad {\varvec{x}} \in \Omega , \end{aligned}$$
(73a)
$$\begin{aligned}&r_\alpha ^{(\tau )} (\gamma _\alpha , \tau _\alpha ^\mathrm {di}) = 0 \quad {\varvec{x}} \in \Omega . \end{aligned}$$
(73b)

Like in the primal format, the system in (72), (73) is conveniently solved via a nested iterations strategy:

  • Global iterations Iterations are carried out on the global fields \(z = ( {\varvec{u}}, \underline{{\varvec{\xi }}})\), while assuming that the constitutive equations that govern the fields \(\underline{\gamma }, \underline{\tau }^\mathrm {di}\) are identically satisfied when carrying out linearization of (72) in order to obtain the pertinent Algorithmic Tangent Operators.

  • Local iterations For given value of \(z^{(k)} \) in the global iteration k, iterations are carried out on (73) in order to obtain \(\underline{\gamma }, \underline{\tau }^\mathrm {di}\) for given value of \({\varvec{u}},\underline{{\varvec{\xi }}}\), i.e. \(\gamma _\alpha =\gamma _\alpha \{{\varvec{u}},\underline{{\varvec{\xi }}}\}, \tau _\alpha ^\mathrm {di}=\tau _\alpha ^\mathrm {di}\{{\varvec{u}},\underline{{\varvec{\xi }}}\}\).

A schematic figure of the nested iteration strategy and the interaction between the global and local level is shown in Fig. 2. We note that, for the dual formulation, the fields \(\tau _\alpha ^\mathrm {di}\) are purely local.

5.3.1 Linearization and algorithmic tangent tensors

The system (72) will be linearized while it is assumed that the local Eq. (73) are satisfied exactly. We thus compute the sensitivities of each \(\gamma _\alpha \) and \(\tau _\alpha ^\mathrm {di}\) for perturbations of \({\varvec{u}},\underline{{\varvec{\xi }}}\). These sensitives are defined as the directional derivatives

$$\begin{aligned} \mathrm {d}\gamma _\alpha&= (\mathrm {d}\gamma _\alpha )_{u} + \sum _{\beta =1}^M (\mathrm {d}\gamma _\alpha )_{\xi _\beta }, \end{aligned}$$
(74a)
$$\begin{aligned} \mathrm {d}\tau _\alpha ^\mathrm {di}&= (\mathrm {d}\tau _\alpha ^\mathrm {di})_u + \sum _{\beta =1}^M (\mathrm {d}\tau _\alpha ^\mathrm {di})_{\xi _\beta }. \end{aligned}$$
(74b)

where

$$\begin{aligned} (\mathrm {d}\gamma _\alpha )_{u}&= {\varvec{A}}_{\gamma _\alpha ,u} :\varvec{\epsilon }[\mathrm {d}{\varvec{u}}], \quad {\varvec{A}}_{\gamma _\alpha ,u}\overset{\mathrm {def}}{=}\sum _{\beta =1}^M (\tilde{E}^{-1})_{\alpha \beta }{\varvec{D}}_\beta ^\mathrm {e}, \end{aligned}$$
(75a)
$$\begin{aligned} (\mathrm {d}\gamma _\alpha )_{\xi _\beta }&= A_{\gamma _\alpha ,\xi _\beta } \chi [\mathrm {d}{\varvec{\xi }}_\beta ], \quad A_{\gamma _\alpha ,\xi _\beta }\overset{\mathrm {def}}{=}(\tilde{E}^{-1})_{\alpha \beta }, \end{aligned}$$
(75b)
$$\begin{aligned} (\mathrm {d}\tau _\alpha ^\mathrm {di})_u&= {\varvec{A}}_{\tau _\alpha ,u} :\varvec{\epsilon }[\mathrm {d}{\varvec{u}}], \quad {\varvec{A}}_{\tau _\alpha ,u}\overset{\mathrm {def}}{=}\frac{1}{G_\alpha } {\varvec{A}}_{\gamma _\alpha , u} \nonumber \\&= \frac{1}{G_\alpha }\sum _{\beta =1}^M (\tilde{E}^{-1})_{\alpha \beta }{\varvec{D}}_\beta ^\mathrm {e}, \end{aligned}$$
(75c)
$$\begin{aligned} (\mathrm {d}\tau _\alpha ^\mathrm {di})_{\xi _\beta }&= A_{\tau _\alpha ,\xi _\beta } \chi [\mathrm {d}{\varvec{\xi }}_\beta ], \quad A_{\tau _\alpha ,\xi _\beta }\overset{\mathrm {def}}{=}\frac{1}{G_\alpha } A_{\gamma _\alpha , \xi _\beta } \nonumber \\&= \frac{1}{G_\alpha } (\tilde{E}^{-1})_{\alpha \beta }. \end{aligned}$$
(75d)

The sensitivities in (74) are computed from linearized forms of the residual Eq. (73), as shown in Appendix 1. In (75), \(G_\alpha \) is a tangent modulus defined in (81), whereas \(\tilde{E}_{\alpha \beta }\) is a symmetric matrix defined in (86). Furthermore, we recall the definition of \({\varvec{D}}_\beta ^\mathrm {e}\) in (38a).

5.3.2 Global Newton iterations

For given value \(z^{(k)} = ({\varvec{u}}^{(k)},\underline{{\varvec{\xi }}}^{(k)})\) in the global iteration step k, we compute updated values

$$\begin{aligned} z^{(k+1)} = z^{(k)} + \Delta z \end{aligned}$$
(76)

whereby the increment \(\Delta z = (\Delta {\varvec{u}},\Delta \underline{{\varvec{\xi }}}) \in {\mathbb {Z}}^0 \overset{\mathrm {def}}{=}{\mathbb {U}}^0 \times \mathbb {X}^0\) is solved from the system

$$\begin{aligned}&\big ( R^{(u)} \big )'_u (z^{(k)}; \delta {\varvec{u}}, \Delta {\varvec{u}}) + \sum _{\beta = 1}^M \big ( R^{(u)}\big )'_{\xi _\beta } \big (z^{(k)}; \delta {\varvec{u}}, \Delta {\varvec{\xi }}_\beta \big )\nonumber \\&\quad =- R^{(u)}(z^{(k)}; \delta {\varvec{u}}), \quad \forall \delta {\varvec{u}} \in {\mathbb {U}}^0, \end{aligned}$$
(77a)
$$\begin{aligned}&\big ( R_\alpha ^{(\xi )}\big )'_{u} \big (z^{(k)}; \delta {\varvec{\xi }}_\alpha , \Delta {\varvec{u}} \big ) \nonumber \\&\qquad +\sum _{\beta = 1}^M \big ( R_\alpha ^{(\xi )} \big )'_{\xi _\beta } (z^{(k)}; \delta {\varvec{\xi }}_\alpha , \Delta {\varvec{\xi }}_\beta )\nonumber \\&\quad =- R_\alpha ^{(\xi )}(z^{(k)}; \delta {\varvec{\xi }}_\alpha ), \quad \forall \delta {\varvec{\xi }}_\alpha \in {\mathbb {X}}^0. \end{aligned}$$
(77b)

The pertinent linearized forms are given as

$$\begin{aligned} \big ( R^{(u)}\big )'_u (\bullet ; \delta {\varvec{u}}, \mathrm {d}{\varvec{u}}) = {}&\int _{\Omega } {\varvec{\epsilon }}[\delta {\varvec{u}}] : \left[ {{\mathbf {\mathsf{{E}}}}}^{\text {e}} - \sum _{\alpha ,\beta =1}^M (\tilde{E}^{-1})_{\alpha \beta } {\varvec{D}}_\alpha ^\mathrm {e}\otimes {\varvec{D}}_\beta ^\mathrm {e}\right] : \nonumber \\&{\varvec{\epsilon }}[\mathop {}\!\mathrm {d}{\varvec{u}}] \mathop {}\!\mathrm {d}\Omega , \end{aligned}$$
(78a)
$$\begin{aligned} \big ( R^{(u)}\big )'_{\xi _\beta } (\bullet ; \delta {\varvec{u}}, \mathrm {d}{\varvec{\xi }}_\beta ) ={}&- \int _{\Omega } {\varvec{\epsilon }}[\delta {\varvec{u}}] : \sum _{\alpha =1}^M {\varvec{D}}_\alpha ^\mathrm {e} (\tilde{E}^{-1})_{\alpha \beta } \chi [\mathrm {d}{\varvec{\xi }}_\beta ] \mathop {}\!\mathrm {d}\Omega , \end{aligned}$$
(78b)
$$\begin{aligned} \big ( R_\alpha ^{(\xi )}\big )'_{u} (\bullet ; \delta {\varvec{\xi }}_\alpha , \mathrm {d}{\varvec{u}}) ={}&- \int _{\Omega } \chi [\delta {\varvec{\xi }}_\alpha ] \sum _{\beta =1}^M (\tilde{E}^{-1})_{\alpha \beta }{\varvec{D}}_\beta ^\mathrm {e} : {\varvec{\epsilon }}[\mathop {}\!\mathrm {d}{\varvec{u}}] \mathop {}\!\mathrm {d}\Omega , \end{aligned}$$
(78c)
$$\begin{aligned} \big ( R_\alpha ^{(\xi )}\big )'_{{\varvec{\xi }}_\beta } (\bullet ; \delta {\varvec{\xi }}_\alpha , \mathrm {d}{\varvec{\xi }}_\beta ) ={}&- \int _{\Omega } \delta _{\alpha \beta } \delta {\varvec{\xi }}_\alpha \cdot \left[ \frac{1}{(l_\alpha )^2} {\varvec{H}}_\alpha ^{* \mathrm {gra}} \right] \cdot \mathrm {d}{\varvec{\xi }}_\beta \mathop {}\!\mathrm {d}\Omega \nonumber \\&- \int _{\Omega } \chi [\delta {\varvec{\xi }}_\alpha ] (\tilde{E}^{-1})_{\alpha \beta } \,\chi [\mathrm {d}{\varvec{\xi }}_\beta ] \mathop {}\!\mathrm {d}\Omega . \end{aligned}$$
(78d)

Remark

The symmetry, which is inherent in the use of a variational principle, is shown explicitly in (78). \(\square \)

The FE-discretized versions of (72) and (78) are given in Appendix 1.

6 Numerical results

In this section we benchmark the primal and semi-dual formulations by comparing the respective solutions for two different problems: a single crystal and a polycrystal system. The analyses are performed in two dimensions, with a plain strain assumption, and the simplified format for the gradient hardening tensors \({\varvec{H}}_\alpha ^\mathrm {gra}\) in Eq. (22) is adopted. The pertinent variational format used for the semi-dual formulation is given in Sect. 5.2. Regarding FE-interpolation, piecewise linear interpolation of all global fields on triangular meshes are used throughout.

Table 1 shows the parameter values that were used. The values \(l_\alpha \) and \(H_{\perp , \alpha }\) are chosen to be equal for each slip system which means that the subscript \(\alpha \) is obsolete, and is therefore henceforth dropped. We remark that the internal length is given in dimensionless form as l / L, where L represents the length scale of the grain structure, e.g. as shown for the single grain in Fig. 3a. However, it is important to note that the relevant measure for the numerical results is \(l^2 H_\perp \) (and not the individual values of l and \(H_{\perp }\)).

Table 1 Material parameters used in numerical examples
Fig. 3
figure 3

a Geometry of a single crystal (the coordinates are non-dimensional with respect to a reference length L). The slip directions \(\varvec{s}_1\) and \(\varvec{s}_2\) for the two slip planes are shown. b Triangular FE-mesh. The mesh density is larger close to the boundary

Fig. 4
figure 4

Amount of slip, \(\gamma _1\) (slip system 1), along the vertical line shown in Fig. 3a. The line is parameterized by the variable d ranging from 0 to 1. Results are shown for the primal and dual formulations

6.1 Single crystal

The first problem is a polyhedral single crystal with Dirichlet boundary conditions on the displacement field and microhard boundary conditions on the slip field. The shape of the crystal with an imposed mesh is shown in Fig. 3b.

Fig. 5
figure 5

Convergence of the weighted norm of the gradient fields for the primal and dual formulations

Fig. 6
figure 6

Convergence of errors in in the slips for the norm and the weighted norm respectively, for different values of the internal length l / L

The purpose of the analysis is to investigate how the solutions for the global and local fields converge with mesh refinement. In the primal formulation the slip fields \(\gamma _\alpha \) are global fields and the gradient fields \({\varvec{g}}_\alpha \) are local, while in the semi-dual formulation the slip fields are local and the micro-stress fields \({\varvec{\xi }}_\alpha \) are global. Consequently, the slip fields and the fields including the gradient of the slip are approximated differently and are, therefore, expected to converge at different rates.

We introduce two different measures of the slip fields: the norm of the slip fields denoted \(|| \underline{\gamma } ||\), and the weighted normFootnote 6 of the gradient fields, denoted \(||\underline{{\varvec{g}}}||_\mathrm {H} \), as follows:

$$\begin{aligned} || \underline{\gamma } ||= & {} \sqrt{\sum _{\alpha = 1}^M \int _{\Omega } \gamma _\alpha ^2 \mathop {}\!\mathrm {d}\Omega }, || \nonumber \\ \underline{{\varvec{g}}} ||_\mathrm {H}= & {} \sqrt{\sum _{\alpha = 1}^M \int _{\Omega } {\varvec{g}}_\alpha \cdot {\varvec{H}}_\alpha ^\text {gra} \cdot {\varvec{g}}_\alpha \mathop {}\!\mathrm {d}\Omega }. \end{aligned}$$
(79)

We note that the weighted norm pertains to the gradient part of the free energy when applied to the solution. Henceforth, we study the errors \(||\underline{\gamma } - \underline{\gamma }_h||\) and \(||\underline{{\varvec{g}}} - \underline{{\varvec{g}}}_h||_\mathrm {H}\), where \(\underline{\gamma }_h\) and \(\underline{{\varvec{g}}}_h\) are finite element approximations. In practice, the exact solution is replaced by an overkill solution on a sufficiently fine mesh. Since the overkill and the FE-solution generally live on different meshes it is not obvious how the subtraction between these fields should be carried out. The method used in this paper is to transfer the solution from the coarse mesh to the overkill mesh using the element interpolation functions for the elements and then do the pointwise subtraction on the overkill mesh.

The displacement boundary condition on the crystal is chosen as \({\bar{{\varvec{u}}}({\varvec{x}}) = 0.01 x_2 ({\varvec{e}}_1 + {\varvec{e}}_2)}\). This corresponds to vertical stretching combined with shear (on the average). The inhomogeneous Dirichlet boundary condition was applied incrementally up to a time \(t = 10\,\hbox {s}\). The crystal contains two slip systems with the slip directions oriented \(20{^{\circ }}\) and \(40^{\circ }\), respectively, counterclockwise from the \(x_1\) axis, c.f. Fig. 3a. Figure 4 shows the slip field for slip system 1 taken along a vertical line between the points (0.25, 0) and (0.25, 0.15), as shown in Fig. 3a. In the primal formulation the slip is identically zero on the boundary of the crystal, while for the dual formulations the microhard condition is not fulfilled exactly. In fact, the smaller the internal length scale the more the microhard condition is violated in the dual formulation. This is an effect of the strong vs. weak enforcement of the microhard condition in the two formulations.

Next, we consider convergence of the slip and its spatial gradient with mesh refinement. We then recall that the gradient is given as \({\varvec{g}}_\alpha \overset{\mathrm {def}}{=}{{\varvec{\nabla }}}\gamma _\alpha \) in the primal format, whereas \({\varvec{g}}_\alpha \) is an independent global field in the semi-dual format. Figure 5 shows that \(|| \underline{{\varvec{g}}} ||_\mathrm {H}\) converges from above in the primal format and from below in the semi-dual format. This behavior mimics linear elasticity based on potential energy and complementary energy, respectively.

The convergence of the slip and gradient fields is illustrated in Fig. 6. We denote the rate of convergence by the value of the exponent p in the expression \(k (h/L)^p\) where h is a characteristic length of the elements in the mesh. The slip converges at approximately twice the rate in the primal formulation as compared to the dual formulation. On the other hand, the gradient of the slip converges at approximately twice the rate in the dual formulation as compared to the primal formulation.

6.2 Parallel slip direction and grain boundary with microhard boundary conditions

It is of interest to investigate the degenerate case when the slip direction and the grain boundary are parallel. To this end, we consider a square-shaped polycrystal consisting of three grains with boundaries oriented at \(45^{\circ }\) to the \(x_1\)-axis. Each grain has a single slip system with the same slip direction for all grains.

Fig. 7
figure 7

Resulting slip field with different value of slip direction \(\alpha \). Note that \(\alpha = 45^{\circ }\) represents perfect alignment between the grain boundary and slip direction a Primal, \(\alpha = 40^{\circ }\), b Dual, \(\alpha = 40^{\circ }\), c Primal, \(\alpha = 45^{\circ }\) and d Dual, \(\alpha = 45^{\circ }\)

Fig. 8
figure 8

Convergence of the integrated magnitude of the deviatoric plastic strain for the two primal and dual formulations for slip directions \(\alpha \). The parameter h is a characteristic element length, whereas L is the side length of the polycrystal in Fig. 7

The boundary conditions on the displacement field are chosen as \({\varvec{u}}({\varvec{x}}) = 0.01 x_1 {\varvec{e}}_1\), which corresponds to horizontal stretching of the polycrystal. Microhard conditions are imposed both on the exterior boundaries of the polycrystal and along the internal grain boundaries. The resulting slip field for different values of the slip direction, \(\alpha \), is shown in Fig. 7. As the slip directions of the grain boundary and slip system coincide, the grain boundary becomes “invisible” in the dual formulation due to its weak enforcement of the microhard condition. For the primary formulation, the fact that the microhard boundary condition is enforced strongly means that the slip will always be identically zero along the grain boundary. It is of interest to see if, and how much, this fact influences the error in a homogenized quantity. The convergence in the standard \(L_2\)-norm of the deviatoric plastic strain with mesh refinement is displayed in Fig. 8 . For the primal formulation the error is quite insensitive to the slip direction, while for the dual formulation it matters more. As the difference between the direction of the grain boundary and the slip direction tends towards zero, the error increases for the primal formulation while it decreases for the dual formulation. This can be explained by the following reasoning: For the primal formulation, in the case of complete alignment between the grain boundary and slip direction, even though there is no gradient coupling perpendicular to the slip direction in the equations, the entire element adjacent to the grain boundary will be affected by the hard (Dirichlet) boundary condition. To reduce the contribution of this element the mesh has to be refined such that the elements connected to the grain boundary are small. For the dual formulation, the effect of alignment is instead that the grain boundary no longer has an effect on the solution. Recalling Eq. (64b), we see that when the slip direction and grain boundary are parallel \(({\varvec{s}}_{\alpha }\cdot {\varvec{n}} = 0)\) the load \(l_{\perp , \alpha }^{(\xi )}\) is identically equal to zero. Large elements at the boundary do, therefore, not induce a large error in the result.

While there is a large relative difference in how the two formulations behave, the absolute error is still small so this effect can likely be concluded to be insignificant from a homogenization perspective.

7 Conclusions and outlook

In this paper we have presented two different formulations of a gradient-enhanced crystal viscoelasticity model: The primary format uses the displacements and slips as global fields, whereas the dual format uses the displacements and slip gradients as global fields. When gradient effects are disregarded, the residual equations for the dual format degenerate to those typically used in local, i.e. non-gradient, crystal plasticity.

For a common special choice of the gradient hardening tensors \({\varvec{H}}_\alpha ^\text {gra}\), the gradient part of the energy is quadratic in terms of the GND densities. In this case, it turns out that the residual equations in the dual format for the microstress \({\varvec{\xi }}_\alpha \) can be reduced from a vectorial equation to one or two scalar equations in two or three dimensions, respectively, thereby saving computational time.

As to the numerical examples, we have examined the convergence rate for mesh refinement and showed that the gradient fields converge faster in the dual formulation, while slip fields converge faster in the primal formulation. Finally, we looked at the degenerate case where the grain boundary and the slip direction align. It was found that the error in the deviatoric plastic strain became significantly smaller in the dual formulation than in the primal formulation. The discrepancy was explained theoretically from the difference in type of the boundary conditions for the two formulations. The absolute error was, however, small for both formulations and it is, therefore, likely that the difference in the results for the two formulations can be ignored in practice.

Future work will focus on extending the investigation to three dimensions and thereby incorporating the influence of the screw dislocations. Further investigations should also target the upscaled / homogenized properties of polycrystals on length scales of engineering interest.