Keywords

These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

1 Introduction

Directs methods are largely used for the shakedown analysis of elastic-plastic structure under variable [5, 12, 16, 19, 20, 22, 24, 25] or cyclic loading [23] because they an efficient alternative to time consuming incremental time-stepping calculations (see also [6]). They are essentially based on Interior Point Methods but alternative techniques as the linear matching method [8, 17] are efficiently employed too.

In [7, 11] an iterative algorithm has been proposed that makes possible to performs the finite element shakedown analysis using a formulation similar to that adopted for the evaluation of the equilibrium path of elastoplastic structure. In [9] has been shown has this algorithm can be obtained from a mathematical programming problem, consisting in the application of the proximal point algorithm to the static shakedown theorem so defining a convergent sequence of safe states or steps that are solved by means of dual decomposition methods. Each proximal point step coincides, in the elastoplastic case, with that defined using standard incremental iterative algorithms [4, 13] based on Riks arc-length method while the optimization subproblems, deriving from the dual decomposition technique, exactly correspond to the standard return mapping by closest point projection scheme (CPP). We denote from now on this method as SD-CPP (Strain Driven—Closest Point Projection) or pseudo elastoplastic analysis.

The major advantage of the dual decomposition approach is that the inequality constraints arising from the constitutive laws are eliminated from the step equations at the local level (Gauss point or finite element) using the CPP scheme, while the stresses and the plastic multipliers are implicitly defined in terms of the displacements. The finite step equations are so transformed into a nonlinear system of equations, without inequalities, easily solved by means of standard arc–length strategies. The global description of the algorithm is always performed in terms of displacement variables alone.

It is worth of noting that the more usual descriptions based on displacement variables alone can not be the best choice, while potentially more efficient and robust analysis algorithms can be obtained by directly solving the proximal point step equations maintaining all the variables of the problems at the same level. With this aim in the present work an approach similar to that presented in [4] for the evaluation of the equilibrium path of elastoplastic structures is proposed for shakedown analysis. The proximal point step equations are solved by using an Equality Constraints Sequential Quadratic Programming (EC-SQP) formulation instead of using dual decomposition with a great advantage in terms of both robustness and efficiency.

Each QP iteration of the algorithm is organized in two phases: (i) a suitable estimate of the active constraints at the current iteration is performed for a fixed value of the load multiplier and the displacements, solving a problem similar to that defined by the return mapping process; (ii) the new estimates of the step unknowns are obtained solving an equality constrained quadratic programming problem that retains only the active constraints. The second phase requires only the solution of a linear system of equations, and is far cheaper to solve than the complete QP problem arising from standard SQP strategies. The algorithm only require few modifications of existing codes that evaluate the equilibrium path of elastoplastic structures by means of path following incremental iterative algorithms (SD-CPP). From the computational point of view each iteration has almost the same computational cost as a standard SD-CPP step in the case of a single constraint, and a smaller cost in the multiple constraints case. Furthermore the QP problem is obtained on the basis of a consistent linearization of all the equations, so allowing the iterations to naturally evolve towards the solution. To improve the computational efficiency, the solution of each linear system required by the analysis is performed by means of a Gauss elimination of the locally defined quantities (stresses and plastic multipliers).

In order to validate the proposed method, the work presents a numerical experimentation by analyzing some 2D test problems under plane stress condition in both cases of fixed and variable loads. The numerical analyses are performed using the mixed finite elements proposed in [13]. These elements, which are based on a three field interpolation of displacements, stresses and plastic multipliers, have been adopted for their accuracy and performance properties both for elastic and elastoplastic analysis as required by shakedown problems. This makes possible to avoid the use of two kinds of elements as done in [9, 11] one with a good elastic behaviour to correctly evaluate the plastic shakedown multiplier and one with a good plastic behaviour and free of volumetric locking phenomena to performs the nonlinear analysis. The obtained results highlight the improvement in terms of robustness and computational cost with respect to previous proposal [9, 11] based on dual decomposition but also with respect to the use of interior point methods, i.e. the most efficient methods for solving nonlinear convex programming problems, in all the cases considered.

2 A Mathematical Programming Formulation for the Shakedown Analysis

In the following the static shakedown theorem is rewritten in terms of the involved finite element quantities and of the total stress, making possible a unified treatment of shakedown and limit analysis. The chosen FEM format is based on the general three field interpolation presented in [3] but any other finite element, such as, for example, a standard compatible one based on Gauss integration points, can be cast in the framework proposed by giving the appropriate meaning to parameters and operators.

2.1 The FEM Discrete Equation for the Static Shakedown Theorem

We consider an elastoplastic body \(\varOmega \) subjected to bulk load \(\mathbf {b}\) and tractions \(\mathbf {t}\), that can varying with the time inside a given load domain.

Using the three fields interpolation proposed in [2, 3] we assume that displacement \(\mathbf {u}[\mathbf {x}]\), stress \({\varvec{\sigma }}[\mathbf {x}]\) and plastic multiplier \(\gamma [\mathbf {x}]\) of a point \(\mathbf {x}\in \varOmega \) are interpolated as

$$\begin{aligned} \mathbf {u}[\mathbf {x}] := \mathbf {N}[\mathbf {x}] \mathbf {d}_{e}\quad \ \ {\varvec{\sigma }}[\mathbf {x}] := \mathbf {S}[\mathbf {x}] {\varvec{\beta }}_e\quad \ \ \gamma [\mathbf {x}] := \mathbf {G}[\mathbf {x}] \varvec{\kappa }_e, \end{aligned}$$
(1)

where \(\mathbf {N}[\mathbf {x}]\), \(\mathbf {S}[\mathbf {x}]\) and \(\mathbf {G}[\mathbf {x}]\) are the matrices containing the interpolation functions and \(\mathbf {d}_{e}\), \({\varvec{\beta }}_e\) and \(\varvec{\kappa }_e\) are the vectors collecting the finite element parameters.

As usual for mixed finite elements we assume inter-element continuity only for the displacement field \(\mathbf {u}\), while \({\varvec{\sigma }}\) and \(\gamma \) will be defined locally inside the element, i.e. \({\varvec{\beta }}_e\) and \(\varvec{\kappa }_e\) are local variables which are discontinuous across the elements. Furthermore the interpolation functions in \(\mathbf {G}\) are assumed to be nonnegative allowing the condition \(\gamma \ge 0\) to be easily expressed by making \(\varvec{\kappa }_e\ge \mathbf{0}\). From now on, vector inequality will be considered in a componentwise fashion while we omit the dependence of the quantities from \(\mathbf {x}\) when clear from the context.

2.1.1 Equilibrium Equation

The interpolations introduced above allow to write the discrete form of the equilibrium equations as

$$\begin{aligned} {\fancyscript{A}}_e\left\{ \mathbf {Q}_e^T {\varvec{\beta }}_e- \lambda \mathbf {p}_e\right\} = 0 \end{aligned}$$
(2)

\({\fancyscript{A}_e}\) being the standard assembling operator which takes into account the inter–element continuity conditions on the displacement field and

$$\begin{aligned} \mathbf {Q}_e:= \int \limits _{{\varOmega }_e} \mathbf {S}^T {\mathbf {D}}\mathbf {N},\quad \ \ \mathbf {p}_e:= \int \limits _{{\varOmega }_e} \mathbf {N}^T \mathbf {b}+ \int \limits _{{\partial \Omega }_e} \mathbf {N}^T \mathbf {t}\end{aligned}$$
(3)

are the element equilibrium operator and load vector while \({\mathbf {D}}\) is the continuum compatibility differential operator, \({\varOmega _e}\) the element domain and \({\partial \Omega _e}\) its boundary. For the sake of the following discussion Eq. (2) can be rewritten as

$$\begin{aligned} \mathbf {Q}^T {\varvec{\beta }}- \lambda \mathbf {p}= \mathbf{0} \end{aligned}$$
(4)

where \({\varvec{\beta }}\) and \(\mathbf {p}\) denote the global vectors collecting all the stress parameters \({\varvec{\beta }}_e\) and the applied loads \(\mathbf {p}_e\), while \(\mathbf {Q}^T\) the related global equilibrium matrix. From now on a subscript \(e\) denotes the finite element description of a quantity.

2.1.2 The Elastic Envelope of the Stresses

We assume that the external actions \(\mathbf {p}[t]\), variable with the time \(t\), are expressed as a combination of basic loads \(\mathbf {p}_i\) belonging to the admissible closed and convex load domain

$$\begin{aligned} \mathbb {P}:= \left\{ \mathbf {p}[t] \equiv \sum _{i=1}^{p} a_i[t] \mathbf {p}_i : \; a_i^{min} \le a_i[t] \le a_i^{max} \right\} \end{aligned}$$
(5)

Denoting by \(\hat{{\varvec{\beta }}}_{i}\) the elastic stress solution corresponding to \(\mathbf {p}_i\), the elastic envelope \(\hat{\mathbb {S}}\)

$$\begin{aligned} \hat{\mathbb {S}}:= \left\{ \hat{{\varvec{\beta }}}[t] \equiv \sum \limits _{i=1}^{p} a_i[t] \hat{{\varvec{\beta }}}_{i} : \;a_i^{min}\le a_i[t] \le a_i^{max} \right\} \end{aligned}$$
(6)

defines the set of the elastic stresses \(\hat{{\varvec{\beta }}}[t]\) produced by each load path contained in \( \mathbb {P}\).

By construction \(\hat{\mathbb {S}}\) and \(\mathbb {P}\) are convex polytopes and each \(\hat{{\varvec{\beta }}}[t] \in \hat{\mathbb {S}}\) can be expressed as a convex combination of the \(N_v\) elastic envelope vertexes \(\hat{{\varvec{\beta }}}^{\alpha }\) that can be usefully referred to the reference stress \(\hat{{\varvec{\beta }}}^{0}\) so obtaining

$$\begin{aligned} \hat{{\varvec{\beta }}}[t] = \hat{{\varvec{\beta }}}^{0} + \sum _{\alpha =1}^{N_v} s^\alpha \hat{{\varvec{\beta }}}^{\alpha } \quad \ \ s^\alpha \ge 0 \quad \ \ \sum _{\alpha =1}^{N_v} s^\alpha = 1 \end{aligned}$$
(7)

If the external loads increase by a real number \(\lambda \), called load domain multiplier, the elastic envelope becomes \(\lambda \hat{\mathbb {S}}:= \left\{ \lambda \hat{{\varvec{\beta }}}: \; \hat{{\varvec{\beta }}}\in \hat{\mathbb {S}}\right\} \).

2.1.3 Plastic Admissibility for Shakedown Analysis

Following [2, 3] and due to the local nature of the stress interpolation, the plastic admissibility condition is rewritten on the element, in a weak form, as

$$\begin{aligned} \int \limits _{\varOmega _e} \delta \gamma \phi [{\varvec{\sigma }}] \equiv \varDelta \varvec{\kappa }_e^T {\varvec{\varPhi }}_e[{\varvec{\beta }}_e] = 0 \quad \ \ \forall \delta \gamma \ge 0, \end{aligned}$$
(8)

where \( {\varvec{\varPhi }}_e[{\varvec{\beta }}_e] := \int \nolimits _{\varOmega _e} \mathbf {G}^T\phi [{\varvec{\beta }}_e]\) and \(\phi \) is the yield function. Equation (8) allows to control plastic admissibility in the \(N_{e}\) element so that \({\varvec{\beta }}\) will be plastically admissible if

$$\begin{aligned} {\varvec{\varPhi }}[{\varvec{\beta }}] \le \mathbf {0} \, \Longleftrightarrow \, {\varvec{\varPhi }}_e[{\varvec{\beta }}_e] \le \mathbf {0}, \quad \ \ \forall e = 1 \ldots N_{e}\,. \end{aligned}$$
(9)

Finally it is useful to express the plastically admissible condition for all the stresses contained in the amplified elastic envelope \(\lambda \hat{\mathbb {S}}\) translated by \(\bar{{\varvec{\beta }}}\). Due to the convexity of \({\varvec{\varPhi }}\) and \(\hat{\mathbb {S}}\) this can be easily expressed in terms of the plastic admissibility of all the \(\alpha \) vertexes of the amplified elastic domain \({\varvec{\beta }}^\alpha = \lambda (\hat{{\varvec{\beta }}}^{\alpha }+\hat{{\varvec{\beta }}}^{0}) + \bar{{\varvec{\beta }}}\) as

$$\begin{aligned} {\varvec{\varPhi }}[\lambda \hat{{\varvec{\beta }}}+ \bar{{\varvec{\beta }}}] \le \mathbf {0}, \quad \ \ \forall \hat{{\varvec{\beta }}}\in \hat{\mathbb {S}}\; \Longleftrightarrow \; {\varvec{\varPhi }}[{\varvec{\beta }}^\alpha ] \le \mathbf {0}, \quad \ \ \forall \alpha \end{aligned}$$
(10)

where, from now on, a Greek superscript denotes vertex quantities.

2.1.4 The Static Theorem in Discrete Format and the Mathematical Programming Point of View

The Bleich–Melan static theorem states that a load domain multiplier \(\lambda _s\) will be safe if there exists a time-independent self-equilibrated stress field \(\bar{{\varvec{\beta }}}\) so that each stress in the amplified and translated domain \(\lambda _s \hat{\mathbb {S}}+ \{\bar{{\varvec{\beta }}}\}\) is plastically admissible. The shakedown multiplier \(\lambda _a\) can be evaluated as the maximum of these safe multipliers. The static theorem can be reformulated in terms of total stress, instead of self–equilibrated ones, making possible a unified notation for shakedown and limit analysis, i.e.

$$\begin{aligned} \begin{array}{ll} \text {maximize}&{} \quad \lambda _s\\ \text {subject to} &{} \quad \mathbf {Q}^T {\varvec{\beta }}= \lambda _s \mathbf {p}_0 \\ &{}\quad {\varvec{\varPhi }}[{\varvec{\beta }}+ \lambda _s\hat{{\varvec{\beta }}}^{\alpha }] \le \mathbf {0}, \quad \alpha = 1 \ldots N_v \\ \end{array} \end{aligned}$$
(11)

with \(\mathbf {p}_0 \equiv \mathbf {Q}^T\hat{{\varvec{\beta }}}^{0}\) and \({\varvec{\beta }}\equiv \bar{{\varvec{\beta }}}+ \lambda _s \hat{{\varvec{\beta }}}^{0}\). When \(\hat{{\varvec{\beta }}}^{0}= \mathbf{0}\) we have the classic form in terms of the self–equilibrated stress. Furthermore, without any loss in generality, we can set \(\hat{{\varvec{\beta }}}^{0}\) as a generic vertex of \(\hat{\mathbb {S}}\) so \({\varvec{\beta }}\) becomes the total stress of this vertex. When the external load domain collapses in a single point (\(a_i^{min} = a_i^{max}\)) Eq. (11) directly transform into the standard form of the static theorem of limit analysis.

From now on we denote with \({\varvec{\varPhi }}^\alpha [{\varvec{\beta }}, \lambda ] \equiv {\varvec{\varPhi }}[{\varvec{\beta }}+ \lambda \hat{{\varvec{\beta }}}^\alpha ]\) the shakedown yield function.

3 Shakedown Analysis Using Dual Decomposition Methods

The mathematical programming problem in Eq. (11) can be solved using efficient interior point algorithms [5, 14, 19, 20] specialized to the shakedown case. We will now resume an alternative approach, already presented in [7, 9, 11] where further details can be found, that will be the basis for the new proposal. The approach uses the proximal point method to generate a convergent sequences of steps and a dual decomposition strategy to solve each step.

3.1 The Proximal Point Method and the Pseudo-elastoplastic Step

The proximal point method is applied to (11) by defining a sequences of subproblems or steps by adding a quadratic positive term to the objective function, i.e.

$$\begin{aligned} \begin{aligned} \text {maximize}\quad&\varDelta \xi ^{(n)} \lambda ^{(n)} - \frac{1}{2} \varDelta {\varvec{\beta }}^T \mathbf {H}\varDelta {\varvec{\beta }}\\ \text {subject to}\quad&\mathbf {Q}^T {\varvec{\beta }}^{(n)} - \lambda ^{(n)} \mathbf {p}_0 = \mathbf {0}\\ \quad&{\varvec{\varPhi }}[{\varvec{\beta }}^{(n)},\lambda ^{(n)}] \le \mathbf {0} \end{aligned} \end{aligned}$$
(12)

where the superscript \((\cdot )^{(n)}\) will denote quantities evaluated in the \(n\)th step, the symbol \(\varDelta (\cdot ) = (\cdot )^{(n)} - (\cdot )^{(n-1)} \) is the increment of a quantity from the previous step and \(\varDelta \xi ^{(n)}>0\) is an assigned real positive number. To simplify the notation we collected all \({\varvec{\varPhi }}^\alpha [{\varvec{\beta }},\lambda ]\) in the global vector \( {\varvec{\varPhi }}[{\varvec{\beta }},\lambda ]= \{{\varvec{\varPhi }}^1, \ldots ,{\varvec{\varPhi }}^{N_v} \}\). Finally \(\mathbf {H}\) is the compliance matrix and is defined by the following equivalence

$$\begin{aligned} \sum _e {\varvec{\beta }}_e^T \mathbf {H}_e{\varvec{\beta }}_e= {\varvec{\beta }}^T \mathbf {H}{\varvec{\beta }}\quad \text {with} \quad \mathbf {H}_e:= \int \limits _{\varOmega _e} \mathbf {S}^T \mathbf {C}^{-1} \mathbf {S}\end{aligned}$$
(13)

where \(\mathbf {C}\) is the elastic matrix. Note how, due to the local nature of the stress interpolation, \(\mathbf {H}\) has a block diagonal structure that couples only the finite element stress parameters. The finite element will be, from now on, the local level of the analysis.

3.1.1 First Order Conditions

Introducing the dual multipliers \(\varDelta \mathbf {d}\) and \(\varDelta \varvec{\kappa }\) associated to the equalities and inequalities constraints of (12) respectively, the finite step equations are defined by the first order conditions of the following Lagrangian \(\fancyscript{L}^{(n)}\)

$$\begin{aligned} \fancyscript{L}^{(n)} = \varDelta \xi ^{(n)} \lambda ^{(n)} - \frac{1}{2} \varDelta {\varvec{\beta }}^T \mathbf {H}\varDelta {\varvec{\beta }}+ \varDelta \mathbf {d}^T(\mathbf {Q}^T {\varvec{\beta }}^{(n)} - \lambda ^{(n)} \mathbf {p}_0) -\varDelta \varvec{\kappa }^T{\varvec{\varPhi }}[{\varvec{\beta }}^{(n)},\lambda ^{(n)}]. \end{aligned}$$
(14)

In order to simplify the notation the superscript \((n)\) will be omitted from now on.

In particular from the stationary condition of (14) with respect to \({\varvec{\beta }}\) and \(\varDelta \varvec{\kappa }\) we obtain the finite step form of the constitutive law, i.e. the plastic admissibility and plastic consistence conditions for shakedown

$$\begin{aligned} \left\{ \begin{aligned} \mathbf {r}_{\sigma }&\equiv -\mathbf {H}_e\varDelta {\varvec{\beta }}_e+ \mathbf {Q}_e\varDelta \mathbf {d}_{e}- {\mathbf {A}_e}[{\varvec{\beta }}_e,\lambda ] \varDelta {\varvec{\kappa }_e} = \mathbf{0}\\ \mathbf {r}_{\mu }&\equiv {{\varvec{\varPhi }}_e}[{\varvec{\beta }}_e, \lambda ] \le 0, \quad \ \ \varDelta {\varvec{\kappa }_e} \ge 0, \quad \ \ \varDelta {\varvec{\kappa }_e}^T {{\varvec{\varPhi }}_e}[{\varvec{\beta }}_e,\lambda ] = 0, \end{aligned} \right. \end{aligned}$$
(15a)

where \( {\mathbf {A}_e}[{\varvec{\beta }}_e,\lambda ]:=\left( \frac{\partial {{\varvec{\varPhi }}_e}[{\varvec{\beta }}_e, \lambda ]}{\partial {\varvec{\beta }}_e}\right) ^T \). In the fixed load cases Eq. (15a) coincide with the backward-Euler integration of the elasto-plastic constitutive equations.

Due to the discontinuity of \({\varvec{\beta }}_e\) and \(\varvec{\kappa }_e\) across the elements Eq. (15a) are expressed with respect to element quantities alone when \(\varDelta \mathbf {d}_{e}\) and \(\lambda \) are assigned. For this reason they will be denoted, from now on, as local equations while \( {\varvec{\beta }}_e\) and \( \varvec{\kappa }_e\) will be denoted as local variables. Following [4] a task that uses only local variables and equations will be said to be at the local level.

In the same fashion the stationary condition with respect to \(\varDelta \mathbf {d}\) and \(\lambda \) furnishes the equilibrium equations and the normalization condition, coupling all the variables of the problem and defining the global level of the analysis,

$$\begin{aligned} \left\{ \begin{aligned} \mathbf {r}_u&\equiv \mathbf {Q}^T {\varvec{\beta }}- \lambda \mathbf {p}_0 = \mathbf{0}\\ r_\lambda&\equiv \varDelta \xi -\varDelta \mathbf {d}^T \mathbf {p}_0 - \varDelta {\varvec{\kappa }}^T {\varvec{\varPhi }},_\lambda = 0\\ \end{aligned} \right. \end{aligned}$$
(15b)

where \( {\varvec{\varPhi }},_\lambda :=\left( \frac{\partial {\varvec{\varPhi }}[{\varvec{\beta }}, \lambda ]}{\partial \lambda }\right) \). Equation (15b) will be denoted, from now on, as global equations while \( \mathbf {d}\) and \(\lambda \) will be denoted as global variables.

In the case of limit analysis Eq. (15a, 15b) exactly corresponds to a step of the arc-length algorithm used to solve the incremental elastoplastic problem [7, 11]. Due to its meaning in the case of fixed loads we call this kind of analysis pseudo elastoplastic. \(\varDelta \mathbf {d}\) and \(\varDelta \varvec{\kappa }\) assume the meaning of displacements and plastic multipliers of the problem.

As for elastic perfectly plastic structures the limit load can be evaluated by recovering the complete equilibrium path by means of path-following algorithms, in the same fashion the skakedown multiplier can be obtained by evaluating a sequence of states, \(\mathbf {z}^{(n)} := \{\lambda ^{(n)}, {\varvec{\beta }}^{(k)}, \mathbf {d}^{(n)}, \varvec{\kappa }^{(n)}\}\), obtained by solving a series of problems (12), i.e. defining a pseudo-elastoplastic equilibrium curve [7]. In [9] it has been shown that starting from the known elastic limit \(\mathbf {z}^{(0)}\), the sequence \(\mathbf {z}^{(n)}\) generated in this way is safe in the sense of the static theorem and monotonously increasing in \(\lambda ^{(n)}\). In the case \(\lambda ^{(n)} = \lambda ^{(n-1)}\) with \(\varDelta \mathbf {d}\ne \mathbf{0}\), it is simple to shown that \(\varDelta {\varvec{\beta }}= \mathbf{0}\) and we have from (11) the convergence to the desired shakedown multiplier.

Finally note as the equation format reported in Eqs. (12) and (15a, 15b) is quite general and similar expressions could be obtained using other finite elements. In particular for a standard compatible finite element the local level coincides with the Gauss point, \({\varvec{\beta }}_e\) becomes the Gauss point stress and \(\varvec{\kappa }_e\) the Gauss point plastic multiplier, plastic admissibility and consistency are imposed at each Gauss point and the operators consequently transform.

3.2 The Dual Decomposition Solution of the Pseudo Elastoplastic Step

The similarity of Eq. (15a, 15b) with standard strain driven path-following elasto-plastic analysis suggests that also the same method of solution can be used. This is the approach followed in [7, 11] and it is based on an exact solution of the local conditions in (15a) for an assigned value of \(\varDelta \mathbf {d}_{e}\) and \(\varDelta \lambda \), so expressing \({\varvec{\beta }}_e\) and \(\varvec{\kappa }_e\) as implicit functions of the displacements and of the load multiplier. This step is performed at the local level by using a return mapping by closest point projection process as in the case of the standard incremental elastoplastic analysis. This can be shown by noting that Eq. (15a) are the first order conditions of the following problem

$$\begin{aligned} \left\{ \begin{aligned}&\max _{{\varvec{\beta }}_e} \qquad \qquad \ \ {\varvec{\beta }}_e^T \mathbf {Q}_e\varDelta \mathbf {d}_{e}- \frac{1}{2} \varDelta {\varvec{\beta }}_e^T \mathbf {H}_e\varDelta {\varvec{\beta }}_e,\\&\text{ subject } \text{ to: } \quad \ \ \ {\varvec{\varPhi }}_e[{\varvec{\beta }}_e, \lambda ] \le 0. \\ \end{aligned}\right. \end{aligned}$$
(16)

where the number of constraints depends on the parameters used to interpolate \(\gamma \), that is on the dimension of \(\varvec{\kappa }_e\), and on the number of vertexes of the element elastic envelope \(\hat{\mathbb {S}}_e\). As \(\varDelta \mathbf {d}_{e}\) is constant with respect to the maximization, it is possible to rewrite problem in (16) as

$$\begin{aligned} \left\{ \begin{aligned}&\min _{{\varvec{\beta }}_e} \qquad \qquad \ \ \frac{1}{2} \left( {\varvec{\beta }}_e- {\varvec{\beta }}_e^* \right) ^T \mathbf {H}_e\left( {\varvec{\beta }}_e- {\varvec{\beta }}_e^* \right) ,\\&\text{ subject } \text{ to: } \quad \ \ {\varvec{\varPhi }}_e[{\varvec{\beta }}_e, \lambda ] \le 0. \\ \end{aligned} \right. \end{aligned}$$
(17)

that is the convex projection of the trial stress (or the elastic predictor) \({\varvec{\beta }}_e^*\), defined by

$$\begin{aligned} {\varvec{\beta }}_e^* = {\varvec{\beta }}_e^{(n-1)} + \mathbf {H}_e^{-1}\mathbf {Q}_e\varDelta \mathbf {d}_{e}, \end{aligned}$$
(18)

onto the elastic shakedown domain bounded by the convex function \({\varvec{\varPhi }}_e[{\varvec{\beta }}_e,\lambda ]\). From the closest point projection (CPP) in Eq. (17) we have the stresses and the plastic multipliers as a function of \( \varDelta \mathbf {d}\) and \(\lambda \)

$$ {\varvec{\beta }}= {\varvec{\beta }}[\mathbf {z}^{(n-1)}, \varDelta \mathbf {d}, \lambda ], \quad \ \ \varDelta {\varvec{\kappa }} = \varDelta \varvec{\kappa }[\mathbf {z}^{(n-1)}, \varDelta \mathbf {d}, \lambda ] $$

and of the known initial step quantities collected in \(\mathbf {z}^{(n-1)}\).

Omitting the dependence from \(\mathbf {z}^{(n-1)}\) the global Eq. (15b) can be rewritten, in terms of \(\varDelta \mathbf {d}\) and \(\lambda \), as

$$\begin{aligned} \left\{ \begin{aligned} \mathbf {r}_u&\equiv \mathbf {Q}^T {\varvec{\beta }}[\varDelta \mathbf {d}, \lambda ] - \lambda \mathbf {p}_0 = \mathbf{0}\\ r_\lambda&\equiv \varDelta \xi -\varDelta \mathbf {d}^T \mathbf {p}_0 - {\varvec{\varPhi }},_\lambda ^T\varDelta {\varvec{\kappa }}[\varDelta \mathbf {d}, \lambda ] = 0\\ \end{aligned} \right. \end{aligned}$$
(19)

If the nonlinear system (19) is solved by means of a Newton iteration as in [7, 9], we obtain:

$$\begin{aligned} \left\{ \begin{aligned} \varDelta \mathbf {d}^{j+1}&= \varDelta \mathbf {d}^{j} + \dot{\mathbf {d}},\\ \varDelta \lambda ^{j+1}&= \varDelta \lambda ^{j} + \dot{\lambda }, \end{aligned} \right. \quad \ \ \text {with}\quad \left\{ \begin{aligned} \mathbf {K}^j \dot{\mathbf {d}} - \dot{\lambda } \mathbf {y}^j&= - \mathbf {r}_{u}^j, \\ -{\mathbf {y}^j}^T\dot{\mathbf {d}} + \dot{\lambda }\; h_{\lambda \lambda } ^j&= -r_{\lambda }^j, \end{aligned} \right. \end{aligned}$$
(20)

where \(\mathbf {K}^j \equiv \partial \mathbf {r}_{u}/\partial \mathbf {d}\) is the algorithmic tangent matrix while \(r_{\lambda }^j\) and \(\mathbf {r}_{u}^j\) are the residuals defined in Eq. (19) evaluated in \(({\mathbf {d}}^j, \lambda ^j)\) after performing the return mapping process (17) to evaluate \({\varvec{\beta }}[\varDelta \mathbf {d}^j, \lambda ^j]\) and \(\varDelta {\varvec{\kappa }}[\varDelta \mathbf {d}^j, \lambda ^j]\), while

$$ \mathbf {y}^j \equiv \left. \frac{\partial \mathbf {r}_u}{\partial \lambda }\right| _{(\lambda ^j,\mathbf {d}^j)}= \left. \frac{\partial r_\lambda }{\partial \mathbf {d}}\right| _{(\lambda ^j,\mathbf {d}^j)} \quad h_{\lambda \lambda }^j \equiv \left. \frac{\partial r_\lambda }{\partial \lambda }\right| _{(\lambda ^j,\mathbf {d}^j)} \,. $$

We have convergence to a new equilibrium point when the norm of \(\mathbf {r}_{u}^j\) become sufficiently small, in this case we set \(\mathbf {z}^{(n)}= \mathbf {z}^{j}\). We recall that the use of a modified Newton method that uses the initial elastic stiffness matrix assures global, even if simply linear, convergence [7].

3.3 The Optimization Point of View and the Motivation for a New Strategy

The dual decomposition solution strategy of the proximal point step exactly coincides in the fixed load case with the standard Strain Driven algorithms used in incremental elasto-plasticity with the stresses evaluated by means of a return mapping by Closest Point Projection scheme (SD-CPP). The reinterpretation previously described (see also [4, 9]), allows to extend the use of classical elastoplastic algorithms to the shakedown case.

The optimization point of view also makes simple to compare the previous described strategy with other direct methods in the evaluation of the shakedown multiplier. The dual decomposition, in fact, allows to split the optimization problem in the small CPP subproblems (17) defined at the local level that allows to obtain the dual function and in the solution of the global equations (19), that correspond to the first order condition of the so evaluated dual function, by a Newton method. In this way it is possible to simplify the solution of the optimization problem and a small cost for each iteration is required. On the other hand, due to the decomposition, the convergence when compared with interior point strategies, can be slow especially when the elastic stiffness matrix is used.

In following section we propose a new formulation to solve the proximal point step (12) that unlike the \(\textit{SD}-\textit{CPP}\), attempts to use a consistent linearization of all the equations and variables at the same time.

4 A New Solution Scheme for the Pseudo Elastoplastic Step

This section presents the new solution algorithm based on the application of the SQP method to solve the mathematical programming problem in Eq. (12). By exploiting the decomposition point of view we devised a strategy which only solve, at the global level, a system of nonlinear equations similar to those presented in Eq. (20) and which is characterized by minimal algorithmic differences but greater robustness with respect to dual decomposition formulations.

4.1 The Linearized Equations for the Elastoplastic Step and the Sequential Quadratic Programming (SQP) Formulation

The starting point of the new algorithm is the linearization of the step equations (15a, 15b) with respect to all the involved variables, maintaining the full mixed format of the problem. In what follows we will denote with \(\mathbf {z}^{j} = \{ \varvec{\kappa }_e^j,{\varvec{\beta }}_e^j,\mathbf {d}^j, \lambda ^j\}\) the current, known, estimate of the step solution \(\mathbf {z}^{(n)}\) and with \(\mathbf {z}^{j+1} = \mathbf {z}^{j}+ \dot{\mathbf {z}}\) the new estimate we are searching for. From the linearization of the local equations (15a) we obtain:

$$\begin{aligned} \left\{ \begin{aligned}&{-}\mathbf {H}_{et}\dot{{\varvec{\beta }}_e} + \mathbf {Q}_e\dot{\mathbf {d}}_e - \mathbf {A}_e^{ j} \dot{\varvec{\kappa }_e} - \dot{\lambda } \mathbf {a}_\lambda ^j= -\mathbf {r}_{\sigma }^j , \\&{{\varvec{\varPhi }}_e}^{j+1}[{\varvec{\beta }},\lambda ] \le \mathbf{0}, \quad \ \ \varDelta {\varvec{\kappa }_e}^{j+1} \ge \mathbf{0}, \quad \ \ (\varDelta {\varvec{\kappa }_e}^{j+1})^T{{\varvec{\varPhi }}_e}^{j+1} = 0.\\ \end{aligned} \right. \quad \ \ \forall e \end{aligned}$$
(21a)

where \(\mathbf {a}_\lambda ^j = \mathbf {A}_e,_\lambda ^{ j} \varDelta {\varvec{\kappa }_e}^j\) a comma means derivatives with respect to the symbol that follows and

$$ \mathbf {H}_{et}\equiv \mathbf {H}_e+ \sum _k \left. \varDelta \kappa _{ek}\frac{\partial \Phi _{ek} }{\partial {\varvec{\beta }}_e} \right| _{{\varvec{\beta }}_e={\varvec{\beta }}_e^j}, \quad \ \ {{\varvec{\varPhi }}_e}^{j+1} \equiv {{\varvec{\varPhi }}_e}^j + {\mathbf {A}_e^{j}}^T \dot{{\varvec{\beta }}}_e + \dot{\lambda } {{\varvec{\varPhi }}_e}^j,_\lambda $$

\(\varDelta \kappa _{ek}^j\) and \( \Phi _{ek}\) are the \(k\)th components of \(\varDelta \varvec{\kappa }_{e}^j\) and \({{\varvec{\varPhi }}_e}^j\) respectively. The linearization of the global finite step equation (4) gives:

$$\begin{aligned} \left\{ \begin{aligned}&\mathbf {Q}^T \dot{{\varvec{\beta }}} - \dot{\lambda } \mathbf {p}_0 =-\mathbf {r}_{u}^j \\&{-}\dot{\mathbf {d}}^T \mathbf {p}_0 - \dot{\varvec{\kappa }}^T {\varvec{\varPhi }},_\lambda ^j -\ \mathbf {a}_\lambda ^{jT} \dot{{\varvec{\beta }}} - a_{\lambda \lambda }^j \dot{\lambda } = -r_{\lambda }^{j} \end{aligned} \right. \end{aligned}$$
(21b)

where \(a_{\lambda \lambda }^j = (\varDelta {\varvec{\kappa }}^j)^T{\varvec{\varPhi }},_{\lambda \lambda }\).

Equation (21a, 21b) could also be obtained has the first order condition of the following \(j\)th QP subproblem obtained by applying the sequential quadratic programming (SQP) approach to (15a, 15b).

$$\begin{aligned} \begin{array}{ll} \text {max} &{} \quad \varDelta \xi \dot{\lambda } -\dot{{\varvec{\beta }}}^T \mathbf {H}\varDelta {\varvec{\beta }}_j - \frac{1}{2}\dot{\lambda }^2 a_{\lambda \lambda }^j - \dot{\lambda } \dot{{\varvec{\beta }}}^T\mathbf {a}_\lambda ^j - \frac{1}{2} \dot{{\varvec{\beta }}}^T\mathbf {H}_{et}\dot{{\varvec{\beta }}} \\ \text {subj.} &{} \quad \mathbf {r}_{u}^j + \mathbf {Q}^T \dot{{\varvec{\beta }}} - \dot{\lambda } \mathbf {p}_0 = \mathbf {0} \\ &{} \quad {\varvec{\varPhi }}^{j+1}[{\varvec{\beta }},\lambda ]\le \mathbf {0}, \end{array} \end{aligned}$$
(22)

Equation (22) furnishes the new estimate \(\mathbf {z}^{j+1}\) in the form

$$\begin{aligned} \mathbf {z}^{j+1} = \{\lambda ^{j}+\dot{\lambda },{\varvec{\beta }}^{j} + \dot{{\varvec{\beta }}}, \varDelta \mathbf {d}^{j+1}, \varDelta \varvec{\kappa }^{j+1}\}. \end{aligned}$$
(23)

4.2 The EC-SQP Formulation

A direct application of standard optimization algorithms to the solution of the QP sub-problems defined in (22) can hardly be competitive with respect to the dual decomposition approach because of the large number of degrees of freedom and constraints. For this reason we use the equality constraint sequential quadratic programming (EC-SQP) approach proposed in [4] for incremental elasto-plasticity to which we remind for further details.

Each iteration of the EC-SQP approach consists of two phases: (i) estimation of the active set of constraints; (ii) solution of an equality constrained quadratic program that imposes the apparently active constraints and ignores the apparently inactive ones.

The idea is to identify the active inequality constraints, i.e. the components of \({\varvec{\varPhi }}_e^{j+1}\) for which equality holds, using information available at a point \(\bar{\mathbf{z}}^{j+1}=\mathbf{z}^{j} + \dot{\bar{\mathbf {z}}}\) near to \(\mathbf{z}^{j+1}\) but which is less expensive to evaluate. Once the active set is known, the solution of an equality constrained QP, requiring only the solution of a linear system of equations, gives the new estimate \(\mathbf{z}^{j+1}\). Moreover, by maintaining a pseudocompatible format in the solution of the linear system, a scheme similar to that presented in Eq. (20) is obtained at global level.

4.2.1 The Detection of the Active Set of Constraints

The estimation of the active constraints is performed by advocating the decomposition point of view, i.e. solving an optimization problem obtained by the original ones (21a) for a fixed, properly assumed, value of the global variables: \(\bar{\mathbf {d}}^{j+1} =\mathbf {d}^{j}\) and \(\bar{\lambda }^{j+1} =\lambda ^{j}\), i.e. for \(\dot{\mathbf {d}}= \mathbf{0}\) and \(\dot{\lambda }= \mathbf{0}\) so obtaining from Eq. (21a)

$$\begin{aligned} \left\{ \begin{aligned}&{-}\mathbf {H}_{et}\dot{\bar{{\varvec{\beta }}_e}} - \mathbf {A}_e^{ j} \dot{\bar{\varvec{\kappa }_e}} = -\mathbf {r}_{\sigma }^j , \\&{\bar{{\varvec{\varPhi }}}_e}^{j+1} \le \mathbf{0}, \quad \ \ \bar{\varvec{\kappa }_e}^{j+1} \ge \mathbf{0}, \quad \ \ (\bar{\varvec{\kappa }_e}^{j+1})^T{\bar{{\varvec{\varPhi }}}_e}^{j+1} = 0.\\ \end{aligned} \right. \quad \ \ \forall e \end{aligned}$$
(24)

where the symbols with a bar denote the estimates of the new quantities. In particular Eq. (24) is the first order conditions of the following QP problem:

$$\begin{aligned} \left\{ \begin{array}{ll} &{}\min \limits _{(\dot{{\varvec{\beta }}_e})}:\dfrac{1}{2}(\dot{\bar{{\varvec{\beta }}_e}})^T \mathbf {H}_{et}\dot{\bar{{\varvec{\beta }}_e}} +(\dot{\bar{{\varvec{\beta }}_e}})^T\mathbf{g}^j , \\ &{}\text {subj.:}\, \mathbf {A}_e^{jT} \dot{\bar{{\varvec{\beta }}_e}} + {\varvec{\varPhi }}_e^{j} \le \mathbf{0} , \\ \end{array} \right. \quad \ \ \forall e \end{aligned}$$
(25)

where \(\mathbf{g}^j = \mathbf {H}_e({\varvec{\beta }}_e^j-{\varvec{\beta }}_e^*)\) and \({\varvec{\beta }}_e^*= {\varvec{\beta }}_e^{(n-1)} + \mathbf {H}_e^{-1}\mathbf {Q}_e\varDelta \mathbf {d}_{e}^j\). The decoupled QP problems (25), have the same form as a standard CPP scheme, and it can be easily solved at the local level by using the Goldfarb-Idnani active set method [11]. The evaluation of the set of active constraints is then continuously updated with the iterations and, if \(\varDelta \mathbf {d}^j\) converges to \(\varDelta \mathbf {d}^{(n+1)}\), the active set converges to that of the nonlinear problem.

Letting \(\bar{{\varvec{\beta }}_e}^{j+1} = {\varvec{\beta }}_e^{j} + \dot{\bar{{\varvec{\beta }}_e}}\) it is easy to show how problem (25) is also equivalent, apart from an inessential constant in the objective function, to the following CPP minimization

$$\begin{aligned} \left\{ \begin{array}{ll} &{}\min \limits _{(\bar{{\varvec{\beta }}_e}^{j+1})}:\dfrac{1}{2}(\bar{{\varvec{\beta }}_e}^{j+1}-{\varvec{\beta }}_e^{tr})^T \mathbf {H}_{et}(\bar{{\varvec{\beta }}_e}^{j+1}-{\varvec{\beta }}_e^{tr}),\\ &{}\text{ subject } \text{ to: }~\bar{{\varvec{\varPhi }}}_e^{j+1} \le \mathbf{0}, \\ \end{array} \right. \quad \ \ \forall e. \end{aligned}$$
(26)

which allows a formulation of the problem in terms of a predictor/corrector strategy, i.e. the solution of problem (26) coincides with the trial stress defined as

$$ {\varvec{\beta }}_e^{tr}= {\varvec{\beta }}_e^j + \mathbf {H}_{et}^{-1}(\mathbf {Q}_e\varDelta \mathbf {d}^j - \mathbf {H}_e\varDelta {\varvec{\beta }}_e^j), $$

if \({\varvec{\varPhi }}_e[{\varvec{\beta }}_e^{tr}] \equiv {\varvec{\varPhi }}_e^{j} +(\mathbf {A}_e^j)^{T} ({\varvec{\beta }}_e^{tr}- {\varvec{\beta }}_e^j) \le \mathbf{0}\).

4.2.2 The Solution of the QP Equality Constraint Scheme

The second step of the algorithm consists in the solution of Eq. (21a, 21b) retaining, as equalities, only the active constraints evaluated in the previous step. When the active set is not void the solution is given by the following system of equations:

$$\begin{aligned} \begin{bmatrix} \cdot&\mathbf {A}_{e}^{jT}&\cdot&{\varvec{\varPhi }}_e^j,_\lambda \\ -\mathbf {A}_e^j&-\mathbf {H}_{et}&\mathbf {Q}_e&-\mathbf {a}^j_\lambda \\ \cdot&\mathbf {Q}_e^T&\cdot&-\mathbf {p}_{0e}\\ -({\varvec{\varPhi }}_e^j,_\lambda )^T&-(\mathbf {a}^j_\lambda )^T&-\mathbf {p}_{0e}^T&-a_{\lambda \lambda }\\ \end{bmatrix} \begin{bmatrix} \dot{\varvec{\kappa }_e}\\ \dot{{\varvec{\beta }}_e} \\ \dot{\mathbf {d}_{e}} \\ \dot{\lambda } \\ \end{bmatrix} = - \begin{bmatrix} \mathbf {r}_{\mu }^{j} \\ \mathbf {r}_{\sigma }^{j} \\ \mathbf {r}_{u}^{j} \\ r_{\lambda }^{j} \\ \end{bmatrix}, \quad \ \ \mathbf {z}^{j+1} = \mathbf {z}^{j} +\dot{\mathbf {z}}, \end{aligned}$$
(27)

where the further condition \(\varvec{\kappa }_{j+1} \ge 0\) needs to be imposed.

System (27) is easily solved by static condensation of the local defined quantities obtaining at the global level the same format as system (20) with different meaning of the operators. In particular, recalling that the QP scheme in (25) solves the first two equations of (27) zeroing the global variables we obtain

$$\begin{aligned} \left\{ \begin{aligned} \dot{{\varvec{\beta }}_e}&= \dot{\bar{{\varvec{\beta }}_e}} + \mathbf {H}_{et}^{-1} (\mathbf {Q}_e\dot{\mathbf {d}_{e}}-\dot{\lambda }\mathbf {a}^j_\lambda ) \\ \dot{\varvec{\kappa }_e}&= \dot{\bar{\varvec{\kappa }_e}} + \mathbf {W}\left( \mathbf {A}_{e}^{jT}\mathbf {H}_{et}^{-1}(\mathbf {Q}_e\dot{\mathbf {d}_{e}}-\dot{\lambda }\mathbf {a}^j_\lambda ) + \dot{\lambda } {\varvec{\varPhi }}_e^j,_\lambda \right) \end{aligned} \right. \end{aligned}$$
(28)

where \( \mathbf {W}= \left[ \mathbf {A}_j^T \mathbf {H}_{et}^{-1}\mathbf {A}_j\right] ^{-1} \). At the global level then we have to assemble the condensed element contribution as

$$\begin{aligned} \fancyscript{A}_e\left( \mathbf {Q}_e^T\mathbf {E}_t \mathbf {Q}_e\right) \dot{\mathbf {d}} -\dot{\lambda }\mathbf {y}^j = -\fancyscript{A}_e\left( \mathbf {r}_{cu}^j\right) , \quad \ \ -(\mathbf {y}^j)^T\dot{\mathbf {d}_{e}} + h_{\lambda \lambda } \dot{\lambda } = - r_{c\lambda }^{j}, \end{aligned}$$
(29)

where the quantities in Eq. (29) are so defined

$$ \left\{ \begin{array}{ll} \mathbf {E}_t \ &{}=\ \mathbf {H}_{et}^{-1}- \mathbf {H}_{et}^{-1}\mathbf {A}_{e}^{j}\mathbf {W}\mathbf {A}_{e}^{jT} \mathbf {H}_{et}^{-1}\\ \mathbf {y}^j \ &{}=\ \mathbf {p}_0 + \fancyscript{A}_e\left( \hat{\mathbf {y}} \right) \\ \mathbf {r}_{cu}^j \ &{}=\ \mathbf {r}_{u}^{j} +\mathbf {Q}_e^T(\hat{\mathbf {r}}_{\sigma } ) \\ h_{\lambda \lambda } \ &{}=\ -({\varvec{\varPhi }}_e^j,_\lambda )^T(\mathbf {W}{\varvec{\varPhi }}_e^j,_\lambda -\ \mathbf {Y}^T\mathbf {a}_\lambda ) + \mathbf {a}_\lambda ^T\hat{\mathbf {y}} - a_{\lambda \lambda }\\ r_{c \lambda }^j \ &{}=\ r_{\lambda }^{j} +({\varvec{\varPhi }}_e^j,_\lambda )^T(\mathbf {Y}^T\mathbf {r}_{\sigma }^{j} + \mathbf {W}\mathbf {r}_{\mu }^{j}) - (\mathbf {a}^j_\lambda )^T\hat{\mathbf {r}}_{\sigma } \\ \end{array} \right. $$

being

$$ \mathbf {Y}=\mathbf {H}_{et}^{-1}\mathbf {A}_e^j\mathbf {W}, \quad \ \ \hat{\mathbf {y}} = \mathbf {E}_t\mathbf {a}^j_\lambda + \mathbf {Y}{\varvec{\varPhi }}_e^j,_\lambda , \quad \ \ \hat{\mathbf {r}}_{\sigma } = \mathbf {E}_t\mathbf {r}_{\sigma }^{j}- \mathbf {Y}\mathbf {r}_{\mu }^{j} $$

Note as \(\mathbf {E}_t\) has the same expression as the algorithmic tangent matrix evaluated by dual decomposition methods. Also note as \(\mathbf {E}_t\) and \(\mathbf {Y}\) are evaluated at each step of the QP problem, by the optimization algorithm used. In the case of an element with zero active constraints the solution is simply obtained deleting the inequality constraints and so obtaining an elastic step:

$$ \varvec{\kappa }_e^{j+1} = \mathbf{0}, \quad \ \ \dot{{\varvec{\beta }}}_e = \mathbf {H}_e^{-1}\mathbf {Q}_e\dot{\mathbf {d}_{e}}, \quad \ \ \mathbf {E}_t = \mathbf {H}_e^{-1}. $$

4.2.3 Comparison with SD-CPP Formulations

A comparison between the new EC-SQP and the SD-CPP methods can be useful at this stage. With this aim it is useful to recast the \(j\)th iteration of SD-CPP method in a format similar to that of the EC-SQP method as follows  

Step 1:

Obtain the values of \({\varvec{\beta }}^j\) and \(\varDelta \varvec{\kappa }_e^j\) by solving the closest point projection scheme in Eq. (17), that is by exactly solving Eq. (15a) with \(\mathbf {r}_{\mu }^{j} = \mathbf{0}\) and \(\mathbf {r}_{\sigma }^{j} = \mathbf{0}\) for the fixed, actual value, of the global variables \(\mathbf {d}^j\) and \(\lambda ^j\).

Step 2:

With the active set of constraints evaluted in the Step 1 solve the system (27) to obtain the increment in the global variables \(\dot{\mathbf {d}}\) and \(\dot{\lambda }\), as better described in the follows.

 

The Step 2 is obtained by solving system (27) with the condition \(\mathbf {r}_{\mu }^{j} = \mathbf{0}\) and \(\mathbf {r}_{\sigma }^{j} = \mathbf{0}\) being zeroed by the and the active set obtained from previous step. We presents the comparison in the more simple case of fixed loads (elasto-plasticity) but similar conclusions apply to variable loads case. We obtain

$$\begin{aligned} \begin{bmatrix} \cdot&\mathbf {A}_{e}^{jT}&\cdot&\cdot \\ -\mathbf {A}_e^j&-\mathbf {H}_{et}&\mathbf {Q}_e&\cdot \\ \cdot&\mathbf {Q}_e^T&\cdot&-\mathbf {p}_{0e}\\ \cdot&\cdot&-\mathbf {p}_{0e}^T&-a_{\lambda \lambda }\\ \end{bmatrix} \begin{bmatrix} \dot{\varvec{\kappa }_e}\\ \dot{{\varvec{\beta }}_e} \\ \dot{\mathbf {d}_{e}} \\ \dot{\lambda } \\ \end{bmatrix} = - \begin{bmatrix} \mathbf{0} \\ \mathbf{0} \\ \mathbf {r}_{u}^{j} \\ r_{\lambda }^{j} \\ \end{bmatrix} , \quad \ \ \mathbf {z}^{j+1} = \mathbf {z}^{j} +\dot{\mathbf {z}}, \end{aligned}$$
(30)

From the first two equations we obtain with same algebra

$$\begin{aligned} \dot{\varvec{\kappa }_e} = \mathbf {W}\mathbf {A}_{e}^{jT}\mathbf {H}_{et}^{-1} \mathbf {Q}_e\dot{\mathbf {d}_{e}}, \quad \ \ \dot{{\varvec{\beta }}_e} = \mathbf {E}_t \mathbf {Q}_e\dot{\mathbf {d}_{e}} \end{aligned}$$
(31a)

where \(\mathbf {E}_t\) and \(\mathbf {W}\) and \(a_{\lambda \lambda }\) have the same expression as for the EC-SQP algorithm previously described. From the global equation we obtain

$$\begin{aligned} \left\{ \begin{aligned}&\mathbf {Q}_e^T \mathbf {E}_t \mathbf {Q}_e\dot{\mathbf {d}_{e}}-\dot{\lambda }\mathbf {p}_{0e} = -\mathbf {r}_{u}^{j}\\&{-}\mathbf {p}_{0e}^T\dot{\mathbf {d}_{e}} -a_{\lambda \lambda } \dot{\lambda } = -r_{\lambda }^{j}\\ \end{aligned} \right. \end{aligned}$$
(31b)

Eq. (31a, 31b) are the standard equation obtained with strain-driven strategies [18].

With this interpretation of the strain driven formulation it be clear that it evaluates the active set of constraints at the iteration \(j+1\) by exactly solving the local equation for the value of the global unknown at the \(j\)th iteration. In our proposal we detect the active set by the linearized value of the local equations for a fixed value of the global equation at \(j\) then we solve the complete system in \(j+1\).

4.3 A Final Remark

In the large series of numerical tests performed, only partially reported in the next section, the method has always shown an impressive robustness. In particular it was possible to verify, in all numerical tests, how the convergence to the correct new solution step \(\mathbf {z}^{(n)}\) is achieved even when the algorithm is initialized with a point \(\mathbf {z}^0\) very distant from the final solution \(\mathbf {z}^{(n)}\), validating the choice of maintaining the cheap estimation of the active set as proposed without any supplementary improving strategy.

Finally, the adoption of a line search scheme can assure the global convergence of the algorithm with a little computational extra-cost, see for example [15, 21] and references therein.

5 Numerical Results

In order to evaluate the performance of the proposed algorithm, we propose some numerical tests regarding 2D problems in plane stress conditions, under the action of various kinds of loads and for von Mises materials.

To test the robustness of the new algorithm, for each test a series of equilibrium or pseudo-equilibrium paths at increasing values of the first arc–length parameters are evaluated. In particular, denoting by \(\mathbf {z}_E\) the elastic limit solution, that for the shakedown is evaluated for the reference load \(\mathbf {p}_0\), the analyses are performed for an initial extrapolation evaluated as \(\varDelta \mathbf {z}^{(1)}= \alpha ^{(1)} \mathbf {z}_E\), selected so that the component of the displacements in a given point reaches a prescribed value. As the initial arc-length parameter is evaluated as a function of the extrapolated displacements using the second of Eq. (15b) we can force the analyses to perform large steps simply by increasing \(\alpha ^{(1)}\). The convergence to a new equilibrium point, in the sequel is considered as achieved when the norm of the residuals is less than a given tolerance, i.e. \(\Vert \mathbf {r}_{\mathbf {u}} \Vert + \Vert \mathbf {r}_{\mathbf {\sigma }} \Vert + \Vert \mathbf {r}_{\mu } \Vert \le \text {toll}\), while the analysis is stopped when the displacement component of a specified point reaches a prescribed value. For each new step the variables are initialized as \(\mathbf {z}^{(n)} = \alpha ^{(n)} \mathbf {z}^{(n-1)}\) where \(\alpha \) is selected as a function of the difference between the number of iterations required to achieve convergence in the previous step and the number of desired iterations, denoted with \(lps_d\) (see [10, 11]), that is the strategy is adaptive. If the residual norm increases by more than \(10\) times its first value the iterations are stopped and a failure in convergence is reported, that is a false step. In this case the analysis restarts from the last evaluated equilibrium point but using a half of the value of \(\alpha ^{(n)}\) used in the previous iteration. After \(15\) consecutive false steps the analysis is stopped. A false step can also occur if we don’t reach convergence after more than a prescribed number of iterations denoted as \(lps_m \).

The following indicators are compared in order to highlight the efficiency and the robustness of each nonlinear strategy: (I) the number of points in the evaluation of the pseuso-equilibrium path, denoted as “stps”, the number of false steps due to both failure or slow convergence are reported in brackets; (II) the total number of the iterations required for each step to converge, denoted as “lps”.

Note as in the case of the SD-CPP algorithm a backtracking line search is adopted in the solution of the global equations in order to also tackle with larger step sizes while the analysis with the new EC-SQP algorithm is always performed without any globalization technique. It is important to say that without the line search only in the case of the smallest step size initialization the SD-CPP analysis is capable to perform the analysis without failures for all the tests analyzed. With respect to the CPU time this penalizes the SD-CPP iteration that, as shown in [4], is already more expensive than the EC-SQP one.

The finite element used in the numerical tests was proposed in [3]. It is a four-node element with a bi-linear interpolation of the displacement field and a 5-parameter stress field interpolation which improves the in-plane bending behavior of the element. In [3] several elements with different interpolations of the plastic multiplier field were tested and among them we chose the more simple one, denoted as FC\(_1\), and characterized by a constant interpolation of the plastic multiplier all over the element.

5.1 Description of the Test Problems

Fig. 1
figure 1

Plate with a circular hole: problem data and meshes used in the analysis

The first example regards a classical stress concentration test for a plate with a circular hole subject to biaxial uniform loads on the free edges. The geometry, the material, the applied loads and the mesh used in the analyses, are shown in Fig. 1. The test is analyzed with respect to both the fixed load cases and the variable one. In particular for the fixed load case the analysis is performed setting \(\alpha _1=1\) and \( \alpha _2=1\). For the shakedown case the load domain is evaluated by assuming \( 0.6\le \alpha _1\le 1\) and \( 0.6\le \alpha _2\le 1\).

The second test problem is the symmetric continuous beam depicted in Fig. 2 where all the data relative to the material and the applied loads are reported. The analyses are performed with respect to fixed and variable loads. In particular the limit analysis is performed assuming \(\alpha _1=0.6\) and \(\alpha _2=1.0\) while for the shakedown case the load domain is defined by by assuming \( 0.6\le \alpha _1\le 1\) and \( 0.6\le \alpha _2\le 1\).

Fig. 2
figure 2

Symmetric continuous beam: problem data and meshes used in the analysis

The collapse and shakedown multipliers are compared with those obtained by several authors as reported for example in [11, 25].

5.1.1 Limit Analysis

Table 1 reports the results obtained with the SD-CPP and EC-SQP algorithms for all the assigned initial increments of the observed displacement parameter, ranging from \(2e-6\) to \(1e-2\) and on the basis of two different meshes. The analyses are stopped when the max value \(1e-2\) is reached or exceeded. As can be observed the robustness of the algorithm proposed is good showing a smooth decrease in the number of required steps and iterations according to the assigned step size. For the greatest initial step size it performs the evaluation of the collapse state with a single step and without any loss in accuracy. On the contrary the standard SD-CPP algorithm is adversely affected by the increase in the step size registering occurrences of step failure already from the second size of the first step increment.

Table 1 Plate with circular hole, mesh \(12\times 12\) (338 dofs)

Table 2 reports the results obtained for the second test problem. Also in this case two different meshes have been used. The assigned initial increments of the observed displacement parameter range from \(2e-4\) to \(1\). The analysis is stopped when the max value \(1\) is reached or exceeded. Also in this case for the greatest initial step size the evaluation of the collapse state is obtained in a single step.

Table 2 A symmetric continuous beam, mesh \(12\times 12\) (338 dofs)

5.1.2 Shakedown Analysis

Tables 3 and 4 report the results obtained for the shakedown analysis for the plate with a hole and the continuous symmetric beam, respectively. The analysis are performed with the same assigned initial increments of the observed displacement parameter of the corresponding limit analysis case.

Also for the shakedown case the SD-CPP algorithm it is unable to deals with large step sizes while the EC-SQP algorithm treats large step increment effectively. In particular for both the test problems and for the two finite element grids the analyses obtain the correct multipliers in a single step.

Table 3 Plate with circular hole, mesh \(12\times 12\) (338 dofs)
Table 4 A symmetric continuous beam, mesh \(12\times 12\) (338 dofs)

6 Conclusions

In this paper the method presented in [4], for the incremental elastoplastic analysis has been extended to shakedown. The method evaluate the shakedown multipliers by a sequences of pseudo elastoplastic steps obtained by applying a proximal point method to the Melan static theorem. Each step is solved by means of an EC-SQP that retains, at each iteration, all the variables of the problems. In the solution process the set of active constraints is obtained by solving a simple quadratic programming problem which has the same structure and variables of a standard return mapping by closest point projection scheme, i.e. it is decoupled and it can be solved at a local level (finite element, Gauss point). The solution of the equality constraint problem is performed by means of a static condensation of the locally defined variables, stress and plastic multiplier parameters, for which the inter element continuity is not required so obtaining, at the global level, a pseudo-compatible scheme of analysis that has the same structure as classic path following arc-length methods.

The numerical results are performed adopting the finite element interpolation proposed in [3]. This finite element uses a three field interpolation with a good accuracy with respect to both the elastic and elastoplastic response. This makes the proposed numerical framework particularly suitable for shakedown analysis. The numerical results show the improvement in robustness and efficiency with respect to previous proposals.

The presentation and the application are limited to the perfect plasticity case but its extension to other more complex cases is possible [20].