1 Introduction

Assessing the risk of failure associated with structures subjected to dynamic loading is of particular importance in a number of applications where sensitive components are subjected to vibrations. In order to decrease the computational cost of fatigue failure predictions, studies propose simpler modelling based on an elastic solution post-processing [1,2,3]. However, such methods do not give a detailed description of the nonlinearities and do not take the temporal specifics of the loading into account. Accurately predicting the failure of structures requires a fine description of their nonlinear behaviour until failure. The behaviour can alternatively be described using the evolution of history-dependent nonlinear internal variables [4]. The main drawback of such detailed description is the need of a detailed description of the physics at stake because it raises the need for a fine spatial and temporal discretisation leading to a large number of degrees of freedom, whereas the computation cost of these calculations needs to be relatively low to make such studies feasible. Thus, solving a nonlinear dynamics problem requires the use of an efficient solver that can handle both the dynamics and the nonlinear aspects for a modest calculation cost. Moreover, in the context of risk assessment, multiple nonlinear computations are required. The solver must therefore be efficient and multi-query friendly. The current paper focuses on the efficiency and robustness of the solver which would also work favourably in a parametric context.

Using the frequency domain allows for very efficient computations in dynamics [5]. Indeed, frequency-based calculations can easily be performed in parallel due to the independence of the frequency steps from one another. Therefore, the computations associated with each frequency can be done simultaneously without the need for specific temporal domain decomposition strategies. In addition, relying on frequency calculations may be the natural resort when dealing with parameters that depend on the loading frequency, such as hysteric damping [6]. In order to make the most of those numerical benefits while taking into account the nonlinear behaviour, which is described in the temporal domain, a hybrid temporal-frequency approach will be set up.

In addition, the lower computational cost enabled by frequency calculations can be combined with the effectiveness of model-order reduction methods [7]. In a certain sense, the principle of reduced-order modelling in dynamics is relatively conventional since modal computations are widely used in this field [8, 9]. In order to avoid solving an eigenvalue problem to find the eigenmodes of the structure, the latter can instead be approximated by Ritz-vectors [10, 11]. The reduced-order basis on which the solution is sought after can also be composed of modes other than the linear normal modes (LNM). The proper orthogonal decomposition (POD) has been used in a dynamics context [12] where some authors showed better approximation results than LNM superposition [13]. The POD modes are computed from previous solution fields called snapshots which govern the reduced basis [14]. For avoiding the drawbacks of prior (possibly costly) computations, dedicated modes can be calculated on the fly thanks to a priori methods, therefore optimising the number of modes computed to get a solution. Such a priori methods have already shown interesting results when applied to dynamics problems. For example, a space-time proper generalised decomposition (PGD) [15, 16] was successfully applied to transient problems [17] and space-time dynamics [18]. The PGD also proved effective in a space-frequency context for acoustic problems [19, 20] as well as for structural dynamics [21, 22].

Reduced-order modelling methods generally require linear equations. In a frequency context for nonlinear elastic applications [23] and nonlinear contact forces [24], linearisations have already been applied. Such linearisations can also rely on a static-dynamic hybrid scheme for updating nonlinear geometrical forces under a static assumption while applying those forces in a dynamics framework [25].

Herein, specific attention will be put on the linearisation procedure allowing the separation of linearised equations from nonlinear equations, as this work aims to predict the behaviour of history-dependent nonlinear structures at a fine scale. The focus is to introduce a LATIN-based hybrid approach consisting of computations done partially in the frequency and temporal domains.

Indeed, the frequency domain may not be suited for the description of nonlinearities inherent to the behaviour. Evolution laws often rely on the knowledge of temporal quantities [26]. Indeed, describing material nonlinearities is incremental by nature; the mechanical state of a medium depends on the previous state of the latter and on the current load applied. A specific effort must be made for taking advantage of frequency domain computations when dealing with nonlinear materials, and one of the objectives of the present paper is to describe the linearisation strategy that will be used in this work.

An alternating frequency-temporal approach [27] has already been carried out to find periodic steady-state solutions on structures with few degrees of freedom [28, 29] or where only few degrees of freedom were impacted by nonlinear forces, such as dry-friction or contact forces [30,31,32]. In order to take into account damage-induced nonlinearities in dynamics, the proposed method relies similarly on an alternative scheme, but it is embedded within an efficient linearisation framework, called the LATIN method [33], already used for many history-dependent nonlinear problems involving internal variables. It thus allows complex material nonlinearities to be taken into account robustly within a naturally non-incremental framework. Contrary to other alternating-temporal approaches, the fundation of the proposed strategy is to offer a reduced-order model embedded in the solver. Searching for the solution using a separation of variables contributes to decreasing the computational cost when solving nonlinear dynamics problems. Moreover, the LATIN method has already proven to be very favourable to be used in a parametric framework [34] which was also a decisive aspect in its choice. This method has been applied for dynamics problems with visco-plastic behaviour [35] as well as for a wide range of behaviour nonlinearities for statics problems, including, among others, the study of plasticity, damage evolution for quasi brittle materials, and fatigue prediction [36,37,38,39,40] where computations where totally dealt with in the temporal domain. The LATIN approach is traditionally equipped with an efficient a priori model-order reduction method, using a space-time separation of variables, the aforementioned PGD; the resulting method is the LATIN-PGD. The proposed methodology does not use a classical time-space decomposition, but relies on a space-frequency separation of variables that is well-suited for dynamics problems.

The efficiency of frequency computations relies heavily on the fast Fourier transform (FFT) performances. To avoid overlapping issues [41] in the case of poorly damped or even undamped systems, artificial damping [20, 41] is used in both the transfer function and the right-hand side of the problem.

The paper is organised as follows. Section 2 defines the reference problem, including mechanical equations along with nonlinear constitutive behaviour. The main ingredients of the LATIN-PGD, a model-order reduction method on which the approach is based, are summarised in Sect. 3. The innovative hybrid frequency-temporal approach is exposed in detail in Sect. 4. Section 5 investigates the performances of the method on two- and three-dimensional applications.

2 Reference problem

The plasticity-driven damageable behaviour is described in the subsequent subsections as well as the dynamics equations controlling the response of the structure.

2.1 Dynamics equation

Let one consider during the time slot \(I= [0,T_0]\) a body of density \(\rho \) with spatial domain denoted \(\Omega \) submitted to body forces \(\varvec{f}_d\) and surface forces \(\varvec{F}_d\) on \(\Omega \) and \(\partial \Omega _2\), respectively, as represented in Fig. 1. Displacements \(\varvec{u}_d\) are prescribed on \(\partial \Omega _1\).

Fig. 1
figure 1

Reference problem

Admissibility is given by three sets [33]. The set of kinematically admissible displacements denoted \({\mathcal {U}}\) is defined as

$$\begin{aligned} {\mathcal {U}}= & {} \left\{ \varvec{u} \; | \; \varvec{u}\left( \varvec{x},t\right) \in H^1\left( \Omega , {\mathbb {R}}^d\right) \times {\mathcal {L}}^2\left( I, {\mathbb {R}} \right) \text {,} \right. \nonumber \\ \left. \dot{\varvec{u}}\right| _{t=0}= & {} \varvec{0} \text {, }\left. \varvec{u}\right| _{t=0}=\varvec{0}\text { in }\Omega \text {, }\nonumber \\ \varvec{u}= & {} \varvec{u}_d \text { and } {\dot{\varvec{u}}} = {\dot{\varvec{u}}}_d\text { on }\left. \partial \Omega _1 \right\} \text {,} \end{aligned}$$
(1)

where \(\varvec{u}\) is the displacement vector, \({\dot{\varvec{u}}}\) the velocity and \(\mathcal {\varvec{\upvarepsilon }}(\varvec{u})\) the strain tensor and with \(d\in \{1,2,3\}\) depending on the spatial dimension of the problem. The corresponding homogeneous space is denoted \({\mathcal {U}}^0\), where \(\varvec{u}_d\) and \({\dot{\varvec{u}}}_d=0\).

The set \({\mathcal {S}}\) contains the Cauchy stress tensors denoted \(\mathcal {\varvec{\upsigma }}\) that are dynamically admissible and an acceleration \(\varvec{\gamma }\), which is linked to the primal displacement variable \(\varvec{u}\) via the equation

$$\begin{aligned} \varvec{\gamma } = \ddot{\varvec{u}}, \end{aligned}$$
(2)

i.e.

$$\begin{aligned} {\mathcal {S}}= & {} \left\{ \left( \mathcal {\varvec{\upsigma }},\varvec{\gamma }\right) \; | \; \varvec{\nabla }\cdot \mathcal {\varvec{\upsigma }}+ \varvec{f}_d = \rho \varvec{\gamma }\text { in }\Omega \text {, } \right. \nonumber \\{} & {} \left. \mathcal {\varvec{\upsigma }}~\varvec{n} = \varvec{F}_d\text { on }\partial \Omega _2 \right\} \end{aligned}$$
(3)

with \(\varvec{n}\) the normal vector to \(\partial \Omega _2\).

The solution of the problem \(s=\left( \varvec{u},\left( \mathcal {\varvec{\upsigma }},\varvec{\gamma }\right) \right) \in {\mathcal {U}} \times {\mathcal {S}}\) includes both the displacement and stress fields that satisfy the weak formulation of the dynamic equilibrium

$$\begin{aligned}{} & {} -\int _{\Omega \times I} \mathcal {\varvec{\upsigma }}: \mathcal {\varvec{\upvarepsilon }}(\varvec{u}^*)\textrm{d}\Omega \textrm{d}t + \int _{\Omega \times I} \varvec{f_d}\cdot \varvec{u}^*\textrm{d}\Omega \textrm{d}t \nonumber \\{} & {} + \int _{\partial \Omega \times I}\varvec{F_d}\cdot \varvec{u}^*\textrm{d}S \textrm{d}t \nonumber \\{} & {} = \int _{\Omega \times I} \rho ~ \varvec{\gamma } \cdot \varvec{u}^*\textrm{d}\Omega \textrm{d}t, \; \forall \varvec{u}^*\in {\mathcal {U}}^0, \end{aligned}$$
(4)

as well as the constitutive relations corresponding with the material of the body.

Similarly to a Kelvin–Voigt model, the nonlinear elasto-plastic damage model studied herein is taken in parallel with the material damping properties (see Fig. 2). The total stress \(\mathcal {\varvec{\upsigma }}\) can therefore be decomposed into a damageable elasto-plastic part \(\mathcal {\varvec{\upsigma }}^{\delta }\) and a viscous part \(\mathcal {\varvec{\upsigma }}^{\nu }\) so that it reads \(\mathcal {\varvec{\upsigma }}= \mathcal {\varvec{\upsigma }}^{\delta } + \mathcal {\varvec{\upsigma }}^{\nu }\) where \(\mathcal {\varvec{\upsigma }}^{\nu } = \mathbb {D}:{\dot{\mathcal {\varvec{\upvarepsilon }}}}\) with \(\mathbb {D}\) being a tensor describing all viscosity phenomena [42,43,44]. Nonlinearities arise from the contribution of the elasto-plastic damage branch, including crack-closure effects.

Fig. 2
figure 2

Kelvin–Voigt model

2.2 Ductile damage model with crack-closure effect

Damage growth is governed by plasticity, which is modelled using linear kinematic and isotropic hardening as introduced in [45]. Isotropic damage is characterised by the scalar variable D. Crack-closure effects [4, 26] are described by introducing the effective damageable elasto-plastic stress tensor \(\varvec{\upsigma ^{\delta }_{ef\!f}}\) [39] as

$$\begin{aligned} \varvec{\upsigma ^{\delta }_{ef\!f}} = \frac{\mathcal {\varvec{\upsigma }}^{\delta }_d}{1-D}+\left[ \frac{\langle \upsigma ^{\delta }_H \rangle }{1-D} - \langle -\upsigma ^{\delta }_H \rangle \right] \varvec{1}, \end{aligned}$$
(5)

where \(\upsigma ^{\delta }_H = \frac{1}{3} \text {Tr}(\mathcal {\varvec{\upsigma }}^{\delta }) \) and \(\mathcal {\varvec{\upsigma }}^{\delta }_d = \mathcal {\varvec{\upsigma }}^{\delta } - \upsigma ^{\delta }_H \varvec{1}\) are the hydrostatic stress and the deviatoric part of the Cauchy stress tensor, respectively. The operator \(\langle \square \rangle = \text {max}\left( \square ,0\right) \) gives the positive part of the quantity of interest. \(\varvec{1}\) denotes the identity tensor and \(\text {Tr}(\square )\) gives the trace of \(\square \). Thus, the Hooke relation is conveyed by a linear relationship between the effective damageable elasto-plastic stress and the elastic strain \(\mathcal {\varvec{\upvarepsilon }}^e\) as

$$\begin{aligned} \varvec{\upsigma ^{\delta }_{ef\!f}} =\mathbb {K}:\varvec{\mathcal {\varvec{\upvarepsilon }}}^{e} \end{aligned}$$
(6)

with \(\mathbb {K}\) representing the Hooke’s tensor.

The limit of the elastic domain is defined by the yield function \(f_p\) as

$$\begin{aligned} f_p=J_2\left( \frac{\varvec{\upsigma ^{\delta }}}{1-D}-\varvec{X}\right) -\upsigma _y-R, \end{aligned}$$
(7)

where \(J_2\left( \square \right) \) is the von Mises equivalent stress operator and \(\upsigma _y\) is the material yield stress. When hardening occurs, the isotropic hardening variable and the kinematic hardening tensor are denoted R and \(\varvec{X}\). The yield function \(f_p\) satisfies

$$\begin{aligned} f_p \leqslant 0, \end{aligned}$$
(8)

with an elastic domain defined by \(f_p < 0\). Otherwise, when \(f_p =0\), plasticity occurs and the internal variables are updated.

The plasticity model considered here is a Marquis-Chaboche model [45]. The strain tensor is composed of an elastic part \(\varvec{\mathcal {\varvec{\upvarepsilon }}}^e\) and a plastic part \(\varvec{\mathcal {\varvec{\upvarepsilon }}}^p\) such that

$$\begin{aligned} \varvec{\mathcal {\varvec{\upvarepsilon }}} = \varvec{\mathcal {\varvec{\upvarepsilon }}}^e + \varvec{\mathcal {\varvec{\upvarepsilon }}}^p . \end{aligned}$$
(9)

The cumulative plastic strain p is a strictly increasing internal variable introduced to describe the plasticity level. Linear hardening is given by the linear state equations

$$\begin{aligned} {\left\{ \begin{array}{ll} R= hp, \\ \varvec{X} = \frac{2}{3}C\varvec{\upalpha }, \end{array}\right. } \end{aligned}$$
(10)

where h and C are two material coefficients and \(\varvec{\upalpha }\) is the kinematic internal variable.

Normality rule leads to the following plasticity evolution laws:

$$\begin{aligned} {\left\{ \begin{array}{ll} \dot{\varvec{\upvarepsilon }}^p = {\dot{p}}\frac{3}{2}\frac{\left( \varvec{\upsigma ^{\delta }_{ef\!f}}-\varvec{X}\right) _d}{J_2\left( \varvec{\upsigma ^{\delta }_{ef\!f}}-\varvec{X}\right) }, \\ \dot{\varvec{\upalpha }} ={\dot{p}}\left( 1-D\right) \left[ \frac{3}{2}\frac{\left( \varvec{\upsigma ^{\delta }_{ef\!f}}-\varvec{X}\right) _d}{J_2\left( \varvec{\upsigma ^{\delta }_{ef\!f}}-\varvec{X}\right) }\right] .\\ \end{array}\right. } \end{aligned}$$
(11)

Damage evolution law [26] is given by

$$\begin{aligned} {\dot{D}} = {\left\{ \begin{array}{ll} \begin{array}{ll} {\dot{p}}\left( \frac{Y}{S}\right) ^{s_d}, &{} \text {if }w_s>w_D \\ 0, &{} \text {otherwise} \end{array} \end{array}\right. } \end{aligned}$$
(12)

where \(s_d\) and S are material parameters, and Y is the elastic energy density defined as

$$\begin{aligned} Y= \frac{1}{2}\mathcal {\varvec{\upvarepsilon }}^e:\mathbb {K}:\mathcal {\varvec{\upvarepsilon }}^e = R_\nu \frac{J_2\left( \upsigma ^{\delta }_{ef\!f}\right) ^2}{2E}, \end{aligned}$$
(13)

with \(R_\nu = \frac{2}{3}\left( 1+\nu \right) +3\left( 1-2\nu \right) \langle \frac{\upsigma ^{\delta }_{ef\!f,H}}{J_2\left( \upsigma ^{\delta }_{ef\!f}\right) }\rangle ^2\) the triaxiality function, \(\nu \) the Poisson ratio, E the Young’s modulus and \(\upsigma ^{\delta }_{ef\!f,H}\) the hydrostatic part of the effective damageable elasto-plastic stress tensor. \(w_s\) denotes the corrected stored energy density [26] defined as

$$\begin{aligned} w_s = \int _{I} \left( R{\dot{p}}+\varvec{X}:\dot{\varvec{\upalpha }} \right) \textrm{d}t. \end{aligned}$$
(14)

This energy density is compared with an energy density threshold \(w_D\), which is a material parameter. The nonlinear behaviour is modelled using this plasticity-driven damage model until the damage variable reaches the critical value \(D_c\) at least at one integration point; macrocracks are initiated once this value is reached and classical continuum mechanics is no longer adapted to describe damage phenomena. In the following, the generic expression of the behaviour will be referred to as \(\mathcal {\varvec{\upsigma }}^{\delta } = {\mathcal {H}}\left( \mathcal {\varvec{\upvarepsilon }}\left( \varvec{u}\right) \right) \).

This model allows a physically detailed description of the material evolution during loading. However, it results in a strongly nonlinear problem with a large number of degrees of freedom as it relies on a fine description of the structural behaviour. It has been shown in [46] that in a quasi-static context the LATIN-PGD method allows to finely describe the response of a damageable structure with few PGD modes. The great reducibility of such problems in quasi-statics has motivated the investigation of their usage in a low-frequency dynamics context. The use of such methods requires the linearisation of the nonlinearities; the LATIN-PGD method has proven to be an efficient way to decouple the nonlinear behaviour from the linear admissibility equations [15, 33], allowing the usage of reduced-order methods on the latter. Such decoupling also gives a high degree of modularity to the method.

3 The LATIN-PGD method

The essence of the LATIN-PGD method is to separate the equations driving the behaviour from those corresponding to the admissibility of the solution.

3.1 An iterative scheme with two alternated search directions

The LATIN method [33] consists of an iterative scheme with two alternated search directions which estimates the solution on the whole time-space domain at each iteration. A graphical illustration is proposed in Fig. 3 and gives a schematisation of the numerical strategy. Solutions of the nonlinear equations (equations (6),(8),(10),(11),(12)) on one side and of the linear equations (equation (22) imposing the respect of equation (4)) on the other side define the two manifolds \(\Gamma \) and \({\mathcal {A}}_d\), respectively. The exact solution \(s_{\text {exact}}\) lies at the intersection of these two manifolds. The consecutive approximations of this solution are computed alternately in \(\Gamma \) and \({\mathcal {A}}_d\) through the iterative scheme

$$\begin{aligned}{} & {} s_0 \in {\mathcal {A}}_d \rightarrow {\hat{s}}_{1/2} \in \Gamma \rightarrow s_1 \in {\mathcal {A}}_d \nonumber \\{} & {} \dashrightarrow \underbrace{\overbrace{{\hat{s}}_{n+1/2} \in \Gamma }^{\text {Local stage}} \rightarrow \overbrace{s_{n+1} \in {\mathcal {A}}_d}^{\text {Global stage}}}_{\text {Iteration } n+1} \dashrightarrow \dotsc \end{aligned}$$
(15)

This iterative scheme shaping the LATIN method is first initialised by a dynamically admissible elastic solution \(s_0\). Then, each iteration comprises two stages, a local stage and a global stage. The nonlinear part of the constitutive behaviour is solved on the whole time-space domain during the local stage, while the global stage consists of solving a linear problem based on admissibility conditions, also imposed on the whole time-space domain. Knowing the estimation of the quantities \(s_{n}\) at iteration n the solution \({\hat{s}}_{n+1/2}\) of the local problem is estimated in \(\Gamma \) from the search direction \(\mathbb {H}^+\). From \({\hat{s}}_{n+1/2}\), the solution \(s_{n+1}\) of the global problem is sought after in \({\mathcal {A}}_d\) based on the search direction \(\mathbb {H}^-\) as follows:

$$\begin{aligned} {\left\{ \begin{array}{ll} \left( \mathcal {\varvec{\upsigma }}^{\delta }_{n+1}-{\hat{\mathcal {\varvec{\upsigma }}}}^{\delta }_{n+1/2}\right) - \mathbb {H}^-:\left( \mathcal {\varvec{\upvarepsilon }}_{n+1}-{\hat{\mathcal {\varvec{\upvarepsilon }}}}_{n+1/2}\right) = \varvec{0},\\ \left( {\hat{\mathcal {\varvec{\upsigma }}}}^{\delta }_{n+1/2}-\mathcal {\varvec{\upsigma }}^{\delta }_{n}\right) + \mathbb {H}^+:\left( {\hat{\mathcal {\varvec{\upvarepsilon }}}}_{n+1/2} - \mathcal {\varvec{\upvarepsilon }}_{n}\right) = \varvec{0}. \end{array}\right. } \end{aligned}$$
(16)

Those search directions provide a link between the damageable elasto-plastic stress \(\mathcal {\varvec{\upsigma }}^{\delta }\), computed when solving the nonlinear behaviour during the local stage and the dynamically admissible stress \(\mathcal {\varvec{\upsigma }}\) corrected during the global stage. The iterative scheme continues until the quantity

$$\begin{aligned} \eta = \left( \frac{\Arrowvert {\hat{s}}_{n+1/2}-s_{n+1} \Arrowvert ^2}{1/2\Arrowvert s_{n+1} \Arrowvert ^2+1/2\Arrowvert {\hat{s}}_{n+1/2} \Arrowvert ^2} \right) ^{1/2} \end{aligned}$$
(17)

is lower than a user-defined threshold \(\eta _c\). The norm \(\Arrowvert s \Arrowvert \) is defined as

$$\begin{aligned} \Arrowvert s \Arrowvert ^2= & {} \int _{\Omega \times I} \varvec{\mathcal {\varvec{\upvarepsilon }}}:\mathbb {K}:\varvec{\mathcal {\varvec{\upvarepsilon }}}~\textrm{d}\Omega \textrm{d}t+\int _{\Omega \times I}\varvec{\mathcal {\varvec{\upsigma }}^{\delta }}:\mathbb {K}^{-1}:\nonumber \\{} & {} \varvec{\mathcal {\varvec{\upsigma }}^{\delta }}~\textrm{d}\Omega \textrm{d}t. \end{aligned}$$
(18)
Fig. 3
figure 3

Working principle of the LATIN method, modified from [33]

The interested reader can refer to [33] for the choice of the search directions and a detailed description of the methodology. The following subsections give an overview of the stages of the iterative scheme.

3.2 The nonlinear “local” stage

The local stage estimates all internal and state variables such that the constitutive behaviour detailed in Sect. 2.2 is satisfied. Considering the two previously defined manifolds, the local stage gives \({\hat{s}}_{n+1/2}\in \Gamma \) knowing \(s_{n}\in {\mathcal {A}}_d\) using the search direction given in equation (16) and the behaviour description. Herein, the search direction \(\mathbb {H}^+\) is chosen such that \({\hat{\mathcal {\varvec{\upvarepsilon }}}}_{n+1/2} = \mathcal {\varvec{\upvarepsilon }}_{n}\), i.e. \(\mathbb {H}^+ = \mathbb {\infty }\).

Knowing \({\hat{\mathcal {\varvec{\upvarepsilon }}}}_{n+1/2}\), finding \({\hat{s}}_{n+1/2}\in \Gamma \) leads to solving the system

$$\begin{aligned} {\left\{ \begin{array}{ll} {\hat{\mathcal {\varvec{\upvarepsilon }}}}_{n+1/2} = {\hat{\mathcal {\varvec{\upvarepsilon }}}}_{n+1/2}^e + {\hat{\mathcal {\varvec{\upvarepsilon }}}}_{n+1/2}^p \\ \varvec{{\hat{\upsigma }}^{\delta }_{ef\!f}}_{n+1/2} =\mathbb {K}:{\hat{\mathcal {\varvec{\upvarepsilon }}}}_{n+1/2}^{e} \\ {\hat{\mathcal {\varvec{\upsigma }}}}^{\delta }_{n+1/2} = {\mathcal {H}}\left( {\hat{\mathcal {\varvec{\upvarepsilon }}}}_{n+1/2}\right) . \end{array}\right. } \end{aligned}$$
(19)

A traditional return mapping algorithm [47] is set up so that the damage variable D, as well as the plastic multiplier p driving the evolution of the isotropic hardening R, the kinematic hardening \(\varvec{X}\) and the plastic strain \(\mathcal {\varvec{\upvarepsilon }}^p\) satisfy equations (8), (11), (12). Because those equations are local, they are solved independently on each Gauss point of the considered structure.

Note that the above framework is general and versatile, and that any other behaviour could be used here.

3.3 The linear “global” stage

From the elastic initialisation \(s_0\in {\mathcal {A}}_d\) giving displacement prediction \(\varvec{u}_0(\varvec{x},t) \in {\mathcal {U}}\), displacement corrections \(\varvec{\Delta _j u} \in {\mathcal {U}}^0\) are computed at each following global stage to ensure that dynamic admissibility given by equation (4) is achieved. The displacement field is approximated as

$$\begin{aligned} \varvec{u}\left( \varvec{x},t\right) \approx \varvec{u}_0(\varvec{x},t)+\underbrace{\sum _{j=1}^n\varvec{\Delta _j u}}_{\varvec{\Delta u}}. \end{aligned}$$
(20)

Introducing the operator \(\Delta _{n+1} \square \) defined as the correction between two successive estimations, i.e. \(\Delta _{n+1} \square = \square _{n+1} -\square _n\), the admissibility equation in terms of correction reads

$$\begin{aligned} -\int _{\Omega \times I} \varvec{\Delta _{n+1}} \mathcal {\varvec{\upsigma }}: \mathcal {\varvec{\upvarepsilon }}(\varvec{u}^*)\textrm{d}\Omega \textrm{d}t= & {} \int _{\Omega \times I} \rho \varvec{\Delta _{n+1}}\varvec{\gamma } \cdot \varvec{u}^*\textrm{d}\Omega \textrm{d}t,\;\nonumber \\{} & {} \forall \varvec{u}^*\in {\mathcal {U}}^0. \end{aligned}$$
(21)

Using Equation (2) and the search direction as defined by Equation (16), we obtain

$$\begin{aligned} \begin{aligned}&\int _{\Omega \times I}\mathbb {H}^-:\mathcal {\varvec{\upvarepsilon }}(\varvec{\Delta _{n+1} u}):\mathcal {\varvec{\upvarepsilon }}(\varvec{u}^*)\textrm{d}\Omega \textrm{d}t \\&\quad + \int _{\Omega \times I}\mathbb {D}:\mathcal {\varvec{\upvarepsilon }}(\varvec{\Delta _{n+1} {\dot{u}}}):\mathcal {\varvec{\upvarepsilon }}(\varvec{u}^*)\textrm{d}\Omega \textrm{d}t \\ {}&+ \int _{\Omega \times I}\rho \varvec{\Delta _{n+1}} \ddot{\varvec{u}}\cdot \varvec{u}^* \textrm{d}\Omega \textrm{d}t \\&= \int _{\Omega \times I} \underbrace{\left[ \left( \mathcal {\varvec{\upsigma }}^{\delta }_n - {\hat{\mathcal {\varvec{\upsigma }}}}^{\delta }_{n+1/2}\right) -\mathbb {H}^-:\left( \mathcal {\varvec{\upvarepsilon }}_{n}-{\hat{\mathcal {\varvec{\upvarepsilon }}}}_{n+1/2}\right) \right] }_{\varvec{{\hat{f}}^{n+1}}}:\\&\quad \mathcal {\varvec{\upvarepsilon }}(\varvec{u}^*)\textrm{d}\Omega \textrm{d}t,\;\forall \varvec{u}^* \in {\mathcal {U}}^0. \end{aligned} \end{aligned}$$
(22)

One may notice that terms in the right-hand side \(\hat{\varvec{f}}^{n+1}\) of that equation are known quantities at this stage. The displacement field \(\varvec{\Delta _{n+1} u}\) is the only unknown at this stage, which consists basically of solving a linear dynamics problem.

3.4 Reduced-order model implementation

The PGD model-order reduction method can naturally be introduced in the global stage of the LATIN method, which deals with linear equations over the space-time domain. Doing so means that the displacement correction \(\varvec{\Delta u} \approx \sum _{j=1}^{n+1} \varvec{\Delta _{j} u }\) computed at the \(n+1\)-th global stage is sought after as a sum of modes defined as products of space functions \(\overline{\varvec{u}}^i\) and temporal functions \(\lambda ^i(t)\). After having added m PGD pairs, the displacement reads

$$\begin{aligned} \varvec{\Delta u}(\varvec{x},t) \approx \sum _{i=1}^{m} \lambda ^i(t)\overline{\varvec{u}}^i(\varvec{x}). \end{aligned}$$
(23)

Once \(m\geqslant 1\) PGD modes have been added, a preliminary substep of the global stage can be inserted between both the local stage and the addition of a new PGD pair. The substep consists of updating the previously computed temporal modes \(\{\lambda ^i\}_{i\in \llbracket 1,m\rrbracket }\) in order to achieve dynamic admissibility, while the spatial modes \(\{\overline{\varvec{u}}^i\}_{i\in \llbracket 1,m\rrbracket }\) are considered fixed. If this updating step proves to be sufficient, the next LATIN iteration can be performed; if it is insufficient, a new PGD pair is added.

The reader can refer to [48] for an overview of the methods to solve a linear problem using the PGD. Section 4 details the calculations arising from the PGD paradigm for the application of the methodology in the frequency domain.

4 Hybrid frequency-temporal reduced-order approach

The main equation (22) of the problem corresponds to a linear dynamics equation whose semi-discretised in space version reads

$$\begin{aligned}{}[M]\{{\ddot{U}}\} + [D]\{{\dot{U}}\} +[K]\{U\} = \{F\}. \end{aligned}$$
(24)

In addition to which, initial and boundary conditions need to be specified. It consists of a finite element problem where [M], [D] and [K] are the mass, damping and stiffness matrices respectively. Thus, its computation can easily be performed in the frequency domain, as traditionally done in the literature [5], in order to benefit from all corresponding computational advantages. Indeed, frequency-based calculations, for instance, allow for easy parallelisation of the computations. Contrary to time steps, frequency steps are not interdependent, and the computation for each frequency step may easily be done simultaneously on different threads of a multi-threaded chip without the need to use specific temporal domain decomposition techniques [49, 50]. Moreover, it appears that much fewer frequency steps than time steps are needed to describe the signals dealt with. For those two combined reasons, a frequency-based method leads to cheaper computations. In addition, the use of a frequency-based methodology may, in some cases, be required to deal with some frequency dependency of the material behaviour, such as hysteric damping [6] where the damping matrix [D] would depend on the frequency. However, the description of the nonlinear behaviour of the material can only be achieved in the temporal domain. Thus, the decoupling feature of the LATIN method, introduced in Sect. 2, is employed to jointly use the temporal and frequency domains. Note that the FFT algorithm is very efficient. Thus, numerous transfers between temporal and frequency domains do not represent a bottleneck. The time associated with alternating between the temporal domain and the frequency domain using the FFT and iFFT algorithms is insignificant compared to the numerical cost of a given computation, i.e. a few tenths or hundredths of per cent of the total computational time. Technicalities of LATIN iterations and the specific Fourier and inverse Fourier transforms involved in the method are schematised in Fig. 4. First, the elastic problem is solved on the frequency domain. Then, after an inverse Fourier transform, the nonlinear behaviour (manifold \(\Gamma \)) is approximated on the temporal domain, and the dynamic admissibility equation (manifold \({\mathcal {A}}_{d}\)) is solved based on a frequency strategy. This step is enhanced with the implementation of the PGD. Again an inverse Fourier transform is performed before the successive iteration and the algorithm goes on until reaching convergence.

Fig. 4
figure 4

Scheme of the hybrid frequency-temporal strategy

4.1 Temporal calculations of the nonlinear behaviour

The constitutive behaviour presented in Sect. 2.2 gives a history-dependent description of the material properties evolution. Ensuring the validity of the von Mises yield criterion given in equation (8) at a given instant, for instance, requires the knowledge of the isotropic and kinematic hardening R and \(\varvec{X}\) at that particular instant, which depend on the loading history up to the moment in question. Similarly, knowledge of the damage variable D, which also depends on the loading history, is needed to compute the effective damageable elasto-plastic stress \(\mathcal {\varvec{\upsigma }}_{ef\!f}^{\delta }\) described in equation (5). Solving the behaviour equations must therefore be done in the time domain. The LATIN local stage consists precisely in solving the problem given by equation (19), which groups the constitutive equations as already explained. For our reference problem, equations (8), (11), (12) are solved using a backward Euler integration scheme and a return mapping algorithm. It can be noted that the size of the problem depends on the number of degrees of freedom. However, these equations can be straightforwardly parallelised as they are independent for each Gauss point.

4.2 Frequency calculations of the admissibility equation

The dynamic part of the problem lies in the global equations leading to the solutions on the manifold \({\mathcal {A}}_d\). Those linear dynamics equations are well-suited to a frequency approach which allows for very efficient calculations. Therefore, the global stage of the LATIN scheme will take advantage of that framework.

4.2.1 Elastic initialisation

The iterative scheme begins with initialising the estimation considering an elastic behaviour. The goal is to solve the weak form of the dynamics problem, which was previously defined in the temporal domain by equation (4). It is now turned into the following frequency problem:

$$\begin{aligned}{} & {} -\int _{\Omega } \mathcal {\varvec{\upvarepsilon }}(\varvec{u}^*) : \mathbb {K} : \mathcal {\varvec{\upvarepsilon }}({\varvec{u}}_\omega ^*)\textrm{d}\Omega \nonumber \\{} & {} -j\omega \int _{\Omega } \mathcal {\varvec{\upvarepsilon }}({\varvec{u}}_\omega ^*) : \mathbb {D} : \mathcal {\varvec{\upvarepsilon }}({\varvec{u}}_\omega ^*)\textrm{d}\Omega \nonumber \\{} & {} + \int _{\Omega } \varvec{f_d}\cdot {\varvec{u}}_\omega ^*\textrm{d}\Omega \nonumber \\{} & {} + \int _{\partial \Omega }\varvec{F_d}\cdot {\varvec{u}}_\omega ^*\textrm{d}S \nonumber \\{} & {} =-\omega ^2 \int _{\Omega } \rho ~ {\varvec{u}}_\omega \cdot {\varvec{u}}_\omega ^*\textrm{d}\Omega , \; \forall \varvec{u}^*\in {\mathcal {U}}^0, \forall \omega \in \mathbb {R}^+, \end{aligned}$$
(25)

where the angular frequency is denoted \(\omega \) and \({\varvec{u}}_\omega (\varvec{x,\omega })\) is the Fourier transform of the displacement \(\varvec{u}(\varvec{x,t})\), as follows

$$\begin{aligned} {\varvec{u}}_\omega (\varvec{x},\omega ) = \int _{-\infty }^{+\infty }\varvec{u}(\varvec{x},t) \exp ^{-j\omega t}\textrm{d}t . \end{aligned}$$
(26)

When solving such a problem numerically, only a finite number \(N_t\) of time steps and therefore of angular frequency steps is considered. Let \(\Phi = \{\omega _i\}_{i=\llbracket 1,N_t\rrbracket }\) be the finite set of angular frequencies. Then for each \(\omega _i\) in \(\Phi \), one needs to solve Equation (25), leading to \(N_t\) independent problems that can be solved separately. Hence, computations can be sped up using parallelisation. Moreover, if the right-hand side of the equation happens to be zero for some of these angular frequencies, the computations for these particular frequencies can be skipped, leading to supplementary calculation gains.

4.2.2 Calculation of the displacement correction

Once the elastic initialisation has been performed, the global stage of the iterative scheme consists of adjusting a displacement correction \( \varvec{\Delta u}\) that is dynamically admissible to zero as given by equation (22) such that the displacement field solution of the problem reads \(\varvec{u}\left( \varvec{x},t\right) = \varvec{u}_0\left( \varvec{x},t\right) + \varvec{\Delta u}\left( \varvec{x},t\right) \) with the correction being improved at each iteration such that it reads \(\varvec{\Delta u} \approx \sum _{j=1}^{n+1} \varvec{\Delta _{j} u }\) at the \(\left( n+1\right) \)-th global stage. Similarly to the elastic initialisation, those steps are written in the frequency domain. Equation (22) is turned into

$$\begin{aligned} \begin{aligned}&\int _{\Omega }\mathbb {H}^-:\mathcal {\varvec{\upvarepsilon }}(\varvec{ \Delta _{n+1}{ u}_\omega }):\mathcal {\varvec{\upvarepsilon }}(\varvec{{u}_\omega }^*)\textrm{d}\Omega \\&\quad +j\omega \int _{\Omega } \mathcal {\varvec{\upvarepsilon }}(\varvec{\Delta _{n+1}{u}_\omega }^*) : \mathbb {D} : \mathcal {\varvec{\upvarepsilon }}({\varvec{u}}_\omega ^*)\textrm{d}\Omega \\&\quad - \omega ^2\int _{\Omega }\rho \varvec{\Delta _{n+1}{u}_\omega }\cdot \varvec{{u}_\omega }^* \textrm{d}\Omega \\&= \int _{\Omega } \varvec{{{\hat{f}}}_\omega }^{n+1}:\mathcal {\varvec{\upvarepsilon }}(\varvec{{u}_\omega }^*)\textrm{d}\Omega ~\forall \varvec{{u}_\omega }^* \in {\mathcal {U}}^0, \forall \omega \in \mathbb {R}^+, \end{aligned} \end{aligned}$$
(27)

which is solved as multiple decoupled spatial problems. Moreover, this step is well-suited for using model-order reduction techniques such as the PGD, which further helps lowering calculation cost by reducing drastically the number of degrees of freedom.

A greedy algorithm is set up in order to find the increment in the displacement field \(\varvec{\Delta {u}_\omega }\) under a PGD form

$$\begin{aligned} \varvec{\Delta } {u}_\omega (\varvec{x},\omega ) \approx \sum _{i=1}^{m}\overline{\varvec{u}}^i(\varvec{x}){\lambda }_\omega ^i(\omega ), \end{aligned}$$
(28)

where m represents the number of PGD modes used to describe the solution.

4.2.3 Addition of a new PGD pair

When adding a new PGD pair at the LATIN iteration \(n+1\), the displacement correction corresponds to the estimation of the \(m+1\) pair comprising a space and a frequency function. One gets

$$\begin{aligned} \varvec{ \Delta _{n+1}{u}_\omega } = \varvec{{\overline{u}}}^{m+1}{\lambda }_\omega ^{m+1}. \end{aligned}$$

Thus, considering the addition of a PGD pair, equation (27) leads to the two coupled equations that define the new spatial and frequency modes \(\{\overline{\varvec{u}}^{m+1}, {\lambda }_\omega ^{m+1}\}\)

$$\begin{aligned} {\left\{ \begin{array}{ll} \int _\Omega \mathcal {\varvec{\upvarepsilon }}(\overline{\varvec{u}}^{m+1})\varvec{H_\lambda }^{m+1}~ \mathcal {\varvec{\upvarepsilon }}(\overline{\varvec{u}}^*) + \int _\Omega \mathcal {\varvec{\upvarepsilon }}(\overline{\varvec{u}}^{m+1})\varvec{D_\lambda }^{m+1}~ \mathcal {\varvec{\upvarepsilon }}(\overline{\varvec{u}}^*) \\ + \int _\Omega \overline{\varvec{u}}^{m+1}\varvec{M_\lambda }^{m+1} \overline{\varvec{u}}^* \textrm{d}\Omega \\ \qquad = \int _\Omega \int _I \lambda ^{m+1} \hat{\varvec{f}}^{n+1}\textrm{d}t : \mathcal {\varvec{\upvarepsilon }}(\overline{\varvec{u}}^*) \textrm{d}\Omega , \quad \forall \overline{\varvec{u}}^* \in {\mathcal {U}}^0 \\ \left( a^{m+1} +j\omega b^{m+1}- \omega ^2 c^{m+1}\right) {\lambda }_\omega ^{m+1} \\ = g_{\omega }^{m+1}, \forall \omega \in \mathbb {R}^+ \end{array}\right. } \end{aligned}$$
(29)

solved using a fixed-point algorithm initialised by a user-chosen temporal function, with,

$$\begin{aligned} {\left\{ \begin{array}{ll} \varvec{H_\lambda }^{m+1} = \int _I \left( \lambda ^{m+1}\right) ^2\mathbb {H}^- \textrm{d}t \\ \varvec{D_\lambda }^{m+1} = \int _I{\dot{\lambda }}^{m+1}\mathbb {D}\lambda ^{m+1} \textrm{d}t \\ \varvec{M_\lambda }^{m+1} = \int _I \rho \ddot{\lambda }^{m+1}\lambda ^{m+1} \textrm{d}t\\ a^{m+1} = \int _{\Omega } \mathcal {\varvec{\upvarepsilon }}\left( \overline{\varvec{u}}^{m+1}\right) :\mathbb {H}^-: \mathcal {\varvec{\upvarepsilon }}\left( \overline{\varvec{u}}^{m+1}\right) \textrm{d}\Omega \\ b^{m+1} = \int _{\Omega }\mathcal {\varvec{\upvarepsilon }}\left( \overline{\varvec{u}}^{m+1}\right) :\mathbb {D}: \mathcal {\varvec{\upvarepsilon }}\left( \overline{\varvec{u}}^{m+1}\right) \textrm{d}\Omega \\ c^{m+1} = \int _{\Omega }\rho \overline{\varvec{u}}^{m+1} \cdot \overline{\varvec{u}}^{m+1} \textrm{d}\Omega \\ g_{\omega }^{m+1} = \int _{\Omega } \mathcal {\varvec{\upvarepsilon }}\left( \overline{\varvec{u}}^{m+1}\right) :{\hat{\varvec{f}}}_\omega ^{m+1}\textrm{d}\Omega . \end{array}\right. } \end{aligned}$$
(30)

Estimating the new frequency modes involves spatial integrals, whereas the estimation of the new space mode is based on temporal integrals. Indeed, for the sake of simplicity, usual temporal integral operators are employed here as the considered damping does not depend on the frequency. Thus, the new frequency mode is transformed back to its temporal counterpart at each iteration, which is straightforward using the inverse FFT algorithm. The operators \(\varvec{H_\lambda }\), \(\varvec{D_\lambda }\) and \(\varvec{M_\lambda }\) of the spatial problem in equation (29) are therefore similarly obtained by injecting the PGD form of the displacement correction from equation (23) to equation (22) as it has been detailed for the frequency modes in equations (27) and (28). One may notice that the contribution of the previous PGD modes is taken into account in the right-hand-side of those equations where the quantity \(\varvec{{\hat{f}}}^{n+1}\) links the quantities computed in the LATIN global stage n and the following local stage \(n+1/2\) as follows:

$$\begin{aligned} \varvec{{\hat{f}}^{n+1}} = \left( \mathcal {\varvec{\upsigma }}^{\delta }_n - {\hat{\mathcal {\varvec{\upsigma }}}}^{\delta }_{n+1/2}\right) -\mathbb {H}^-:\left( \mathcal {\varvec{\upvarepsilon }}_{n}-{\hat{\mathcal {\varvec{\upvarepsilon }}}}_{n+1/2}\right) . \end{aligned}$$
(31)

4.2.4 Updating the frequency modes

Before adding a new PGD pair to the decomposition already including m pairs, a simple update of the frequency functions \({\lambda }_\omega ^i(\omega )\) is performed considering the associated spatial modes \(\overline{\varvec{u}}^i\) as fixed. Such a step is achieved by solving the problem

$$\begin{aligned}{} & {} \left( \varvec{A}^{\text {Update}} + j\omega \varvec{B}^{\text {Update}} -\omega ^2 \varvec{C}^{\text {Update}}\right) \varvec{{\Lambda }_\omega } \nonumber \\{} & {} = \varvec{{F}_\omega ^{\text {Update}}}, \forall \omega \in \mathbb {R}^+, \end{aligned}$$
(32)

with, for any ,

$$\begin{aligned} {\left\{ \begin{array}{ll} \varvec{A}^{\text {Update}}_{kl} = \int _{\Omega } \mathcal {\varvec{\upvarepsilon }}\left( \overline{\varvec{u}}^k\right) :\mathbb {H}^-: \mathcal {\varvec{\upvarepsilon }}\left( \overline{\varvec{u}}^l\right) \textrm{d}\Omega \\ \varvec{B}^{\text {Update}}_{kl} = \int _{\Omega } \mathcal {\varvec{\upvarepsilon }}\left( \overline{\varvec{u}}^k\right) :\mathbb {D}: \mathcal {\varvec{\upvarepsilon }}\left( \overline{\varvec{u}}^l\right) \textrm{d}\Omega \\ \varvec{C}^{\text {Update}}_{kl} = \int _{\Omega }\rho \overline{\varvec{u}}^k \cdot \overline{\varvec{u}}^l \textrm{d}\Omega \\ \varvec{{F}_\omega ^{\text {Update}}} = \int _{\Omega } \mathcal {\varvec{\upvarepsilon }}\left( \overline{\varvec{u}}^k\right) :{\hat{\varvec{f}}}_\omega ^{n+1}\textrm{d}\Omega \end{array}\right. } \end{aligned}$$
(33)

and,

$$\begin{aligned} \varvec{{\Lambda }_\omega } = \left[ {\lambda }_\omega ^1, {\lambda }_\omega ^2, \cdots , {\lambda }_\omega ^m\right] ^T . \end{aligned}$$
(34)

Starting by updating the frequency functions may allow skipping the addition of a new PGD pair if the updating step allows sufficient progress in the iterative scheme. Then, the LATIN iteration is significantly less expensive than adding a new pair. A new mode is only added if the updated functions \(\{\lambda ^{i,~Update}\}_{i\in \llbracket 1,m\rrbracket }\) are considered too similar compared to their counterpart \(\{\lambda ^i\}_{i\in \llbracket 1,m\rrbracket }\) prior to the updating step, i.e.

$$\begin{aligned} \max _{i\in \llbracket 1,m\rrbracket }\left( \frac{\int _I |\lambda ^i - \lambda ^{i,~Update} |\textrm{d}t}{1/2\int _I |\lambda ^i + \lambda ^{i,~Update}|\textrm{d}t}\right) \leqslant \xi _c \end{aligned}$$
(35)

with \(\xi _c\) a user-defined threshold.

The proposed method relies heavily on multiple Fourier transforms. However, the FFT algorithm is known for not being robust for signals which do not vanish at the end of the time window. Indeed, when the damping rate is low or if the temporal observation window is short, one may face the transient regime where FFT can lead to temporal overlapping [51]. To avoid this numerical artefact, artificial damping is included to the global equations.

4.2.5 Artificial damping in the frequency calculation strategy

Artificial damping can be added temporarily as a computational step to overcome the overlapping issue. This method, which offers numerical robustness for any scenario, is inspired by the Prony transform [52] which corresponds to a damped Fourier transform.

Consider the case where a PGD pair is added, i.e. when solving Equation (29). The frequency problem can be written as

$$\begin{aligned} \lambda _{\omega }^{m+1}(\omega ) = H_{\omega }^{m+1}(\omega )g_{\omega }^{m+1}(\omega ) \end{aligned}$$
(36)

by introducing \(H^{m+1}\) as the response function of the system and \(g^{m+1}\) as the forcing function as follows:

$$\begin{aligned} {\left\{ \begin{array}{ll} g^{m+1}(t) = \int _{\Omega }\varvec{{\hat{f}}^{n+1}}(t,\varvec{x})\mathcal {\varvec{\upvarepsilon }}\left( \overline{\varvec{u}}^{m+1}\right) \textrm{d}\Omega , \\ {H}_\omega ^{m+1}(\omega ) = \left( a^{m+1} +j\omega b^{m+1}- \omega ^2 c^{m+1}\right) ^{-1}. \end{array}\right. } \end{aligned}$$
(37)

Artificial damping is introduced through a modified response function

$$\begin{aligned} {\tilde{H}}^{m+1}(t) = e^{-a_d t}H^{m+1}(t) \end{aligned}$$
(38)

with \(a_d \in \mathbb {R}^{+*}\), a user-chosen parameter that will further be discussed. The damped response function can also be evaluated without an explicit temporal formulation but directly from its frequency counterpart [41] as

$$\begin{aligned} {{\tilde{H}}}_\omega ^{m+1}(\omega ) = {H}_\omega ^{m+1}(\omega -ja_d) \end{aligned}$$
(39)

with j the imaginary unit.

Then, the temporal solution \(\lambda ^{m+1}(t)\) of Equation (29) satisfying

$$\begin{aligned} \lambda ^{m+1}(t) = \int _{{\mathbb {R}}} H^{m+1}(t-\tau )g^{m+1}(\tau )\textrm{d}\tau \end{aligned}$$
(40)

also satisfies the following modified relationship

$$\begin{aligned} \lambda ^{m+1}(t) = e^{a_d t} \int _{{\mathbb {R}}} {\tilde{H}}^{m+1}(t-\tau ){\tilde{g}}^{m+1}(\tau )\textrm{d}\tau , \end{aligned}$$
(41)

with \({\tilde{g}}^{m+1}(\tau ) = e^{-a_d \tau }g^{m+1}(\tau )\) the modified forcing function. Because \({\tilde{H}}^{m+1}\) is inherently damped, the convolution product \({\tilde{g}}^{m+1}\star {\tilde{H}}^{m+1}\) can be easily performed numerically in the frequency domain. Thus, the problem of interest is indeed evaluating the modified Fourier response \({\tilde{\lambda }}_\omega ^{m+1}(\omega )\) through the following problem

$$\begin{aligned} {\tilde{\lambda }}_\omega ^{m+1}(\omega ) = {{\tilde{H}}}_\omega ^{m+1}(\omega ){{\tilde{g}}}_\omega ^{m+1}(\omega ), \end{aligned}$$
(42)

which is robust and accurate even in cases where the response function \(H^{m+1}\) is poorly or even not damped.

Then, the initial unknown \(\lambda ^{m+1}(t)\) is retrieved as

$$\begin{aligned} \lambda ^{m+1}(t) = e^{a_d t} {\tilde{\lambda }}^{m+1}(t). \end{aligned}$$
(43)

The artificial damping strategy is summarised by Fig. 5.

Fig. 5
figure 5

Frequency modes calculation strategy based on artificial damping

Similar strategy is used for the elastic initialisation and for each LATIN iteration, either updating frequency modes or adding a new pair. It allows for the accurate calculation of a transient solution on an observation time \(I = [0,T_0]\) at the end of which the structure shall still be vibrating.

5 Numerical results

The hybrid LATIN-PGD presented herein is investigated for two structures. All the numerical examples were carried out using ROMlab [53], an in-house software written in Matlab\(^{\circledR }\) language. The meshes were obtained using the software GMSH. The graphical post-processing was done with the software Paraview. For both cases, the material parameters are defined in Table 1.

Table 1 Material parameters

The damping of the structure is represented via a damping matrix [D]. Herein, a Rayleigh damping matrix expressed as a linear combination of the mass and stiffness matrices [M] and [K] is chosen such that it reads \([D] = \upalpha _r[K]+\beta _r[M]\). The parameters \(\upalpha _r\) and \(\beta _r\) are chosen so that the damping rate defined from the projection of the dynamic admissibility on the eigenmodes [54] as

$$\begin{aligned} \xi = \frac{1}{2}\left( \upalpha _r \omega _{0i} + \frac{\beta _r}{\omega _{0i}} \right) \end{aligned}$$
(44)

is equal to \(5\%\) for the first two eigenfrequencies \(f_1 = {30}\,\hbox {Hz}\) and \(f_2 ={78}\,\hbox {Hz} \). An example of the evolution of the damping rate \(\xi \) as a function of the frequency is shown in Fig. 6 where both \(f_1\) and \(f_2\) are circled out.

Fig. 6
figure 6

Evolution of the damping rate as a function of the frequency. A Rayleigh damping matrix is used with a damping rate fixed at 5% for the first two eigenfrequencies \(f_1 = {30}\,\hbox {Hz}\) and \(f_2 ={78}\,\hbox {Hz} \).

In the methodology, multiple user-defined thresholds have been introduced. In the following results, the stopping criterion was chosen such that \(\eta _c = 2 \times {10}^{-3}\). To improve convergence, a relaxation coefficient of \(\mu _r = 0.8\) was also used, as inspired by [55]; the global stage is therefore modified so that from the solution \(\mathring{s}_{n+1}\) given at the end of the PGD process, the relaxed solution at the end of the global stage reads \(\mu _r\mathring{s}_{n+1} + \left( 1-\mu _r\right) s_{n}\). The criterion \(\xi _c\) driving the update or the addition of a new mode is adaptive with the size of the PGD basis. Initially, it equals 1; once 5 modes have been included in the basis, it is fixed to 0.15. This evolution allows a quick expense of the basis at the beginning of the LATIN steps.

5.1 Two-dimensional beam

A fixed-end beam of length \(L_b={9}\,\hbox {m}\) and width \(W_b= {80}\,\hbox {cm}\) as illustrated in Fig. 7 is investigated. It is meshed with 9080 T3 elements of mean size equal to 4cm.

Its end section is submitted to an oscillatory load \(U_d\).

Fig. 7
figure 7

Two-dimensional fixed-end beam

Fig. 8
figure 8

Temporal load 1—mono-frequency case

Fig. 9
figure 9

Evolution of the damage field for the beam solicited with load 1—\(f={40}\,\hbox {Hz}\) and \(U_d^{\text {max}} = {100}\,\hbox {mm}\)

5.1.1 Single-frequency load

First, a single-frequency load plotted in Fig. 8 and defined by

(45)

is considered, where the final time is \(T_0 = {0.3125}\,\hbox {s}\). \(N_t = 1,024\) time steps with uniform \(\delta t \approx {3 \times {10}^{-4}}{s}\) were employed, a number of time steps which is a power of two allows to benefit at best from the FFT numerical efficiency. In the below application, the values of the loading parameters are \(f={40}\,\hbox {Hz}\) and \(U_d^{\text {max}} = {100}\,\hbox {mm}\).

The damage field in the beam at different instants is given in Fig. 9. From the initial time step, which corresponds to an undamaged structure, it can be seen that the damage field increases first close to the solicited extremity of the beam where the bending moment is maximum. In response to that loading scenario, the beam tends to oscillate along a first-mode type of movement therefore damage also grows close to the middle of the beam , which corresponds to the location of an anti-node, where the displacement is therefore important. The temporal evolution of damage for six Gauss points located on the left side, the middle part and the right side of the beam (see Fig. 7) can be seen in Fig. 10. It can be highlighted that up to around \({0.15}\,\hbox {s}\) the points on the right side (near to the application points of the load) were the most damaged, but afterwards, the critical points are the points on the left side, near to the embedding zone. The delay is due to the time required by stress waves to reach that zone.

Only nineteen iterations were required for the LATIN hybrid algorithm to reach the convergence criterion \(\eta _c = {2 \times 10^{-3}}{}\) (Fig. 11). Note that the error does not decrease monotonously. This is a traditional result when using a Galerkin formulation for the PGD implementation as it is done here. The interested reader can refer to [48] for further information on how the PGD implementation can impact the error decay. The resulting reduced model comprises only six modes. Thus, most iterations were very cheap as they consisted in updating the frequency modes and, for only less than a third of the iterations, spatial computations were performed.

The six obtained spatial modes are shown in Fig. 12. The first two modes lead to global corrections, whereas the following modes, shown for instance in Fig. 12g, k, highlight patterns at each end of the beam that follow patterns depicted by the damage field (Fig. 9). The PGD modes therefore target corrections specific to the nonlinearities appearing in the structure. To highlight the fact that the strategy allows to build modes that are specific to the problem, the spatial PGD modes can be compared to the 6 (energetically) predominant classical linear modes; they are smoother and do not exhibit localised patterns.

Fig. 10
figure 10

Damage evolution at different points of the beam (Fig. 7) solicited with load 1—\(f={40}\,\hbox {Hz}\) at \(U_d^{\text {max}} = {100}\,\hbox {mm}\)

Fig. 11
figure 11

Convergence of the error indicator and evolution of the number of PGD modes with LATIN iteration for the beam solicited with load 1—\(f={40}\,\hbox {Hz}\) and \(U_d^{\text {max}} = {100}\,\hbox {mm}\)

Similarities between the spatial PGD modes and the natural eigenvectors of the beam can be quantified through their energetic scalar product. The obtained values are represented within the Modal Assurance Criterion (MAC) matrix [56] shown in Fig. 13. The first PGD mode matches closely the first eigenvector. The second PGD mode as well as the third and fifth PGD modes have similarities with the second eigenmode, while the fourth and sixth PGD modes do not share significantly similar information with the eigenmodes, as they rather focus on local nonlinear behaviour.

It is also interesting to compare LATIN computations associated with an adaptive PGD basis or with a fixed basis comprising the first 100 eigenvectors. To do so, a relative error \(\Xi \) is evaluated for any iteration n of the LATIN by comparing a reference solution \(U_{overkill}\) being an overly converged LATIN-PGD solution considering \(\eta _c = {2 \times {10}^{-4}}\) with \(U_n\) the current solution at the \(n-th\) iteration either with a PGD approach or with a projection onto the eigenvectors basis as follows:

$$\begin{aligned} \Xi = \frac{\left( U_{overkill}-U_n\right) ^T[K]\left( U_{overkill}-U_n\right) }{U_{overkill}^T[K]U_{overkill}}. \end{aligned}$$
(46)

The evolution of these errors with LATIN iteration is shown in Fig. 14. During the first iteration, the error is mostly attributable to the two-alternated search direction scheme that is far from the converged solution therefore the error given by both computations based on the eigenvector basis and the one using the PGD is the same. But, the PGD basis provides quickly a better estimation than the fixed basis. After ten iterations, the LATIN computation based on the eigenbasis leads to a stagnating error. It seems that the method does not appear to be able to decrease below that plateau. However, using the PGD basis, the error decreases significantly below that plateau by generating new optimised modes.

Fig. 12
figure 12

Magnitude of PGD modes for the beam solicited with load 1—\(f={40}\,\hbox {Hz}\) and \(U_d^{\text {max}} = {100}\,\hbox {mm}\) compared to energetically predominant eigenmodes

The temporal functions associated with the spatial PGD modes are shown in Fig. 15; their frequency counterparts are given in Fig. 16. It can be seen in both figures that the first mode significantly outperforms the following modes. On the temporal domain (Fig. 15), the temporal information of the damage evolution (Fig. 10) can be clearly seen on the PGD modes. The nonlinear behaviour is significant only after \({0.1}\,\hbox {s}\) and stagnation of some modes such as mode 4 can be observed after \({0.2}\,\hbox {s}\). It can be highlighted that this stagnation is not for a zero-value, conveying a permanent perturbation due to the nonlinear behaviour. Note that artificial damping is therefore needed. Indeed, even in cases where the steady state is reached within the considered temporal window, special care must be paid to avoid Gibbs phenomenon due to the existence of possible residual displacements associated with nonlinear phenomena. The frequency modes (Fig. 10) show that even a simple mono-frequency load can lead to a complex spectrum of the nonlinear response. The first mode exhibits a main contribution around \({30}\,\hbox {Hz}\), which corresponds to the first eigenfrequency of the structure (second and third eigenfrequencies are \({78}\,\hbox {Hz}\) and \({142}\,\hbox {Hz}\)), but the following modes show less and less this predominant frequency band and the last modes are distributed over the frequency domain with a tortuous spectrum as shown in Fig. 15.

Fig. 13
figure 13

Modal assurance criterion matrix of the PGD modes and the eigenmodes for the beam solicited with load 1—\(f={40}\,\hbox {Hz}\) and \(U_d^{\text {max}} = {100}\,\hbox {mm}\)

Fig. 14
figure 14

Evolution of the error with LATIN iteration using an adaptive PGD basis or a fixed basis comprising the first 100 eigenmodes for the beam solicited with load 1—\(f={40}\,{\hbox {Hz}}\) and \(U_d^{\text {max}} = {100}\,\hbox {mm}\)

Note that the study of damage evolution is mainly interesting during the transient regime, and the study has therefore been narrowed down to such a window (see Fig. 10). The importance of the artificial damping in that context is exposed in Fig. 17 where the displacement along the y-axis at point \(P_I\) with \(x_{P_I} = L_b/2\) and \(y_{P_I} = W_b/2\) given by the elastic initialisation is shown. Considering a temporal computation given by a classic Newmark scheme (Fig. 17a), the displacement steady state is not reached at the end of the considered temporal window. A frequency computation without artificial damping (Fig. 17b) leads to unwanted temporal overlap rendering the solution acausal. Adding artificial damping (Fig. 17b) provides proficient results, which is illustrated by the comparisons exposed in Fig.  17d.

Fig. 15
figure 15

Six estimated temporal PGD modes for the beam solicited with load 1—\(f={40}\,\hbox {Hz}\) and \(U_d^{\text {max}} = {100}\,\hbox {mm}\)

Fig. 16
figure 16

Power spectral densities (PSD) of the six estimated frequential PGD modes for the beam solicited with load 1—\(f={40}\,\hbox {Hz}\) and \(U_d^{\text {max}} = {100}\,\hbox {mm}\)

Fig. 17
figure 17

Numerical effect of the artificial damping: comparison of the temporal, non-dampened (showing unwanted artefacts) and dampened frequency computations for the elastic initialisation at point \(P_I\) of the beam solicited with load 1—mono-frequency Gaussian load with \(f={40}\,\hbox {Hz}\) and \(U_d^{\text {max}} = {100}\,\hbox {mm}\)

In details, the artificial damping relies on the damping rate \(a_d\) (see equation (38)). That parameter value is derived from the choice of a value for the damping coefficient d at the end of the temporal loading with \(a_d = \log (d)/T_0\). The numerical influence of d has been investigated for the elastic initialisation for the same point of interest \(P_I\) in terms of an overlapping error defined by comparing the vertical displacement components of a temporal reference solution \({U^{ref}}\) with a dampened frequency estimation \({U}^{freq}\) as follows:

$$\begin{aligned} \zeta = \max _{t\in I} \frac{|U^{freq} - U^{ref}|}{\max _{t\in I}U^{ref}} \end{aligned}$$
(47)

The evolution of the overlapping error with the value of the damping coefficient (Fig. 18) shows a strong and maximum error with the value \(d = 1\), which corresponds with \(a_d = 0\), i.e. without considering artificial damping. The addition of numerical damping only improves the solution by compensating the artefact introduced by the temporal overlapping. The decrease in error is strong by increasing the value from 1 to 100, then it tends to stagnate. The very weak dependence of the damping coefficient above \(d=100\) proves the robustness of the method with respect to high damping values. A minimum appears for \(d=1 \times {10}^{3}\), which has then been used for all numerical results shown in this article.

5.1.2 Bi-frequency loading

A second loading case (Fig. 19), which is the sum of two sinus functions with different frequencies, as follows

$$\begin{aligned} U_d(t)= & {} U_d^{\text {max}}\exp \left( -\left( 10\frac{(t-\frac{T_0}{2})}{T_0}\right) ^2\right) \nonumber \\{} & {} \left( sin\left( 2\pi f_a ~ t\right) +sin\left( 2\pi f_b ~ t\right) \right) . \end{aligned}$$
(48)

is considered such that the robustness and behaviour of the method for various frequency spectra of the load can be studied. The final time is \(T_0 = {0.3125}\,\hbox {s}\), and \(N_t ={1024}\) time steps were employed. The values of the loading parameters are \(f_a={40}\,\hbox {Hz}\), \(f_b={80}\,\hbox {Hz}\) and \(U_d^{\text {max}} = {30}\,\hbox {mm}\).

Similar convergence behaviour as for the mono-frequency load has been observed. It is interesting to look at the new spectrum of frequency modes in Fig. 20. Comparing with the mono-frequency case, the contribution of the different modes are more distributed over the frequency domain, particularly the first mode, which is composed of a large bump. It is remained that the two first eigenfrequencies are \(f_1 = {32}\,\hbox {Hz}\) and \(f_2 ={78}\,\hbox {Hz} \). Following modes tend to correct the response more locally over the frequency space. Besides, the different modes seem to equally contribute to the solution, whereas the first mode was far more prominent than the others for the previous loading scenario.

Fig. 18
figure 18

Evolution of the overlapping error \(\zeta \) for dampened frequency computation with regard to the damping coefficient d for the beam solicited with load 1—mono-frequency Gaussian load with \(f={40}\,\hbox {Hz}\) and \(U_d^{\text {max}} = {100}\,\hbox {mm}\)

Fig. 19
figure 19

Temporal load 2—bi-frequency Gaussian case

Fig. 20
figure 20

Power spectral density of the nine estimated PGD modes for the beam solicited with load 2—bi-frequency load with \(f_a={40}\,\hbox {Hz}\), \(f_b={80}\,\hbox {Hz}\) at \(U_d^{\text {max}} = {30}\,\hbox {mm}\)

Fig. 21
figure 21

Temporal load 3—a complex load

Fig. 22
figure 22

Temporal PGD modes for the beam solicited with load 3—a complex load

Fig. 23
figure 23

Evolution of the error with LATIN iteration using an adaptive PGD basis or a fixed basis comprising the first 100 eigenmodes for the beam solicited with load 3—a complex load

5.1.3 Complex loading

In order to evaluate the versatility of the proposed method, a modified earthquake load shown in Fig. 21 has been considered. This loading lies over \(I=[{0}\,\hbox {s},{3}\,\hbox {s}]\), and it has been discretised uniformly with 4400 time steps (\( \delta t \approx {7 \times 10^{-4}}{s}\)).

The load frequency fluctuates; it is high in the first second of the signal, whereas it is relatively slow in the following two seconds. It is interesting to see that the corrections given by the temporal modes shown in Fig. 22 grasp that information, as they give high-amplitude correction in the first second of the simulation. The rest of the temporal domain shows rather stagnating correction as the nonlinearities tend to stop evolving.

Fig. 24
figure 24

Modal assurance criterion (MAC) matrix comparing the basis of PGD modes with classical LNMs for the beam solicited with load 3—a complex load

Fig. 25
figure 25

Three-dimensional structure with boundary conditions

Thirteen PGD modes and 35 LATIN iterations are needed to reach the stopping criterion \(\eta _c = 2 \times {10}^{-3}\). Comparing the PGD basis with the eigenbasis of 100 vectors in Fig. 23, a similar behaviour as for the mono-frequency load 1 is observed. After eight iterations, the accuracy of the LATIN method based on the eigenbasis stagnates to a plateau. The nonlinear behaviour is ultimately much better described with a small number of PGD modes (5 to 13 modes) computed on the fly than with 100 eigenvectors.

The MAC matrix (Fig. 24) between the PGD modes and the eigenmodes confirms the difference between the PGD basis and the eigenbasis. Except from the first and fifth PGD modes which are very similar to the first and third eigenmodes, respectively, most PGD modes largely differ from the first 13 eigenvectors.

5.2 Three-dimensional pipe

A three-dimensional L-shaped pipe, as schematised in Fig. 25, has also been studied. The dimensions of the structure are given in Table 2. This structure has been meshed with 119, 682 second-order tetrahedral elements.

Table 2 Geometrical parameters of the pipe

The pipe is submitted to a moving-support type of loading (Fig. 25). A three-dimensional load whose components are plotted in Fig. 26 is imposed to the bottom section through the boundary conditions of the pipe, as shown in Fig. 25. More compliant conditions are applied to the top and middle sections where displacement is only imposed in the z-direction and in the x-direction, respectively. This loading lies over \(I=[{0}\,\hbox {s},{9}\,\hbox {s}]\), and it has been discretised uniformly with 4, 400 time steps (\( \delta t \approx {2 \times {10}^{-3}}\,\hbox {s}\)).

Convergence behaviour is given in Fig. 27. It is interesting to note that, in that case too, only a few PGD modes, exactly 13 modes, are sufficient to represent accurately the solution. These modes are evaluated in 35 LATIN iterations. Therefore, more than half of the iterations simply consist of updating the frequency modes without adding new spatial modes.

Fig. 26
figure 26

Three-dimensional complex load applied to the pipe’s boundary conditions

Fig. 27
figure 27

Evolution of the error indicator and the number of PGD modes for the three-dimensional pipe structure solicited with a complex load

Fig. 28
figure 28

Evolution of the damage field for the pipe solicited with a complex loading

Fig. 29
figure 29

Damage field in the three-dimensional pipe structure solicited with a complex load at time \(t={2}{\,\hbox {s}}\) and damage evolution at the T-junction between the tube and the middle branch over time

Finally, the quantity of interest, namely the damage field, can be extracted as shown in Figs. 28 and 29. It appears on the three-dimensional fields shown in Fig. 28 that damage mostly grows at the T-junction of the pipe where a stress concentration occurs. We can observe in Fig. 29 that damage grows between \({1.2}\,\hbox {s}\) and \({2}\,\hbox {s}\) which corresponds to the time of occurrence of the dominant peak in the load. After \(t={2}\,\hbox {s}\) the nonlinearities stop evolving because the structure is only stressed such that the stored energy remains below the damage threshold. Figure 29 also shows the final damage field in the pipe on the deformed structured at time \(t={2}\,\hbox {s}\) with a magnification factor of 10.

6 Conclusion

An original hybrid LATIN-PGD framework has been proposed for damageable materials in dynamics. The computations of the dynamics aspect are handled in the frequency domain while still solving for the nonlinear behaviour in the temporal domain. Predicting the damage evolution of a damage plastic structure under dynamic loading is possible for various load conditions. This work shows a successful implementation of a hybrid time-frequency approach for continuous damage mechanics. The FFT algorithm is used even with residual displacements due to plasticity by introducing artificial damping in order to avoid Gibbs phenomena. The results also highlighted the great reducibility of low-frequency dynamics problems with a plasticity-driven damage behaviour. Indeed, few PGD modes are needed to represent the solution of the different problems tackled in this paper. Fewer modes lead to fewer spatial problems to be solved ultimately leading to a reduced numerical cost. The method appears versatile with reduced computational cost due to the adaptive PGD basis, and it offers a rich information with the prediction of a large set of internal variables over the full time-space domain. As stated in introduction, a perspective to this work is to use this solver in a multi-query framework for which generating few PGD modes is an asset for computing quasi-identic solutions where PGD basis can be reused.