Introduction

Time integration of large rotation motions has been long an important scientific issue. The applications cover many fields such as navigation in aerospace, computer graphics, solid mechanics.

Within the field of solid mechanics, most of the studies encountered in the literature mainly relate to rigid body dynamics problems [15] or to structural analysis problems [612]. For such problems, the rotation is generally regarded as a separate degree of freedom, deriving from an angular velocity through a differential equation. The main challenge lies in developing an accurate but computationally economic scheme to integrate the strongly nonlinear differential equation under consideration. The key point of the algorithms proposed in the literature often relies on a combination of two techniques: suitable parameterization of the rotation and use of an accurate time discretization scheme. The suitable parameterization of the rotation plays a major role since it allows a reduction of the required parameters for representing the rotation. Several parameterizations can be distinguished: The Euler-Rodrigues parameterization [4, 8] the rotation vector [3, 13], Cayley’s parameterization [11], and quaternions [14]. In [13], Argyris discusses the choice of different parameterizations while the combined influences of parameterizations and integration schemes are discussed by Zupan and Saje [14].

For bulk forming simulation problems, especially when an implicit velocity based formulation, with solid finite elements (tetrahedra) is employed, the problem is slightly different. The rotation is not described as a separate degree of freedom; it is included within the velocity field. All the kinematics of the domain is thus dictated by the velocity field through the evolution equation. A robust and accurate integration scheme is therefore required to describe precisely the trajectory of each material point of the domain. Another major difficulty comes from the implicit formulation employed, since it allows relatively large time steps unlike explicit formulation where time steps are usually smaller. For many processes such as cogging, drawing or strip rolling, the use of classical first order schemes such as Euler one step schemes provides good accuracy. However, for other processes where the domain undergoes large rotations, such low order schemes require very small time step sizes to ensure an acceptable accuracy, which results in excessive computational time. Therefore, higher order schemes like Runge–Kutta [1517] or sub-stepping [16] have been introduced. In [15], Traore uses a second-order Runge–Kutta scheme to handle the large rotations of the ring rolling process, while a fourth-order Runge–Kutta is regarded as necessary by Dialami [16] to properly trace Lagrangian particles in Friction Stir Welding (FSW). In this particular case, a backward Euler scheme with sub-stepping and a back and forth error compensation and correction is not sufficient to provide the required accuracy. The main shortcoming of high order or multistep schemes regards the calculation of intermediate configurations, which can be either complex or computationally expensive. In [18] for the application of ring rolling process where, the domain undergoes constant rotation movement around a fixed and predetermined axis, the authors show that the use of a cylindrical integration scheme provides better volume conservation and a good accuracy of the results. The main idea of their method consists in writing the motion equation into the cylindrical frame that is supported by the rotation axis, such a frame is quite appropriate to describe the rotational kinematics. An Euler one step scheme is then used to integrate the equation.

In this paper, the idea of [18] is resumed and extended to any kind of motion and to any kind of problem. The first important point of the proposed scheme is the automatic identification of effective rotation zones by means of criteria concerning the velocity gradient. These criteria enable switching from a standard time integration scheme (one-step Euler and RK2) to the proposed one. A second key point of the proposed scheme is the automatic detection of the local rotation axes necessary for the construction of the local cylindrical frames.

After a brief description of the finite elements model used for the studied metal forming problems, the cylindrical scheme is first presented for a constant rotation around the (Oz) axis before being extended to any arbitrary rotation motion, which requires both identifying large rotation zones and the governing rotation axis. Resulting modifications on contact equations are also discussed. In the last section, the cylindrical scheme is evaluated over analytical problems and metal forming processes.

Numerical model for metal forming simulation

This section focuses on a brief description of the mechanical equations and their finite element discretization for metal forming simulations. Equations are written within the context of a simple rigid-viscoplastic material (neither elasticity nor thermal dilation) as described in [19], although more complex constitutive models taking into account the thermo-elastic part of the deformation can also be considered [20]. A velocity (and pressure) based formulation has been employed, a suitable formulation that is widely used for modelling such material flows. For a more complete description of scientific approaches of the finite elements formulations used for metal forming problems, the reader may refer to [21].

Constitutive equation and integral formulation

The mass conservation of the domain undergoing incompressible deformation is expressed as a function of velocity v by:

$$ div\left(\mathbf{v}\right)=0 $$
(1)

The rate form of the mechanical equations and boundary conditions at any time t are expressed by the virtual power principle, as a function of the velocity v and p pressure fields satisfying the contact equations (which are presented later on), for any virtual velocity v* and pressure p* fields:

$$ \left\{\begin{array}{l}\underset{\varOmega }{\int}\mathbf{s}:\ {\dot{\boldsymbol{\upvarepsilon}}}^{*}d\varOmega -\underset{\varOmega }{\int }pdiv\left({\mathbf{v}}^{*}\right)d\varOmega +\underset{\partial {\varOmega}_c}{\int}\boldsymbol{\uptau} .{\mathbf{v}}^{*}dS=0\\ {}\underset{\varOmega }{\int }{p}^{*}div\left(\mathbf{v}\right)d\varOmega =0\\ {}+\kern0.5em contact\ \end{array}\right. $$
(2)

Where Ω and ∂Ω c respectively denote the domain occupied by the body and its contact surface at time t. \( \dot{\boldsymbol{\upvarepsilon}} \) is the strain rate tensor. The deviatoric part s of the stress tensor is given by the Norton-Hoff constitutive law:

$$ \mathbf{s}=2K{\left(\sqrt{3}\dot{\overline{\varepsilon}}\right)}^{m-1}\dot{\boldsymbol{\upvarepsilon}} $$
(3)

Where K is the material consistency \( \dot{\overline{\varepsilon}}=\sqrt{\raisebox{1ex}{$2$}\!\left/ \!\raisebox{-1ex}{$3$}\right.\dot{\boldsymbol{\upvarepsilon}}:\dot{\boldsymbol{\upvarepsilon}}} \) is the equivalent strain rate, m is the strain rate sensitivity coefficient. τ is the tangential shear stress resulting from the friction. For example, with the Norton friction model, τ is expresed by:

$$ \boldsymbol{\uptau} =-{\alpha}_fK{\left\Vert \varDelta {\mathbf{v}}_g\right\Vert}^{q-1}\varDelta {\mathbf{v}}_g $$
(4)

Where α f is a friction coefficient, q is the sensitivity to the sliding velocity and Δ v g is the relative sliding velocity between the tool and the part.

Finite elements discretization

The problem is discretized using the P1+/P1 compatible mixed finite elements [22, 23]. The pressure p is linearly interpolated on each tetrahedron, while the velocity v is interpolated using linear shape functions and further enriched with a bubble function:

$$ \begin{array}{l}{\mathbf{v}}_h\left(\mathbf{x}\right)={\displaystyle \sum_{k=1}^{nbnoe}{\mathbf{v}}_k{N}_k\left(\mathbf{x}\right)}+{\displaystyle \sum_{e=1}^{nbelt}{\overline{\mathbf{v}}}_e{b}_e\left(\mathbf{x}\right)}\kern0.5em ,\kern0.5em \forall \mathbf{x}\in \varOmega \\ {}{p}_h\left(\mathbf{x}\right)={\displaystyle \sum_{k=1}^{nbnoe}{p}_k{N}_k\left(\mathbf{x}\right)}, \kern0.5em \forall \mathbf{x}\in \varOmega \end{array} $$
(5)

Where v k and p k are the nodal velocity and pressure values. nbnoe and nbelt respectively represent the number of nodes and elements. N k is the linear shape function at a node k and \( {\overline{\mathbf{v}}}_e \) is the enrichment of the velocity field interpolated by the bubble function b e and computed at the center of each tetrahedron.

Time evolution of the domain

Within the updated lagrangian framework, with our velocity based formulation, the evolution of the domain over the time is obtained by integrating evolution Eq. (6) at each time t of the simulation; unlike displacement based formulations where the configuration updating is straightforward and given by the displacement fields provided by the finite elements calculations.

$$ \frac{d{\mathbf{x}}^t}{dt}={\mathbf{v}}^t\left({\mathbf{x}}^t,t\right) \equiv {\mathbf{v}}^t $$
(6)

Where x t and v t respectively denote the position and velocity at time t. Notice that the above equation is the fundamental equation around which revolves the study.

A widely used integration scheme is the simple explicit or implicit Euler one step scheme (Fig. 1a). For this scheme, the updated x t + Δt configuration is given by:

Fig. 1
figure 1

Illustration of (a) first-order Euler and (b) second-order Runge–Kutta time integration schemes

$$ {\mathbf{x}}^{t+\varDelta t}={\mathbf{x}}^t+{\mathbf{v}}^t\varDelta t\kern0.5em or\kern0.5em {\mathbf{x}}^{t+\varDelta t}={\mathbf{x}}^t+{\mathbf{v}}^{t+\varDelta t}\varDelta t $$
(7)

When the rotational component of the movement is moderate, it is often observed that second order Runge–Kutta scheme (Fig. 1b) provides considerable improvements over the Euler scheme [15]. (x t, v t) being the current configuration, this scheme can be summarized by:

  • from (x t, v t), compute the middle configuration: \( {\mathbf{x}}^{t+\raisebox{1ex}{$\varDelta t$}\!\left/ \!\raisebox{-1ex}{$2$}\right.}={\mathbf{x}}^t+{\mathbf{v}}^t\frac{\varDelta t}{2} \)

  • on the middle configuration (\( {\mathbf{x}}^{t+\raisebox{1ex}{$\varDelta t$}\!\left/ \!\raisebox{-1ex}{$2$}\right.} \)), compute a new FEM solution: \( {\mathbf{v}}^{t+\raisebox{1ex}{$\varDelta t$}\!\left/ \!\raisebox{-1ex}{$2$}\right.} \)

  • from (x t, \( {\mathbf{v}}^{t+\raisebox{1ex}{$\varDelta t$}\!\left/ \!\raisebox{-1ex}{$2$}\right.} \)), compute the updated configuration: \( {\mathbf{x}}^{t+\varDelta t}={\mathbf{x}}^t+{\mathbf{v}}^{t+\raisebox{1ex}{$\varDelta t$}\!\left/ \!\raisebox{-1ex}{$2$}\right.}\varDelta t \)

For a pure rotation motion, Fig. 1 illustrates the time integration error inherent in the Euler scheme, along with the improvement provided by the Runge–Kutta scheme. In the Euler scheme, the velocity field (which is normal to the rotation axis) is assumed to remain constant during the time step. The integrated point at time t + Δt consequently moves in the tangent direction and leaves the exact curve (see also Fig. 2b). The resulting error is proportional to Δt. The second order Runge–Kutta is significantly more accurate. The error is second order, then proportional to (Δt)2. However, it doesn’t allow perfect integration of a pure rotation motion either. A fourth order Runge–Kutta scheme would then be required, as utilized in [16] where it is shown to be necessary to accurately integrate FSW particles motions when the time steps cannot be sufficiently reduced.

Fig. 2
figure 2

a velocity decomposition in a cylindrical frame b material point trajectory according to the different time integration schemes

Contact treatment

Forming tools are considered to be rigid. Their surfaces are discretized by triangular facets. The signed distance between any point M t of the part and the surface of the tool is defined by:

$$ {\delta}^t=\left({\mathbf{M}}^t{\mathbf{P}}^t\right).{\mathbf{n}}^t $$
(8)

Where n t is the surface normal vector at point P t of the tool surface; it is the closest point of the tool from the point M t. δ t > 0 if the point is outside of the tool, δ t = 0 if it is on the tool surface, δ t < 0 if it has penetrated the tool.

A nodal contact (node to facet) formulation [24] is employed. For any node n, the contact condition is prescribed at the end of the time increment:

$$ {\delta}^{t+\varDelta t}=\left({\mathbf{M}}^{t+\varDelta t}{\mathbf{P}}^{t+\varDelta t}\right).{\mathbf{n}}^{t+\varDelta t}\ge 0 $$
(9)

The Eq. (9) is linearized by assuming that the tool can be locally approximated by its tangential plane during the time step. So, n t + Δt ≈ n t, which results into:

$$ -\frac{\delta^{t+\varDelta t}}{\varDelta t}\approx \left(\frac{{\mathbf{M}}^t{\mathbf{M}}^{t+\varDelta t}}{\varDelta t}-{\mathbf{v}}_{tool}^t\right).{\mathbf{n}}^t-\frac{\delta^t}{\varDelta t}=h\left({\mathbf{v}}_n\right)\le 0 $$
(10)

Where v t tool is the tool velocity, h(v n ) is a contact function. The discrete contact condition Eq. (10) is enforced by a penalty formulation, which leads to the following contributions for the gradient and Hessian of the discretized equations:

$$ \begin{array}{l}{\mathbf{R}}_n^{contact}\left({\mathbf{v}}_n\right)=\rho {\left[h\left({\mathbf{v}}_n\right)\right]}^{+}{S}_n\frac{\partial h\left({\mathbf{v}}_n\right)}{\partial {\mathbf{v}}_n},\ \forall n\in \partial {\varOmega}_c\\ {}{\mathbf{H}}_n^{contact}\left({\mathbf{v}}_n\right)=\rho {\left[h\left({\mathbf{v}}_n\right)\right]}^{+}{S}_n\frac{\partial h\left({\mathbf{v}}_n\right)}{\partial {\mathbf{v}}_n}\otimes {S}_n\frac{\partial h\left({\mathbf{v}}_n\right)}{\partial {\mathbf{v}}_n^T},\ \forall n\in \partial {\varOmega}_c\end{array} $$
(11)

Where ρ is the penalty coefficient and S n is a surface associated to the node n, [•]+ denotes the positive part of (•).

The set of non-linear discretized equations is solved by a Newton–Raphson algorithm, within which underlying linear systems of equations are iteratively solved by preconditioned conjugate residual that is fully compatible with parallel computations [23]. For large deformation problems, the updated Lagrangian formulation results into large mesh distortions that require frequent and regular remeshings [22].

Cylindrical time integration scheme

Case of rotation around (Oz) axis

For a material point M t of a body that is spinning around the (Oz) axis, the curvilinear trajectory is essentially driven by the tangential component of the velocity (v t θ ) which is given by the rotation velocity (angular velocity). The decomposition of the velocity in the corresponding cylindrical frame provides the v t θ component and enables a more accurate integration of the rotational motion (see Fig. 2b). The cylindrical scheme consists in three steps:

  • Transformation into the cylindrical frame

  • Time integration of motion equations in the cylindrical frame

  • Inverse transformation into the original Cartesian frame

The coordinates x t and the velocity v t at a time t are mapped into the cylindrical basis (e r , e θ , e z ) built around the (Oz) axis. For any node M t, its (r t, θ t, z t) coordinates are expressed as follow:

$$ {\left({\mathbf{M}}^t\right)}_{Cyl}{\left\{\begin{array}{l}{r}^t=\left[{\left({x}^t-{x}_{axis}^t\right)}^2+{\left({y}^t-{y}_{axis}^t\right)}^2\right]\\ {}{\theta}^t= \arctan \left(\frac{y^t-{y}_{axis}^t}{x^t-{x}_{axis}^t}\right)\\ {}{z}^t\end{array}\right.}^{\raisebox{1ex}{$1$}\!\left/ \!\raisebox{-1ex}{$2$}\right.} $$
(12)

Where x t axis  = (x t axis , y t axis , z t axis ) is a point belonging to the rotation axis. The three components of the velocity v t r , v t θ and v t z are given by the following relations:

$$ {\left({\mathbf{v}}^t\right)}_{Cyl}\left\{\begin{array}{l}{v}_r^t={v}_x^t \cos \left({\theta}^t\right)+{v}_y^t \sin \left({\theta}^t\right)\\ {}{v}_{\theta}^t=\frac{v_y^t \cos \left({\theta}^t\right)-{v}_x^t \sin \left({\theta}^t\right)}{r^t}\\ {}{v}_z^t\end{array}\right. $$
(13)

Using the first-order Euler scheme in the cylindrical frame, the updated cylindrical coordinates (r t + Δt, θ t + Δt, z t + Δt) (Fig. 2b) are written as:

$$ {\left({\mathbf{M}}^{t+\varDelta t}\right)}_{Cyl}\left\{\begin{array}{l}{r}^{t+\varDelta t}={r}^t+{v}_r^t\varDelta t\\ {}{\theta}^{t+\varDelta t}={\theta}^t+{v}_{\theta}^t\varDelta t\\ {}{z}^{t+\varDelta t}={z}^t+{v}_z^t\varDelta t\end{array}\right. $$
(14)

In other words, during the time increment the velocity field is assumed to remain constant in the cylindrical frame rather than in the Cartesian frame (7). The updated Cartesian coordinates are then obtained by performing an inverse transformation of the updated cylindrical coordinates into the original Cartesian frame:

$$ {\mathbf{M}}^{t+\varDelta t}\left\{\begin{array}{l}{x}^{t+\varDelta t}={r}^{t+\varDelta t} cos\left({\theta}^{t+\varDelta t}\right)\\ {}{y}^{t+\varDelta t}={r}^{t+\varDelta t} sin\left({\theta}^{t+\varDelta t}\right)\\ {}{z}^{t+\varDelta t}\end{array}\right. $$
(15)

Generalization to any arbitrary rotation motion

In practice, the rotation axis can be in any direction, and for many processes such as cross wedge-rolling or screw forming, this axis is moving all along the process. Moreover, there are many problems, such as bending, within which only a part of the domain is actually rotating. Furthermore, in the most general case, there is a combination of rotation and translation so that such integration scheme is necessary only when and where rotation should be regarded as dominant. Therefore, in order to generalize the cylindrical scheme to any kind of motion, two important features have been introduced: an automatic detection of the rotation axis and the identification of the actually rotating zones.

  • Detection of the rotation axis

The rotation axis can be derived from the rotation velocity vector ω t (ω t x , ω t y , ω t z ) which itself derives from the skew-symmetric part of the velocity gradient Ω(v t) as proposed in [25] and [7, 8, 13, 25] where a similar tensor-vector representation of the rotation vector is employed:

$$ \boldsymbol{\Omega} \left({\mathbf{v}}^t\right)=\frac{1}{2}\left[\nabla {\mathbf{v}}^t-{\left(\nabla {\mathbf{v}}^t\right)}^T\right]=\left[\begin{array}{ccc}\hfill 0\hfill & \hfill {\omega}_z^t\hfill & \hfill -{\omega}_y^t\hfill \\ {}\hfill -{\omega}_z^t\hfill & \hfill 0\hfill & \hfill {\omega}_x^t\hfill \\ {}\hfill {\omega}_y^t\hfill & \hfill -{\omega}_x^t\hfill & \hfill 0\hfill \end{array}\right] $$
(16)

Using a P1 finite elements interpolation for the velocity (at this level, the enrichment provided by the bubble interpolation in order to satisfy the compatibility condition between the velocity and pressure interpolations should be neglected), the gradient ∇v t and consequently the angular velocity vector ω t are discontinuous. They are only defined at the Gauss points of the elements. Nodal values ω t k are then obtained by averaging elementary values over nodal patches P k (the set of elements containing node k) presented in Fig. 3:

$$ {\boldsymbol{\upomega}}_k^t=\frac{1}{\mathrm{d}}{\displaystyle \sum_{e=1}^d{\boldsymbol{\upomega}}_e^t}\kern1.75em ,\kern1.25em \mathrm{d}= card\left({P}_k\right) $$
(17)
Fig. 3
figure 3

Nodal patch centered on a node k

  • Identification of the effective rotating zones

To account for possible local rotations (only a zone of the domain is rotating), it is necessary to evaluate the intensity of the angular velocity. If it is not sufficient, then translation is dominant and the standard one-step Euler scheme should be used. The selected criterion consists in evaluating the variations of the computed rotation velocity (16) and (17) within a patch of elements. Considering a patch P k centred on a node k (see Fig. 3), this criterion is twofold:

  1. (a)

    The intensity of the averaged rotation velocity ‖ω t k ‖ at a node k (17) must be closed enough to that of its surrounding elements (16):

    $$ 0<{\lambda}_1\le \min\ \left(\frac{\left\Vert {\boldsymbol{\upomega}}_k^t\right\Vert }{\left\Vert {\boldsymbol{\upomega}}_e^t\right\Vert },\frac{\left\Vert {\boldsymbol{\upomega}}_e^t\right\Vert }{\left\Vert {\boldsymbol{\upomega}}_k^t\right\Vert}\right)\le\ 1\kern1em \forall e\in {P}_k $$
    (18)
  2. (b)

    The orientation of the average rotation velocity ω t k at a node k (17) must be closed enough to that of its surrounding elements (16):

    $$ 0<{\lambda}_2\le \left(\frac{{\boldsymbol{\upomega}}_k^t.{\boldsymbol{\upomega}}_e^t}{\left\Vert {\boldsymbol{\upomega}}_k^t.{\boldsymbol{\upomega}}_e^t\right\Vert}\right)\kern0.5em \le\ 1\kern1em \forall e\in {P}_k $$
    (19)

Where λ 1 and λ 2 are parameters used to check the criteria. In practice, λ 1 and λ 2 must be close to 1.

  • Updating procedure

Once the effective rotating zones and the rotation axis are known, the updating procedure presented in the case of a rotation around (Oz) axis can be utilized after performing a change of reference frame such that the rotation axis coincides with (Oz). The three basis vectors (u t0 , v t0 , w t0 ) of the new local frame are expressed as follow:

$$ \left\{\begin{array}{l}{\mathbf{w}}_0^t=\frac{{\boldsymbol{\upomega}}^t}{\left\Vert {\boldsymbol{\upomega}}^t\right\Vert}\\ {}{\mathbf{v}}_0^t=\frac{{\boldsymbol{\upomega}}^t\times {\mathbf{v}}^t}{\left\Vert {\boldsymbol{\upomega}}^t\times {\mathbf{v}}^t\right\Vert}\\ {}{\mathbf{u}}_0^t={\mathbf{v}}_0^t\times {\mathbf{w}}_0^t\end{array}\right. $$
(20)

The resulting transformation matrix is then given by:

$$ \mathbf{P}=\left(\begin{array}{ccc}\hfill {u}_{0x}^t\hfill & \hfill {v}_{0x}^t\hfill & \hfill {w}_{0x}^t\hfill \\ {}\hfill {u}_{0y}^t\hfill & \hfill {v}_{0y}^t\hfill & \hfill {w}_{0y}^t\hfill \\ {}\hfill {u}_{0z}^t\hfill & \hfill {v}_{0z}^t\hfill & \hfill {w}_{0z}^t\hfill \end{array}\right) $$
(21)

To fully define the projection of a point M t into the local frame, the position of a point O t of the rotation axis is required. For a uniform rigid body rotation around a fixed axis, O t M t satisfies the following relation: v t = ω t × O t M t. This vector equation has no unique solution, therefore the geometrical condition O t M t. ω t = 0 is added (O t belongs to the same plane as M t and is perpendicular to the rotation axis, as for a uniform plane rotation). Then, the solution of the vector equation is given by the following relation:

$$ {\mathbf{O}}^t{\mathbf{M}}^t=-\frac{{\boldsymbol{\upomega}}^t\times {\mathbf{v}}^t}{{\left\Vert {\boldsymbol{\upomega}}^t\right\Vert}^2} $$
(22)

It should be noticed that when the local material movement is not a pure rotation then the instantaneous rotation axis is not strictly defined. This is not a real problem because in practical applications this “rotation axis” moves slowly, and because this assumption is only used for building the time integration scheme.

Using the defined mapping, a position vector O t M t in the global frame is transformed into o t m t in the local frame. The updated vector o t + Δt m t + Δt is then computed by the cylindrical scheme presented in section 3.1. The updated vector O t + Δt M t + Δt in the global frame is then deduced from o t + Δt m t + Δt by an inverse mapping.

Modified contact equations

Because contact equations are enforced at t + Δt (9–10), values of contact condition (10), gradient and hessian (11) depend on the utilized time integration scheme. With the one-step Euler scheme, \( \frac{{\mathbf{M}}^t{\mathbf{M}}^{t+\varDelta t}}{\varDelta t}={\mathbf{v}}^t \) in Eq. (10) so a simple expression is obtained for the derivative terms of Eq (11):

$$ \frac{\partial h\left({\mathbf{v}}_n\right)}{\partial {\mathbf{v}}_n}={\mathbf{n}}^t $$
(23)

With the cylindrical scheme, \( \frac{{\mathbf{M}}^t{\mathbf{M}}^{t+\varDelta t}}{\varDelta t} \) cannot be approximated by v t. In fact, M t M t + Δt depends on terms calculated in the cylindrical frame and involved in the updating procedure. So, considering the mapping of M t M t + Δt into m t m t + Δt and neglecting the dependency of matrix P with respect to the velocity field, the following relations are obtained:

$$ \frac{\partial h\left({\mathbf{v}}_n\right)}{\partial {\mathbf{v}}_n}=\frac{1}{\varDelta t}\left(\mathbf{P}\frac{\partial {\mathbf{m}}^t{\mathbf{m}}^{t+\varDelta t}}{\partial {\mathbf{v}}_n^{*}}{\mathbf{P}}^{-1}\right).{\mathbf{n}}^t $$
(24)

Where v * n denotes the mapping of vector v n into the local basis. \( \frac{\partial {\mathbf{m}}^t{\mathbf{m}}^{t+\varDelta t}}{\partial {\mathbf{v}}_n^{*}} \) is calculated as follows :

$$ \frac{\partial {\mathbf{m}}^t{\mathbf{m}}^{t+\varDelta t}}{\partial {\mathbf{v}}_n^{*}}\left\{\begin{array}{l}\frac{\partial \left({r}^{*t+\varDelta t} cos\left({\theta}^{*t+\varDelta t}\right)-{r}^{*t} cos\left({\theta}^{*t}\right)\right)}{\partial {\mathbf{v}}_n^{*}}=\frac{\partial {r}^{*t+\varDelta t}}{\partial {\mathbf{v}}_n^{*}} cos\left({\theta}^{*t+\varDelta t}\right)+{r}^{*t+\varDelta t}\frac{\partial cos\left({\theta}^{*t+\varDelta t}\right)}{\partial {\mathbf{v}}_n^{*}}\\ {}\frac{\partial \left({r}^{*t+\varDelta t} \sin \left({\theta}^{*t+\varDelta t}\right)-{r}^{*t} \sin \left({\theta}^{*t}\right)\right)}{\partial {\mathbf{v}}_n^{*}}=\frac{\partial {r}^{*t+\varDelta t}}{\partial {\mathbf{v}}_n^{*}} \sin \left({\theta}^{*t+\varDelta t}\right)+{r}^{*t+\varDelta t}\frac{\partial \sin \left({\theta}^{*t+\varDelta t}\right)}{\partial {\mathbf{v}}_n^{*}}\\ {}\frac{\partial \left({z}^{*t+\varDelta t}-{z}^{*t}\right)}{\partial {\mathbf{v}}_n^{*}}=\frac{\partial {z}^{*t+\varDelta t}}{\partial {\mathbf{v}}_n^{*}}\end{array}\right. $$
(25)

Where (r * t, θ * t, z * t) and (r * t + Δt, θ * t + Δt, z * t + Δt) are respectively the cylindrical coordinates of m t and m t + Δt. The partial derivatives of (25) are then evaluated considering the cylindrical updating in the local basis (Eq. (14)) and the decomposition of the velocity (13):

$$ \frac{\partial {r}^{*t+\varDelta t}}{\partial {\mathbf{v}}_n^{*}}\left\{\begin{array}{l}\frac{\partial {r}^{*t+\varDelta t}}{\partial {v}_{x,n}^{*}}= cos\left({\theta}^{*t}\right)\varDelta t\\ {}\frac{\partial {r}^{*t+\varDelta t}}{\partial {v}_{y,n}^{*}}= sin\left({\theta}^{*t}\right)\varDelta t\\ {}\frac{\partial {r}^{*t+\varDelta t}}{\partial {v}_{z,n}^{*}}=0\end{array}\right., \kern0.75em \frac{\partial {\theta}^{*t+\varDelta t}}{\partial {\mathbf{v}}_n^{*}}\left\{\begin{array}{l}\frac{\partial {\theta}^{*t+\varDelta t}}{\partial {v}_{x,n}^{*}}=-\frac{1}{r^{*t}} \sin \left({\theta}^{*t}\right)\varDelta t\\ {}\frac{\partial {\theta}^{*t+\varDelta t}}{\partial {v}_{y,n}^{*}}=\frac{1}{r^{*t}} \cos \left({\theta}^{*t}\right)\varDelta t\\ {}\frac{\partial {\theta}^{*t+\varDelta t}}{\partial {v}_{z,n}^{*}}=0\end{array}\right.,\kern0.5em \frac{\partial {z}^{*t+\varDelta t}}{\partial {\mathbf{v}}_n^{*}}\left\{\begin{array}{l}\frac{\partial {z}^{*t+\varDelta t}}{\partial {v}_{x,n}^{*}}=0\\ {}\frac{\partial {z}^{*t+\varDelta t}}{\partial {v}_{y,n}^{*}}=0\\ {}\frac{\partial {z}^{*t+\varDelta t}}{\partial {v}_{z,n}^{*}}=1\end{array}\right. $$
(26)

By combining Eqs. (26) and (27), a simplified form is obtained for \( \frac{1}{\varDelta t}\frac{\partial {\mathbf{m}}^t{\mathbf{m}}^{t+\varDelta t}}{\partial {\mathbf{v}}_n^{*}} \) which can be expressed through a matrix Ψ as follows:

$$ \boldsymbol{\Psi} =\left[\begin{array}{ccc}\hfill {\varPsi}_{11}\hfill & \hfill {\varPsi}_{12}\hfill & \hfill 0\hfill \\ {}\hfill {\varPsi}_{21}\hfill & \hfill {\varPsi}_{22}\hfill & \hfill 0\hfill \\ {}\hfill 0\hfill & \hfill 0\hfill & \hfill 1\hfill \end{array}\right]\ Where\ \left\{\begin{array}{l}{\varPsi}_{11}= \cos \left({\theta}^{*t+\varDelta t}\right) \cos \left({\theta}^{*t}\right)+\frac{r^{*t+\varDelta t}}{r^{*t}} \sin \left({\theta}^{*t+\varDelta t}\right) \sin \left({\theta}^{*t}\right)\\ {}{\varPsi}_{22}= \sin \left({\theta}^{*t+\varDelta t}\right) \sin \left({\theta}^{*t}\right)+\frac{r^{*t+\varDelta t}}{r^{*t}} \cos \left({\theta}^{*t+\varDelta t}\right) \cos \left({\theta}^{*t}\right)\\ {}{\varPsi}_{12}= \cos \left({\theta}^{*t+\varDelta t}\right) \sin \left({\theta}^{*t}\right)-\frac{r^{*t+\varDelta t}}{r^{*t}} \sin \left({\theta}^{*t+\varDelta t}\right) \cos \left({\theta}^{*t}\right)\\ {}{\varPsi}_{21}= \sin \left({\theta}^{*t+\varDelta t}\right) \cos \left({\theta}^{*t}\right)-\frac{r^{*t+\varDelta t}}{r^{*t}} \cos \left({\theta}^{*t+\varDelta t}\right) \sin \left({\theta}^{*t}\right)\end{array}\right. $$
(27)

It is important to notice that the resulting contact Eq. (10) is now non-linear with respect to the velocity field. This would increase the non-linearities of the mechanical problem and consequently the number of Newton Raphson iterations required to solve it.

Applications

For all the applications considered, the material is assumed to follow the Norton-Hoff constitutive Eq. (3) which parameters are: K = 1881 MPa and m = 0.15. Also, a value of 0.8 has been used for λ 1 and λ 2 (parameters for detecting effectively rotating nodes), a best compromise provided by numerical tests.

Rigid body rotation

An academic case of rigid body rotation is first presented in order to evaluate the accuracy and the order of the proposed scheme. The body consists of a hollow cylinder (see Fig. 4) subjected to a constant rotation velocity ω = 10π rad/s.

Fig. 4
figure 4

Rigid body rotation: simulation set up

For such a problem, the analytical solution is well known (\( x(t)=\sqrt{x^2+{y}^2} \cos \left(\omega t+{\theta}_0\right) \), \( y(t)=\sqrt{x^2+{y}^2} \sin \left(\omega t+{\theta}_0\right) \), z(t) = z 0, where θ 0 and z 0 respectively denotes the coordinates at time t = 0 s). The cylindrical scheme is compared to the first-order Euler and second-order Runge–Kutta schemes, in terms of accuracy and convergence order. For the accuracy study, a constant time step size of Δt = 10 −2s has been used. Time step sizes of Δt, 2Δt and 4Δt are then considered for the convergence analysis. Figure 5a and b respectively show the relative error in the L 2 classical norm for the position vector and the relative volume variation for few time steps. The relative error for the position vector in the L 2 norm is defined as \( error=\sqrt{\frac{{\displaystyle \sum_k{\left\Vert {\mathbf{X}}_k^{exact}-{\mathbf{X}}_k\right\Vert}^2}}{{\displaystyle \sum_k{\left\Vert {\mathbf{X}}_k^{exact}\right\Vert}^2}}} \), where X exact k and X k respectively represent the exact position vector and the calculated one on a node k. Logarithmic scale is used for the vertical axis. As expected, with the Euler scheme a very large volume dilatation is detected; the volume increases about ten times. It also results into very large position errors. Second-order Runge–Kutta scheme significantly improves the results (the relative volume variation, ΔV/V0 ~ 10−2) but it remains not accurate enough. The cylindrical scheme provides the best results. The volume variation is very negligible (ΔV/V0 ~ 10−8). Positions are also very accurate. Figure 6 presents the relative error in the L 2 classical norm for the position vector as a function of the inverse of the time step size in a Log-Log scale. It can be pointed out that the cylindrical scheme is a first order scheme (As shown by the slope ∼ −1), just like the Euler scheme (but with a much better accuracy), while the second-order Runge–Kutta is actually a higher order scheme (but with a poorer accuracy for the considered time steps).

Fig. 5
figure 5

a Relative volume variation and b position error for rigid body rotation for few increments

Fig. 6
figure 6

Convergence curve for the different time integration schemes

Hot torsion test

The following application aims at showing the impact of volume variation on simulation results. In this hot torsion test, the impacts on the values of calculated torques versus the number of turns are pointed out. The two jaws of the torsion machine (see Fig. 7) have opposite rotation velocities of ω 1  = π/60 rad/s and ω 2  = −π/60 rad/s. A time step size of Δt = 10 −1s has been employed.

Fig. 7
figure 7

Hot torsion simulation set up

Figure 8a presents the relative volume variation for few time steps. Once again the lowest volume variation is provided by the cylindrical scheme. In spite of the low number of turns, the Euler scheme provides a large volume increase. In terms of torque (Fig. 8b), results obtained with the cylindrical scheme are almost identical to that of second-order Runge–Kutta which can be considered here as a reference solution. On the other hand, the Euler scheme provides significantly higher torques, as a consequence of the volume increase.

Fig. 8
figure 8

a Relative volume variation and b torque evolution for the hot torsion test

Cross-wedge rolling

Cross-wedge rolling is employed for manufacturing axisymmetric automotive parts. Starting from a cylindrical billet, the final component is obtained through the plastic deformation imposed by two moving dies (by translation or rotation) that make the billet turn around its axis. For such a tricky process, a slight default in the kinematics modelling results into significant defects on the shape of the final part. It is therefore important to very accurately integrate the large material rotations. For this study, two different dies technologies are considered: with dies in translation (Fig. 9) and with dies in rotation (Fig. 10).

Fig. 9
figure 9

Cross-wedge rolling with dies having a translation motion

Fig. 10
figure 10

Cross-wedge rolling with dies having a rotation motion

In the die translation process (see Fig. 9), the relative velocity of the dies is v = 30 mm/s. In the rotating process (see Fig. 10), the velocities of the counter rotating dies are: ω 1  = 1.25 rad/s and ω 2  = −1.25 rad/s. A time step size of 10 −2s has been used in the two cases. Since few remeshings are performed to account for the large mesh deformation, our analysis only regards the first fifty time steps (before the first remeshing).

  • Translating dies cross-wedge rolling

With translating dies kinematics, the rotation axis of workpiece is continuously moving during the process, so it has to be continuously updated within the cylindrical scheme. As can be seen in Fig. 11, once again the volume conservation is much better along with the cylindrical scheme rather than with the second-order Runge–Kutta scheme; the error reduces of two orders of magnitude, from 10−3 to 10−5.

Fig. 11
figure 11

Relative volume variation for cross-wedge rolling simulation with dies in translation

Figure 12 (right) presents isovalues of effectively rotating nodes, in other words the flags that evaluate whether rotation (flag equal to 1) or translation (flag equal to 0) prevails. Although the workpiece is continuously rotating around its axis, it is found that translation is able to dominate rotation at some locations between the dies. These isovalues can be easily correlated to contact pressure isovalues of Fig. 12 (left), at different deformation stages of the process. The good agreement between these fields indicates that a translation motion dominates where the maximum compression (negative contact pressure) is observed between the dies.

Fig. 12
figure 12

For two different steps of cross-wedge rolling, Left: contact pressure. Right: flag of effective rotating node (isovalue equal to 1 if rotation dominates and equal 0 if translation prevails)

  • Rotating dies cross-wedge rolling

With rotating dies, the rotation axis of the workpiece is almost steady. Figure 13 shows that similar conclusions can be derived for the volume conservation: clear superiority of the cylindrical scheme over the second-order Runge–Kutta scheme with also two orders of difference on the error. In this case, with the second-order Runge–Kutta scheme, the volume increase is one order of magnitude larger than with the previous kinematics.

Fig. 13
figure 13

Relative volume variation for cross-wedge rolling simulation with rotating dies

Analyzing the shape of the billet can also highlight the accuracy and robustness of the cylindrical scheme. Figure 14 presents the final shapes of the billet that have been obtained with the two schemes, as well as the real shape of the billet resulting from the actual forming process. The cylindrical scheme allows predicting a very realistic final shape, while the RK2 scheme provides a noticeable forming defect (see Fig. 14b) at the end of the process simulation. This unexpected defect (with RK2) can be explained by the numerical increase of material volume observed in Fig. 13. Although low (1 %), it can be enough to modify the forming route of such a sensitive process. This hypothesis is confirmed by carrying out a convergence study with reduced time steps, Δt/4 and Δt/10. Figure 15 shows the shape evolution over the time and Fig. 16 provides a zoom on one end of the final shape. They clearly show that the RK2 scheme converges toward the solution provided by cylindrical scheme.

Fig. 14
figure 14

Final shapes of the billet during the cross-wedge rolling simulation with rotating dies

Fig. 15
figure 15

Shape evolution during the cross-wedge rolling simulation with rotating dies at different stages of the process: comparison between the cylindrical scheme and RK2 with decreasing time steps

Fig. 16
figure 16

Zoom on the end of final shape of the billet for the cylindrical scheme and RK2 with decreasing time steps

Table 1 provides information about the simulations. For the time step ∆t, the cylindrical scheme is just slightly (2.3 %) more expensive than the RK2 scheme, due to additional calculations and additional non-linearities in the residual equations as the average number of iterations needed for the Newton Raphson algorithm shows it. However, with such time step ∆t, the RK2 scheme provides inaccurate results, with much more smaller time steps (Δt/4 or better Δt/10) accurate results are reached but much higher computational times (respectively 3 and 6 times larger) is needed. The cylindrical scheme is then both accurate and much more efficient.

Table 1 Information about the simulations

To illustrate the necessity to take into account the cylindrical scheme in the contact Eqs. (2427) and to solve the resulting non-linear equations, a comparison of results obtained with and without changes in the contact equations has been carried out when the cylindrical scheme is used. Figure 17 shows the isovalues of the contact distance (a positive or zero value indicates that the concerned node is in contact) at time t = 0.37 s. It can be clearly noticed that the contact area is not similar; the contact is detected earlier and is more pronounced when properly taking into account the cylindrical scheme in the contact equations.

Fig. 17
figure 17

Isovalue of the contact distance (a) without taking the cylindrical scheme into account and (b) taking it into account in the contact equations

Conclusion

The studied cylindrical time integration scheme consists in expressing the motion equations into a cylindrical frame, the rotation axis of which is computed from the skew-symmetric part of the velocity gradient. This scheme is only applied in domain areas where the velocity field corresponds to a rotational movement rather than to a translational movement. It provides a general scheme that can be applied to any problem. This cylindrical scheme is only first order but it shows more accurate (and much easier to implement) than a higher order scheme such as second-order Runge–Kutta, which is clearly shown by the analytical example of the rotating rigid body. With respect to the original Euler scheme, which is often used in implicit metal forming formulations, the accuracy of the cylindrical scheme is several orders of magnitude higher. It is particularly suited to problems where the rotation axis continuously varies over time, while making it possible to take into account that, in some particular portions of the domain subjected to large deformations (between the rolling dies), the material flow rather corresponds to a translation and should therefore be integrated with a standard scheme. For studied forming problems involving very large rotations, such as the torsion test or cross-wedge rolling, the cylindrical scheme provides significantly better results than the second-order Runge–Kutta, both for the volume preservation; the torsion torques values or else the computed geometries at the end of rolling.

This scheme can rather easily be introduced into existing code without specific difficulties. Changing an Euler time integration scheme into the cylindrical scheme is rather straight forward (equations of section 3.1), while detecting the rotation axis and the rotation occurrence, as well as introducing the changes to the contact equations (section 3.3) requires going further into the data structure of the code.