1 Introduction

The finite element method (FEM) has been successfully employed to solve solids and structural problems. Its development in the solid mechanics context is quite old, and, among others, pioneers works as [1,2,3,4,5] can be mentioned. Originally, the solution of linear problems, with small displacements and simple constitutive relations, has been in the focus of FEM researches. Formulations considering large displacements and small strains are part of the FEM evolution in solids and structures analyses [6,7,8,9,10] and are still an up-to-date subject.

More challenging problems involving nonlinear constitutive laws, considering effects such as plasticity and damage mechanics, have been widely studied by the FEM, even though considering small displacements and strains [11, 12]. Problems involving large strains, large displacements, and hyperelastic nonlinear constitutive relations, also solved by FEM, bring important contributions to the understanding of highly deformable solids as one can see in Refs. [13,14,15,16,17]. Viscoelastic formulations, where strain rates also introduce stresses, are considered for both small and large strains in Refs. [18,19,20,21]. When large strains and nonlinear constitutive laws (plasticity or viscoplasticity) are considered, the incompressibility consideration and flux laws appear.

In general, formulations that consider plasticity and large strains use the Kröner–Lee [22, 23] multiplicative decomposition of total strain into elastic and plastic parts, for which an intermediary space appears [24,25,26,27]; moreover, it is usual to consider local plastic potentials to define the flux direction. The use of plastic potentials is a very important tool for developing elastoplastic large strain formulations, enabling the solution of very important problems, such as metal forming and stamping among others [28, 29].

Far from imagining the absence of proper fluid mechanics models (out of FEM scope) or the lack of computational frameworks for solving fluid mechanics problems, several important studies demonstrate efforts to develop general numerical methods, as can be seen in textbooks like [30,31,32,33]. Due to some aspects, such as the facility to use arbitrarily unstructured meshes, and, particularly, due to the simplicity of boundary conditions enforcement over complex boundaries, the FEM has been conquering space in fluid mechanics. However, fluid dynamics analyses under Eulerian description may present dominant convection terms, and the direct use of standard Galerkin method to the governing equations leads to nonsymmetrical matrices with spurious behavior [32,33,34,35]. Many researchers have developed techniques to increase FEM stability and robustness for fluid dynamics, such as [36,37,38,39,40,41] among others.

For free surface flow problems, it is not possible to apply a pure Eulerian description, as the fluid domain is dynamically deformed, denoting a moving-boundary problem. In this context, Arbitrary Lagrangian Eulerian (ALE) stabilized formulations have been developed [42,43,44], and also the stabilized space–time formulation [45, 46]. Such methods allow deforming the fluid domain discretization by an extensive updating.

As an alternative to ALE, the updated Lagrangian description has been applied together with particle methods concepts to develop the Particle Finite Element Method (PFEM) [44, 47, 48]. This strategy provides a good solution for free surface flows with topological changes in the fluid domain. However, it demands constant remeshing and special attention regarding the physical properties.

In this study, we describe an alternative link between solid mechanics and fluid mechanics constitutive models proposing a total Lagrangian FEM formulation that have a solid mechanics appeal and that can be further improved in the context of the above-mentioned ALE fluid formulation. In this sense, the work of Radovitzky and Ortiz [49] should be mentioned, as they develop a total Lagrangian formulation with some similarities with the one proposed here. However, in their formulation only fluids are modeled, and the Lagrangian constitutive relation is made by a pushing back of the Eulerian fluid model, instead of using a hyperelastic solid mechanics motivation as presented here.

Here, we take advantage of the large strain solid mechanics developments and its tensor algebra (in a more fundamental stage) to propose a total Lagrangian formulation to be applied in both Kelvin-like viscoelastic solids and isothermal–compressible–viscous free surface flows with finite distortions and free of topological changes (no surface break and no fluid–fluid surface contact). To achieve this goal, we apply a multiplicative decomposition to split the total strain into elastic volumetric and deviatoric parts, also including viscous volumetric and deviatoric stresses. A simple demonstration where the Eulerian shear stress intensity is compared with the Lagrangian deviatory counterpart allows reaching the desired strain split and the searched constitutive law. Simple low compressible flows and Kelvin–Voigt-like simple visco-hyperelastic examples are used to validate the proposed model and to illustrate its possibilities.

2 Developments: constitutive model conceptualization

In this Section, we divide the developments into 3 topics: the first two are of basic preparatory nature, and the third one presents the constitutive model we seek.

2.1 Equilibrium equations: strong and weak forms

In this topic, starting from the Eulerian local (strong) equilibrium equations, we write the Lagrangian weak form of the equilibrium equations in a suitable shape for modeling the continuum problem by the positional FEM.

The movement equations in the Eulerian description are written using the Cauchy stress tensor as:

$$\nabla \cdot \sigma^{t} + \vec{b} = \rho \vec{\ddot{y}}$$
(1)

and

$$\sigma = \sigma^{t}$$
(2)

where \(\sigma_{ij}\) is the Cauchy stress component acting on plane i in the direction j, \(\rho\) is the mass density, \(\ddot{y}_{i}\) is the i-th particle acceleration (material derivative of velocity) component, and \(b_{i}\) is the i-th body force component. Equation (2) corresponds to the 3 moment equilibrium equations that are satisfied for static and dynamic problems by the symmetry of the stress tensor [50]. Equation (1) contains the 3 translation equilibrium equations (\(i\) direction translation) in its strong (local) form.

There are many ways to achieve the weak form of Eq. (1), preparing it to FEM implementation. Here, we apply the virtual work concept as:

$$\delta w = \left( {\nabla \cdot \sigma^{t} + \vec{b} - \rho \vec{\ddot{y}}} \right) \cdot \delta \vec{y} = 0$$
(3)

in which \(\delta y_{i}\) is a variation in positions \(y_{i}\).

Integrating Eq. (3) over the spatial domain, the virtual work is written as:

$$\delta W = \int_{V} {\left( {\nabla \cdot \sigma^{t} + \vec{b} - \rho \vec{\ddot{y}}} \right) \cdot \delta \vec{y}\,{\text{d}}V} = 0,$$
(4)

and, by distributing the integral, one gets:

$$\int_{V} {\rho \vec{\ddot{y}} \cdot \delta \vec{y}\,{\text{d}}V} - \int_{V} {\vec{b} \cdot \delta \vec{y}\,{\text{d}}V} - \int_{V} {\left( {\nabla \cdot \sigma^{t} } \right) \cdot \delta \vec{y}\,{\text{d}}V = 0}.$$
(5)

In order to deal with the last term at the left hand side of Eq. (5), we use the following property:

$$\left( {\nabla \cdot \sigma^{t} } \right) \cdot \delta \vec{y} = \nabla \left( {\sigma^{t} \cdot \delta \vec{y}} \right) - \sigma^{t} :\nabla \left( {\delta \vec{y}} \right).$$
(6)

Introducing Eq. (6) in the last term of Eq. (5), and applying the divergence theorem, one can write [50]:

$$\delta W = \int_{V} {\rho \vec{\ddot{y}} \cdot \delta \vec{y}\,{\text{d}}V} - \int_{V} {\vec{b} \cdot \delta \vec{y}\,{\text{d}}V} - \int_{S} {\sigma^{t} \cdot \delta \vec{y} \cdot \vec{n}\,{\text{d}}S + \int_{V} {\sigma^{t} :\nabla (\delta \vec{y})\,{\text{d}}V} = 0}$$
(7)

where \(n_{j}\) is the j-th component of the normal unity vector to the surface \(S\) of the analyzed continuum. By the Cauchy formula, \(h_{i} = \sigma_{ji} n_{j}\) (where \(h_{i}\) is the distributed force over the Neumann boundary), and taking into account the stress tensor symmetry, we write:

$$\delta W = \int_{V} {\rho \vec{\ddot{y}} \cdot \delta \vec{y}\,{\text{d}}V} - \int_{V} {\vec{b} \cdot \delta \vec{y}\,{\text{d}}V} - \int_{S} {\vec{h} \cdot \delta \vec{y}\,\,{\text{d}}S + \int_{V} {\sigma :\delta \varepsilon \,{\text{d}}V} = 0}$$
(8)

with \(\delta \varepsilon_{ij} = (\delta y_{i,j} + \delta y_{j,i} )/2\) being a variation in real strain (measured in Eulerian reference), which is mostly known in its rate form: \(\dot{\varepsilon }_{ij} = (\dot{y}_{i,j} + \dot{y}_{j,i} )/2\) [50]. Notice that Eq. (8) has the following terms:

$$\delta W = \delta K + \delta P + \delta \varPsi ,$$
(9)

where \(K\) is the kinetic energy, \(P\) is the work of external forces, and \(\varPsi\) is the Helmholtz free energy [50] for isothermal states that includes, in this study, the specific strain energy and viscous dissipation. Moreover, Eq. (8) is the weak form of the equilibrium equation for the continuum media in the Eulerian reference.

To obtain the Lagrangian description of equilibrium, the continuity theorem [49, 50] is applied to the first term of Eq. (8), i.e.,

$$\int_{V} {\rho \vec{\ddot{y}}.\delta \vec{y}\,{\text{d}}V} = \int_{{V_{0} }} {\rho_{0} \vec{\ddot{y}} \cdot \delta \vec{y}\,{\text{d}}V_{0} },$$
(10)

and volume forces are considered proportional to density,

$$\int_{V} {\vec{b} \cdot \delta \vec{y}\,{\text{d}}V} = \int_{V} {\rho \vec{g} \cdot \delta \vec{y}\,{\text{d}}V} = \int_{{V_{0} }} {\rho_{0} \vec{g} \cdot \delta \vec{y}\,{\text{d}}V_{0} }.$$
(11)

In this work, we consider that tractions over a Neumann boundary are conservative forces or are treated as equivalent concentrated forces acting on finite element nodes. Cauchy stress tensor \(\sigma\), second Piola–Kirchhoff stress tensor \(S\), real strain variation \(\delta \varepsilon\), and Green strain variation \(\delta E\) (energetically conjugate to the second Piola–Kirchhoff stress) are related by [50, 51]:

$$\sigma = \frac{1}{J}A \cdot S \cdot A^{t} \quad {\text{and}}\quad \sigma :\delta \varepsilon = S:\delta E$$
(12)

where \(A_{ij}\) is the deformation gradient as usually given in large strain elasticity, see [50], for instance, and \(J\) is its determinant.

From Eqs. (11) and (12), the week form of the equilibrium equation in the Lagrangian description is written as:

$$\delta W = \int_{{V_{0} }} {\rho_{0} \vec{\ddot{y}} \cdot \delta \vec{y}\,{\text{d}}V_{0} } - \int_{{V_{0} }} {\vec{b}^{0} \cdot \delta \vec{y}\,{\text{d}}V_{0} } - \int_{{S_{0} }} {\vec{h} \cdot \delta \vec{y}\,{\text{d}}S_{0} } + \int_{{V_{0} }} {S:\delta E\,{\text{d}}V_{0} = 0}.$$
(13)

Equation (13) will be recalled later to define the FEM, in this work using positions as parameters.

2.2 Hyperelastic constitutive law

In spite of the subject of this Section being basic and well known, its introduction is fundamental to provide understanding of our proposal for fluid viscous flows and simple viscoelasticity. We describe the multiplicative decomposition of the deformation gradient and the establishment of a general hyperelastic constitutive law from an elastic potential decomposed into two parts: volumetric and deviatoric (or isochoric).

We start by remembering that, for elastic applications, the Helmholtz free energy of Eq. (9) is not always known; when explicit formulas are known, one is dealing with hyperelastic solids. However, in the context of virtual work, its variation is always known. Adopting the Green strain as reference, one writes:

$$\delta \psi = \frac{\partial \psi }{{\partial E}}:\delta E\quad {\text{with}}\quad \frac{\partial \psi }{{\partial {\rm E}}} = S,$$
(14)

It is usual to split the Helmholtz free energy (strain energy in this Section) into two parts, volumetric and isochoric, according to:

$$\psi = \psi^{vol} + \psi^{iso1} + \psi^{iso2} ,$$
(15)

whose parameters are parts of the deformation gradient to be discussed in the sequence.

In order to have a complete separation of the volumetric and isochoric parts of the Helmholz energy, it is necessary to use a multiplicative decomposition of the Cauchy–Green stretch tensor, see, for instance, [50,51,52,53]. As mentioned in Eq. (12), \(A\) is the deformation gradient, so Flory’s multiplicative decomposition [54] can be written as:

$$A = \hat{A} \cdot \overline{A}$$
(16)

with

$$\hat{A} = J^{1/3} I \Rightarrow Det\left( {\hat{A}} \right) = J\quad {\text{and}}$$
(17)
$$\overline{A} = J^{ - 1/3} A \Rightarrow Det\left( {\overline{A}} \right) = 1.$$
(18)

Using the shape of Eq. (16) and taking advantage of the definitions given by Eqs. (17) and (18), we calculate the Cauchy–Green stretch as:

$$C = J^{2/3} \overline{A}^{t} \cdot \overline{A} = J^{2/3} \overline{C}\quad {\text{or}}\quad \overline{C} = J^{ - 2/3} C$$
(19)

resulting in \(Det(\overline{C}) = 1\), constant.

Defining

$$\hat{C} = \hat{A}^{t} \cdot \hat{A} = J^{2/3} I$$
(20)

results in the multiplicative decomposition, directly applied to the Cauchy–Green stretch as:

$$C = \hat{C} \cdot \overline{C} = \overline{C} \cdot \hat{C}.$$
(21)

One may observe that \(Det(\hat{C}) = J^{2} = Det(C)\).

When dealing with large strains, the meanings of Lagrangian strains directions are not obvious. In order to make possible the definition of the desired time strain rate direction, it is interesting to perform a direction check using the Cauchy stress components. This is done here making a hyperelastic step-by-step deductive process, identifying the Green–Lagrange strain components responsible for the hydrostatic and deviatoric Cauchy stress components. During this deductive process, we find scalar values that are partially responsible for the stress intensity and tensors that are responsible (in the Lagrange space) for Cauchy stress directions. From this elastic identification, we propose time rates for deviatoric and hydrostatic strain components in order to build the alternative viscous model used both in solid and fluid applications.

The volumetric elastic part of the Helmholtz free energy potential is written as an exclusive function of the Jacobian of the deformation function, as:

$$\psi_{elas}^{vol} = \psi_{elas}^{vol} \left( J \right) = \psi_{elas}^{vol} \left( {\sqrt {det(C)} } \right),$$
(22)

from which one calculates the corresponding second Piola–Kirchhoff stress as:

$$S_{elas}^{vol} = \frac{{\partial \psi_{elas}^{vol} }}{\partial J}\frac{\partial J}{{\partial E}} = \alpha \,\mathfrak{E}^{vol}$$
(23)

with \(\alpha\) being a scalar and \(\mathfrak{E}^{vol}\) a symmetric tensor of the same order of the Green strain. It is simple to show that:

$$\mathfrak{E}^{vol} = \frac{\partial J}{{\partial E}} = JC^{ - 1}.$$
(24)

Applying Eq. (12) to the second Piola–Kirchhoff stress of Eq. (23) results in:

$$\sigma_{elas}^{vol} = \frac{1}{J}A \cdot S_{elas}^{vol} \cdot A^{t} = \frac{1}{J}A \cdot \alpha \,JC^{ - 1} \cdot A^{t} = \alpha \,I = \sigma_{hyd} ,$$
(25)

which means that \(\mathfrak{E}_{vol}\) is the Lagrangian strain direction corresponding to the hydrostatic stress in the Cauchy space and \(\alpha = \partial \psi_{elas}^{vol} /\partial J\) corresponds to the hydrostatic Piola–Kirchhoff stress intensity. The identification of the hydrostatic stress intensity and the corresponding strain direction in the Lagrangian reference is important to define the proposed model.

The first isochoric elastic part of the Helmholtz free energy potential is written as an exclusive function of the first invariant (\(\overline{I}_{1}\)) of the isochoric part of the Cauchy–Green stretch tensor \(\overline{C}\), written in a generic form as:

$$\psi_{elas}^{iso1} = \psi_{elas}^{iso1} \left( {\overline{I}_{1} } \right),$$
(26)

from which one calculates the corresponding second Piola–Kirchhoff stress as:

$$S_{elas}^{iso1} = \frac{{\partial \psi_{elas}^{iso1} }}{{\partial \overline{I}_{1} }}\frac{{\partial \overline{I}_{1} }}{\partial E} = \beta \,\mathfrak{E}^{iso1}$$
(27)

where \(\beta\) is a scalar and \(\mathfrak{E}^{iso1}\) is a symmetric tensor of the same order of the Green strain. It is not usual to see the following expressions, but it is well known and straightforward to show that:

$$\mathfrak{E}^{iso1} = \frac{{\partial \overline{I}_{1} }}{\partial E} = \frac{{\partial tr\left( {\overline{C}} \right)}}{\partial E} = \frac{{\partial \left( {J^{ - 2/3} tr\left( C \right)} \right)}}{\partial E}$$
(28)

from which one finds:

$$\mathfrak{E}^{iso1} = - \frac{2}{3}J^{ - 2/3} tr(C)C^{ - 1} + 2J^{ - 2/3} I,$$
(29)

Considering Eq. (29) and applying the transformation (12) to Eq. (27), it results:

$$\sigma_{iso1} = \beta \left\{ {2J^{ - 5/3} \left( {A \cdot A^{t} - \frac{{tr\left( {A^{t} \cdot A} \right)}}{3}I} \right)} \right\}.$$
(30)

As \(tr\left( {A^{t} \cdot A} \right) = A:A^{t} = A^{t} :A = tr(A \cdot A^{t} )\), one achieves:

$$\sigma_{iso1} = \beta \left\{ {2J^{ - 5/3} \left( {A \cdot A^{t} - \frac{{tr\left( {A \cdot A^{t} } \right)}}{3}I} \right)} \right\} = \sigma_{dev}$$
(31)

which means that \(\mathfrak{E}^{iso1}\) is the first isochoric Lagrangian strain direction and corresponds to a deviatoric strain, and \(\beta = \partial \psi_{elas}^{iso1} /\partial \overline{I}_{1}\) has an intrinsic correspondence with the associated second Piola–Kirchhoff stress intensity.

The second isochoric elastic part of the Helmholtz free energy potential is written as an exclusive function of the second invariant of the isochoric Cauchy–Green stretch tensor \(\overline{I}_{2}\) in a generic form as:

$$\psi_{elas}^{iso2} = \psi_{elas}^{iso2} \left( {\overline{I}_{2} } \right)$$
(32)

from which we calculate the corresponding second Piola–Kirchhoff stress as:

$$S_{elas}^{iso2} = \frac{{\partial \psi_{elas}^{iso2} }}{{\partial \overline{I}_{2} }}\frac{{\partial \overline{I}_{2} }}{\partial E} = \gamma \,\mathfrak{E}^{iso2} ,$$
(33)

with \(\gamma\) and \(\mathfrak{E}^{iso2}\) being, respectively, a scalar and a symmetric tensor of the same order as the Green–Lagrange strain tensor. It is interesting to write:

$$\overline{I}_{2} = J^{ - 4/3} I_{2} = J^{ - 4/3} \left\{ {\left( {C_{11} C_{22} - C_{12} C_{21} } \right) + \left( {C_{11} C_{33} - C_{13} C_{31} } \right) + \left( {C_{22} C_{33} - C_{23} C_{32} } \right)} \right\}$$
(34)

in which \(I_{2}\) is the second invariant of the Cauchy stretch. With some algebraic effort for Eq. (34), it results:

$$\mathfrak{E}^{iso2} = \frac{{\partial \overline{I}_{2} }}{\partial E} = 2J^{ - 4/3} \left( { - \frac{2}{3}C^{ - 1} I_{2} + \left\{ {tr(C)I - C^{t} } \right\}} \right).$$
(35)

Using Eq. (12) in Eq. (33) and considering Eq. (35), we write:

$$\sigma_{iso2} = \gamma \,2J^{ - 7/3} \left[ {\left( {tr(C)\left( {A \cdot A^{t} } \right) - \left( {A \cdot A^{t} } \right) \cdot \left( {A \cdot A^{t} } \right)} \right) - \left( {\frac{2}{3}I_{2} } \right)I} \right].$$
(36)

Again, as \(tr\left( C \right) = tr\left( {A^{t} \cdot A} \right) = tr\left( {A \cdot A^{t} } \right)\) it results:

$$tr(A \cdot A^{t} )tr(A \cdot A^{t} ) - tr((A \cdot A^{t} ) \cdot (A \cdot A^{t} )) = 2I_{2} .$$
(37)

From Eq. (37), one calculates \(Tr\left( {\sigma_{iso2} } \right)\) as

$$Tr\left( {\sigma_{iso2} } \right) = 2\gamma J^{ - 7/3} \left( {2I_{2} - 2I_{2} } \right) = 0.$$
(38)

Thus,

$$\sigma_{iso2} = \sigma_{dev} ,$$
(39)

meaning that \(\mathfrak{E}^{iso2}\) is the second isochoric Lagrangian strain direction that corresponds to a deviatoric strain, and \(\gamma = \partial \psi_{elas}^{iso2} /\partial \overline{I}_{2}\) has an intrinsic correspondence with the intensity of the second deviatoric Piola–Kirchhoff stress. Thus, \(\mathfrak{E}^{vol} /\sqrt {\mathfrak{E}^{vol} :\mathfrak{E}^{vol} }\), \(\mathfrak{E}^{iso1} /\sqrt {\mathfrak{E}^{iso1} :\mathfrak{E}^{iso1} }\), and \(\mathfrak{E}^{iso2} /\sqrt {\mathfrak{E}^{iso2} :\mathfrak{E}^{iso2} }\) are the Lagrangian hydrostatic, deviatoric 1, and deviatoric 2 strain unitary directions.

With the presented stress split and its corresponding Lagrangian strain directions, we chose a Rivlin–Saunders–Hartmann–Nef type hyperelastic constitutive model [52, 53] as:

$$\psi^{vol} = \frac{K}{{8n^{2} }}\left( {J^{2n} + J^{ - 2n} - 2} \right)$$
(40)

and

$$\psi^{iso1} + \psi^{iso2} = \frac{G}{4}\left( {\overline{I}_{1} - 3} \right) + \frac{G}{4}\left( {\overline{I}_{2} - 3} \right),$$
(41)

where \(K\) is the bulk modulus and \(G\) is the transversal elasticity modulus, both material constants measured under small strains. Other hyperelastic potentials that respect Flory’s [54] volumetric and isochoric split can also be chosen.

Differentiating Eqs. (40) and (41) regarding the Green strain, using information and results of Eqs. (15), (23), (27), and (33), we find the second Piola–Kirchhoff elastic stress as:

$$S_{elas} = \left\{ {\frac{K}{4}\left( {J - J^{ - 3} } \right)} \right\}\mathfrak{E}^{vol} + \frac{G}{4}\mathfrak{E}^{iso1} + \frac{G}{4}\mathfrak{E}^{iso2}$$
(42)

in which \(n = 1\) is adopted in Eq. (40).

2.3 Proposed constitutive model for viscous fluids and simple Kelvin–Voigt-like solids

The isothermal constitutive model proposed in this topic seems obvious when analyzing Eq. (42) under the light of the strain components \(\mathfrak{E}^{vol}\), \(\mathfrak{E}^{iso1}\), and \(\mathfrak{E}^{iso2}\) meanings. Let us consider the Helmholtz free energy written as the sum of two parts, one elastic (that can be written in an explicit form) and another viscous, that can only be represented in its differential form [55, 56], so that:

$$\psi = \psi_{elas} + \psi_{vis} = \psi_{elas}^{vol} + \psi_{elas}^{iso1} + \psi_{elas}^{iso2} + \psi_{vis}^{vol} + \psi_{vis}^{iso1} + \psi_{vis}^{iso2} .$$
(43)

The total second Piola–Kirchhoff stress tensor is then given by:

$$S = \frac{\partial \psi }{{\partial E}} = \left( {\frac{{\partial \psi_{elas}^{vol} }}{\partial E} + \frac{{\partial \psi_{elas}^{iso1} }}{\partial E} + \frac{{\partial \psi_{elas}^{iso2} }}{\partial E}} \right) + \left( {\frac{{\partial \psi_{vis}^{vol} }}{\partial E} + \frac{{\partial \psi_{vis}^{iso1} }}{\partial E} + \frac{{\partial \psi_{vis}^{iso2} }}{\partial E}} \right),$$
(44)

where the first bracket terms are given by Eq. (42).

The primary idea to extend the hyperelastic model to incorporate viscosity by the second bracket terms in Eq. (44) would be assuming that the time rate of the split strain directions of Eq. (42) would fulfil a constitutive relation, i.e.,

$$S_{vis}^{*} = \frac{{\overline{K}}}{4}\dot{\mathfrak{E}}^{vol} + \frac{{\overline{G}}}{4}\dot{\mathfrak{E}}^{iso1} + \frac{{\overline{G}}}{4}\dot{\mathfrak{E}}^{iso2} .$$
(45)

However, the time derivatives of volumetric and isochoric strain components do not preserve direction. Thus, \(S_{vis}^{*}\) serves only as an inspiration for the following developments. Inspired by Eq. (45), in order to keep isotropy and considering unit strain directions, one is able to infer the proposed viscous virtual work in the following form:

$$\begin{aligned} \delta \psi & = \frac{{\overline{K}}}{{4\sqrt {\mathfrak{E}^{vol} :\mathfrak{E}^{vol} } }}\frac{{dJ^{\alpha } }}{dt}\delta J + \frac{{\overline{G}_{(i)} }}{{4\sqrt {\mathfrak{E}^{iso(i)} :\mathfrak{E}^{iso(i)} } }}\frac{{d\overline{I}_{i}^{\gamma } }}{dt}\delta \overline{I}_{i} \\ & = \left( {\frac{{\overline{K}}}{{4\sqrt {\mathfrak{E}^{vol} :\mathfrak{E}^{vol} } }}\alpha J^{\alpha - 1} \dot{J}\frac{\partial J}{{\partial E}} + \frac{{\overline{G}_{1} }}{{4\sqrt {\mathfrak{E}^{iso1} :\mathfrak{E}^{iso1} } }}\gamma_{1} \overline{I}_{1}^{{\gamma_{1} - 1}} \dot{\overline{I}}_{1} \frac{{\partial \overline{I}_{1} }}{\partial E}} \right. \\ & \quad + \left. {\frac{{\overline{G}_{2} }}{{4\sqrt {\mathfrak{E}^{iso2} :\mathfrak{E}^{iso2} } }}\gamma_{2} \overline{I}_{2}^{{\gamma_{2} - 1}} \dot{\overline{I}}_{2} \frac{{\partial \overline{I}_{2} }}{\partial E}} \right):\delta E, \\ \end{aligned}$$
(46)

resulting in the following expression for the second Piola–Kirchhoff viscous stress:

$$S_{vis} = \frac{{\overline{K}}}{4}\frac{{\alpha J^{\alpha - 1} \dot{J}\mathfrak{E}^{vol} }}{{\sqrt {\mathfrak{E}^{vol} :\mathfrak{E}^{vol} } }} + \frac{{\overline{G}_{1} }}{4}\frac{{\gamma_{1} \overline{I}_{1}^{{\gamma_{1} - 1}} \dot{\overline{I}}_{1} \mathfrak{E}^{iso1} }}{{\sqrt {\mathfrak{E}^{iso1} :\mathfrak{E}^{iso1} } }} + \frac{{\overline{G}_{2} }}{4}\frac{{\gamma_{2} \overline{I}_{2}^{{\gamma_{2} - 1}} \dot{\overline{I}}_{2} \mathfrak{E}^{iso2} }}{{\sqrt {\mathfrak{E}^{iso2} :\mathfrak{E}^{iso2} } }}$$
(47)

in which \(\overline{K}\) is related to the fluid volumetric viscosity [57] and \(\overline{G}_{i}\) are related to the shear (isochoric directions 1 and 2) viscosities. In order to be coherent with the viscosity understanding, we assume \(\overline{G} = \overline{G}_{1} = \overline{G}_{2}\). As shown in the Appendix, adopting the viscous parameters \(\gamma_{1} = \gamma_{2} = 1/2\) we reproduce quasi-Newtonian fluids and simple Kelvin–Voigt visco-hyperelasticity. Notice that, as the strain rate is written as function of dimensionless scalars (strain invariants), any value of \(\alpha\) and \(\gamma_{i}\) can be adopted resulting in different viscous behavior. When these parameters are zero, one may define the logarithm viscosity. The dependence of the fluid behavior regarding different choices of \(\gamma_{i}\) is shown in the Appendix, in which the Eulerian quasi-Newtonian behavior for \(\gamma_{1} = 1/2\) appears. Values of \(\alpha\) are related to volumetric viscosity and can be used to calibrate the behavior of compressive and near incompressible fluids [57].

In short, Eq. (44) becomes:

$$S = S_{elas} + S_{vis}.$$
(48)

At this point, it should be clarified that, for fluids, when calculating \(S_{elas}\) we consider only the first (volumetric) part of Eq. (42); the portions related to deviatoric elastic stresses are neglected. However, the deviatoric elastic part is considered to model solids.

To define the numerical solution procedure (in the next item), it is necessary to know the viscoelastic tangent constitutive tensor, given by:

$$\mathfrak{C} = \frac{\partial S}{{\partial E}} = \frac{{\partial S_{elas} }}{\partial E} + \frac{{\partial S_{vis} }}{\partial E} = \mathfrak{C}_{elas} + \mathfrak{N}_{vis}.$$
(49)

The first term can be calculated as:

$$\mathfrak{C}_{elas} = \mathfrak{C}^{vol} + \mathfrak{C}^{iso1} + \mathfrak{C}^{iso2} = \frac{{\partial^{2} \varPsi_{elas} }}{\partial E \otimes \partial E}$$
(50)

with

$$\mathfrak{C}^{vol} = \frac{{\partial^{2} \varPsi_{vol} }}{\partial E \otimes \partial E} = \frac{{\partial^{2} \varPsi_{vol} }}{{\partial J^{2} }}\frac{\partial J}{{\partial E}} \otimes \frac{\partial J}{{\partial E}} + \frac{{\partial \varPsi_{vol} }}{\partial J}\frac{{\partial^{2} J}}{\partial E \otimes \partial E},$$
(51)
$$\mathfrak{C}_{ijk\ell }^{iso1} = \frac{{\partial^{2} \varPsi_{iso1} }}{\partial E \otimes \partial E} = \frac{{\partial^{2} \varPsi_{iso}^{1} }}{{\left( {\partial \overline{I}_{1} } \right)^{2} }}\frac{{\partial \overline{I}_{1} }}{\partial E} \otimes \frac{{\partial \overline{I}_{1} }}{\partial E} + \frac{{\partial \varPsi_{iso}^{1} }}{{\partial \overline{I}_{1} }}\frac{{\partial^{2} \overline{I}_{1} }}{\partial E \otimes \partial E},$$
(52)
$$\mathfrak{C}_{ijk\ell }^{iso2} = \frac{{\partial^{2} \varPsi_{iso2} }}{\partial E \otimes \partial E} = \frac{{\partial^{2} \varPsi_{iso}^{2} }}{{\left( {\partial \overline{I}_{2} } \right)^{2} }}\frac{{\partial \overline{I}_{2} }}{\partial E} \otimes \frac{{\partial \overline{I}_{2} }}{\partial E} + \frac{{\partial \varPsi_{iso}^{2} }}{{\partial \overline{I}_{2} }}\frac{{\partial^{2} \overline{I}_{2} }}{\partial E \otimes \partial E}$$
(53)

in which \(\partial J/\partial E\) is given by Eq. (24), \(\partial \overline{I}_{1} /\partial E\) is given by Eq. (28), \(\partial \overline{I}_{2} /\partial E\) is given by Eq. (35), and the other terms are given, in index notation, as:

$$\frac{{\partial^{2} \varPsi_{vol} }}{{\partial J^{2} }} = \frac{K}{4}\left( {1 + 3J^{ - 4} } \right),$$
(54)
$$\frac{{\partial^{2} J}}{{\partial E_{j\gamma } \partial E_{oz} }} = J\left\{ {D_{j\gamma } D_{oz} - 2D_{jo} D_{z\gamma } } \right\} = \frac{{\partial \mathfrak{E}_{j\gamma }^{vol} }}{{\partial E_{oz} }},$$
(55)
$$\frac{{\partial^{2} \overline{I}_{1} }}{{\partial E_{ij} \partial E_{k\ell } }} = \frac{4}{3}J^{ - 2/3} \left\{ {\frac{1}{3}\left\{ {D_{ij} D_{k\ell } + 3D_{ik} D_{\ell j} } \right\}I_{1} - D_{ij} \delta_{k\ell } - D_{k\ell } \delta_{ij} } \right\} = \frac{{\partial \mathfrak{E}_{ij}^{iso1} }}{{\partial E_{k\ell } }},$$
(56)

and

$$\frac{{\partial^{2} \overline{I}_{2} }}{{\partial E_{ij} \partial E_{k\ell } }} = \frac{8}{3}J^{ - 4/3} \left\{ \begin{gathered} \left[ {\frac{2}{3}D_{ij} D_{k\ell } + D_{ik} D_{\ell j} } \right]I_{2} - \left[ {C_{zz} \left( {D_{ij} \delta_{k\ell } + D_{k\ell } \delta_{ij} } \right)} \right] + \hfill \\ + D_{ij} C_{k\ell } + D_{k\ell } C_{ij} + \frac{3}{2}\left[ {\delta_{ij} \delta_{k\ell } - \delta_{jk} \delta_{i\ell } } \right] \hfill \\ \end{gathered} \right\} = \frac{{\partial \mathfrak{E}_{ij}^{iso2} }}{{\partial E_{k\ell } }},$$
(57)

in which \(D_{ij} = C_{ij}^{ - 1}\). One may note that in this model \(\partial^{2} \varPsi_{iso}^{1} /\left( {\partial \overline{I}_{1} } \right)^{2} = 0\) and \(\partial^{2} \varPsi_{iso}^{2} /\left( {\partial \overline{I}_{2} } \right)^{2} = 0\).

As the goal of this study is to give a numerical solution for both fluids and solids, we approximate the strain invariant rates in Eq. (47) by backward finite differences, instead of using backward-Euler stress integration (usual in solid mechanics) so that:

$$\begin{aligned} S_{vis} & = \frac{{\overline{K}\alpha J_{s + 1}^{\alpha - 1} }}{{4\sqrt {\mathfrak{E}_{s}^{vol} :\mathfrak{E}_{s}^{vol} } }}\left( {\frac{{J_{s + 1} - J_{s} }}{\varDelta t}} \right)\mathfrak{E}^{vol} + \frac{{\overline{G}_{1} \gamma_{1} \overline{I}_{1(s + 1)}^{{\gamma_{1} - 1}} }}{{4\sqrt {\mathfrak{E}_{s}^{iso1} :\mathfrak{E}_{s}^{iso1} } }}\left( {\frac{{\left( {\overline{I}_{1} } \right)_{s + 1} - \left( {\overline{I}_{1} } \right)_{s} }}{\varDelta t}} \right)\mathfrak{E}^{iso1} \\ & \quad + \frac{{\overline{G}_{2} \gamma_{2} \overline{I}_{2(s + 1)}^{{\gamma_{2} - 1}} }}{{4\sqrt {\mathfrak{E}_{s}^{iso2} :\mathfrak{E}_{s}^{iso2} } }}\left( {\frac{{\left( {\overline{I}_{2} } \right)_{s + 1} - \left( {\overline{I}_{2} } \right)_{s} }}{\varDelta t}} \right)\mathfrak{E}^{iso2}. \\ \end{aligned}$$
(58)

Differentiating Eq. (58) regarding current strain (s + 1), it results in the following numeric tangent constitutive tensor at the current instant (\(t + \varDelta t\)):

$$\begin{aligned} \user2{\mathfrak{N}}^{vis} & = \frac{{\partial S_{vis} }}{\partial E} = \frac{{\overline{K}}}{{4\varDelta t\sqrt {\mathfrak{E}_{s}^{vol} :\mathfrak{E}_{s}^{vol} } }}\left( {\alpha^{2} J^{\alpha - 1} \mathfrak{E}^{vol} \otimes \mathfrak{E}^{vol} + \alpha J^{\alpha } \frac{{\partial^{2} J}}{\partial E \otimes \partial E}} \right) \\ & \quad + \frac{{\overline{G}_{1} }}{{4\varDelta t\sqrt {\mathfrak{E}_{s}^{iso1} :\mathfrak{E}_{s}^{iso1} } }}\left( {\gamma_{1}^{2} \overline{I}_{1}^{{\gamma_{1} - 1}} \mathfrak{E}^{iso1} \otimes \mathfrak{E}^{iso1} + \gamma_{1} \overline{I}_{1}^{{\gamma_{1} }} \frac{{\partial^{2} \overline{I}_{1} }}{\partial E \otimes \partial E}} \right) \\ & \quad + \frac{{\overline{G}_{2} }}{{4\varDelta t\sqrt {\mathfrak{E}_{s}^{iso2} :\mathfrak{E}_{s}^{iso2} } }}\left( {\gamma_{2}^{2} \overline{I}_{2}^{{\gamma_{2} - 1}} \mathfrak{E}^{iso2} \otimes \mathfrak{E}^{iso2} + \gamma_{2} \overline{I}_{2}^{{\gamma_{2} }} \frac{{\partial^{2} \overline{I}_{2} }}{\partial E \otimes \partial E}} \right). \\ \end{aligned}$$
(59)

Notice that terms of Eq. (58) related to the past do not appear in Eq. (59) as they are constant.

Substituting \(\mathfrak{E}^{vol}\), \(\mathfrak{E}^{iso1}\), and \(\mathfrak{E}^{iso2}\) by their respective definitions (22), (26), and (33), and using index notation, it results:

$$\begin{aligned} \mathfrak{N}_{ijk\ell }^{vis} & = \frac{1}{4\varDelta t}\left\{ {\frac{{\overline{K}}}{{\sqrt {\mathfrak{E}_{s}^{vol} :\mathfrak{E}_{s}^{vol} } }}\left( {\alpha^{2} J^{\alpha - 1} \frac{\partial J}{{\partial E_{ij} }}\frac{\partial J}{{\partial E_{k\ell } }} + \alpha J^{\alpha } \frac{{\partial^{2} J}}{{\partial E_{ij} \partial E_{k\ell } }}} \right)} \right\} \\ & \quad + \frac{{\overline{G}_{1} }}{{\sqrt {\mathfrak{E}_{s}^{iso1} :\mathfrak{E}_{s}^{iso1} } }}\left( {\gamma_{1}^{2} \overline{I}_{1}^{{\gamma_{1} - 1}} \frac{{\partial \overline{I}_{1} }}{{\partial E_{ij} }}\frac{{\partial \overline{I}_{1} }}{{\partial E_{k\ell } }} + \gamma_{1} \overline{I}_{1}^{{\gamma_{1} }} \frac{{\partial^{2} \overline{I}_{1} }}{{\partial E_{ij} \partial E_{k\ell } }}} \right) \\ & \quad + \left. {\frac{{\overline{G}_{2} }}{{\sqrt {\mathfrak{E}_{s}^{iso2} :\mathfrak{E}_{s}^{iso2} } }}\left( {\gamma_{2}^{2} \overline{I}_{2}^{{\gamma_{1} - 1}} \frac{{\partial \overline{I}_{2} }}{{\partial E_{ij} }}\frac{{\partial \overline{I}_{2} }}{{\partial E_{k\ell } }} + \gamma_{2} \overline{I}_{2}^{{\gamma_{2} }} \frac{{\partial^{2} \overline{I}_{2} }}{{\partial E_{ij} \partial E_{k\ell } }}} \right)} \right\} \\ \end{aligned}$$
(60)

in which, for simplicity, only the past time is indicated.

3 Brief description of the adopted positional FEM

Position-based FEM has been used by authors in several applications, see [58,59,60], for example. The difference between this alternative and the classic FEM is the adoption of positions as nodal parameters instead of displacements, making the description more compact and direct, as the current geometry parameters are also the nodal variables. This gives to the technique a simple association with geometrically nonlinear problems of deformable solids and of simple low compressible free surface flows modeling. Firstly, one chooses the nodal positions \(\vec{Y}\) as the analysis parameters; thus, the continuum position and acceleration are represented by:

$$\vec{y} = \phi \cdot \vec{Y},$$
(61)
$$\vec{\ddot{y}} = \phi \cdot \vec{\ddot{Y}}$$
(62)

in which \(\phi\) are usual FEM shape functions. Volume and surface forces, if desired, can be approximated by their nodal values:

$$\vec{b}^{0} = \phi \cdot \vec{B}^{0}$$
(63)

and

$$\vec{h} = \varphi \cdot \vec{P}$$
(64)

where \(\varphi\) are surface shape functions. If one prefers, external loads can be applied without using the above approximations.

The strain variation \(\delta E\) should also be given as a function of virtual position change \(\delta \vec{Y}\), as:

$$\delta E = \frac{\partial E}{{\partial \vec{Y}}} \cdot \delta \vec{Y}.$$
(65)

Introducing such values in the weak form of the equilibrium (Eq. (13)), one finds:

$$\left( {\int_{{V_{0} }} {\rho_{0} \,\phi \otimes \phi \,dV_{0} \cdot \vec{\ddot{Y}}} - \int_{{V_{0} }} {\phi \otimes \phi \,dV_{0} \cdot \vec{B}^{0} } - \int_{{S_{0} }} {\varphi \otimes \varphi \,\,dS_{0} \cdot \vec{P}} + \int_{{V_{0} }} {S:\frac{\partial E}{{\partial \vec{Y}}}\,\,dV_{0} } } \right) \cdot \delta \vec{Y} = 0.$$
(66)

As the virtual position change \(\delta \vec{Y}\) is arbitrary, Eq. (66) turns into the following nonlinear system of equations:

$$M \cdot \vec{\ddot{Y}} - \vec{F}^{ext} + \vec{F}^{int} = \vec{0}$$
(67)

in which the last term of Eq. (66) has been called internal force, and its calculation is clarified in the definition of the finite element kinematics. It is worth noting that this equation is similar to the one given by [49]; however, the calculation of internal force is quite different, and its formulation is developed only for fluids.

In this work, fluids and solids are discretized by triangular-base prismatic three-dimensional finite elements with linear or cubic approximations in their base directions (\(\xi_{1} ,\xi_{2}\)), and with any order of approximation along its thickness direction (\(\xi_{3}\)). Figure 1 shows a finite element with linear approximation at \(\xi_{3}\) direction and cubic approximation at \(\xi_{1}\) and \(\xi_{2}\) directions.

Fig. 1
figure 1

Deformation function described by prismatic elements

The position-based kinematics description is given in a brief way as more details can be seen in Refs. [56, 58,59,60], for instance. In Fig. 1, one observes that the initial configuration mapping \(\vec{f}^{0}\), represented by the finite element, describes the initial coordinates of continuous points \(x_{i}\) as functions of the dimensionless coordinates \(\xi_{i}\) and of the initial coordinates of nodes \(\alpha\), written as \(X_{\alpha i}\). Similarly, current continuum coordinates \(y_{i}\) are written as functions of the same dimensionless coordinates and current nodal coordinates (unknown of the problem) \(Y_{\alpha i}\). These mappings are represented in index notation as:

$$f_{i}^{0} = x_{i} = \phi_{\alpha } \left( {\vec{\xi }} \right)X_{\alpha i} \quad {\text{and}}\quad f_{i}^{1} = y_{i} = \phi_{\alpha } \left( {\vec{\xi }} \right)Y_{\alpha i}$$
(68)

in which the last one is on index version of Eq. (61). The gradients of these mappings are given by:

$$A_{ij}^{0} = \frac{{\partial x_{i} }}{{\partial \xi_{j} }}\quad {\text{and}}\quad A_{ij}^{1} = \frac{{\partial y_{i} }}{{\partial \xi_{j} }},$$
(69)

and, thus, the gradient \(A\) of the deformation function \(\vec{f}\) is given by:

$$A = A^{1} \cdot \left( {A^{0} } \right)^{ - 1}.$$
(70)

The gradient \(A\) is numerically written at each integration point for a trial position \(\vec{Y}\) covering all nodes of the problem. As the formulation is total Lagrangian, one may observe that the gradient of the initial configuration mapping is calculated only once in the numerical process. Moreover, it is clear the dependence of \(A\) regarding \(\vec{Y}\).

After calculating the deformation gradient, one calculates the Cauchy–Green stretch tensor and the Green strain as:

$$C = A^{T} \cdot A\quad {\text{and}}\quad E = \frac{1}{2}\left( {C - I} \right).$$
(71)

From this point, all necessary variables, such as \(\mathfrak{E}^{vol}\), \(\mathfrak{E}^{iso1}\), \(\mathfrak{E}^{iso2}\), \(\dot{J}\), \(\dot{\overline{I}}_{1}\), and \(\dot{\overline{I}}_{2}\), can be numerically calculated for each integration point of Eq. (66) and are functions of the nodal positions \(\vec{Y}\).

Equation (67) is valid at any instant, and time is a continuous variable. However, the numerical solution imposes that time should be a discrete variable, i.e., the current instant is written as the previous instant plus a time step, as:

$$t_{s + 1} = t_{s} + \Delta t$$
(72)

in which \(t_{s + 1}\) is the current instant. Thus, one writes Eq. (67) as:

$$\vec{g}_{s + 1} = \varvec{M} \cdot \vec{\ddot{Y}}_{s + 1} + \varvec{C} \cdot \vec{\dot{Y}}_{s + 1} - \vec{F}_{s + 1}^{ext} + \left( {\vec{F}_{s + 1}^{vis} + \vec{F}_{s + 1}^{elas} } \right) = \vec{0}$$
(73)

where, for simplicity, time \(t\) is omitted and the internal force is split in elastic and viscous parts. Only for completeness, a damping matrix \(C\) is also included, following usual solid mechanics works [58].

As the formulation is total Lagrangian, we adopted the Newmark approximation to perform the time marching, written as:

$$\vec{Y}_{s + 1} = \vec{Y}_{s} + \vec{\dot{Y}}_{s} \,\Delta t + \left[ {\left( {\frac{1}{2} - \beta } \right)\vec{\ddot{Y}}_{s} + \beta \vec{\ddot{Y}}_{s + 1} } \right]\Delta t^{2},$$
(74)
$$\vec{\dot{Y}}_{s + 1} = \vec{\dot{Y}}_{s} + \left( {1 - \gamma } \right)\Delta t\,\vec{\ddot{Y}}_{s} + \gamma \Delta t\,\vec{\ddot{Y}}_{s + 1}$$
(75)

in which \(\beta\) and \(\gamma\) are free parameters, generally adopted as \(\beta = 1/4\) and \(\gamma = 1/2\).

Isolating current velocity and current acceleration from Eqs. (74) and (75), it results:

$$\vec{\ddot{Y}}_{s + 1} = \frac{{\vec{Y}_{s + 1} }}{{\beta \Delta t^{2} }} - \vec{Q}_{s}$$
(76)

and

$$\dot{\vec{Y}}_{s + 1} = \frac{\gamma }{\beta \Delta t}\vec{Y}_{s + 1} + \vec{R}_{s} - \gamma \Delta t\vec{Q}_{s} ,$$
(77)

with the following auxiliary values:

$$\vec{Q}_{s} = \left( {\frac{{\vec{Y}_{s} }}{{\beta \Delta t^{2} }} + \frac{{\dot{\vec{Y}}_{s} }}{{\beta \Delta t }} + \left( {\frac{1}{2\beta } - 1} \right)\ddot{Y}_{s} } \right)\quad {\text{and}}\quad \vec{R}_{s} = \left[ {\dot{\vec{Y}}_{s} + \Delta t\left( {1 - \gamma } \right)\ddot{\vec{Y}}_{s} } \right].$$
(78)

Substituting Eqs. (76) and (77) into (73) results in:

$$\vec{g}\left( {\vec{Y}_{s + 1} } \right) = \vec{F}_{s + 1}^{elas} + \vec{F}_{s + 1}^{vis} + \frac{{\varvec{M}}}{{\beta \Delta t^{2} }}\vec{Y}_{s + 1} - {\varvec{M}} \cdot \vec{Q}_{s} { + }\frac{{\gamma {\varvec{C}}}}{\beta \Delta t} \cdot \vec{Y}_{s + 1} + {\varvec{C}} \cdot \vec{R}_{s} - \gamma \Delta t{\varvec{C}} \cdot \vec{Q}_{s} - \vec{F}_{s + 1}^{ext} (t) = \vec{0}.$$
(79)

Equation (79) is understood simply as \(\vec{g}\left( {\vec{Y}_{s + 1} } \right) = 0\), revealing the nonlinear behavior of equilibrium equations regarding \(\left( {\vec{Y}_{s + 1} } \right)\), solved in this work by the Newton Raphson method.

Following previous works [58,59,60], using a truncated Taylor expansion, we have:

$$\vec{0} = \vec{g}(\vec{Y}_{s + 1} ) \cong \vec{g}\left( {\vec{Y}_{s + 1}^{0} } \right) + \nabla \vec{g}\left( {\vec{Y}_{s + 1}^{0} } \right)\Delta \vec{Y}$$
(80)

where

$$\nabla \vec{g}\left( {\vec{Y}_{s + 1} } \right) = {\varvec{H}} = \left. {\frac{{\partial \vec{F}^{elas} }}{{\partial \vec{Y}}}} \right|_{s + 1} + \left. {\frac{{\partial \vec{F}^{vis} }}{{\partial \vec{Y}}}} \right|_{s + 1} + \left( {\frac{{\varvec{M}}}{{\beta \Delta t^{2} }} + \frac{{\gamma {\varvec{C}}}}{\beta \Delta t}} \right) = {\varvec{H}}^{{{\varvec{elas}}}} + {\varvec{H}}^{vis} + {\varvec{H}}^{din}$$
(81)

with \({\varvec{H}}^{{{\varvec{elas}}}}\) and \({\varvec{H}}^{din}\) being, respectively, the elastic and dynamic parts of the Hessian matrix. The viscous term \({\varvec{H}}^{{{\varvec{vis}}}}\) as achieved is an original expression and a key value in the total Lagrangian isothermal fluid model and simple viscoelastic model proposed here, see Eq. (90).

From Eq. (80), we write the linear system of equations from which the position correction \(\Delta \vec{Y}\) is achieved as:

$$\nabla \vec{g} \left( {\vec{Y}_{s + 1}^{0} } \right) \cdot \Delta \vec{Y} = - \vec{g}\left( {\vec{Y}_{s + 1}^{0} } \right)\quad {\rm or}\quad \varvec{H} \cdot \Delta \vec{Y} = - \vec{g}\left( {\vec{Y}_{s + 1}^{0} } \right),$$
(82)

in which \(\vec{Y}_{s + 1}^{0}\) is a trial position. In the beginning of a time step, \(\vec{Y}_{s + 1}^{0}\) is assumed as the result of the previous step, i.e., \(\vec{Y}_{s}\). Solving the correction \(\Delta \vec{Y}\) in Eq. (82), a new trial for \(\vec{Y}_{s + 1}\) is calculated as:

$$\vec{Y}_{s + 1}^{0} = \vec{Y}_{s + 1}^{0} + \Delta \vec{Y}.$$
(83)

At the beginning of each iteration, acceleration and velocity should be recalculated as:

$$\vec{\ddot{Y}}_{s + 1} = \frac{{\vec{Y}_{s + 1} }}{{\beta \Delta t^{2} }} - \vec{Q}_{S} \quad {\rm e}\quad \dot{\vec{Y}}_{s + 1} = \frac{\gamma }{\beta \Delta t}\vec{Y}_{s + 1} + \vec{R}_{s} - \gamma \Delta t\vec{Q}_{s}.$$
(84)

As \(\vec{Q}_{s}\) and \(\vec{R}_{s}\) are values of the past, they remain unaltered during iterations, being updated only after the convergence of a time step. The stopping test is given by:

$$\frac{{\left\| {\vec{g}(\vec{Y}^{0} )} \right\|}}{{\left\| {\vec{F}^{ext} } \right\|}} \le TOL\quad {\rm or}\quad \frac{{\left\| {\Delta \vec{Y}} \right\|}}{{\left\| {\vec{X}} \right\|}} \le TOL,$$
(85)

where \(TOL\) is the prescribed numerical tolerance.

When the result converges, \(\vec{Y}_{s + 1}^{0}\) becomes the solution \(\vec{Y}_{s + 1}\) and the first trial solution for the next time step. In the first time step, the initial acceleration is calculated by the dynamic equilibrium equation as:

$$\vec{\ddot{Y}}_{0} = \varvec{M}^{ - 1} \left[ {\vec{F}_{0}^{ext} - \vec{F}^{elas} - \vec{F}^{vis} - \varvec{C}\vec{\dot{Y}}_{0} } \right].$$
(86)

The elastic and viscous parts of the Hessian matrix are deduced for each finite element from the derivative of Eq. (73) [see Eq. (81)] regarding the current position vector, as:

$${\varvec{H}}^{elas} = \frac{{\partial \vec{F}^{elas} }}{{\partial \vec{Y}}} = \int_{{V_{0} }} {\frac{\partial }{{\partial \vec{Y}}}\left( {\frac{{\partial \psi_{elas} }}{\partial E}:\frac{\partial E}{{\partial \vec{Y}}}} \right)\,{\text{d}}V_{0} } = \int_{{V_{0} }} {\left( {\frac{\partial E}{{\partial \vec{Y}}}:\frac{{\partial^{2} \psi_{elas} }}{\partial E \otimes \partial E}:\frac{\partial E}{{\partial \vec{Y}}} + \frac{{\partial \psi_{elas} }}{\partial E}:\frac{\partial E}{{\partial \vec{Y} \otimes \partial \vec{Y}}}} \right)\,{\text{d}}V_{0} },$$
(87)
$${\varvec{H}}^{vis} = \frac{{\partial \vec{F}^{vis} }}{{\partial \vec{Y}}} = \int_{{V_{0} }} {\frac{\partial }{{\partial \vec{Y}}}\left( {\frac{{\partial \psi_{vis} }}{\partial E}:\frac{\partial E}{{\partial \vec{Y}}}} \right)\,{\text{d}}V_{0} } = \int_{{V_{0} }} {\left( {\frac{\partial E}{{\partial \vec{Y}}}:\frac{{\partial^{2} \psi_{vis} }}{\partial E \otimes \partial E}:\frac{\partial E}{{\partial \vec{Y}}} + \frac{{\partial \psi_{vis} }}{\partial E}:\frac{\partial E}{{\partial \vec{Y} \otimes \partial \vec{Y}}}} \right)\,{\text{d}}V_{0} }$$
(88)

or

$${\varvec{H}}^{elas} = \int_{{V_{0} }} {\left( {\frac{\partial E}{{\partial \vec{Y}}}:\user2{\mathfrak{C}}:\frac{\partial E}{{\partial \vec{Y}}} + S_{elas} :\frac{{\partial^{2} E}}{{\partial \vec{Y} \otimes \partial \vec{Y}}}} \right)\,{\text{d}}V_{0} },$$
(89)
$${\varvec{H}}^{vis} = \int_{{V_{0} }} {\left( {\frac{\partial E}{{\partial \vec{Y}}}:\user2{\mathfrak{N}}:\frac{\partial E}{{\partial \vec{Y}}} + S_{vis} :\frac{{\partial^{2} E}}{{\partial \vec{Y} \otimes \partial \vec{Y}}}} \right)\,{\text{d}}V_{0} }$$
(90)

in which \(S_{elas}\) and \(\user2{\mathfrak{C}}\) are given by Eqs. (42) and (50), and \(S_{vis}\) and \(\user2{\mathfrak{N}}\) are given by Eqs. (58) and (59). For fluids, only the volumetric part of elastic terms and the deviatoric parts of the viscous terms are used. The buckling viscosity [57] can also be adopted if it has relevance.

4 Examples

In this Section, we present some selected examples to verify the proposed formulation and to explore some of its possibilities. As results are more easily compared with 2D solutions present in the literature, we chose to present only one 3D fluid example. However, for solid applications we used three simple 3D examples.

In most cases, we adopt \(\alpha = 1\) and \(\gamma_{1} = \gamma_{2} = 1/2\) and \(\overline{G} = 3\mu\) (Eulerian quasi-Newton fluid), see Appendix for more information. Other parameters are also tested in the 3D fluid example, in order to measure their qualitative influence. In all fluid examples, \(TOL = 1 \times 10^{ - 7}\) is adopted together with a \(\Delta t\) sufficiently small to limit the number of iterations to 3. Limiting the number of iterations proved to produce faster processing time than adopting large time steps. For solid examples, the same tolerance is adopted, but the number of iterations was not controlled.

4.1 Dam rupture: fluid

The present example is based on the experimental work of Ref. [61], reproduced numerically by [62] using an ALE fluid formulation. The analyzed problem is a dam initially with width \(W\) and height \(H\), filled with fluid initially at rest. The dam suffers a subtle disrupt at the right wall (Gate), see Fig. 2. This problem is considered a first benchmark to test free surface flows solvers. The geometric and physical non-dimensional properties are [62]: \(W = 0.35\,{\text{dm}}\), \(H = 0.70\,{\text{dm}}\), \(g = 1.0\,{\text{dm/s}}^{2}\), \(\rho = 1\,{\text{kg/(dm)}}^{3}\), \(\mu = 10^{ - 2}\,{\text{kg/(dm}}\,{\text{s)}} = 10^{ - 3}\, {\text{Pa}}\,{\text{s}}\), in which \({\text{dm}} = 10\,{\text{m}}\). As Ref. [62] treats the fluid as incompressible, we adopted a high value for the bulk modulus \((K = 2.15 \times 10^{9}\,{\text{kg}}/({\text{dm}}\,{\text{s}}^{2} ))\) to check the formulation overall behavior.

Fig. 2
figure 2

Analyzed problem

Figure 3 shows various adopted meshes, with number of nodes and element order. The elements are 3D prismatic with unitary thickness and linear approximation in this direction. Both vertical and horizontal walls are slip walls, and the adopted time step is \(2.5 \times 10^{ - 4}\,{\text{s}}\). The analysis is carried out for 6700 time steps with the maximum of 3 iterations at each time.

Fig. 3
figure 3

Definition of used meshes–number of elements and basis approximation

In a first analysis stage, with the intact reservoir, the water is allowed to conform to meet the initial hydrostatic stress distribution. In the second stage, the right side wall (gate) is instantly removed, and the fluid is free to flow. We compare the obtained results with the experimental values of [62], since the numerical results of [49, 62] are practically coincident with ours, see Fig. 4. However, it is important to mention that reference works consider incompressible Newtonian flows, while in this work we consider a nearly incompressible flow with a very high bulk modulus \(K = 2.15 \times 10^{9} \,{\text{kg}}/({\text{dm}}\,{\text{s}}^{2} )\). The dimensionless time used by the references to make graphics is obtained by the conversion \(t* = t\sqrt {2g/W}\).

Fig. 4
figure 4

Relative enlargement of the fluid base along time

As one can observe, the unstructured cubic approximation meshes present excellent results and practically coincide with the results presented by [49, 62]. The structured cubic approximation mesh also shows very good results, with a small reduction in total displacement noticed only for the poorest mesh. The unstructured mesh with linear approximation presents an excessive displacement due to the large elements distortion to ensure the nearly incompressible behavior, see Fig. 5. No regularization strategies are used for any results.

Fig. 5
figure 5

Element distortion to keep near incompressibility

Figure 6 presents some snapshots for discretization 392-Cubic, with color maps representing displacements, from 0 (red) to the maximum displacement at present instant (blue).

Fig. 6
figure 6

Snapshots for selected instants—discretization 392 Cubic

In Ref. [63], an erratum of Ref. [62], the author presents a very smooth pressure profile along time that can be reproduced by our formulation if a smaller bulk modulus is employed. The following reasoning is presented for general interest. For the high bulk modulus, our formulation exhibits, at the first time step \((\Delta t = 2.5 \times 10^{ - 4}\,{\text{s}})\), after the instantaneous disrupt, a result that indicates the need of a smaller time step in order to verify the pressure wave propagation, see Fig. 7. In Fig. 8, using a time step of \(\Delta t = 7.0 \times 10^{ - 7}\,{\text{s}}\), the pressure wave is detected. It are shown (Fig. 8) the twenty first time steps of this analysis, being the first static. Remember that the pressure wave velocity is calculated as \(C_{p} = \sqrt {K/\rho } = 4.63 \times 10^{4}\,{\text{dm}}/{\text{s}}\). In order to characterize the wave in Fig. 8, the color scale is different by frame, that is, the pressure level is not the same for each presented time.

Fig. 7
figure 7

Stress disruption—\(\Delta t = 2.5 \times 10^{ - 4} \,{\text{s}}\) (inappropriate time step)

Fig. 8
figure 8

Pressure wave propagation for small time step

Using this small time step and this high bulk modulus, the numerical result of the pressure wave disperses for the total time necessary to represent the dam flow. Thus, we relaxed the bulk modulus value to \(K = 215\,{\text{kg}}/({\text{dm}}\,{\text{s}}^{2} )\) in order to ensure the stabilized pressure calculation. This procedure is justified by the artificial wave speed (directed related to an artificial compressibility) adopted in Ref. [62] to capture quasi-static pressures in incompressible fluids. In Fig. 9, the achieved pressure profile is qualitatively compared with the one presented by [63] as the reference does not present time or values. The sign of the pressure is negative because it is calculated here as in solid mechanics, i.e., the hydrostatic part of the stress tensor.

Fig. 9
figure 9

Pressure profile

It should be noted that, since there is no elastic shear wave in fluids, the time intervals required for the proper modeling of pressure waves and the overall movement of viscous fluids are very different. It is also noteworthy that the discretization with linear approximation did not present precise results in our formulation, see the end of example 4.3 for an attempt for a geometrical explanation.

4.2 Solitary wave: fluid

In this example, the propagation of a solitary wave in a water tank is studied. The adopted physical properties are: \(\rho = 1000\,{\text{kg}}/{\text{m}}^{3}\), \(\mu = 0.001\,{\text{Pa}}\,{\text{s}}\), and \(K = 2.15\,{\text{GPa}}\). The problem consists of water confined between three smooth walls, with free surface on the top, as shown in Fig. 10. The adopted dimensions for the numerical analysis are: \(\ell = 16.0\,{\text{m}}\), \(H = 0.3\,{\text{m}}\), and \(d = 1.0\,{\text{m}}\).

Fig. 10
figure 10

Solitary wave in smooth-walled reservoir

The tank thickness is 1 m, and the adopted gravity acceleration is \(g = 9.8\,{\text{m/s}}^{2}\). Initial conditions are calculated based on the analytical solutions given by [64] for \(t = 0\,{\text{s}}\), i.e.:

$$\begin{aligned} h & = d + H\left( {{\text{sech}} \left( {\sqrt {\frac{3H}{{4d^{3} }}} x} \right)} \right)^{2} ,v_{x} = \sqrt {gd} \frac{H}{d}\left( {{\text{sech}} \left( {\sqrt {\frac{3H}{{4d^{3} }}} x} \right)} \right)^{2}, \\ v_{y} & = \sqrt {3gd} \left( \frac{H}{d} \right)^{3/2} \left( \frac{y}{d} \right)\left( {{\text{sech}} \left( {\sqrt {\frac{3H}{{4d^{3} }}} x} \right)} \right)^{2} \tanh \left( {\sqrt {\frac{3H}{{4d^{3} }}} x} \right). \\ \end{aligned}$$

In this work, it is prescribed a volumetric force of \(b_{y} = \rho g\) that is responsible to develop the gravity pressure. We adopt \(\Delta t = 0.01\,{\text{s}}\) and two FEM meshes with cubic approximation (see Fig. 11).

Fig. 11
figure 11

Used discretizations

Figure 12 shows the vertical displacement of the upper right and left points for the two discretizations, without considering surface tension. Figure 13 shows the effect of the water surface tension (\(t_{s} = 0.072\,{\text{N/m}}\)) using the richer mesh.

Fig. 12
figure 12

Vertical displacements

Fig. 13
figure 13

Surface tension (St) influence—richer mesh

The solution of the richer discretization, without considering the surface tension, has such a good agreement with the solution presented by [49, 62, 65] that it was not necessary to place the solution of the references in the Figures. In addition, it is observed that the solution with poorer discretization is already sufficiently precise for this problem.

The application of surface tension is performed in a specific way for two-dimensional simulations, multiplying the surface tension by the semi-thickness and applying it as forces on the boundary nodes in the direction of its neighboring node. As expected due to the dimensions of the problem, the surface tension has little influence, even so, there is a reduction in the peak of the second wave (on the right point) and a slight smoothing of the overall response.

From the experience of the first example, the high-order structured mesh is adopted. A structured mesh with linear approximation is also used, see Figs. 14 and 15, to stress that linear elements are not recommended to be used with our formulation.

Fig. 14
figure 14

Discretization with linear approximation

Fig. 15
figure 15

Some snapshots for selected instants (colors represent displacements)

Figure 15 shows position snapshots for different instants and different discretizations, including the totally inadequate linear approximation. The presented maximum displacements corresponding to the finer cubic discretization are \(u_{y} (2.4\,{\text{s}}) = 0.722\,{\text{m}}\), \(u_{y} (7.0\,{\text{s}}) = 0.671\,{\text{m}}\), \(u_{y} (11.6\,{\text{s}}) = 0.675\,{\text{m}}\).

4.3 Formation of a flat bubble: fluid

In this example, a 1.0 m3 water volume, initially in the shape of a unit-side cube, is released to move in the directions \(x_{1}\) and \(x_{2}\), under the sole action of the considered surface tension \(t_{s} = 72 \times 10^{ - 3} \,{\text{N/m}}\). The application of this surface tension is made as explained in the previous example, and its value is \(f = 36 \times 10^{ - 3} \,{\text{N}}\).

The other water properties are: density \(\rho = 1000\,{\text{kg/m}}^{3}\), shear viscosity \(\mu = 1.02 \times 10^{ - 3} \,{\text{Pa}}\,{\text{s}}\), bulk modulus \(K = 2.15\,{\text{GPa}}\), and volume alternative viscosity \(\overline{K} = 2.5 \times 10^{ - 3} \,{\text{Pa}}\,{\text{s}}\) and \(\alpha = 0.5\). The adopted time interval is \(\Delta t = 10^{ - 2} \,{\text{s}}\).

Two types of analyses are performed, without any damping (for which the bubble vibrates indefinitely) and another introducing an artificial mass proportional damping (\(c = 1\,{\text{kg}}.(10^{ - 3}\,{\text{s}})/{\text{m}}^{3}\)) in order to find a final static position. In addition, a relaxation in water compressibility is adopted for the poorest cubic discretization, for linear discretization, and for an additional analysis of pressure behavior (eliminating pressure wave effects). For damped analyses, the water volume converges to the circular shape, as shown in Figs. 16 and 17. Two cubic approximations at the plane \((x_{1} ,x_{2} )\) with linear approximation along thickness \(x_{3}\) are adopted. One has 4 × 4 elements and 338 nodes and the other 8 × 8 elements and 1250 nodes.

Fig. 16
figure 16

Bubble behavior along time \(K = 2.15\,{\text{GPa}}\) (cubic approximation)

Fig. 17
figure 17

Bubble behavior along time \(K = 2.15 \times 10^{ - 4} \,{\text{GPa}}\) (cubic)

Figure 16 shows solutions without compressibility relaxation using the two adopted discretizations. In Fig. 17, using the 4 × 4 discretization, the same problem is solved by increasing the compressibility of the fluid, i.e., reducing the bulk modulus to \(K = 2.15 \times 10^{ - 4} \,{\text{GPa}}\). As one can see in Fig. 16, when the fluid is almost incompressible, a more refined mesh is needed to reproduce the expected behavior. For a more compressive fluid, the expected response is achieved without any relaxation, see Fig. 17.

The pressure for the 8 × 8 cubic approximation and near incompressible bulk modulus (\(K = 2.15\,{\text{GPa}}\)) and for the 4 × 4 cubic approximation with bulk modulus \(K = 2.15 \times 10^{ - 4} \,{\text{GPa}}\) oscillates after the displacement convergence, see Fig. 18. This fact occurs because the wave speed of volumetric stresses is high and the time for their mitigation is very high, not reached in our analysis. Only in the case with large compressibility, for both cubic and linear approximations, the stresses distribution is very close to the expected static value, calculated analytically as \(p = - 1.44 \times 10^{ - 10} \,{\text{GPa}}\). The sign of the pressure is negative because it is calculated here as in solid mechanics, i.e., the hydrostatic part of the stress tensor. For the compressible case \(K = 2.5 \times 10^{ - 9} \,{\text{GPa}}\), the pressure wave has a very low speed, and the related behavior is almost static.

Fig. 18
figure 18

Pressure with negative sign (\({\text{GPa}}\))—time 120 s—damped cases (cubic)

Figure 19 shows the final artificially damped result obtained for a structured linear mesh with 24 × 24 elements and 1250 nodes. As one can see, the linear element locks completely, even for low fluid compressibility \(K = 2.15 \times 10^{ - 6} \,{\text{GPa}}\). The behavior is as if a truss has been formed in the hydrostatic stress distribution, making the continuum rigid. When imposing a very compressive behavior (\(K = 2.15 \times 10^{ - 9} \,{\text{GPa}} = 2.15\,{\text{Pa}}\)), elements unlock and results become coherent.

Fig. 19
figure 19

Linear mesh behavior—volumetric locking

It should be noted that volumetric locking is a known phenomenon that is easily established by a constraint equation that represents the null volumetric change \(\delta J = 0\), which for a finite element of any order is written simply as:

$$\frac{\partial J}{{\partial E}}:\delta E = \frac{\partial J}{{\partial E}}:\frac{\partial E}{{\partial \vec{Y}}} \cdot \delta \vec{Y} = 0\quad {\text{or}}$$
(a)

as \(\delta \vec{Y}\) is arbitrary, resulting is the following nonlinear system of equations written in the finite element degrees of freedom:

$$\frac{\partial J}{{\partial E}}:\frac{\partial E}{{\partial \vec{Y}}}(\vec{Y}) = \vec{0},$$
(b)

This system of equations indicates (due to the imposed volumetric restriction) that a degree of freedom is removed from the set of degrees of freedom of the finite element. As an attempt to do a geometrical interpretation of the phenomenon, the identification of this restriction can be done by leaving only one node of the finite element free and studying its possible movement. In two-dimensional space, for high-order elements this movement is a curve and allows accommodation of the nodes for more or less complex problems.

For linear elements, this accommodation is more limited, even when compressibility relaxation is imposed, see Fig. 19. This additional limitation is due (in cases incompressible or poorly compressible) to the only possible movement of the free point being a straight line. See Fig. 20 in which 2 nodes of the base of a linear 2D finite element are constrained, and, in order to maintain its area (volume), the trajectory of the upper (free) node is restricted to a straight line.

Fig. 20
figure 20

Constant area (volume)—free point movement restricted to a straight line

Finally, this numerical example demonstrates that, even when a large bulk modulus reduction is applied, movements are not released for linear elements. Note that we use only one integration point in the plane of the linear element, and, thus, there is no way to apply the reduced integration technique. For these reasons, in the next examples, the use of linear elements is abandoned.

4.4 Oil passing through funnel: fluid

A high viscosity oil \(\overline{G} = 0.2356\,{\text{Pa}}\,{\text{s}}\) with density \(\rho = 846.6\,{\text{kg/m}}^{3}\) and high compressibility, with \(K = 2.15 \times 10^{4} \,{\text{Pa}}\), is subject to gravity acceleration \(g = 10\,{\text{m/s}}^{2}\) and is suddenly released to flow through the funnel shown in Fig. 21. The oil touches the horizontal surface and flows without friction until it stops. The adopted surface tension is \(t_{s} = 0.032\,{\text{N/m}}\).

Fig. 21
figure 21

Initial position and flow direction

The wall boundary conditions are of frictionless contact without the possibility of detachment, that is, dry to shear and wet to detachment, via Lagrange multiplier. No previous static analysis was performed, that is, the acceleration of gravity occurs suddenly at the beginning of the analysis. To model the fluid, only elements with cubic approximation and structured mesh are adopted (see Fig. 22). Each contact surface is modeled by a single rigid straight line.

Fig. 22
figure 22

Used mesh–structures 12 × 12

We adopted \(\Delta t = 0.25\,{\text{ms}}\) (in which \({\text{ms}} = 10^{ - 3} \,{\text{s}}\)) until the contact instant, i.e., \(67.5\,{\text{ms}}\), from which \(\Delta t = 0.125\,{\text{ms}}\) is used to increase stability and keep the number of iterations in 3, as mentioned in the introduction of this Section.

The evolution of the fluid movement is presented in Fig. 23. Pressure values are presented stressing that this fluid has a very high viscosity and not so high bulk modulus; therefore, pressure results are stable without using any relaxation. The sign of the pressure is negative because it is calculated here as in solid mechanics, i.e., the hydrostatic part of the stress tensor.

Fig. 23
figure 23

Overall movement snapshots, pressure (\({\text{g}}/[({\text{ms}})^{2} \,{\text{cm}}]\))

As one can see in Fig. 23, a smooth response is obtained, with a large inertial spread of the fluid. In the return response, due to the surface tension, a configuration is reached that indicates a tendency of almost rupture of the surface, which would promote the separation of a drop of fluid at the end of the flow. To model this rupture is beyond the objectives of this work.

4.5 Simplified slump test: fluid

This example shows the applicability of the proposed formulation in a simple 3D fluid problem, as well as the model's possibilities in representing fluids with different values of \(\gamma_{i}\). It is a simplified simulation of a slump test of a cement paste whose physical properties are given by [66]. We adopted the following values: \(\overline{G} = 1.4\,{\text{Pa}}\,{\text{s}}\), \(\rho = 2500\,{\text{kg/m}}^{3}\), and \(g = 10\,{\text{m/s}}^{2}\). The bulk modulus is considered \(K = 215\,{\text{kPa}}\) that is sufficient to model near incompressibility. The employed time step is \(\Delta t = 0.1\,{\text{ms}}\) with total analysis time of \(t = 0.6\,{\text{s}}\). The test consists of retaining the cement paste in an inverted hollow bucket, with its subsequent instantaneous release on a smooth surface. Figure 24 depicts the initial configuration geometry (\(D_{\inf } = 80\,{\text{mm}}\), \(D_{\sup } = 70\,{\text{mm}}\) and \(H = 40\,{\text{mm}}\)) and the applied discretizations. Due to the symmetry around the z axis, only 1/4 of the geometry is discretized by curved elements with cubic approximation in both basis and height. In discretization (a), the base and the top are divided into 8 curved triangular elements with 4 divisions in height, totalizing 32 prismatic finite elements of cubic approximation (637 nodes). In discretization (b), the base and the top are divided into 16 elements with 4 height divisions, totalizing 64 prismatic elements of cubic approximation (1183 nodes).

Fig. 24
figure 24

Geometry and discretizations

In this example, three different exponents for the viscous law are adopted: \(\gamma_{1} = \gamma_{2} = 0.5\) (Eulerian quasi-Newtonian, see Appendix), \(\gamma_{i} = 0.25\), and \(\gamma_{i} = 0.75\) (non-Newtonian). Figures 25 and 26 show some top views \((\gamma_{i} = 0.5)\) for selected instants for both discretizations, indicating the diameter of the base for each selected time step. The color in the maps shows the vertical displacement.

Fig. 25
figure 25

Selected snapshots—top view, discretization (a) \(\gamma_{i} = 0.50\)

Fig. 26
figure 26

Selected snapshots—top view, discretization (b) \(\gamma_{i} = 0.50\)

From these results, we conclude that a reasonable discretization for this qualitative example is the discretization (b). Figures 27 and 28 present, respectively, top views for \(\gamma_{i} = 0.25\) and \(\gamma_{i} = 0.75\) using discretization (b). Again colors mean vertical displacements, and the diameters are listed.

Fig. 27
figure 27

Selected snapshots—top view, discretization (b) (\(\gamma_{i} = 0.25\))

Fig. 28
figure 28

Selected snapshots—top view, discretization (b) (\(\gamma_{i} = 0.75\))

The experimental final diameter (at \(t = 0.2\,{\text{s}}\)) informed by reference [66] is 169 mm that includes a residual shear stress of (\(20\,{\text{Pa}}\)). The diameter achieved by the proposed formulation (\(\gamma_{i} = 0.5\)) at the same time \((t = 0.2\,{\text{s}})\) is near to the experimental result. However, the proposed formulation solution continues to flow as it does not consider residual stresses. In further developments, we think it being possible to include residual stresses in the proposed formulation, enabling the appropriate modeling of pastes and gels.

Figure 29 shows the time history of the relation \(D_{\inf }^{num} (t)/D_{final}^{exp}\) for the three adopted rheological models, i.e., \(\gamma_{i} = 0.25\), \(\gamma_{i} = 0.5\), and \(\gamma_{i} = 0.75\).

Fig. 29
figure 29

Lower diameter behavior along time

As one can see, the viscous behaviors are quite different, remembering that the case (\(\gamma_{i} = 0.5\)) is the quasi-Newtonian one, see Appendix.

4.6 Creep test: solid

In this example, a 3D block of unitary dimension is subjected to a constant tensile force on one of its faces \((F = 40\,{\text{kN}})\), and its longitudinal strain (\(\lambda_{3} - 1\)) is evaluated along time (creep test). Figure 30 presents the test geometry and the discretization of only \(1/4\) of the specimen to take advantage of symmetry. We used 4 prismatic elements with linear approximation totalizing 12 nodes. The following physical parameters are adopted for all analyses: \(K = 1.5\,{\text{MPa}}\), \(G = 9\,{\text{KPa}}\), \(\rho = 0\), \(g = 0\), \(\overline{K} = 0\), and \(\gamma_{1} = \gamma_{2} = 1/2\). We used 3 different values for the shear viscosity: \(\overline{G}_{a} = 2\,{\text{KPa}} \cdot {\text{s}}\), \(\overline{G}_{b} = 1.1\,{\text{KPa}} \cdot {\text{s}}\), and \(\overline{G}_{c} = 0.2\,{\text{KPa}} \cdot {\text{s}}\) and the corresponding time intervals: \(\Delta t_{a} = 0.4\,{\text{s}}\), \(\Delta t_{b} = 0.2\,{\text{s}}\), and \(\Delta t_{c} = 0.04\,{\text{s}}\). The adopted tolerance is \(Tol = 10^{ - 7}\).

Fig. 30
figure 30

Schematic representation of the problem and discretization (linear elements)

Figure 31 presents the time response of the stretch in z direction and snapshots of the Cauchy viscous stresses \(\sigma_{11}^{vis}\) and \(\sigma_{33}^{vis}\) for case (c). As expected, one can see that both viscous stresses \(\sigma_{11}^{vis}\) and \(\sigma_{33}^{vis}\) approach zero at the end of the analysis.

Fig. 31
figure 31

Time response of stretch and viscous stress snapshots

In Fig. 32, one can see the time response of viscous stress \(\sigma_{33}^{vis}\) and elastic stress \(\sigma_{33}^{elas}\), both in Cauchy space. As one can see, the proposed formulation is capable of modeling the viscoelastic behavior of highly deformable bodies that do not present an instantaneous response (Kelvin-like model). It is interesting to mention that the strain levels reached by the material are quite high.

Fig. 32
figure 32

Viscous and elastic Cauchy stresses along time (\(\sigma_{33}\))

4.7 Indirect relaxation test: solid

In this example, the specimen of the previous example is made up of two materials, as shown in Fig. 33. Material 1 is viscoelastic with the following properties: \(K = 15\,{\text{MPa}}\), \(G = 9\,{\text{KPa}}\), \(\gamma_{1} = \gamma_{2} = 1/2\), and \(\overline{G} = 200\,{\text{KPa}} \cdot {\text{s}}\). Material 2 is elastic with the following properties \(K = 0.15\,{\text{MPa}}\) and \(G = 9\,{\text{KPa}}\). In this analysis, we adopted \(\rho = 0\), \(g = 0\), and \(\overline{K} = 0\). Figure 33 also illustrates the adopted discretization, i.e., 4 prismatic elements with cubic approximation (112 nodes). Along \(z\) direction, each of the 4 nodes constitutes an element. In the graphical representation, the approximation following the z direction is fragmented in planes orthogonal to the z axis.

Fig. 33
figure 33

Schematic representation of the analyzed problem and discretization

Initially, material 1 is maintained with all nodes restricted, and the free face of material 2 (elastic material) is stretched from coordinate \(z = 1\,{\text{m}}\) through coordinate \(z = 3.4\,{\text{m}}\) using 120 equally spaced steps. Figure 34 shows the achieved configuration with the Cauchy elastic stress distribution \(\sigma_{33}^{ela}\). Note that no stresses are present in material 1, but, as the post-processing is done by nodes, an average value appears at the interface nodes in Fig. 34.

Fig. 34
figure 34

Initial configuration for indirect relaxation analysis (stresses in \({\text{kPa}}\))

Figure 35 presents the viscous and elastic Cauchy stresses at point \((0.167;0.167;0.167)\,{\text{m}}\) of material 1 and the elastic Cauchy stress at point \((0.167;0.167;0.833)\,{\text{m}}\) of material 2. These coordinates correspond to the initial configuration.

Fig. 35
figure 35

Stresses developed for both materials (\(\sigma_{33}\))

As one can see in Fig. 35, the stress developed in material 2 represents the relaxation behavior of the elastic part of the studied specimen. After the total relaxation, the elastic stresses (or total stress, as there is no viscous stress at the end of the analysis) in both materials approximate each other. It is important to stress that the cross section of material 1 varies from \(1\,{\text{m}}^{2}\) through \(0.31\,{\text{m}}^{2}\) which explains the large difference between the initial viscous stress and the final elastic stress of material 1. The adopted tolerance is \(Tol = 10^{ - 7}\), and the time interval is \(\Delta t = 0.4\,{\text{s}}\).

4.8 Viscoelastic sandwich circular plate: solid

A simply supported circular plate with radius \(R = 1\,{\text{m}}\) and thickness \(t = 3\,{\text{cm}}\) is subjected to a transverse uniform loading. Only \(1/4\) of the structure is modeled using 300 prismatic finite elements with cubic approximation parallel to the plate surface and linear along thickness, totalizing 3 unitary layers, see Fig. 36. The simple support condition is applied at nodes of the bottom face. The load is applied as a volume force on the superior layer of the plate. When viscosity is considered, we used \(\gamma_{1} = \gamma_{2} = 1/2\), i.e., a Kelvin–Voigt-like viscoelastic model. Three situations are considered:

  1. (i)

    Only to verify the discretization, the three layers are considered elastic (steel) with properties: \(E = 200\,{\text{GPa}}\) and \(\nu = 0.25\) which corresponds to \(K = 133\,{\text{GPa}}\) and \(G = 80\,{\text{GPa}}\). The adopted transverse load is \(b_{3} = 5000\,{\text{kN/m}}^{3}\) on the top lamina, corresponding to a surface force of \(h_{3} = 50\,{\text{kN/m}}^{2}\). For this case, the achieved central transverse displacement is \(w = 0.7044\,{\text{cm}}\), 2.9% larger than the Kirchhoff kinematics analytical solution that is \(w_{k} = 0.684\,{\text{cm}}\). This result is expected as the adopted solid element is more flexible than the Kirchhoff kinematics. It is important to mention that this element has be validated for solids in the works [67, 68].

  2. (ii)

    Keeping the loading of case (i), the material of the central layer is substituted by Polypropylene with the elastic properties \(E = 1.088\,{\text{GPa}}\) and \(\nu = 0.49\) which correspond to \(K = 18.13\,{\text{GPa}}\) and \(G = 0.365\,{\text{GPa}}\). The adopted shear viscosity property is \(\overline{G} = 6.756\,{\text{GPa}} \cdot {\text{s}}\). These values are adapted from [69]. The central displacement for the elastic and viscoelastic cases is shown in Fig. 37, being the maximum elastic displacement \(w_{\max } = 0.7434\,{\text{cm}}\), 5.52% larger than the steel case (i). We used 100 time steps of \(\Delta t = 0.01\,{\text{s}}\) for the viscoelastic analysis.

  3. (iii)

    Considering the steel density \(\rho_{steel} = 7000\,{\text{kg/m}}^{3}\) and the polypropylene \(\rho_{pol} = 910\,{\text{kg/m}}^{3}\), we perform a dynamic analysis considering the same load of the previous cases suddenly applied. The central displacement along time is compared with the elastic result of case (ii) at Fig. 38. We used 500 time steps of \(\Delta t = 0.01\,{\text{s}}\).

Fig. 36
figure 36

Discretization, boundary conditions, and transverse displacement \((w_{\max } = 0.7044\,{\text{cm}})\)

Fig. 37
figure 37

a Elastic vertical displacement of the sandwich plate, b viscoelastic displacement at the plate center

Fig. 38
figure 38

Vertical displacement along time in a dynamic analysis

As one can see, the formulation is capable of modeling complex structures using the proposed viscoelastic model. Other values of \(\gamma_{1}\) and \(\gamma_{2}\) can be used to adequate the model to the adopted material, see the Appendix for a simple calibration example.

5 Conclusions

This work presents a constitutive model for both low compressible isothermal fluids and simple Kelvin–Voigt-like viscoelastic solids. Thanks to a simple interpretation of hyperelastic multiplicative strain decomposition we proposed an alternative dissipative internal energy regarding Lagrangian strain directions. Combining the hyperelastic potential and dissipative internal energy, the unified constitutive law arose. The proposed constitutive model is successfully implemented in the positional finite element method, resulting in a total Lagrangian formulation whose nodal parameters are positions. Two-dimensional benchmarks from literature are successfully used to verify the proposed constitutive model and the developed numerical formulation to represent quasi-Newtonian fluids. A simple slump test is used to show the applicability of the model to 3D simple fluid problems. Static and dynamic viscoelastic 3D solid examples are used to demonstrate the unified characteristic of the proposed approach. As the formulation is based on scalar quantities (Lagrangian strain invariants), the proposed constitutive model is quite broad and, in the future, may be applied to more general materials, including clay and gels. Future works include the parallelization of the code to allow more general applications and the extension of the constitutive model to include residual stresses.