1 Introduction

The local and global behavior of materials with internal microstructures is often investigated on a (representative) volume element. Typically, periodic boundary conditions are applied on such “virtual specimens” to mimic the situation in the bulk of the material. While, in general, different types of boundary value solvers can be used to solve for mechanical equilibrium, spectral methods have been established as a powerful numerical tool especially suited for this task [for application examples see 1,2,3,4,5,6,7]. Starting from the pioneering work of Moulinec and Suquet [8], several improvements in performance and stability have been achieved for solving mechanical boundary value problems [9,10,11,12,13]. Recent advancements of using the spectral approach to solve coupled field equations enable the modeling of multi-physical phenomena such as fracture propagation, temperature evolution, chemical diffusion, and phase transformation in conjunction with the mechanical boundary value problem. The fundamentals of such a multi-physics framework, which is implemented in the Düsseldorf Advanced Materials Simulation Kit (DAMASK) [14, 15], are presented in the following together with implementation details and illustrative examples.

2 Fundamentals and Thematic Classification

Spectral methods are – like the finite element method (FEM) and the finite difference method (FDM) – algorithms to solve partial differential equations (PDEs) numerically [extensive introductions can be found in 16,17,18]. The main difference between FEM/FDM and spectral methods is the way in which the solution is approximated. The FEM takes its name from the discretization into elements on which local ansatz functions are defined. The ansatz functions of the FEM are usually polynomials of low degree (p < 5) with compact support, meaning they are non-zero only in their domain (i.e., in one element). The approximate solution on the whole domain can be computed from the assembly of the element matrices into a global matrix. The matrix links the discrete input values with the discrete output values on the sampling points. Thus, the FEM converts PDEs into algebraic equations. The resulting matrix is sparse because only a few ansatz functions are nonzero on each point. In the three-dimensional case, the elements are typically tetrahedral or hexahedral with edges of arbitrary lengths and thus can conform to arbitrarily shaped bodies. Hence, the FEM is able to approximate the solution of partial differential equations on domains with a complex shape. The FEM has low accuracy (for a given number of sampling points N) because each ansatz function is a polynomial of low degree. To achieve greater accuracy, three different modifications can be used for the FEM [17]:

  • h-refinement: Subdivide each element to improve resolution over the whole domain.

  • r-refinement: Subdivide only in regions where high resolution is needed.

  • p-refinement: Increase the degree of the polynomials in each subdomain.

In contrast, spectral methods take a global approach and approximate the whole domain by one (large) set of basis functions. Thus, spectral methods can be loosely described as an approach where p-refinement is applied, while the number of elements is limited to one. Spectral methods use global ansatz functions \( {\phi}_n\left(\boldsymbol{x}\right) \) in the form of polynomials or trigonometric polynomials of high degree p. In contrast to the low-order shape functions used in the FEM, which are zero outside their respective element, \( {\phi}_n\left(\boldsymbol{x}\right) \) are nonzero over the entire domain (except at their roots). The high order of the ansatz functions gives high accuracy for a given number of sampling points N. Since increasing N results in a combined h- and p-refinement, spectral methods show a superior convergence behavior, sometimes termed “exponential convergence”. The general procedure of approximating a function by a combination of global ansatz functions is given in Example 1. If the approximation is done using trigonometric polynomials, it is equivalent to using a Fourier series. The global approach of spectral methods has the disadvantage that nonsmooth solutions are difficult to describe.

Example 1

Discretization of an unknown function by a linear combination of ansatz functions. Taken from [17].

A function \( u(x) \) is expressed as a linear combination of global ansatz functions \( {\phi}_n(x) \). If the number of ansatz functions is limited to N + 1, the approximation reads as:

$$ u(x)\approx \sum \limits_{n=0}^N{a}_n{\phi}_n(x) $$
(1)

This series is then used to find an approximate solution of an equation in the form:

$$ L\;u(x)=f(x) $$
(2)

where L is the operator of the differential or integral equation and \( u(x) \) the unknown function. Approximate and exact solution differ only by the “residual function” defined as:

$$ R\left(x;{a}_0,{a}_1,\dots {a}_N\right)=L\left(\sum \limits_{n=0}^N{a}_n{\phi}_n(x)\right)-f(x) $$
(3)

The residual function \( R\left(x,;,, {a}_{\mathrm{n}}\right) \) is identically equal to zero for the exact solution. The different spectral methods have different approaches to minimizing the residual.

According to Boyd [17], spectral methods can be classified into “interpolating” and “noninterpolating” types. While the “noninterpolating” variants include the Galerkin method, which also is the basis for the FEM, the “interpolating” approaches approximate the solution exact at each sampling point (but only at, not in between them). Another name of the “interpolating” approach is “pseudospectral” [17].

3 Finite Strain Framework

For continuum modeling, a finite strain framework is introduced that allows to capture the shape changes of the investigated body during deformation. In that framework, \( \mathcal{B} \) denotes a body that occupies the region \( {\mathcal{B}}_0 \) in the reference configuration and \( {\mathcal{B}}_{\mathrm{t}} \) in the current configuration. The location of the material points in the reference state is given by \( \boldsymbol{x}\in {\mathcal{B}}_0 \) and in a deformed configuration by \( \boldsymbol{y}\in {\mathcal{B}}_{\mathrm{t}} \).

A deformation map \( \mathbf{\mathcal{X}}(x):\boldsymbol{x}\in {\mathcal{B}}_0\to \boldsymbol{y}\in {\mathcal{B}}_{\mathrm{t}} \) maps points x in the reference configuration to points y in the current configuration. The displacement u of a material point is the difference vector between these configurations:

$$ \boldsymbol{u}\left(\boldsymbol{x},t\right)=\mathbf{\mathcal{X}}\left(\boldsymbol{x},t\right)-\boldsymbol{x} $$
(4)

Focusing on a point in time, i.e., a fixed deformation state, allows simplifying the notation to \( \boldsymbol{u}\left(\boldsymbol{x}\right)=\mathbf{\mathcal{X}}\left(\boldsymbol{x}\right)-\boldsymbol{x} \).

A line segment dx in an infinitesimal neighborhood of a material point x is pushed forward by:

$$ \boldsymbol{y}+\mathrm{d} \boldsymbol{y}=\boldsymbol{y}+\frac{\partial \boldsymbol{y}}{\partial \boldsymbol{x}}\cdot \mathrm{d} \boldsymbol{x}+\mathcal{O}\left(\mathrm{d} {\boldsymbol{x}}^2\right). $$
(5)

Neglecting terms of higher order, dy can be expressed as:

$${\displaystyle \begin{array}{rl} {\rm d}\;\boldsymbol{y}&=\frac{\partial \boldsymbol{y}}{\partial \boldsymbol{x}}\cdot {\rm d}\;\boldsymbol{x}\\ {}&=\frac{\partial \mathbf{\mathcal{X}}\left(\boldsymbol{x}\right)}{\partial \boldsymbol{x}}\cdot {\rm d}\;\boldsymbol{x}\\ {}&=\underset{=: \mathbf{F}\left(\boldsymbol{x}\right)}{\underbrace{\nabla \mathbf{\mathcal{X}}}}\cdot {\rm d}\;\boldsymbol{x},\end{array}}$$
(6)

where \( \boldsymbol{F}\left(\boldsymbol{x}\right) \) is the deformation gradient and is the “del” operator. The deformation gradient maps the vector dx at x in the reference configuration to the vector dy at y in the current configuration.

For a moving body, the position of the material points varies with time. The material velocity field is defined as:Footnote 1

$$ {\displaystyle \begin{array}{c}\boldsymbol{v}=\frac{\mathrm{d} \boldsymbol{u}\left(\boldsymbol{x}\right)}{\mathrm{d} t}\\ {}=\dot{\boldsymbol{u}}\\ {}=\dot{\mathcal{X}}.\end{array}} $$
(7)

\( \dot{\boldsymbol{u}}=\dot{\mathbf{\mathcal{X}}} \) holds because the points in the reference configuration do not change their position, i.e., dx/dt = 0. The spatial gradient of the velocity field is

$$ \boldsymbol{L}=\frac{\partial \boldsymbol{v}}{\partial \boldsymbol{y}}, $$
(8)

where L is called the velocity gradient . Using the chain rule, it can be expressed as

$$ \boldsymbol{L}=\dot{\boldsymbol{F}}{\boldsymbol{F}}^{-1}. $$
(9)

3.1 Constitutive Modeling

The modeling approach followed here is based on the work of Shanthraj et al. [19]. The deformation gradient introduced in Eq. (6) is multiplicatively decomposed as

$$ \boldsymbol{F}={\boldsymbol{F}}_{\mathrm{e}}{\boldsymbol{F}}_{\mathrm{i}}{\boldsymbol{F}}_{\mathrm{p}}, $$
(10)

where Fp is a lattice preserving deformation to the plastic configuration, Fi is a lattice distorting, but stress-free, inelastic deformation, e.g., thermal expansion, to the inelastic configuration, and Fe is an elastic deformation to the deformed configuration.

The Green–Lagrange strain Ee in the lattice (plastic) configuration is obtained from Fe and Fi as

$$ {\boldsymbol{E}}_{\mathrm{e}}=\frac{1}{2}{{\boldsymbol{F}}_{\mathrm{i}}}^{\mathrm{T}}\left({{\boldsymbol{F}}_{\mathrm{e}}}^{\mathrm{T}}{\boldsymbol{F}}_{\mathrm{e}}-\boldsymbol{I}\right){\boldsymbol{F}}_{\mathrm{i}} $$
(11)

and is work conjugate with the second Piola–Kirchhoff stress tensor Sp in the lattice configuration. Thus, Sp depends on Fe and Fi. For small elastic strains, Hookean elasticity can be assumed, and, therefore, Sp depends on the elastic Green–Lagrange strain through the anisotropic elastic stiffness ℂ.

$$ {\boldsymbol{S}}_{\mathrm{p}}=\mathrm{\mathbb{C}} {\boldsymbol{E}}_{\mathrm{e}}=\mathrm{\mathbb{C}}\frac{1}{2}{{\boldsymbol{F}}_{\mathrm{i}}}^{\mathrm{T}}\left({{\boldsymbol{F}}_{\mathrm{e}}}^{\mathrm{T}}{\boldsymbol{F}}_{\mathrm{e}}-\boldsymbol{I}\right){\boldsymbol{F}}_{\mathrm{i}}. $$
(12)

The second Piola–Kirchhoff stress tensor in the unloaded (inelastic) configuration is related to Sp by

$$ {\boldsymbol{S}}_{\mathrm{i}}={\boldsymbol{F}}_{\mathrm{i}}{\boldsymbol{S}}_{\mathrm{p}}{{\boldsymbol{F}}_{\mathrm{i}}}^{\mathrm{T}} \det {{\boldsymbol{F}}_{\mathrm{i}}}^{-1} $$
(13)

and Sp is related to the first Piola–Kirchoff stress tensor P through

$$ \boldsymbol{P}={\boldsymbol{F}}_{\mathrm{e}}{\boldsymbol{F}}_{\mathrm{i}}{\boldsymbol{S}}_{\mathrm{p}}{{\boldsymbol{F}}_{\mathrm{p}}}^{-\mathrm{T}}=\boldsymbol{F}\ {{\boldsymbol{F}}_{\mathrm{p}}}^{-1}{\boldsymbol{S}}_{\mathrm{p}}{{\boldsymbol{F}}_{\mathrm{p}}}^{-\mathrm{T}}. $$
(14)

The plastic deformation gradient is given in terms of the plastic velocity gradient Lp by the flow rule

$$ {\dot{\boldsymbol{F}}}_{\mathrm{p}}={\boldsymbol{L}}_{\mathrm{p}}{\boldsymbol{F}}_{\mathrm{p}}, $$
(15)

where Lp is work conjugate with the Mandel stress in the lattice configuration, Mp ≈ FiT Fi Sp (assuming FeTFe ≈ I), and thus depends on Fi and Sp. In addition, Lp depends on the underlying microstructure represented by a state variable vector ξ of the plasticity model and possibly other variables such as strain rate and/or temperature. For example, a conventional viscoplastic phenomenological crystal plasticity model for face-centered cubic lattices [20, 21] provides Lp based on the assumption that plastic slip γ occurs on a slip system α when the resolved shear stress τα exceeds a critical value ξα. The critical shear stress on each slip system is assumed to evolve from an initial value ξ0 to a saturation value ξ due to slip on all 〈011〉{111} systems β = 1, …, 12 according to the relation \( {\dot{\xi}}^{\alpha }={h}_0\left|{\dot{\gamma}}^{\beta}\right|{\left|1-{\xi}^{\beta }/{\xi}_{\infty}^{\beta}\right|}^{\alpha}\operatorname{sgn}\left(1-{\xi}^{\beta }/{\xi}_{\infty}^{\beta}\right){h}_{\alpha \beta} \) with initial hardening h0, interaction coefficients hαβ, and a numerical parameter a. The shear rate on system α is then computed as \( {\dot{\gamma}}^{\alpha }={\dot{\gamma}}_0{\left|{\tau}^{\alpha }/{\xi}^{\alpha}\right|}^n\operatorname{sgn}\left({\tau}^{\alpha }/{\xi}^{\alpha}\right) \) with the stress exponent (inverse shear rate sensitivity) n and reference shear rate \( {\dot{\gamma}}_0 \). The sum of the shear rates on all systems finally determines the plastic velocity gradient.

Similarly, the inelastic deformation gradient is given in terms of the inelastic velocity gradient Li by the flow rule

$$ {\dot{\boldsymbol{F}}}_{\mathrm{i}}={\boldsymbol{L}}_{\mathrm{i}}{\boldsymbol{F}}_{\mathrm{i}}, $$
(16)

where Li is work conjugate with the Mandel stress in the unloaded configuration, Mi ≈ Si = Fi Sp FiT det Fi−1 (assuming F e T F e I), and thus depends on Fi and Sp. Similar to Lp, internal state variables Ξ introduce a history-dependent behavior.

The set of nonlinear Eqs. (10) to (16) is solved iteratively in DAMASK using a Newton–Raphson method. More details about the implementation are given by Shanthraj et al. [19].

The time integration of the state evolution is performed in a staggered step to the iterative solution of Eqs. (10) to (16), i.e., Eqs. (10) to (16) are solved at a fixed internal state, followed by a state update, the solution of Eqs. (10) to (16), and so forth until a converged solution is achieved within the tolerance limits specified.

4 Formulation/Solution Strategy

In material mechanics, a spectral method using fast Fourier transforms (FFT) was introduced by Moulinec and Suquet [8]. Since it uses trigonometric polynomials as ansatz functions, its application is limited to periodic boundary conditions. It is based on reformulating the PDE into an integral equation with the help of a “reference” stiffness and falls into the class of “pseudospectral” methods. Lebensohn [22] extended the method to the context of crystal viscoplasticity and showed the capabilities of this approach as well as several applications in a number of studies [23, 24]. Crystal plasticity-based constitutive laws have been successfully employed by, e.g., Lebensohn et al. [25], Suquet et al. [2], and Grennerat et al. [26]. Simulations of heterogeneous materials, however, are limited by the slow convergence of the original fixed-point iterative method when it is applied to materials with a large contrast in the local stiffness [27]. Several approaches have been proposed to overcome this limitation. Accelerated schemes have been introduced by Eyre and Milton [28] and Monchiet and Bonnet [9] for materials with large property contrasts. Michel et al. [27] suggested a method based on augmented Lagrangians that also works in the case of materials with infinite property contrast. Using the original formulation and substituting the fixed-point method by advanced solution methods is another option to improve convergence as shown by Zeman et al. [12] and Brisard and Dormieux [29]. A systematic comparison to FEM approaches is given in [13, 30, 31].

The application of this approach to possibly time-dependent and interacting field equations representing coupled multi-physics systems has been relatively unexplored (see [32] for applications other than mechanical equilibrium). To address this shortcoming, recent work [19, 33] has focused on extending the spectral solution scheme for the time-dependent, reaction-diffusion equation, which is representative of several field equations of interest, such as thermal conduction, nonlocal damage, and more general phase-field equations.

4.1 Mechanics

The spectral method formulation given here has been presented by Eisenlohr et al. [34] and was improved by Shanthraj et al. [35]. It is based on Lahellec et al. [36] finite-strain extension of the original small-strain variant. To start, the deformation map \( \mathbf{\mathcal{X}}\left(\boldsymbol{x}\right) \) is expressed as a sum of a homogeneous deformation, characterized by a constant deformation gradient \( \overline{\boldsymbol{F}} \), and a superimposed deformation fluctuation field \( \tilde{\boldsymbol{w}} \),

$$ \mathbf{\mathcal{X}}\left(\boldsymbol{x}\right)=\overline{\boldsymbol{F}}\boldsymbol{x}+\tilde{\boldsymbol{w}}\left(\boldsymbol{x}\right), $$
(17)

for which periodicity conditions hold, i.e., \( {\tilde{\boldsymbol{w}}}^{-}={\tilde{\boldsymbol{w}}}^{+} \) on corresponding surfaces \( \mathit{\partial}{\mathcal{B}}^{-} \) and \( \mathit{\partial}{\mathcal{B}}^{+} \) on \( \mathcal{B} \).

Equation (17) allows writing the deformation gradient F as the sum of a spatially homogeneous deformation part \( \overline{\boldsymbol{F}} \) and a locally fluctuating component \( \tilde{\boldsymbol{F}} \):

$$ \boldsymbol{F}=\overline{\boldsymbol{F}}+\tilde{\boldsymbol{F}}. $$
(18)

The material response given in Eq. (14) is formally written as a relation between F and P through a strain energy density functional, \( \mathcal{W} \):

$$ \boldsymbol{P}\left(\boldsymbol{x}\right)=\frac{\delta \mathcal{W}}{\delta \boldsymbol{F}\left(\boldsymbol{x}\right)}=\boldsymbol{f}\left(\boldsymbol{x},\boldsymbol{F},\boldsymbol{\xi}, \boldsymbol{\varXi}, \dots \right). $$
(19)

The equilibrated deformation field is obtained by minimizing \( \mathcal{W} \) over all deformation fields that fulfill Eq. (17) for an externally prescribed average deformation. Static equilibrium expressed in real and FourierFootnote 2space follows as:

$$ \underset{\mathbf{\mathcal{X}}}{\min}\mathcal{W}\Rightarrow \nabla \cdot \boldsymbol{P}\left(\boldsymbol{x}\right)={\mathcal{F}}^{-1}\left[\boldsymbol{P}\left(\boldsymbol{k}\right) i \boldsymbol{k}\right]=\mathbf{0}, $$
(20)

which is equivalent to finding the root of the residual body force field

F X k P k ik=0.
(21)

The differential Eq. (21) in Fourier space is numerically difficult to solve because of its high condition number. Introducing, in the spirit of Eshelby and Mura [37], a linear comparison material of stiffness \( \mathbb{D} \) allows reformulation of Eq. (21) into an equivalent problem \( \boldsymbol{P}\left(\boldsymbol{x}\right)=\mathbb{D}\boldsymbol{F}\left(\boldsymbol{x}\right)=\mathbb{D}{\nabla}_{\mathbf{\mathcal{X}}} \) with better numerical properties, i.e., a lower condition number. Equilibrium in this reference material is fulfilled if, for a given deformation map \( \mathcal{X} \), the residual body force field vanishes

$$ \mathcal{P}\left[\mathbf{\mathcal{X}}\left(\boldsymbol{k}\right)\right]:= \mathbb{D}\left[\mathbf{\mathcal{X}}\left(\boldsymbol{k}\right)\otimes i\;\boldsymbol{k}\right]\;i\;\boldsymbol{k}=\boldsymbol{A}\left(\boldsymbol{k}\right)\mathbf{\mathcal{X}}\left(\boldsymbol{k}\right)=\mathbf{0}. $$
(22)

The acoustic tensor \( \boldsymbol{A}\left(\boldsymbol{k}\right) \) is a shorthand notation for \( \boldsymbol{A}\left(\boldsymbol{k}\right)\boldsymbol{a}\left(\boldsymbol{k}\right):= \mathbb{D}\left[\boldsymbol{a}\left(\boldsymbol{k}\right)\otimes i\;\boldsymbol{k}\right]\;i\;\boldsymbol{k} \) for any given vector field \( \boldsymbol{a}\left(\boldsymbol{k}\right) \). It corresponds to an operator on a deformation map producing the body forces resulting in the reference material. The inverse A−1 therefore gives the deformation map that would result from a known body force field in the reference material. This deformation map vanishes iff the body force field vanishes, i.e., in static equilibrium for a positive-definite \( \mathbb{D} \). Next, an operator that results in the deformation map causing the same body force field in the reference material as a given deformation map in the original material is defined. This corresponds to a preconditioning operation of \( {\mathcal{P}}^{-1} \) on the non-linear operator F.Pis straightforward to invert since it is local in k, with \( {\mathcal{P}}^{-1}=\boldsymbol{A}{\left(\boldsymbol{k}\right)}^{-1} \). The preconditioned system thus reads (∀k ≠ 0):

P 1 F X k =A k 1 P k ik=0.
(23)

The deformation gradient field corresponding to this deformation map is obtained from the gradient in real space of Eq. (23)

P 1 F X k ik= A k 1 P k i k ik=0.
(24)

This is equivalent to Eq. (23) except for a constant residual field, i.e., at k = 0, where the prescribed average deformation gradient is known to hold. Expressed in terms of the deformation gradient field, Eq. (24), reads

F mech F k Γ k P k =0,
(25)

where the “Gamma operator” \( \boldsymbol{\Gamma} \left(\boldsymbol{k}\right) \) is defined as a shorthand notation such that \( \boldsymbol{\Gamma} \left(\boldsymbol{k}\right) \)T(k) ≔ [\( \boldsymbol{A}\left(\boldsymbol{k}\right) \)−1\( \boldsymbol{T}\left(\boldsymbol{k}\right) \)ik] ⊗ ik for a tensor field \( \boldsymbol{T}\left(\boldsymbol{k}\right) \).

Other solution approaches based on a mixed variational formulation with improved numerical stability have been presented. A general large-strain framework has been introduced by Shanthraj et al. [35] and improved small-strain formulations can be found in [9, 27, 28, 38].

4.2 Thermo-mechanics

Thermal equilibrium describes a state where zero net heat flux occurs within a material volume. However, during a material deformation process heat may be generated, which perturbs the system from its thermal equilibrium state. The initial value problem associated with non-steady-state heat conduction takes the form:

$$ \upvarrho {C}_{\mathrm{p}}\dot{T}={f}_{\mathrm{temp}}-\mathrm{Div}\ H. $$
(26)

The mass density ϱ, heat capacity Cp, heat flux H, and heat generation rate ftemp are provided by the material point model. Constitutive modeling of the heat flux is based on Fourier’s law, where a thermal conductivity tensor relates the temperature gradient with the heat flux, i.e., H = − K∇T. In addition, the main considerations for thermo-mechanical coupling are incorporating thermal expansion strains and heat generation due to plastic dissipation. The rate of thermal expansion is modeled here as an inelastic velocity gradient, \( {\boldsymbol{L}}_{\mathrm{i}}=\alpha \dot{T}\boldsymbol{I} \), where α is the coefficient of thermal expansion, and the heat generation rate due to plastic dissipation is modeled as \( {f}_{\mathrm{temp}}=\kappa {\boldsymbol{M}}_{\mathrm{p}}{\dot{\boldsymbol{L}}}_{\mathrm{p}} \) based on a fraction of dissipated work, κ.

The spectral formulation presented in the Sect. 4.1 can be also used to solve this initial value problem. A backward Euler time discretization is used to express the time dependent Eq. (26) in the following semi-discrete form:

$$ \upvarrho {C}_{\mathrm{p}}\frac{T\left(\boldsymbol{x},t\right)-T\left(\boldsymbol{x},{t}_0\right)}{\varDelta t}={f}_{\mathrm{temp}}\left(\boldsymbol{x}\right)-\mathrm{Div}\ H\left(\boldsymbol{x}\right). $$
(27)

The flux H, is additively split into a linear homogeneous term and a fluctuating field:

$$ H\left(\boldsymbol{x}\right)=-\overline{\boldsymbol{K}}\nabla T\left(\boldsymbol{x},t\right)-{\tilde{\tau}}_{\mathrm{temp}}\left(\boldsymbol{x}\right), $$
(28)

where \( \overline{\boldsymbol{K}} \) is a defined homogeneous reference conductivity tensor, similar to the reference stiffness tensor introduced in Sect. 4.1. Similarly, the coefficients ϱ CP, are split into spatially averaged and fluctuating parts, i.e., \( \upvarrho\ {C}_{\mathrm{P}}=\overline{\upvarrho\ {C}_{\mathrm{P}}}+\tilde{\upvarrho\ {C}_{\mathrm{P}}} \). With these definitions, Eq. (27) can be expressed in Fourier space as

$$ \left(\overline{\upvarrho\ {C}_{\mathrm{P}}}+\varDelta t\boldsymbol{k}\cdot \overline{\boldsymbol{K}}\boldsymbol{k}\right)T\left(\boldsymbol{k},t\right)={\tau}_{\mathrm{temp}}\left(\boldsymbol{k}\right), $$
(29)

where the thermal polarization field \( {\tau}_{\mathrm{temp}}\left(\boldsymbol{x}\right) \), which implicitly depends on \( T\left(\boldsymbol{x},,,, t\right) \), is given by

$$ {\tau}_{\mathrm{temp}}\left(\boldsymbol{x}\right)=\varDelta t\left({f}_{\mathrm{temp}}\left(\boldsymbol{x}\right)+\mathrm{Div}{\tilde{\tau}}_{\mathrm{temp}}\left(\boldsymbol{x}\right)\right)+\varrho {C}_{\mathrm{P}}T\left(\boldsymbol{x},{t}_0\right)-\varrho {C}_{\mathrm{P}}T\left(\boldsymbol{x},t\right). $$
(30)

The solution of the thermal initial value problem can therefore be expressed as the root of the following residual function

F temp φ k t T k t G k τ temp k =0,
(31)

where \( {\boldsymbol{G}}^{-1}\left(\boldsymbol{k}\right)=\overline{\upvarrho\ {C}_{\mathrm{p}}}+\varDelta t\boldsymbol{k}\cdot \overline{\boldsymbol{K}}\boldsymbol{k} \).

4.3 Damage-Mechanics

The prediction of crack initiation and propagation in a material is of critical importance in many applications. The field of Continuum Damage Mechanics [39, 40] and the Phase-Field Method for Fracture [33, 41, 42] have emerged as powerful and versatile tools to model the nonlocal damage evolution process.

A scalar nonlocal damage variable φ is introduced, which indicates a phase transition between undamaged, i.e., φ = 1, and fully damaged regions, i.e., φ = 0. The initial value problem associated with the evolution of Φ takes the general form:

$$ \mu \dot{\varphi}={f}_{\mathrm{damage}}-\mathrm{Div}\ \varPhi . $$
(32)

The damage viscosity μ, flux Φ, and driving force fdamage are provided by the material point model. Constitutively, the flux is related to the energy of a newly created crack surface [41], and is given by the classical form, \( \varPhi =-\mathcal{G}{l}_{\mathrm{c}}\nabla \varphi \) in terms of the surface tension \( \mathcal{G} \) and a length scale parameter lc. Similarly, the driving force for fracture, fdamage, is a competition between surface tension and elastic energy release, and is modeled as \( {f}_{\mathrm{damage}}=\mathcal{G}/{l}_{\mathrm{c}}-\varphi {\boldsymbol{S}}_{\mathrm{p}}\cdot {\boldsymbol{E}}_{\mathrm{e}} \). Here, it is assumed that the dissipation due to the damage process occurs in the form of a stiffness degradation. Therefore, the elastic constitutive law, Eq. (12), is modified as Sp = φ2Ee.

Similar to the thermo-mechanical case, a spectral method can be formulated to solve the damage initial value problem. A backward Euler time discretization is used to express the time-dependent Eq. (32) in the following semi-discrete form:

$$ \mu \frac{\varphi \left(\boldsymbol{x},t\right)-\varphi \left(\boldsymbol{x},{t}_0\right)}{\varDelta t}={f}_{\mathrm{damage}}\left(\boldsymbol{x}\right)-\mathrm{Div}\ \varPhi \left(\boldsymbol{x}\right). $$
(33)

The flux Φ is additively split into a linear homogeneous term and a fluctuating field:

$$ \varPhi \left(\boldsymbol{x}\right)=-\overline{\boldsymbol{D}}\nabla \varphi \left(\boldsymbol{x},t\right)-{\tilde{\tau}}_{\mathrm{damage}}\left(\boldsymbol{x}\right), $$
(34)

where \( \overline{\boldsymbol{D}} \) is a defined homogeneous reference diffusion tensor. Similarly, the damage viscosity μ is split into spatially averaged and fluctuating parts, i.e., \( \mu =\overline{\mu}+\tilde{\mu} \). With these definitions, Eq. (33) can be expressed in Fourier space as

$$ \left(\overline{\mu}+\varDelta t\boldsymbol{k}\cdot \overline{\boldsymbol{D}}\boldsymbol{k}\right)\varphi \left(\boldsymbol{k},t\right)={\tau}_{\mathrm{damage}}\left(\boldsymbol{k}\right), $$
(35)

where the damage polarization field \( {\tau}_{\mathrm{damage}}\left(\boldsymbol{x}\right) \), which implicitly depends on \( \varphi \left(\boldsymbol{x},,,, t\right) \), is given by

$$ {\tau}_{\mathrm{damage}}\left(\boldsymbol{x}\right)=\varDelta t\;\left({f}_{\mathrm{damage}}\left(\boldsymbol{x}\right)+\mathrm{Div}\ {\tilde{\tau}}_{\mathrm{damage}}\left(\boldsymbol{x}\right)\right)+\mu\;\varphi \left(\boldsymbol{x},{t}_0\right)-\tilde{\mu}\;\varphi \left(\boldsymbol{x},t\right). $$
(36)

The solution of the damage initial value problem can therefore be expressed as the root of the following residual function

F damage φ k t φ k t G k τ damage k =0,
(37)

where \( {\boldsymbol{G}}^{-1}\left(\boldsymbol{k}\right)=\overline{\mu}+\varDelta t\boldsymbol{k}\cdot \overline{\boldsymbol{D}}\boldsymbol{k} \).

5 Implementation

In the following, the implementation of the methods presented in the previous sections in DAMASK is concisely presented.

5.1 Fast Fourier Transform

The problems are discretized to employ a discrete Fourier transform (DFT). For that, the hexahedral domain \( {\mathcal{B}}_0 \) with side lengths dx, dy, dz is discretized into a regular grid of Nx × Ny × Nz = N points. The solution field is approximated in the discrete Fourier space associated with this real space grid. To achieve a reasonable performance, the FFT is used. The term FFT refers to a group of algorithms that compute the DFT in \( \mathcal{O} \left(N,, \log,, N\right) \) operations. A free FFT implementation that has shown an excellent performance is the Fastest Fourier Transform in the West (FFTW) developed by Frigo and Johnson [43]. To save memory and computation time, the complex conjugate symmetry resulting from the purely real-valued input data is exploited.

5.2 Calculation of Gradients

While the fields of deformation, temperature, and damage are necessarily continuous, their spatial gradients are allowed to be discontinuous, e.g., across phase boundaries. A numerical artifact associated with Fourier representations of such discontinuous fields is the development of spurious oscillations, and is referred to as the Gibbs phenomenon. This can deteriorate the performance of the solution schemes as well as the quality of the solution [44]. Various techniques exist to reduce its effects, such as a low-pass filter to effectively dampen high-frequency modes associated with the spurious oscillations [45]. As outlined by Willot [46] and Kaßbohm et al. [47], finite difference approximations of the gradient fields can be easily obtained in Fourier space that also reduce such spurious oscillations.

As introduced in Sect. 4.1, the gradient ∇f of a field \( f\left(\boldsymbol{x}\right) \) is expressed in Fourier space as \( f\left(\boldsymbol{k}\right)\otimes \tilde{\boldsymbol{k}} \). Working with continuous derivatives results in the straightforward relation \( \tilde{\boldsymbol{k}}=i\boldsymbol{k}. \) The forward-backward (FWBW) finite difference variant introduced by Willot [46] reads then as:

$$ {\tilde{k}}_1=\frac{N_x}{4{d}_x}\left({e}^{i{k}_1}-1\right)\left({e}^{i{k}_2}+1\right)\left({e}^{i{k}_3}+1\right), $$
(38a)
$$ {\tilde{k}}_2=\frac{N_y}{4{d}_y}\left({e}^{i{k}_1}+1\right)\left({e}^{i{k}_2}-1\right)\left({e}^{i{k}_3}+1\right), $$
(38b)
$$ {\tilde{k}}_3=\frac{N_z}{4{d}_z}\left({e}^{i{k}_1}+1\right)\left({e}^{i{k}_2}+1\right)\left({e}^{i{k}_3}-1\right). $$
(38c)

An exhaustive discussion on alternative finite difference schemes applicable for this purpose has been carried out by Schneider et al. [48].

5.3 Reference Stiffness

The choice of the reference stiffness has a strong influence on the stability and convergence rate as shown by Michel et al. [27]. In the absence of an analytic expression for the large strain formulation, similar to Michel et al. [27], the reference stiffness \( \mathbb{D} \) for the mechanical problem is selected as

$$ \mathbb{D}=\frac{1}{2}\left(\arg \max {\left\Vert \frac{\mathrm{d}\ \boldsymbol{P}}{\mathrm{d}\ \boldsymbol{F}}\left(\boldsymbol{x}\right)\right\Vert}_{\mathrm{F}}+\arg \min {\left\Vert \frac{\mathrm{d}\ \boldsymbol{P}}{\mathrm{d}\ \boldsymbol{F}}\left(\boldsymbol{x}\right)\right\Vert}_{\mathrm{F}}\right). $$
(39)

Similarly, the choices for the reference thermal conductivity and damage gradient tensors are made as

$$ {\displaystyle \begin{array}{c}\overline{\boldsymbol{K}}=\frac{1}{2}\left(\arg \max {\left\Vert \boldsymbol{K}\left(\boldsymbol{x}\right)\right\Vert}_{\mathrm{F}}+\arg \min {\left\Vert \boldsymbol{K}\left(\boldsymbol{x}\right)\right\Vert}_{\mathrm{F}}\right)\\ {}\overline{\boldsymbol{D}}=\frac{1}{2}\left(\arg \max {\left\Vert \mathcal{G}\left(\boldsymbol{x}\right){l}_{\mathrm{c}}\boldsymbol{I}\right\Vert}_{\mathrm{F}}+\arg \min {\left\Vert \mathcal{G}\left(\boldsymbol{x}\right){l}_{\mathrm{c}}\boldsymbol{I}\right\Vert}_{\mathrm{F}}\right).\end{array}} $$
(40)

Note that, unlike in the small-strain mechanical case, such convenient choice of the reference tensors does not guarantee convergence.

5.4 Boundary and Initial Conditions

The applied boundary conditions on \( \mathcal{B} \) are volume averages, i.e., for the mechanical boundary value problem \( \overline{\boldsymbol{F}} \) is set to the applied load FBC. To do this, the desired change of FBC is conveniently expressed in rate form, i.e., \( {\boldsymbol{F}}_{\mathrm{BC}}={\dot{\boldsymbol{F}}}_{\mathrm{BC}} \varDelta t \) for a given time increment of length Δt. In order to allow the (component-wise) prescription of stress boundary conditions PBC, an iterative adjustmentFootnote 3 of FBC needs to be done until the stress boundary conditions are fulfilled. Within Δt, the volume element is then subjected to a set of complementary boundary conditions in terms of deformation rate \( {\dot{\boldsymbol{F}}}_{\mathrm{BC}} \) and stress PBC, where stress boundary conditions must not allow for rigid body rotations. Components of both are mutually exclusive and, when not defined, set to zero in the following. These mixed boundary conditions are translated into pure deformation boundary conditions at iteration n + 1 by setting

$$ {\left\{{\boldsymbol{F}}_{\mathrm{BC}}\right\}}_{n+1}={\left\{\overline{\boldsymbol{F}}\right\}}_{n=0}+{\dot{\boldsymbol{F}}}_{\mathrm{BC}} \varDelta t-{\left\{\overline{\left(\frac{\partial \boldsymbol{F}}{\partial \boldsymbol{P}}\right)}\right\}}_n\left({\left\{\overline{\boldsymbol{P}}\right\}}_n-{\boldsymbol{P}}_{\mathrm{BC}}\right). $$
(41)

The last term in Eq. (41) corrects for deviations from the prescribed stress boundary conditions. The average compliance \( \overline{\partial \boldsymbol{F}/\partial \boldsymbol{P}} \) is estimated from the local responses P/F [34]. An approach how to define boundary conditions rotated to the discretization of \( \mathcal{B} \) has recently been presented by Kabel et al. [49]. In contrast to the mechanical boundary value problem, the initial value problems describing temperature and damage require specification of their respective field values \( T\left(\boldsymbol{x},,,, 0\right) \) and \( \varphi \left(\boldsymbol{x},,,, 0\right) \).

5.5 Numerical Solution

Nonlinear solution methods are required to solve the resulting systems of discretized equations. While originally a fix-point scheme was employed for that [50], more recent approaches use more advanced solving techniques [12, 51]. DAMASK allows the use of solvers provided by the PETSc framework developed by Balay et al. [52].

Shanthraj et al. [35] compared three solution methods implemented in PETSc: the nonlinear Richardson method [53], the nonlinear GMRES method [54], and the inexact Newton-GMRES method [55]. In these methods, an existing solution {□}n at iteration n is iteratively improved until the prescribed convergence criteria are satisfied. Here, the notation {□} is used as a placeholder that represents {\( \boldsymbol{F}\left(\boldsymbol{x}\right) \)} for the mechanical problem, {\( T\left(\boldsymbol{x}\right) \)} for the thermal problem, or {φ(x)} for the damage problem.

5.5.1 Nonlinear Richardson

The nonlinear Richardson method iteratively improves a solution {□}n found at iteration n through the update

n + 1 = n F n .
(42)

5.5.2 Nonlinear GMRES

In the nonlinear GMRES method an updated solution {□}n + 1 is found as the linear combination of the m previous solutions spanning a Krylov subspace \( {\mathcal{K}}_n=\mathrm{span}\ \left\{{\left\{\square \right\}}_n,\cdots, {\left\{\square \right\}}_{n-m+1}\right\} \) for which the norm of the linearized residual is minimal

min n + 1 K n F n n + 1 n + F n 2 .
(43)

This residual is approximated by PETSc in a Jacobian-free way [54].

5.5.3 Inexact Newton-GMRES

In Newton methods, an existing solution {□}n is incrementally updated to {□}n + 1 = {□}n + {Δ□}n with each Newton step given by

F n Δ n = F n F n Δ n + F n 2 = 0 .
(44)

To increase the efficiency of such an algorithm, Eq. (44) is solved only in an inexact fashion:

F n Δ n + F n 2 η n F n 2 ,
(45)

where the tolerance for a vanishing norm of the residual is gradually tightened, i.e., ηn → 0, with increasing iteration count n [56].

Within each Newton iteration, the typically large linear system Eq. (45) is solved for {Δ□}n by means of the GMRES method where the kth GMRES iterate of the Newton step is given by

min Δ n k K k F n Δ n k + F n 2
(46)

where K k =span F n Δ n k 1 F n Δ n k m

and K 0 =span F n . Since the discretization of the Jacobian is dense and numerically difficult to handle, a finite difference approximation

F n Δ n k F n + ϵ Δ n k F n ϵ
(47)

is used to update the Krylov subspace \( {\mathcal{K}}_k \).

5.6 Algorithm

For a given time interval Δt = t − t0, the solution for individual fields can be found iteratively as described in Sect. 5.5. The multi-physics coupling approach followed in this work involves solving the coupled system Eqs. (25), (31), and (37) within a staggered iterative loop until a consistent solution, within specified tolerances, is achieved for the time interval. The procedure is detailed in Algorithm 1. The advantage of such a staggered approach is that the solution scheme of each field can be described independently.

Algorithm 1 Staggered Algorithm for Multi-physics Coupling in [t0, t]

Data: \( \boldsymbol{F}\left(\boldsymbol{x},{t}_0\right) \), \( T\left(\boldsymbol{x},{t}_0\right) \), \( \varphi \left(\boldsymbol{x},{t}_0\right) \)

Result: \( \boldsymbol{F}\left(\boldsymbol{x},t\right) \), \( T\left(\boldsymbol{x},t\right) \), \( \varphi \left(\boldsymbol{x},t\right) \)

1 Initialization:

$$ {\displaystyle \begin{array}{l}{\boldsymbol{F}}^0\left(\boldsymbol{x},t\right)=\boldsymbol{F}\left(\boldsymbol{x},{t}_0\right),\\ {}{T}^0\left(\boldsymbol{x},t\right)=T\left(\boldsymbol{x},{t}_0\right),\\ {}{\varphi}^0\left(\boldsymbol{x},t\right)=\varphi \left(\boldsymbol{x},{t}_0\right)\\ {}j=1\end{array}} $$

2 while

$$ {\left\Vert {T}^j\left(\boldsymbol{x},t\right)-{T}^{j-1}\left(\boldsymbol{x},t\right)\right\Vert}_2\ge {\upepsilon}_{\mathrm{temp}}^{\mathrm{stag}}\;\mathrm{and}\;{\left\Vert {\varphi}^j\left(\boldsymbol{x},t\right)-{\varphi}^{j-1}\left(\boldsymbol{x},t\right)\right\Vert}_2\ge {\upepsilon}_{\mathrm{damage}}^{\mathrm{stag}} \mathbf{do} $$
3 4 5 6 solve F mech F j x t = 0 using T j 1 x t and φ j 1 x t ; solve F temp T j x t = 0 using F j x t and φ j 1 x t ; solve F damage φ j x t = 0 using F j x t and T j x t ; j = j + 1

7 end

8

\( {\displaystyle \begin{array}{l}\boldsymbol{F}\left(\boldsymbol{x},t\right)={\boldsymbol{F}}^j\left(\boldsymbol{x},{t}_0\right)\\ {}T\left(\boldsymbol{x},t\right)={T}^j\left(\boldsymbol{x},{t}_0\right)\\ {}\varphi \left(\boldsymbol{x},t\right)={\varphi}^j\left(\boldsymbol{x},{t}_0\right)\end{array}} \)

5.7 Convergence Criteria

To ensure that the resulting stress field is in equilibrium, the Root Mean Square (RMS) value of the divergence of the stress field is reduced below a prescribed tolerance. The corresponding equilibrium criterion reads:

$$ {\displaystyle \begin{array}{l}\max \left({\varepsilon}_{\mathrm{eq},\mathrm{rel}}{\left\Vert \overline{\boldsymbol{P}}\right\Vert}_{\mathrm{max}},{\varepsilon}_{\mathrm{eq},\mathrm{abs}}\right)/\mathrm{m}\ge \mathrm{RMS}\left({\left\Vert \mathrm{Div}\ \boldsymbol{P}\left(\boldsymbol{x}\right)\right\Vert}_2\right)\\ {} =\sqrt{\sum \limits_{j=1}^N{\left\Vert \boldsymbol{P}\left({\boldsymbol{k}}_j\right)i {\boldsymbol{k}}_j\right\Vert}_2^2/{N}^2,}\end{array}} $$
(48)

where εeq,rel and εeq,abs are the relative and absolute equilibrium tolerances.

The fulfillment of complementary macroscopic deformation gradient and stress boundary conditions is checked by

$$ {\displaystyle \begin{array}{ll}& \max \left({\varepsilon}_{\mathrm{BC},\mathrm{rel}}{\left\Vert \overline{\boldsymbol{P}}\right\Vert}_{\mathrm{max}},{\varepsilon}_{\mathrm{BC},\mathrm{abs}}\right)\ge {\left\Vert \varDelta {\boldsymbol{P}}_{\mathrm{BC}}\right\Vert}_{\mathrm{max}},\\ {}& \mathrm{where}\ \varDelta {P}_{{\mathrm{BC}}_{ij}}=\left\{\begin{array}{ll}{A}_{ij kl}{\left({F}_{\mathrm{BC}}-\overline{F}\right)}_{kl}& \mathrm{if}\ {F}_{{\mathrm{BC}}_{ij}}\ \mathrm{prescribed}\\ {}{\left({P}_{\mathrm{BC}}-\overline{P}\right)}_{ij}& \mathrm{if}\ {P}_{{\mathrm{BC}}_{ij}}\ \mathrm{prescribed}\end{array}\right.\end{array}} $$
(49)

and εBG,rel and εBC,abs are the relative and absolute boundary condition tolerances.

The residual norm of Eqs. (31) and (37) is evaluated as a convergence test for the initial value problems.

6 Examples

6.1 Mechanics: Kirsch’s Plate

To compare the two approaches for calculating gradients in Fourier space presented in Sect. 5.2, the stress field in a plate with a circular hole and deformed in uniaxial tension is computed. The analytic solution for an infinitely large plate with linear isotropic behavior, known as Kirsch’s plate [57], serves as reference. For both numerical approaches and the analytic benchmark, the plate is discretized by 4096 × 4096 grid points. The diameter of the circular inclusion is 512 grid points. In case of the numerical approaches, elastic constants for the plate are selected as C11 = 110.9 GPa and C12 = 58.3 GPa and the hole is approximated by assigning low stiffness values to the respective material points: C11 = 100.0 Pa, C12 = 66.7 Pa. The boundary conditions reflect uniaxial tension along the (horizontal) 1-direction:

$$ \overline{\boldsymbol{F}}=\left[\begin{array}{ccc}1.01& 0.0& 0.0\\ {}0.0& {}^{\ast }& 0.0\\ {}0.0& 0.0& {}^{\ast}\end{array}\right]\ \mathrm{and}\ \frac{\overline{\boldsymbol{P}}}{\mathrm{Pa}}=\left[\begin{array}{ccc}{}^{\ast }& {}^{\ast }& {}^{\ast}\\ {}{}^{\ast }& 0.0& {}^{\ast}\\ {}{}^{\ast }& {}^{\ast }& 0.0\end{array}\right] $$
(50)

which results in an average stress of approximately 710 MPa along the loading direction. This stress value is taken as the “far-field value” of the analytic solution.

A detail of the solution field around the hole is shown in Fig. 1b, c, d. The reference solution given in Fig. 1b shows the expected behavior of a stress amplification by a factor of three at the top and the bottom of the hole and zero stresses in loading direction left and right to the hole. The numerical solutions given in Fig. 1c, d clearly match this behavior. However, a closer look at the stress field above the hole reveals some undesired features for both numerical solutions (insets in Fig. 1b, c, d and Fig. 1a): A stress intensification of more than three occurs and some regions of the matrix material have a much lower stress than expected. The advantage of the FWBW finite difference approximation lies in reducing the number of pixels affected by these features and in efficiently removing spurious oscillations seen in the solution of the continuous approach (Fig. 1c, d). Moreover, the FWBW finite difference approach is advantageous as the number of iterations required for higher stiffness ratios between the inclusion and the matrix phase can be drastically reduced as shown in Fig. 2.

Fig. 1
figure 1

Comparison of the analytic solution to the continuous and the forward-backward (FWBW) finite difference approximation of the derivative operator in terms of the normal stress along the horizontal loading direction. Grey color indicates the applied load of 710 MPa, the minimum (blue) depicts a stress free state (0 MPa) and the maximum (red) is set to the expected stress amplification of 3, i.e., 2130 MPa

Fig. 2
figure 2

Iterations needed for a converged solution in dependence of the stiffness ratio between inclusion and matrix for the presented gradient calculation approaches

6.2 Thermo-mechanics: Plastic Dissipation and Thermal Expansion in a Polycrystal

To demonstrate the capabilities of the approach for thermo-mechanical coupling, a polycrystalline volume element is generated by a Voronoi tessellation of 20 randomly distributed seed points within a cubic domain of edge length 100 μm discretized into 64 × 64 × 64 grid points. All grid points belonging to a Voronoi cell are grouped together and assigned the same random crystal orientation. The phenomenological crystal plasticity constitutive model presented in Sect. 3.1 is used to describe the mechanical behavior of the volume element (the initial microstructure of the volume element and the material parameters are given in Fig. 6 and Table 3). In addition, heat generation due to plastic dissipation, heat conduction, and thermal expansion effects are considered. The corresponding material parameters are listed in Table 1.

Table 1 Constitutive parameters for thermo-mechanics: mass density ρ, specific heat Cp, conductivity K, thermal expansion coefficient α, coefficient of cold work κ

The following boundary conditions are chosen to reflect uniaxial tension along the 2-direction

$$ \frac{\dot{\overline{\boldsymbol{F}}}}{10^{-3} {\mathrm{s}}^{-1}}=\left[\begin{array}{ccc}{}^{\ast }& 0.0& 0.0\\ {}0.0& 1.0& 0.0\\ {}0.0& 0.0& {}^{\ast}\end{array}\right] \mathrm{and} \frac{\overline{\boldsymbol{P}}}{\mathrm{Pa}}=\left[\begin{array}{ccc}0.0& {}^{\ast }& {}^{\ast}\\ {}{}^{\ast }& {}^{\ast }& {}^{\ast}\\ {}{}^{\ast }& {}^{\ast }& 0.0\end{array}\right] $$
(51)

and a homogeneous temperature field of 300 K is set as the initial condition for the thermal conduction problem.

The resulting stress in loading direction, total plastic shear, and temperature distributions at \( \overline{\boldsymbol{F}}=1.1 \) (i.e., after 100 s) are shown in Fig. 3. It can be seen that the thermal hot spots correspond to regions of high plastic deformation, and result in stress relaxation due to thermal expansion. The global stress–strain curve is shown in Fig. 4 and compared to a case without thermal expansion.

Fig. 3
figure 3

The resulting normal stress along loading direction, plastic strain, and temperature distributions at \( \overline{\boldsymbol{F}}=1.1 \). The outlined cube indicates the undeformed configuration

Fig. 4
figure 4

Comparison of the global stress–strain curves between the model with (solid line) and without (dashed line) thermal expansion

6.3 Damage-Mechanics: Polycrystalline Fracture

The phase-field damage model is applied to study crack nucleation phenomena and failure of a plastically deforming polycrystalline material. The same volume element as considered in Sect. 6.2 is used, with the additional damage material parameters listed in Table 2.

Table 2 Constitutive parameters for damage-mechanics: interface energy \( \mathcal{G} \), characteristic length lc, and damage mobility μ
Table 3 Material parameters used to model the elastic and plastic behavior of the polycrystal shown in Fig. 6: elastic constants Cab, reference shear rate \( {\dot{\gamma}}_0 \), stress exponent n, initial and saturation resistance ξ0 and ξ, hardening parameters a, h0, and hαβ.

The boundary conditions chosen to reflect uniaxial tension along the 2-direction are

$$ \frac{\dot{\overline{\boldsymbol{F}}}}{10^{-3} {\mathrm{s}}^{-1}}=\left[\begin{array}{ccc}{}^{\ast }& 0.0& 0.0\\ {}0.0& 1.0& 0.0\\ {}0.0& 0.0& {}^{\ast}\end{array}\right] \mathrm{and} \frac{\overline{\boldsymbol{P}}}{\mathrm{Pa}}=\left[\begin{array}{ccc}0.0& {}^{\ast }& {}^{\ast}\\ {}{}^{\ast }& {}^{\ast }& {}^{\ast}\\ {}{}^{\ast }& {}^{\ast }& 0.0\end{array}\right] $$
(52)

The nucleation and evolution of crack surfaces and the corresponding von Mises stress through a section of the polycrystalline sample is shown in Fig. 5. The crack nucleation is observed at a higher-order grain boundary junction due to the incompatibility of the plastic deformation modes in the respective grains forming the junction, which results in large stresses. Crack nucleation and its subsequent evolution during deformation strongly depend on the texture of the material due to the anisotropy of the plastic deformation modes, and highlight the need for accurate constitutive models. The nucleation and growth of a crack is followed by an unloading of the material behind the crack tip and a general redistribution of the stress field. The propagation of a nucleated crack is determined by the energetics of the material surrounding the crack tip. The crack tip stress field, and hence the elastic energy release rate, is maximum in the direction of the crack, which results in a strong driving force for the propagation of the crack in this direction. However, the crack propagation path in engineering materials is rarely straight at the microstructural scale, and a significant amount of crack kinking is predicted by the model due to the heterogeneity of the stress field in the neighborhood of the crack tip. Crack kinking is observed towards regions of stress concentrations in neighboring grain boundary junctions.

Fig. 5
figure 5

Nucleation and evolution (left to right) of crack surfaces (bottom) and the corresponding von Mises stress through a section of the polycrystalline sample (top). Uniaxial tension in vertical direction is applied. The driving force for crack propagation is governed by the Griffith criterion

Fig. 6
figure 6

The polycrystalline volume element containing 20 randomly oriented grains, indicated by color, of size 100 × 100 × 100 μm discretized with 64 × 64 × 64 grid points used for the thermo-mechanics and damage-mechanics example

7 Summary

The spectral method, complemented by the flexible material model implemented as DAMASK , is a powerful tool for the prediction of the micromechanical response in structural materials. This method has been extended to solve the time-dependent reaction-diffusion equation, which is representative of several field equations of interest such as thermal conduction, nonlocal damage, and more general phase-field equations, and provides the means for further investigation of coupled multi-physics systems. The solution scheme is demonstrated in the context of a polycrystalline material undergoing coupled thermo-damage-mechanical deformation using available crystal plasticity, damage, and thermal constitutive laws. Such a simulation framework opens the door for further investigation of important open issues related to the micromechanics of polycrystals, such as damage initiation, deformation localization, micro-texture development, or nucleation of phase transformations. The software used in this work is open-source and freely available at https://damask.mpie.de/.