Volume 23, Issue 4 e202300148
RESEARCH ARTICLE
Open Access

Analytical tangents for arbitrary material laws derived from rheological models at large deformations

Richard Gypstuhl

Corresponding Author

Richard Gypstuhl

Chair of Solid Mechanics, Chemnitz University of Technology, Chemnitz, Germany

Correspondence

Richard Gypstuhl, Chair of Solid Mechanics, Chemnitz University of Technology, 09126 Chemnitz, Germany.

Email: [email protected]

Search for more papers by this author
Hans Wulf

Hans Wulf

Chair of Solid Mechanics, Chemnitz University of Technology, Chemnitz, Germany

Search for more papers by this author
Ralf Landgraf

Ralf Landgraf

Chair of Solid Mechanics, Chemnitz University of Technology, Chemnitz, Germany

Search for more papers by this author
Jörn Ihlemann

Jörn Ihlemann

Chair of Solid Mechanics, Chemnitz University of Technology, Chemnitz, Germany

Search for more papers by this author
First published: 21 November 2023

Abstract

The development of suitable material laws for various material classes is an essential preliminary task for conducting realistic simulations. Within the framework of large deformations, one recognized approach is the utilization of rheological connections allowing the construction of arbitrary models. A common method to calculate the stress response of such a material model is to formulate a set of algebraic and ordinary differential equations and to solve them numerically. However, in this work, only stress relations between different rheological elements are formulated and directly solved by a numeric algorithm without the need to derive the typical system of algebraic/differential equations. The required derivatives for the solution of these equations for this algorithm and the stiffness of the material model are calculated analytically following the same general principle as the algorithm calculating the stress response. This improves stability and computation effort compared to a forward difference scheme.

1 INTRODUCTION

Rheological models are a known and established approach for modeling materials under small and large strains. Within this framework, complex models are constructed by combining basic rheological elements, namely elasticity, viscosity, and plasticity, into a complete material model with serial or parallel connections [1]. Further developments are summarized, for example, in Altenbach [2]. Rheological models at large deformations have been investigated by Palmow [3] and Donner [4] based on the additive split of the strain rate tensor. Another ansatz is the multiplicative decomposition of the deformation gradient, which is followed by Lion [5], for example. The solution of such rheological models was advanced by Ihlemann [6] by introducing connection relations based on thermodynamics and by Refs. [7, 8] through the application of this concept. This paper builds upon Kießling et al. [7] as a foundation and presents an extension for the analytical computation of tangents, following the same generic and recursive methodology as the base algorithm. It is demonstrated that most intermediate terms are already provided by the stress calculations, which significantly reduces the effort required. Furthermore, the performance and stability of the analytical tangents are compared to the numerically calculated tangents using specific examples.

2 MATERIAL MODELS BASED ON RHEOLOGICAL ELEMENTS AT LARGE DEFORMATIONS

In this paper, all processes take place in Euclidean vector space E = R 3 $\mathbb {E} = \mathbb {R}^3$ . Additionally, the space of linear transformations from E $\mathbb {E}$ into itself is called the space of second-order tensors and is denoted by T $\mathbb {T}$ . The scalar product in the space of second-order tensors is defined by
A ̲ ̲ · · B ̲ ̲ = A a b B b a = I 1 ( A ̲ ̲ · B ̲ ̲ ) $$\begin{align} \underline{\underline{A}}\mathbin {\mathord {\cdot }\mathord {\cdot }}\underline{\underline{B}} = A_{ab}B_{ba} = I_1(\underline{\underline{A}}\cdot \underline{\underline{B}}) \end{align}$$ (1)
with I 1 ( X ̲ ̲ ) = tr [ X a b ] $I_1(\underline{\underline{X}}) = \mathrm{tr}[X_{ab}]$ being the first main invariant calculated with the trace operation. The rank of tensors is indicated by the number of underscores.

2.1 Kinetics and kinematics

Starting from the reference configuration K $\widetilde{\mathcal {K}}$ , the deformation acting on a material leads to the current configuration K $\mathcal {K}$ and is described by the deformation gradient F ̲ ̲ T $\underline{\underline{F}} \subset \mathbb {T}$ . With the deformation gradient known, the right and left Cauchy–Green tensors, the velocity gradient L ̲ ̲ $\underline{\underline{L}}$ , and its symmetric part D ̲ ̲ $\underline{\underline{D}}$ are given by
C ̲ ̲ = F ̲ ̲ T · F ̲ ̲ , b ̲ ̲ = F ̲ ̲ · F ̲ ̲ T , L ̲ ̲ = F ̲ ̲ · F ̲ ̲ 1 and D ̲ ̲ = L ̲ ̲ S , $$\begin{align} \underline{\underline{C}} = {\underline{\underline{F}}}^{\rm T}\cdot \underline{\underline{F}} \;,\quad \underline{\underline{b}} = \underline{\underline{F}} \cdot \underline{\underline{F}}^{\rm T}\;,\quad \underline{\underline{L}} = \mathop {\underline{\underline{F}}}\limits ^\bullet \cdot \underline{\underline{F}}^{-1}\,\quad \text{and}\quad \underline{\underline{D}} = \underline{\underline{L}}^{\rm S}\;, \end{align}$$ (2)
respectively, where ( ) T $(\,\,)^\mathrm{T}$ denotes the transpose of a second order tensor, ( ) S $(\,\,)^\mathrm{S}$ denotes the symmetric part of a tensor, and ( ) $\mathop {(\,\,)}\limits ^{\bullet }$ denotes the Lagrangian time derivative. To describe the occurring stress, the Cauchy stress tensor σ ̲ ̲ $\underline{\underline{\sigma }}$ , defined on the current configuration, and the second Piola–Kirchhoff stress tensor T ̲ ̲ $\widetilde{\underline{\underline{T}}}$ , defined on the reference configuration, are given by
T ̲ ̲ = I 3 ( F ̲ ̲ ) F ̲ ̲ 1 · σ ̲ ̲ · F ̲ ̲ T , $$\begin{align} \widetilde{\underline{\underline{T}}} = I_3(\underline{\underline{F}})\ \underline{\underline{F}}^{-1}\cdot \underline{\underline{\sigma }}\cdot \underline{\underline{F}}^{-\mathrm{T}}\;, \end{align}$$ (3)
with I 3 ( X ̲ ̲ ) = det [ X a b ] $I_3(\underline{\underline{X}}) = \mathrm{det}[X_{ab}]$ being the third main invariant. The stress power related to this deformation process reads (see Haupt and Tsakmakis [9])
P sp = G σ ̲ ̲ · · D ̲ ̲ d V = 1 2 G T ̲ ̲ · · C ̲ ̲ d V . $$\begin{align} P_\mathrm{sp} = \int ^\mathcal {G} \underline{\underline{\sigma }}\mathbin {\mathord {\cdot }\mathord {\cdot }}\underline{\underline{D}}\;\mathrm{d}V = \frac{1}{2} \int ^{\widetilde{\mathcal {G}}} \widetilde{\underline{\underline{T}}} \mathbin {\mathord {\cdot }\mathord {\cdot }}\mathop {\underline{\underline{C}}}\limits ^\bullet \;\mathrm{d}\widetilde{V}\;. \end{align}$$ (4)
Next, the aim is to define a material model composed of different rheological elements, where each element is described by its own stresses. In the case of a serial connection, the kinematics of the connection are described by the multiplicative decomposition of the deformation gradient
F ̲ ̲ = F ̲ ̲ 2 · F ̲ ̲ 1 $$\begin{align} \underline{\underline{F}} = \mathop {\underline{\underline{F}}}\limits ^2\cdot \mathop {\underline{\underline{F}}}\limits ^1 \end{align}$$ (5)
with an incompatible intermediate configuration K $\mathop {\mathcal {K}}\limits ^\wedge$ . The first element is defined on the partial deformation F ̲ ̲ 1 $\mathop {\underline{\underline{F}}}\limits ^1$ . Its stresses are described by the Cauchy stress σ ̲ ̲ 1 $\mathop {\underline{\underline{\sigma }}}\limits ^1$ , defined on the intermediate configuration, and the second Piola–Kirchhoff stress T ̲ ̲ 1 $\mathop {\widetilde{\underline{\underline{T}}}}\limits ^1$ , defined on the reference configuration. The pull back between these stresses as well as the stress power of the first element read
T ̲ ̲ 1 = I 3 ( F ̲ ̲ 1 ) F ̲ ̲ 1 1 · σ ̲ ̲ 1 · F ̲ ̲ 1 T , P 1 sp = G σ ̲ ̲ 1 · · D ̲ ̲ 1 d V . $$\begin{align} \mathop {\widetilde{\underline{\underline{T}}}}\limits ^1 = I_3 (\mathop {\underline{\underline{F}}}\limits ^1){\mathop {\underline{\underline{F}}}\limits ^1}{}^{-1}\cdot \mathop {\underline{\underline{\sigma }}}\limits ^1 \cdot {\mathop {\underline{\underline{F}}}\limits ^{1}}{}^{\rm -T} \;,\quad {\mathop {P}\limits ^1}_{\mathrm{sp}} = \int ^{\stackrel{\wedge }{\mathcal {G}}} \mathop {\underline{\underline{\sigma }}}\limits ^1\mathbin {\mathord {\cdot }\mathord {\cdot }}\mathop {\underline{\underline{D}}}\limits ^1\;\mathrm{d} \mathop {V}\limits ^\wedge \;. \end{align}$$ (6)
For the second element, which is defined with respect to F ̲ ̲ 2 $\mathop {\underline{\underline{F}}}\limits ^2$ , the Cauchy stress σ ̲ ̲ 2 $\mathop {\underline{\underline{\sigma }}}\limits ^2$ , defined on the current configuration, and the second Piola–Kirchhoff stress T ̲ ̲ 2 $\mathop {\widetilde{\underline{\underline{T}}}}\limits ^2$ , defined on the intermediate configuration, are employed. The pull back between these stresses as well as the stress power of the second element read
image(7)
A definition of D ̲ ̲ 2 $\mathop {\underline{\underline{D}}}\limits ^2$ according to Equation (2) would yield a nonobjective strain rate. Thus, according to Ihlemann [6], the strain rate of the second partial deformation is described by the term with the application of the Oldroyd derivative
image(8)
Next, relations between the stresses of the elements and the total stress have to be derived. According to Refs. [6, 8, 10], this is achieved by evaluating the stress power equivalence
P sp = P 1 sp + P 2 sp . $$\begin{align} P_\mathrm{sp} = {\mathop {P}\limits ^1}_\mathrm{sp} + {\mathop {P}\limits ^2}_\mathrm{sp}\;. \end{align}$$ (9)
To derive a usable equation from Equation (9), first Equations (4), (6), and (7) are substituted. Next, it is beneficial to translate the result to the reference configuration using the translation operators
S ( ( X ̲ ̲ ) ) = F ̲ ̲ 1 · X ̲ ̲ · F ̲ ̲ , S 1 ( ( X ̲ ̲ ) ) = F ̲ ̲ 1 1 · X ̲ ̲ · F ̲ ̲ 1 , and , S 2 ( ( X ̲ ̲ ) ) = F ̲ ̲ 2 1 · X ̲ ̲ · F ̲ ̲ 2 , $$\begin{align} {\rm S}(({\underline{\underline{X}}})) = \underline{\underline{F}}^{-1}\cdot \underline{\underline{X}} \cdot \underline{\underline{F}} \; ,\; \mathop {{\rm S}}\limits ^{1}(({\underline{\underline{X}}})) = {\mathop {\underline{\underline{F}}}\limits ^1}{}^{-1}\cdot \underline{\underline{X}}\cdot \mathop {\underline{\underline{F}}}\limits ^1 \; ,\;\text{and} \; ,\; \mathop {{\rm S}}^2 (({\underline{\underline{X}}})) = {\mathop {\underline{\underline{F}}}\limits ^2}{}^{-1}\cdot \underline{\underline{X}}\cdot \mathop {\underline{\underline{F}}}\limits ^2 \; , \end{align}$$ (10)
which translate an Eulerian expression to a Lagrangian one [6]. The double brackets (( · )) indicate a tensor valued tensor function. Applying these operators to Equation (9) leads to
G T ̲ ̲ · · C ̲ ̲ d V = G T ̲ ̲ 1 · · C ̲ ̲ 1 d V + G ρ ρ S 1 ( ( T ̲ ̲ 2 ) ) · · C ̲ ̲ 1 1 · C ̲ ̲ 1 · C ̲ ̲ 1 1 · C ̲ ̲ d V . $$\begin{align} \int ^{\widetilde{\mathcal {G}}} \widetilde{\underline{\underline{T}}} \mathbin {\mathord {\cdot }\mathord {\cdot }}\mathop {\underline{\underline{C}}}\limits ^\bullet \;\mathrm{d}\widetilde{V} = \int ^{\widetilde{\mathcal {G}}} \mathop {\widetilde{\underline{\underline{T}}}}\limits ^1 \mathbin {\mathord {\cdot }\mathord {\cdot }}\mathop {\underline{\underline{C}}}\limits ^{1^{\bullet }} \;\mathrm{d}\widetilde{V} + \int ^{\widetilde{\mathcal {G}}} \dfrac{\widetilde{\rho }}{\mathop {\rho }^\wedge }\; \mathop {\rm S}\limits ^1 ((\mathop {\widetilde{\underline{\underline{T}}}}\limits ^2)) \mathbin {\mathord {\cdot }\mathord {\cdot }}{\left[{\left({\mathop {\underline{\underline{C}}}\limits ^1}{}{}^{-1}\cdot \underline{\underline{C}}\right)}^{-1}\cdot {\left({\mathop {\underline{\underline{C}}}\limits ^1}{}^{-1}\cdot \underline{\underline{C}}\right)}^{\bullet }\right]} \;\mathrm{d}\widetilde{V}\;. \end{align}$$ (11)
Because they all have the same integration domain, the local form can be obtained. After rearranging the equation and applying I ̲ ̲ = 0 ̲ ̲ = ( C ̲ ̲ 1 1 · C ̲ ̲ 1 ) = ( C ̲ ̲ 1 1 ) · C ̲ ̲ 1 + C ̲ ̲ 1 1 · C ̲ ̲ 1 $\mathop {\underline{\underline{I}}}\limits ^\bullet = \underline{\underline{0}} = ({\mathop {\underline{\underline{C}}}\limits ^1}{}^{-1}\cdot \mathop {\underline{\underline{C}}}\limits ^1)^{\bullet } = ({\mathop {\underline{\underline{C}}}\limits ^1}{}^{-1})^{\bullet } \cdot \mathop {\underline{\underline{C}}}\limits ^1 + {\mathop {\underline{\underline{C}}}\limits ^1}{}^{-1}\cdot \mathop {\underline{\underline{C}}}\limits ^1$ , the equation
0 = T ̲ ̲ ρ ρ S 1 T ̲ ̲ 2 · C ̲ ̲ 1 · · C ̲ ̲ + T ̲ ̲ 1 ρ ρ C ̲ ̲ 1 1 · C ̲ ̲ · S 1 T ̲ ̲ 2 · C ̲ ̲ 1 1 S · · C ̲ ̲ 1 $$\begin{align} 0 = {\left[\widetilde{\underline{\underline{T}}} - \dfrac{\widetilde{\rho }}{\mathop {\rho }^\wedge }\; \mathop {\rm S}\limits ^1 {\left({\left(\mathop {\widetilde{\underline{\underline{T}}}}\limits ^2\right)}\right)} \cdot \underline{\underline{C}}^{-1}\right]}\mathbin {\mathord {\cdot }\mathord {\cdot }}\mathop {\underline{\underline{C}}}\limits ^\bullet + {\left[\mathop {\widetilde{\underline{\underline{T}}}}\limits ^1 - \dfrac{\widetilde{\rho }}{\mathop {\rho }^\wedge }\; {\left({\mathop {\underline{\underline{C}}}\limits ^1}{}^{-1}\cdot \underline{\underline{C}}\cdot \mathop {\rm S}\limits ^1 {\left({\left(\mathop {\widetilde{\underline{\underline{T}}}}\limits ^2\right)}\right)}\cdot {\mathop {\underline{\underline{C}}}\limits ^1}{}^{-1}\right)}^{\mathrm{S}}\right]}\mathbin {\mathord {\cdot }\mathord {\cdot }}\mathop {\underline{\underline{C}}}\limits ^{1^\bullet } \end{align}$$ (12)
is obtained. Because this equation has to be true for every conceivable deformation and velocity, the two equations
T ̲ ̲ = ρ ρ S 1 T ̲ ̲ 2 · C ̲ ̲ 1 1 and T ̲ ̲ 1 = ρ ρ C ̲ ̲ 1 1 · C ̲ ̲ · S 1 T ̲ ̲ 2 · C ̲ ̲ 1 1 S $$\begin{align} \widetilde{\underline{\underline{T}}} = \dfrac{\widetilde{\rho }}{\mathop {\rho }^\wedge }\; \mathop {\rm S}\limits ^1 {\left({\left(\mathop {\widetilde{\underline{\underline{T}}}}\limits ^2\right)}\right)}\cdot {\mathop {\underline{\underline{C}}}\limits ^1}{}^{-1}\quad \text{and} \quad \mathop {\widetilde{\underline{\underline{T}}}}^1 = \dfrac{\widetilde{\rho }}{\mathop {\rho }^\wedge }\; {\left({\mathop {\underline{\underline{C}}}\limits ^1}{}^{-1}\cdot \underline{\underline{C}}\cdot \mathop {\rm S}\limits ^1 {\left({\left(\mathop {\widetilde{\underline{\underline{T}}}}\limits ^2\right)}\right)}\cdot {\mathop {\underline{\underline{C}}}\limits ^1}{}^{-1}\right)}^{\mathrm{S}} \end{align}$$ (13)
must both be fulfilled (see Ihlemann [6]). While the second equation represents the stress relation for the intermediate configuration, the first equation is used to calculate the stress response of the material model. For later application, the second equation is formulated in terms of a residuum R ̲ ̲ $\underline{\underline{R}}$ and reads
R ̲ ̲ = T ̲ ̲ 1 ρ ρ C ̲ ̲ 1 1 · C ̲ ̲ · S 1 T ̲ ̲ 2 · C ̲ ̲ 1 1 S . $$\begin{align} \underline{\underline{R}} = \mathop {\widetilde{\underline{\underline{T}}}}\limits ^1 - \dfrac{\widetilde{\rho }}{\mathop {\rho }^\wedge }\; {\left({\mathop {\underline{\underline{C}}}\limits ^1}{}^{-1}\cdot \underline{\underline{C}}\cdot \mathop {\rm S}\limits ^1{\left({\left(\mathop {\widetilde{\underline{\underline{T}}}}\limits ^2\right)}\right)} \cdot {\mathop {\underline{\underline{C}}}\limits ^1}{}^{-1}\right)}^{\mathrm{S}}\;. \end{align}$$ (14)
For parallel connections, an analogous approach can be used to determine the total stress of the connection to be the sum of the stresses of all connected elements under the assumption that the deformation of all those connected elements is equal to the total deformation (see, for example, Refs. [6, 7]).

2.2 Material models

Each partial deformation within the rheological model is associated with a rheological element. As mentioned earlier, the commonly chosen types for these elements are elasticities, viscosities, and plasticities. In Table 1, these elements are shown with their corresponding symbols and the associated material laws used in this paper. It should be noted that the algorithm is not restricted to the material laws used. An application of more complex models is possible.

TABLE 1. Depiction of the three basic types of rheological elements with their replacement pictures and the used material laws.
Basic rheological element Elasticity Viscosity Plasticity
Symbol image image image
Associated material law Neo Hooke Newton von Mises

In a series connection, the rheological element can appear in either the first or second partial deformation. Therefore, the material laws need to be formulated for both partial deformations. This can be achieved by using C ̲ ̲ 1 $\mathop {\underline{\underline{C}}}\limits ^1$ and T ̲ ̲ 1 $\mathop {\widetilde{\underline{\underline{T}}}}\limits ^1$ for the first deformation, and C ̲ ̲ 2 $\mathop {\underline{\underline{C}}}\limits ^2$ and T ̲ ̲ 2 $\mathop {\widetilde{\underline{\underline{T}}}}\limits ^2$ for the second deformation, respectively. Now, there would be two unknown deformations C ̲ ̲ 1 $\mathop {\underline{\underline{C}}}\limits ^1$ and C ̲ ̲ 2 $\mathop {\underline{\underline{C}}}\limits ^2$ , and only one equation (Equation 14) to calculate them. Calculating C ̲ ̲ 1 $\mathop {\underline{\underline{C}}}\limits ^1$ from C ̲ ̲ $\underline{\underline{C}}$ and C ̲ ̲ 2 $\mathop {\underline{\underline{C}}}\limits ^2$ is not possible without knowing F ̲ ̲ 1 $\mathop {\underline{\underline{F}}}\limits ^1$ and F ̲ ̲ 1 $\mathop {\underline{\underline{F}}}\limits ^1$ cannot be obtained from Equation (14). This is because Equation (14) is symmetric by definition, and therefore, an infinite number of different F ̲ ̲ 1 $\mathop {\underline{\underline{F}}}\limits ^1$ would satisfy the stress relation, with all of them being equally valid.

To overcome this problem, the material law from the second deformation is translated to the reference configuration using the translation operator. The stress T ̲ ̲ 2 $\mathop {\widetilde{\underline{\underline{T}}}}\limits ^2$ is translated to S 1 ( ( T ̲ ̲ 2 ) ) $\mathop {\rm S}\limits ^1((\mathop {\widetilde{\underline{\underline{T}}}}\limits ^2))$ and the deformation C ̲ ̲ 2 $\mathop {\underline{\underline{C}}}\limits ^2$ to C ̲ ̲ 1 1 · C ̲ ̲ ${\mathop {\underline{\underline{C}}}\limits ^1}{}^{-1}\cdot \underline{\underline{C}}$ . This results in C ̲ ̲ 1 $\mathop {\underline{\underline{C}}}\limits ^1$ being the only unknown, making the calculation possible. Additionally, only one implementation is needed for each material law because the stress depends on only one deformation expression, independent of the element's position.

3 SOLUTION ALGORITHM FOR THE STRESS CALCULATION

The stress induced by the given deformation in the given rheological model is calculated recursively. To facilitate this calculation, the model is transformed into a tree structure, which is then traversed and evaluated. The nodes in the tree are divided into two categories: functional nodes, representing the two types of connections, and element nodes, representing the individual material models. Additionally, the applied deformation is discretized in time. The time at the nth calculation step is denoted as t, and the time at the step ( n + 1 ) $(n+1)$ is denoted as t + Δ t $t+ \Delta t$ .

The explanation is split into two parts because extra precautions are required when dealing with plastic elements.

3.1 General procedure

Suppose that the currently analyzed node corresponds to a serial connection and its deformation is n + 1 C ̲ ̲ ${^{n+1}}\underline{\underline{C}}$ . In order to calculate the stress of the serial connection, the intermediate deformation n + 1 C ̲ ̲ 1 ${^{n+1}}\mathop {\underline{\underline{C}}}\limits ^1$ for the new time step needs to be evaluated. Initially, this deformation is set to the solution n C ̲ ̲ 1 ${{}^{n}}\mathop {\underline{\underline{C}}}\limits ^1$ from the previous time step as an estimate. Next, both elements within the serial connection are evaluated with their corresponding deformations n + 1 C ̲ ̲ 1 ${{}^{n+1}}\mathop {\underline{\underline{C}}}\limits ^1$ and n + 1 C ̲ ̲ 1 1 · n + 1 C ̲ ̲ ${^{n+1}}{\mathop {\underline{\underline{C}}}\limits ^1}{}^{-1}\cdot {^{n+1}}\underline{\underline{C}}$ , respectively. The calculated stresses n + 1 T ̲ ̲ 1 ${^{n+1}}\mathop {\widetilde{\underline{\underline{T}}}}\limits ^1$ and S 1 ( ( n + 1 T ̲ ̲ 2 ) ) $\mathop {\rm S}\limits ^1 (({}^{n+1} \mathop {\widetilde{\underline{\underline{T}}}}\limits ^2))$ are then used to calculate the residuum of the stress relation (see Equation 14). If the residuum is within a tolerance, the deformation n + 1 C ̲ ̲ 1 ${^{n+1}}\mathop {\underline{\underline{C}}}\limits ^1$ is considered correct. If this is not the case, Newton's method will be invoked in order to fulfill the stress relation. After that, the stress of the serial connection is calculated using Equation (13).

If the currently analyzed node corresponds to a parallel connection, a loop over every subelement of this connection is performed and its deformation is passed down unchanged. With this deformation, the stresses of the subelements are calculated and added up to determine the stress of the parallel connection.

3.2 Procedure with a plastic element

This solution procedure assumes that the plastic element is of von Mises type. Suppose the plastic element is within a serial connection. The plastic element can only undergo plastic deformation if the equivalent stress measure of the predictor stress inside the plastic element exceeds the yield criterion, while also satisfying the stress relation. To achieve this, the element adjacent to the plastic element needs to be evaluated first to calculate the predictor stress mentioned. The predictor stress can be calculated by substituting the stress of the first element into the stress relation, resulting in
T ̲ ̲ 1 pre = ρ ρ C ̲ ̲ 1 1 · C ̲ ̲ · S 1 T ̲ ̲ 2 · C ̲ ̲ 1 1 S , $$\begin{align} {\mathop {\widetilde{\underline{\underline{T}}}}\limits ^1}_{\mathrm{pre}} = \dfrac{\widetilde{\rho }}{\mathop {\rho }^\wedge }\; {\left({\mathop {\underline{\underline{C}}}\limits ^1}{}^{-1}\cdot \underline{\underline{C}}\cdot \mathop {\rm S}\limits ^1 {\left({\left(\mathop {\widetilde{\underline{\underline{T}}}}\limits ^2\right)}\right)} \cdot {\mathop {\underline{\underline{C}}}\limits ^1}{}^{-1}\right)}^{\mathrm{S}}\;, \end{align}$$ (15)
which automatically fulfills the stress relation. If the equivalent stress of T ̲ ̲ 1 pre ${\mathop {\widetilde{\underline{\underline{T}}}}\limits ^1}_{\mathrm{pre}}$ is less than the yield strength, the plastic element does not undergo plastic deformation, and the Karush–Kuhn–Tucker conditions are satisfied. Therefore, the predictor stress is considered to be the correct stress.

However, if the equivalent stress exceeds the yield strength, indicating plastic flow, the maximum stress of the plastic element in the direction of deformation is calculated. Subsequently, a new deformation C ̲ ̲ 1 $\mathop {\underline{\underline{C}}}\limits ^1$ is determined through Newton's method. This process is repeated until both the stress relation and the KKT conditions of the plastic element are satisfied.

In the case of a parallel connection containing the plastic element, there are two distinct scenarios. If a serial connection is above the parallel connection, the algorithm for the serial connection is applied. However, the predictor stress in this case is calculated as the difference between the predictor stress T ̲ ̲ 1 pre ${\mathop {\widetilde{\underline{\underline{T}}}}\limits ^1}_{\mathrm{pre}}$ within the serial connection and the sum of the stresses from all other elements within the parallel connection. On the other hand, if there is no serial connection above the parallel connection, the plastic element is either stress-free or undergoes plastic deformation because of the deformation-controlled process. Hence, the stress of the plastic element is always taken as the maximum possible stress in the direction of deformation.

4 ANALYTICAL TANGENTS OF RHEOLOGICAL MODELS

4.1 Tensor derivatives

The tensor derivatives used in this paper are described by Fréchet derivatives. For a derivative of a tensor-valued function with respect to a tensor, let f ̲ ̲ : T T $\underline{\underline{f}}: \mathbb {T}\rightarrow \mathbb {T}$ be a continuous function. The function is Fréchet differentiable at X ̲ ̲ 0 T $\underline{\underline{X}}_0\in \mathbb {T}$ if there exists a bounded linear operator D ̲ ̲ f ̲ ̲ ( X ̲ ̲ 0 ) : T T $\underline{\underline{D}}_{\underline{\underline{f}}(\underline{\underline{X}}_0)}: \mathbb {T}\rightarrow \mathbb {T}$ such that
lim Δ X ̲ ̲ 0 ̲ ̲ f ̲ ̲ X ̲ ̲ 0 + Δ X ̲ ̲ f ̲ ̲ X ̲ ̲ 0 D ̲ ̲ f ̲ ̲ X ̲ ̲ 0 Δ X ̲ ̲ Δ X ̲ ̲ = 0 ̲ ̲ . $$\begin{align} \lim _{\Delta \underline{\underline{X}}\rightarrow \underline{\underline{0}}} \dfrac{\Vert \underline{\underline{f}}{\left(\underline{\underline{X}}_0+\Delta \underline{\underline{X}}\right)} - \underline{\underline{f}}{\left(\underline{\underline{X}}_0\right)} - \underline{\underline{D}}_{\underline{\underline{f}}{\left(\underline{\underline{X}}_0\right)}}{\left(\Delta \underline{\underline{X}}\right)}\Vert }{\Vert \Delta \underline{\underline{X}}\Vert } = \underline{\underline{0}}\;. \end{align}$$ (16)
According to Shutov and Kreißig [11], this can be interpreted as the changes in the function due to small changes in the independent variable
f ̲ ̲ X ̲ ̲ 0 + Δ X ̲ ̲ f ̲ ̲ X ̲ ̲ 0 Δ X ̲ ̲ 0 ̲ ̲ D ̲ ̲ f ̲ ̲ X ̲ ̲ 0 Δ X ̲ ̲ . $$\begin{align} \underline{\underline{f}}{\left(\underline{\underline{X}}_0+\Delta \underline{\underline{X}}\right)} - \underline{\underline{f}}{\left(\underline{\underline{X}}_0\right)} \stackrel{\Delta \underline{\underline{X}}\rightarrow \underline{\underline{0}}}{\approx } \underline{\underline{D}}_{\underline{\underline{f}}{\left(\underline{\underline{X}}_0\right)}}{\left(\Delta \underline{\underline{X}}\right)}\;. \end{align}$$ (17)
With the application of the scalar product in T $\mathbb {T}$ , the derivative f ̲ ̲ ( X ̲ ̲ ) / X ̲ ̲ $\partial \underline{\underline{f}}(\underline{\underline{X}})/\partial \underline{\underline{X}}$ , which is commonly employed in material modeling, can be defined as
f ̲ ̲ X ̲ ̲ X ̲ ̲ · · Δ X ̲ ̲ = D ̲ ̲ f ̲ ̲ X ̲ ̲ 0 Δ X ̲ ̲ . $$\begin{align} \dfrac{\partial \underline{\underline{f}}{\left(\underline{\underline{X}}\right)}}{\partial \underline{\underline{X}}}\mathbin {\mathord {\cdot }\mathord {\cdot }}\Delta \underline{\underline{X}} = \underline{\underline{D}}_{\underline{\underline{f}}{\left(\underline{\underline{X}}_0\right)}}{\left(\Delta \underline{\underline{X}}\right)}\;. \end{align}$$ (18)
Using this formalism, the derivative of a given function can be calculated by rearranging the equation  f ̲ ̲ ( X ̲ ̲ 0 + Δ X ̲ ̲ ) f ̲ ̲ ( X ̲ ̲ 0 ) $\underline{\underline{f}}(\underline{\underline{X}}_0+\Delta \underline{\underline{X}}) - \underline{\underline{f}}(\underline{\underline{X}}_0)$ applied to the given function such that Δ X ̲ ̲ $\Delta \underline{\underline{X}}$ can be factored out on the right side. Similarly, product rules for different products and tensor ranks can be derived. The most common product rules are
A ̲ ̲ X ̲ ̲ · B ̲ ̲ X ̲ ̲ X ̲ ̲ = I ̲ ̲ B ̲ ̲ T 24 · · A ̲ ̲ X ̲ ̲ + A ̲ ̲ · B ̲ ̲ X ̲ ̲ and a X ̲ ̲ · B ̲ ̲ X ̲ ̲ X ̲ ̲ = B ̲ ̲ a X ̲ ̲ + a B ̲ ̲ X ̲ ̲ , $$\begin{align} \dfrac{\partial \underline{\underline{A}}{\left(\underline{\underline{X}}\right)}\cdot \underline{\underline{B}}{\left(\underline{\underline{X}}\right)}}{\partial \underline{\underline{X}}} = {\left(\underline{\underline{I}}\otimes \underline{\underline{B}}\right)}^{\mathrm{T}24}\mathbin {\mathord {\cdot }\mathord {\cdot }}\dfrac{\partial \underline{\underline{A}}}{\partial \underline{\underline{X}}} + \underline{\underline{A}}\cdot \dfrac{\partial \underline{\underline{B}}}{\partial \underline{\underline{X}}}\quad \text{and}\quad \dfrac{\partial a{\left(\underline{\underline{X}}\right)}\cdot \underline{\underline{B}}{\left(\underline{\underline{X}}\right)}}{\partial \underline{\underline{X}}} = \underline{\underline{B}}\otimes \dfrac{\partial a}{\partial \underline{\underline{X}}} + a\dfrac{\partial \underline{\underline{B}}}{\partial \underline{\underline{X}}}\;, \end{align}$$ (19)
with T24 being an operator, which is defined by ( X ̲ ̲ Y ̲ ̲ ) T 24 = X a b Y c d e ̲ a e ̲ d e ̲ c e ̲ b $(\underline{\underline{X}}\otimes \underline{\underline{Y}})^{\mathrm{T}24} = X_{ab} \ Y_{cd}\ \underline{e}_a\otimes \underline{e}_d\otimes \underline{e}_c\otimes \underline{e}_b$ . (see e.g., Ihlemann [6]).

4.2 Calculation of the analytical tangents

Within this framework, there are three equations that require an analytical derivative with respect to the deformation: the stress of the parallel connection, the stress of the serial connection (13) and the stress relation of the intermediate configuration (14). The derivation of the derivatives will be explained for each case.

4.2.1 Tangent of a parallel connection

Recalling that the stress of the parallel connection is obtained by summing the stresses of all elements within the connection, and considering that these stresses are independent of each other, the stiffness of the parallel connection is simply the sum of the stiffnesses of the individual elements. If
K ̲ ̲ ̲ ̲ T ̲ ̲ , C ̲ ̲ : = T ̲ ̲ C ̲ ̲ $$\begin{align} \underline{\underline{\underline{\underline{K}}}}{\left(\widetilde{\underline{\underline{T}}}, \underline{\underline{C}}\right)} := \frac{\partial \widetilde{\underline{\underline{T}}}}{\partial \underline{\underline{C}}} \end{align}$$ (20)
is the stiffness tensor of a single rheological element, then the stiffness of a rheological element inside the parallel connection can be calculated with
T ̲ ̲ i C ̲ ̲ i = K ̲ ̲ ̲ ̲ T ̲ ̲ i , C ̲ ̲ i . $$\begin{align} \dfrac{\partial \mathop {\widetilde{\underline{\underline{T}}}}\limits ^i}{\partial \mathop {\underline{\underline{C}}}\limits ^i} = \underline{\underline{\underline{\underline{K}}}} {\left(\mathop {\widetilde{\underline{\underline{T}}}}\limits ^i, \mathop {\underline{\underline{C}}}\limits ^i\right)}\;. \end{align}$$ (21)

4.2.2 Derivative of the residuum of the stress relation in a serial connection

To calculate the intermediate deformation and satisfy the stress relation Equation 14, it is necessary to compute the derivative of the residuum of the stress relation with respect to C ̲ ̲ 1 $\mathop {\underline{\underline{C}}}\limits ^1$ . This derivative primarily involves the derivatives of the stresses of both elements with respect to the deformation, as well as the application of product and chain rules. The first derivative is identical to that in the parallel connection, so no additional implementation is required. The second derivative can be computed using the chain rule
S 1 T ̲ ̲ 2 C ̲ ̲ 1 = S 1 T ̲ ̲ 2 C ̲ ̲ 1 1 · C ̲ ̲ · · C ̲ ̲ 1 1 · C ̲ ̲ C ̲ ̲ 1 , $$\begin{align} \dfrac{\partial \mathop {\rm S}\limits ^1 {\left({\left(\mathop {\widetilde{\underline{\underline{T}}}}\limits ^2\right)}\right)}}{\partial \mathop {\underline{\underline{C}}}\limits ^1} = \dfrac{\partial \mathop {\rm S}\limits ^1 {\left({\left(\mathop {\widetilde{\underline{\underline{T}}}}\limits ^2 \right)}\right)}}{\partial {\mathop {\underline{\underline{C}}}\limits ^1}{}^{-1}\cdot \underline{\underline{C}}} \mathbin {\mathord {\cdot }\mathord {\cdot }}\dfrac{\partial {\mathop {\underline{\underline{C}}}\limits ^1}{}^{-1}\cdot \underline{\underline{C}}}{\partial \mathop {\underline{\underline{C}}}\limits ^1}\;, \end{align}$$ (22)
because the stress of the second element only depends on the product C ̲ ̲ 1 1 · C ̲ ̲ ${\mathop {\underline{\underline{C}}}\limits ^1}{}^{-1}\cdot \underline{\underline{C}}$ . For the same reason, the first term in the chain rule can be replaced by the stiffness tensor K ̲ ̲ ̲ ̲ ( S 1 ( ( T ̲ ̲ 2 ) ) , C ̲ ̲ 1 1 · C ̲ ̲ ) $\underline{\underline{\underline{\underline{K}}}} (\mathop {\rm S}\limits ^1 ((\mathop {\widetilde{\underline{\underline{T}}}}\limits ^2)) , {\mathop {\underline{\underline{C}}}\limits ^1}{}^{-1}\cdot \underline{\underline{C}})$ with the substitution according to the argument list.

4.2.3 Tangent of a serial connection

To calculate the stiffness of the serial connection, it is necessary to compute the derivative of Equation (13) with respect to C ̲ ̲ $\underline{\underline{C}}$ . However, the calculation of this derivative is not straightforward because the intermediate deformation C ̲ ̲ 1 $\mathop {\underline{\underline{C}}}\limits ^1$ changes when C ̲ ̲ $\underline{\underline{C}}$ is altered, resulting in C ̲ ̲ 1 / C ̲ ̲ 0 ̲ ̲ ̲ ̲ $\partial \mathop {\underline{\underline{C}}}\limits ^1/\partial \underline{\underline{C}} \ne \underline{\underline{\underline{\underline{0}}}}$ . Since the two tensors are connected only by Equation (14), which is generally not analytically solvable for C ̲ ̲ 1 $\mathop {\underline{\underline{C}}}\limits ^1$ , a different method must be employed for calculating this derivative. The key observation is that after satisfying the stress relation, the residuum is always zero regardless of the deformation C ̲ ̲ $\underline{\underline{C}}$ . Consequently, the derivative of the residuum of Equation (14) with respect to the deformation C ̲ ̲ $\underline{\underline{C}}$ must be zero. Using the chain rule, the following formula can be derived:
R ̲ ̲ ( C ̲ ̲ 1 ( C ̲ ̲ ) , C ̲ ̲ ) C ̲ ̲ = R ̲ ̲ C ̲ ̲ C ̲ ̲ 1 = const . + R ̲ ̲ C ̲ ̲ 1 C ̲ ̲ = const . · · C ̲ ̲ 1 C ̲ ̲ = 0 ̲ ̲ ̲ ̲ . $$\begin{align} \dfrac{\partial \underline{\underline{R}}(\mathop {\underline{\underline{C}}}\limits ^1 (\underline{\underline{C}}), \underline{\underline{C}})}{\partial \underline{\underline{C}}} = \dfrac{\partial \underline{\underline{R}}}{\partial \underline{\underline{C}}}{\left|_{\mathop {{\mathop {\underline{\underline{C}}}\limits ^1} ={\rm const.}}} + \dfrac{\partial \underline{\underline{R}}}{\partial \mathop {\underline{\underline{C}}}\limits ^1}\right|}_{\underline{\underline{C}}= {\rm const.}} \mathbin {\mathord {\cdot }\mathord {\cdot }}\dfrac{\partial \mathop {\underline{\underline{C}}}\limits ^1}{\partial \underline{\underline{C}}} = \underline{\underline{\underline{\underline{0}}}}\;. \end{align}$$ (23)
The second term in the sum, which involves the derivative of the stress relation, has already been computed. However, the first term is new and needs to be determined using Equation (14). This includes the derivative of the stress of the first element with respect to C ̲ ̲ $\underline{\underline{C}}$ , which is zero for all elements except the plastic element, and the derivative of the second element with respect to C ̲ ̲ $\underline{\underline{C}}$ . However, this can be calculated using Equation (22) and swapping C ̲ ̲ 1 $\mathop {\underline{\underline{C}}}\limits ^1$ with C ̲ ̲ $\underline{\underline{C}}$ . With this, Equation (23) can be solved for the unknown term C ̲ ̲ 1 / C ̲ ̲ $\partial \mathop {\underline{\underline{C}}}\limits ^1/\partial \underline{\underline{C}}$ and the stiffness of the serial connection can be calculated.

5 EXAMPLES AND PERFORMANCE

In this section, a selection of rheological models is simulated using the proposed algorithm. For each simulated rheological model, the relative proportion of simulation time and iteration count for the stress boundary conditions using only numeric derivatives with a forward difference scheme compared to only analytical derivatives is shown in Table 2. The simulations were conducted with
F ̲ ̲ = λ ( t ) e ̲ x e ̲ x + μ ( t ) e ̲ y e ̲ y + e ̲ z e ̲ z with λ ( t ) = 1 + λ ̂ sin 2 π f t $$\begin{align*} \underline{\underline{F}} = \lambda (t)\underline{e}_x\otimes \underline{e}_x + \mu (t){\left(\underline{e}_y\otimes \underline{e}_y + \underline{e}_z\otimes \underline{e}_z\right)} \quad \text{with} \quad \lambda (t) = 1+ \widehat{\lambda } \sin {\left(2\pi f t \right)} \end{align*}$$
with λ ̂ = 0.5 $\widehat{\lambda } = 0.5$ as the amplitude, f = 0.5 $f=0.5$ Hz as the frequency and μ ( t ) $\mu (t)$ being the lateral stretch calculated using stress-free boundary conditions in lateral directions. The simulated time was 50 s over 5000 time steps.
TABLE 2. Relative proportion of simulation time and iteration count for the stress boundary conditions using analytical tangents compared to numeric tangents.
Model Time Iterations Model Time Iterations
image 94% 100% image 22% 100%
image 23% 97% image 21% 96%

The advantage of using analytical derivatives becomes more pronounced, particularly for complex rheological models, where simulations using analytical derivatives are significantly faster. This finding aligns with the results obtained by Rothe and Hartmann [12], where the comparison between numerical and analytical tangents with tangents obtained by automatic differentiation showed less significant differences than observed here. The reason for this discrepancy could be attributed to the presence of nested numerical tangents in the presented implementation, which are computationally expensive but not necessary in classic implementations like the one in Rothe and Hartmann [12].

An additional benefit of analytical tangents is their stability, especially when nested tangents are required (see Table 2), as the accuracy of numerical tangents decreases with each nested level. While a difference of 3 or 4% may seem insignificant, it can accumulate to hundreds of iterations over the course of the entire simulation.

However, a disadvantage of analytical tangents is the requirement for deriving the analytical tangents, when implementing new material laws or new rheological elements.

6 SUMMARY AND OUTLOOK

In this paper, an algorithm was presented for automatic simulation of the stress response in rheological models. In addition, a method was demonstrated for implementing analytical tangents for these rheological models and automatically computing them. This approach enhances the stability of the simulation, particularly for deeply nested models, and significantly reduces the simulation time.

The next objective is to extend the algorithm to handle rheological models with an arbitrary number of elements in serial connections.

ACKNOWLEDGMENTS

Open access funding enabled and organized by Projekt DEAL.

      The full text of this article hosted at iucr.org is unavailable due to technical difficulties.