Introduction

In the last few decades, there has been an important increase of ballistic impact studies in the literature due to its importance on textile human protection development to combat projectiles1. These studies are principally focused on arresting a high-speed projectile before a complete perforation of the body armor in order to prevent damage to the carrier. However, it is also important to understand the human body response under non-penetrating ballistic impacts2.

Although bulletproof vests are designed to prevent the penetration of ballistic projectiles on human thorax, damage caused by non-penetrating impacts may occur due to high trauma or pressure waves on soft biological tissues. Principal injuries in thorax due to high energy impacts are rib fractures and internal organ injuries3,4. Rib fractures by themselves are not a fatal injury, although chipped rib surfaces can punch vital organs, such as lungs. The number of broken ribs after an impact is related to the magnitude of chest deflection5. If several consecutive ribs are fractured due to a severe blunt impact to the chest, instability of the chest wall can be caused, which is named flail chest. Lung laceration due to splintered ribs could lead to simple pneumothorax or persistent airway leak, while a unilateral lung contusion is considered as a serious injury, and it is graded to severe for bilateral contusions4.

The biomechanical response of human thorax under non-penetrating ballistic impact can be determined by means of experimental testing with post-mortem human subjects or anthropomorphic test devices. Furthermore, human computational models are also assessed to predict biological injuries. These numerical models can be validated by experimental tests in cadaveric specimens. For instance, Bir et al. in 20046 studied the deflection of the thorax against high energy blunt trauma and defined corridors for the deflection and force. Roth et al.7 used Bir’s corridors to validate its thorax finite element model (FEM). Experimental testing in soft biological tissues is necessary for the development of numerical models able to predict damage in vital organs.

Regarding soft tissue, ballistic gelatin is one of the most used simulants, especially in ballistic impacts and forensic sciences. Under quasistatic conditions, the stress–strain relationship can be described through hyperelastic models due to the non-linear response, including large deformations and a high degree of incompressibility. However, for high-velocity impact studies, the strain rate dependence must be considered, which is commonly simulated including viscoelastic properties. Low-velocity tests (< 30 m/s) are usually developed in drop tower equipment8,9. On the other hand, for high strain rate characterization regular split Hopkinson pressure bar is used10. Nevertheless, gelatin low impedance with respect to metallic Hopkinson bar causes significant difficulties to get accurate results11. For high strain rate characterization of ballistic gelatin at nominal strain rates up to 4000 s−1, a polymer split Hopkinson pressure bar is usually required due to its low impedance11,12. Note that strain rates due to ballistic impacts are expected to be in the range 103–104 s−113. Therefore, stress–strain curves obtained from Hopkinson bar tests are necessary to develop and calibrate the material constitutive laws14.

Although there are several works in the literature in which numerical modelling of gelatin or soft tissue has been implemented for ballistic impacts, there is a lack of information about the calibration of the model coefficients. Most of the works in the literature modeled linear15,16,17 and non-linear18,19,20 viscoelasticity with Prony series because it is usually implemented in commercial software such as Abaqus, LS-DYNA or Ansys. In some works, the soft tissue is modelled as a viscoelastic material21 using generalized Maxwell elements (i.e., Prony series), neglecting the non-linear nature of the response. Bracq et al.22 modeled a styrene-ethylene-butylene-styrene (SEBS) gel, which has similar mechanical properties to ballistic gelatin, as a visco-hyperalistic material using a modified strain energy density function with Mooney–Rivlin parameters as a function of the strain rate. In ballistic impacts with penetration, ballistic gelatin is often modeled as a fluid23,24,25. This approach is primarily due to the hole created and the characteristic strain rate, which is much higher than that observed in impacts with non-penetrating bulletproof vests. Taddei26 modeled ballistic gelatin in penetrating impacts using the Smoothed Particle Hydrodynamics (SPH) method combined with finite elements. In other works, gelatin is modelled as an elastic–plastic linearly strain-hardening material27,28,29,30, while recent works explore new possibilities for soft tissues, such as hybrid polymer-water mechanical behavior31. In general, gelatin in ballistic impact without penetration must fulfill three main aspects: large deformations, non-linearity (i.e., hyperelasticity) and strain rate dependance (i.e., viscoelasticity).

The determination of the parameters for linear and non-linear viscoelastic material constitutive laws is not a simple task because of the complexity of the experimental tests and the resolution of non-linear algebraical equations32,33. The task can be carried out using different optimization or fitting strategies such as the optimal relaxation time range34, methods based on the one-logarithmic-decade apart16 or the direct fit approach using a global optimization algorithm15. For such a complex problem, the particle swarm optimization (PSO) algorithm also can be used35,36,37. Related to non-linear viscoelastic materials, Barrientos et al. proposed a method using optimization algorithms and curve fitting38 and Ghoreishy performed the calibration with a Nelder–Mead Simplex optimization method39. Ramzanpour et al.36,37 used the PSO algorithm, which is based in particles randomly located and their posterior displacement in the search domain of the objective function. More recently, Tayeb et al.40 improved the method by ranking the particles based on their success in the optimization. In the field of ballistics Peinado et al. used neural network algorithms for optimize stacking of the different ultrahigh molecular weight polyethylene (UHMWPE) layers of a bulletproof vests41. Genetic Algorithms (GA) can help to estimate the constants of the constitutive laws of materials, as Buchely et al. already did by calibrating the parameters of the Johnson Cook model with fracture parameters for steel from experimental displacement force data42 or43 on mechanical calibration of concrete. Pal et al. also applied the GA to calibrate geologic materials from different experimental tests taking into account the overall test performance44. In soft tissue dynamics, GA, in combination with inverse finite element methods, has been used to calibrate materials such as muscles45 or lung tissue46, both for application in automobile crash simulations. With this technique, it is possible to solve complex problems, including curve fitting and optimization. The algorithm can be further calibrated in an efficient way, being able to adjust parameters such as number of generations, error function, etc.

In this work, a methodology based on the differential evolution (DE) algorithm, which is a type of GA, has been developed to calibrate visco-hyperelastic constitutive laws. A DE algorithm has been chosen to avoid reaching local minima such as in traditional gradient-based optimization methods. The method has been specifically applied to calibrate compression stress–strain responses of soft tissue simulants (ballistic gelatin and SEBS polymer) obtained from the literature. The algorithm could implement the calibration of more complex loading conditions. However, these materials present a significant low stiffness at low strain rates, strong dependence on strain rate, and large deformations and high strain rate in ballistic impacts. Therefore, carrying out experimental tests is very complex and the literature contains mostly uniaxial compression relationships. In order to adapt to the particular conditions of experimental characterization specific to soft biological simulants oriented to the modeling of ballistic impacts, a constitutive law using a Mooney–Rivlin with Prony series material model has been employed, which is commonly implemented in commercial FE software such as Abaqus, Ansys or LS-Dyna. However, the code developed in this work can be used for the stress–strain curve calibration of any other visco-hyperelastic soft biological materials.

The methodology has been firstly validated through the calibration of synthetic stress–strain curves. These synthetic stress–strain curves were randomly developed from the material constitutive law using a priori known material coefficients and compared to the coefficients calibrated by the DE algorithm. In this first stage, an in-depth analysis has been carried out to establish the influence of some parameters such as number of generations or individuals, optimization technique or number of Prony series. Finally, the algorithm has been successfully applied to experimental stress–strain curves obtained from the literature for ballistic gelatin and SEBS polymer. The code used in this work and the coefficients obtained are given as supplementary data which can be a valuable tool for ballistic impact analyses and soft tissue simulation.

Material and methods

Constitutive model and equations

The visco-hyperelastic model was chosen as the constitutive material model for gelatin and SEBS. Hyperelastic model is used for large strain nonlinear materials avoiding convergence problems and viscoelastic model provides the time dependence behavior. Experimental tests from the literature13,14 show the high strain rate dependence and large strains of these materials. In ballistic impacts, the strain rate of gelatin changes along the specimen and over time, reaching up values up to 104 s−113. Considering the strain rate variation that can appear in a ballistic impact, depending on the distance to the impact point, it is important the use of a strain rate-dependent model as the viscoelastic.

In this work, equations in a compression test for large strains at different strain rates have been used. Some general considerations have been made. A compression stress σ is applied at the direction 11:

$${\sigma }_{11}=\sigma \text{ and }{\sigma }_{22}={\sigma }_{33}=0$$
(1)

According to previous equation, barreling has not been considered in this implementation, because curves obtained from previous experimental works13,14 do not include inhomogeneous deformations. The material is considered as incompressible. Elongations in direction 11 are defined by the compression test as a boundary condition. Displacements in directions 22 and 33 have no limitations and are symmetrical. This leaves with the following stretch ratio λ Eqs. (2):

$${\lambda }_{11} {\lambda }_{22} {\lambda }_{33}=1$$
$${\lambda }_{11}= \lambda $$
$${\lambda }_{22}={\lambda }_{33}$$
$${\lambda }_{22}={\lambda }_{33}={\lambda }^{\frac{-1}{2}}$$
(2)

It is possible to define λ as a function of engineering strain \({\varepsilon }_{\text{eng}}\), engineering strain rate \({\dot{\varepsilon }}_{\text{eng}}\) and time t:

$$\lambda \left(t\right)=1+{\varepsilon }_{\text{eng}}\left(t\right)=1+{\dot{\varepsilon }}_{\text{eng}} t$$
(3)

Once the principal variables of the test have been defined, first small strain model and equations will be explained, and then the large strain problem will be solved. Formulation for small strains is included for explanatory purposes. The code has implemented the formulation for large strains, which is more complex and considers the dimensional effects of large geometrical deformations on stresses, replicating the behavior for both small and large strains.

Small strains

After preliminary tests with some of the objective curves of this work, Mooney–Rivlin (M–R) has been chosen as the hyperelastic model for this work, which uses elastic strain energy to characterize the mechanical response. Compared to other constitutive models, M–R has shown its accuracy and its simplicity in some commercial software such as Abaqus. This model is considered as a phenomenological constitutive law, whose calibration can be seen somehow as a polynomic curve fitting to experimental stress–strain data. It is principally used because of its good correlation to experimental tests. Mooney–Rivlin is based on the strain energy as Eq. (4) shows, considering the relation between the derivative of the strain energy and the principal Cauchy stress.

$${\sigma }_{\text{i}}={\lambda }_{\text{i}}\frac{\partial W}{\partial {\lambda }_{\text{i}}}$$
(4)

where \(\sigma \) is the principal Cauchy stress, i are each principal directions, \(W\) is the strain energy and λ the stretch ratio. Mooney-Rivlin models calculate the strain energy as a sum of the invariants, as it is shown in Eq. (5) where \({I}_{1}\) and \({I}_{2}\) are the first and the second invariants, respectively. \({C}_{\text{ij}}\) and \(D\) are the constants of the Mooney-Rivlin model, \(m\) and \(l\) determinate the number of terms of the polynomial and \(J\) is the Jacobian.

$$W=\sum_{i=0}^{m}\sum_{j=0}^{l}{C}_{\text{ij}}{\left({I}_{1}-3\right)}^{i}{\left({I}_{2}-3\right)}^{j}+D{\left(J-1\right)}^{2}$$
(5)

Applying Eqs. (4) and (5) to the 3 principal directions for 2 terms of the polynomial (m = 1 and l = 1) and the compression test conditions from (1) and (2), engineering stresses versus time Eq. (6) is obtained.

$${\sigma }_{\text{eng M}-\text{R}}\left(t\right)=2{C}_{10}\left(\lambda \left(t\right)-\frac{1}{{\lambda \left(t\right)}^{2}}\right)+2{C}_{01}\left(1-\frac{1}{{\lambda \left(t\right)}^{3}}\right)$$
(6)

To obtain true stresses, the section variation must be considered multiplying engineering stresses by λ:

$${\sigma }_{\text{M}-\text{R}}(t)=\lambda \left(t\right){\sigma }_{\text{eng M}-\text{R}}\left(t\right)=2{C}_{10}\left({\lambda \left(t\right)}^{2}-\frac{1}{\lambda \left(t\right)}\right)+2{C}_{01}\left(\lambda \left(t\right)-\frac{1}{{\lambda \left(t\right)}^{2}}\right)$$
(7)

The viscoelastic model is defined by generalized Maxwell model that consists of a spring parallel to n Maxwell elements (a spring connected in series with a damper) as shown in Fig. 1, where G, Gi and τi, are the long term shear modulus, the coefficients of Prony series and the Prony series relaxation time respectively. The hyperelastic component depends on strains, but viscous elements depend on strains over time.

Figure 1
figure 1

Generalized Maxwell viscoelastic model scheme.

Viscous relaxation is implemented by Prony series that model dampers. The viscoelasticity is implemented through the Prony series because this model is the most extensively used in leading commercial finite element software. Viscoelastic constitutive equations for 1D isotropic material are defined by the convolution integral of the engineering instantaneous stresses, \({\sigma }_{eng, 0}\left(t\right)\), and the derivate of the dimensionless shear modulus, \(\dot{g}\left(t\right)\), from the initial applied strains to t. Viscoelastic engineering stress equation is defined by Abaqus47 as:

$${\sigma }_{\text{eng},\text{ v}-\text{e}}\left(t\right)={\sigma }_{\text{eng}, 0}\left(t\right)+{\int }_{-\infty }^{t}\dot{g}\left(s\right) {\sigma }_{\text{eng}, 0}\left(t-s\right) ds$$
(8)

where:

$$\dot{g}\left(t\right)= -\sum_{i=1}^{N}\frac{{g}_{\text{i}}}{{\tau }_{i}}{e}^{- \frac{t}{{\tau }_{i}}}$$
(9)

N, \({g}_{i}\) and \({\tau }_{i}\) are respectively the number of terms, the dimensionless shear relaxation modulus, and the relaxation time of the Prony series. Dimensionless shear relaxation modulus are the coefficients of the Prony series divided by the instantaneous shear modulus, \({g}_{\text{i}}=\frac{{G}_{\text{i}}}{{G}_{0}}\), and the dimensionless long-term shear modulus is 1 minus the sum of dimensionless shear relaxation modulus, \({g}_{\infty }=1-\sum_{i=1}^{N}{g}_{\text{i}}\). In this visco-hyperelastic model the instantaneous shear modulus can be calculated as the derivation respect to deformations of Eq. (8) for a non-deformation state (λ = 1), leading to \({G}_{0}=6\left({C}_{10}+{C}_{01}\right)+\sum_{i=1}^{N}{G}_{\text{i}}\).

Large strains

Large strain formulation is more complex than small strain formulation because of geometric effects. Cauchy stress tensor σ can be calculated as the instantaneous stress σ0 minus viscous stress relaxation terms σi:

$${\varvec{\sigma}}\left(t\right)={{\varvec{\sigma}}}_{0}\left(t\right)-\sum_{i=1}^{N}{{\varvec{\sigma}}}_{\text{i}}\left(t\right)$$
(10)

where for a 1D compression test, instantaneous stress can be defined by Mooney–Rivlin true stresses Eq. (10) described above and the dimensionless long-term shear modulus \({g}_{\infty }\):

$${{\varvec{\sigma}}}_{0}\left(t\right)=\frac{{\sigma }_{\text{ M}-\text{R}}\left(t\right)}{{g}_{\infty }} \left[\begin{array}{ccc}1& 0& 0\\ 0& 0& 0\\ 0& 0& 0\end{array}\right]$$
(11)

\({{\varvec{\sigma}}}_{i}\left(t\right)\) can be divided into its deviatoric and hydrostatic components:

$${{\varvec{\sigma}}}_{\text{i}}\left(t\right)={{\varvec{\sigma}}}_{\text{i}}^{\text{D}}\left(t\right)+{{\varvec{\sigma}}}_{\text{i}}^{\text{H}}\left(t\right)$$
(12)

Using the volumetric/deviatoric-split hereditary integral in the reference configuration for large strain material and then using a standard push-forward operator, the following expression for deviatoric Kirchhoff stresses can be obtained from Abaqus user’s Manual47. Considering the relationship between Cauchy and Kirchhoff stresses \(\sigma ={J}^{-1}\tau \), where the volume variation \(J\) for an incompressible material is 1.0. Hereafter, τ will refer only to the relaxation time of the Prony series and not to the Kirchhoff stresses, which leads to:

$${{\varvec{\sigma}}}_{\text{i}}^{\text{D}}\left(t\right)=dev\left[\frac{{g}_{\text{i}}}{{\tau }_{i}}\underset{0}{\overset{t}{\int }}{e}^{\frac{-s}{{\tau }_{i}}}{{\overline{{\varvec{F}}} }_{\text{t}}}^{-1}\left(t-s\right) {{\varvec{\tau}}}_{0}^{D}\left(t-s\right) {{\overline{{\varvec{F}}} }_{\text{t}}}^{-T}\left(t-s\right) ds\right]$$
(13)

In the above equation \({\overline{{\varvec{F}}} }_{\text{t}}\left(t-s\right)\) is the distortional deformation gradient of the state \(t-s\) relative to the state at \(t\). It is related to the deformation gradient \({{\varvec{F}}}_{\text{t}}\left(t-s\right)\), leading to \(\overline{{{\varvec{F}} }_{\text{t}}}\left(t-s\right)=\frac{{{\varvec{F}}}_{\text{t}}\left(t-s\right)}{{J}^{1/3}}\)47. As previously mentioned, the volume variation \(J\) of an incompressible material is 1.0, so: \({\overline{{\varvec{F}}} }_{\text{t}}\left(t-s\right)={{\varvec{F}}}_{\text{t}}\left(t-s\right)\). And \({{\varvec{F}}}_{\text{t}}\left(t-s\right)\) is the deformation gradient at time \(t-s\) related to time \(t\). Therefore, we obtain:

$${\overline{{\varvec{F}}} }_{\text{t}}\left(t-s\right)=\frac{\partial {\varvec{x}}\left(t-s\right)}{\partial {\varvec{x}}\left(t\right)}=\left[\begin{array}{ccc}\frac{\lambda \left(t-s\right)}{\lambda \left(t\right)} & 0& 0\\ 0& {\left(\frac{\lambda \left(t-s\right)}{\lambda \left(t\right)}\right)}^{-1/2}& 0\\ 0& 0& {\left(\frac{\lambda \left(t-s\right)}{\lambda \left(t\right)}\right)}^{-1/2}\end{array}\right]$$
(14)

Deviatoric instantaneous stress, \({{\varvec{\sigma}}}_{0}^{D}\), can be calculated from instantaneous stress:

$${{\varvec{\sigma}}}_{0}^{\text{D}}\left(t\right)={{\varvec{\sigma}}}_{0}\left(t\right)-\frac{tr\left({{\varvec{\sigma}}}_{0}\left(t\right)\right)}{3}{\varvec{I}}=\frac{1}{3}\frac{{{\varvec{\sigma}}}_{\text{M}-\text{R}}\left(t\right)}{{g}_{\infty }}\left[\begin{array}{ccc}2& 0& 0\\ 0& -1& 0\\ 0& 0& -1\end{array}\right]$$
(15)

Substituting Eqs. (14) and (15) into Eq. (13) and reformulating, it is obtained:

$${{\varvec{\sigma}}}_{\text{i}}^{\text{D}}\left(t\right)=\frac{{g}_{\text{i}}}{{\tau }_{i}}\underset{0}{\overset{t}{\int }}{e}^{\frac{-s}{{\tau }_{i}}} {{\varvec{\sigma}}}_{0}\left(t-s\right) \left[\begin{array}{ccc}{\frac{4 }{9}\left(\frac{\lambda \left(t\right)}{\lambda \left(t-s\right)}\right)}^{2} +\frac{2}{9}\frac{\lambda \left(t-s\right)}{\lambda \left(t\right)}& 0& 0\\ 0& - {\frac{2 }{9}\left(\frac{\lambda \left(t\right)}{\lambda \left(t-s\right)}\right)}^{2}-\frac{1}{9}\frac{\lambda \left(t-s\right)}{\lambda \left(t\right)} & 0\\ 0& 0& - {\frac{2 }{9}\left(\frac{\lambda \left(t\right)}{\lambda \left(t-s\right)}\right)}^{2}-\frac{1}{9}\frac{\lambda \left(t-s\right)}{\lambda \left(t\right)} \end{array}\right] ds$$
(16)

In a 1D compression test the viscous relaxation Cauchy stresses matrix must be zero in all components except 11. Volumetric component is a diagonal matrix with equal components. The following equation must be solved:

$${{\varvec{\sigma}}}_{\text{i}}={{\varvec{\sigma}}}_{\text{i}}^{\text{H}}+{{\varvec{\sigma}}}_{\text{i}}^{\text{D}}=\left[\begin{array}{ccc}{\sigma }_{\text{i}}& 0& 0\\ 0& 0& 0\\ 0& 0& 0\end{array}\right]=\left[\begin{array}{ccc}{\sigma }_{\text{i}}^{\text{H}}& 0& 0\\ 0& {\sigma }_{\text{i}}^{\text{H}}& 0\\ 0& 0& {\sigma }_{\text{i}}^{\text{H}}\end{array}\right]$$
$$+\frac{{g}_{\text{i}}}{{\tau }_{i}}\underset{0}{\overset{t}{\int }}{e}^{\frac{-s}{{\tau }_{i}}} {{\varvec{\sigma}}}_{0}\left(t-s\right) \left[\begin{array}{ccc}{\frac{4 }{9}\left(\frac{\lambda \left(t\right)}{\lambda \left(t-s\right)}\right)}^{2} +\frac{2}{9}\frac{\lambda \left(t-s\right)}{\lambda \left(t\right)}& 0& 0\\ 0& - {\frac{2 }{9}\left(\frac{\lambda \left(t\right)}{\lambda \left(t-s\right)}\right)}^{2}-\frac{1}{9}\frac{\lambda \left(t-s\right)}{\lambda \left(t\right)} & 0\\ 0& 0& - {\frac{2 }{9}\left(\frac{\lambda \left(t\right)}{\lambda \left(t-s\right)}\right)}^{2}-\frac{1}{9}\frac{\lambda \left(t-s\right)}{\lambda \left(t\right)} \end{array}\right] ds$$
(17)

and viscous relaxation Cauchy stresses can be calculated:

$${{\varvec{\sigma}}}_{\text{i}}\left(t\right)=\frac{{g}_{\text{i}}}{{\tau }_{i}}\underset{0}{\overset{t}{\int }}{e}^{\frac{-s}{{\tau }_{\text{i}}}} {{\varvec{\sigma}}}_{0}\left(t-s\right) \left[\begin{array}{ccc}{\frac{2 }{3}\left(\frac{\lambda \left(t\right)}{\lambda \left(t-s\right)}\right)}^{2}+\frac{1}{3}\frac{\lambda \left(t-s\right)}{\lambda \left(t\right)}& 0& 0\\ 0& 0& 0\\ 0& 0& 0\end{array}\right]ds$$
(18)

Finally, Cauchy stresses can be expressed as a function of time:

$${\varvec{\sigma}}\left(t\right)=\left[\begin{array}{ccc}\frac{{\sigma }_{\text{M}-\text{R}}\left(t\right)}{{g}_{\infty }}& 0& 0\\ 0& 0& 0\\ 0& 0& 0\end{array}\right]-\sum_{i=1}^{N}\frac{{g}_{\text{i}}}{{\tau }_{i}}\underset{0}{\overset{t}{\int }}{e}^{\frac{-s}{{\tau }_{i}}} \frac{{\sigma }_{\text{M}-\text{R}}\left(t-s\right)}{{g}_{\infty }} \left[\begin{array}{ccc}{\frac{2 }{3}\left(\frac{\lambda \left(t\right)}{\lambda \left(t-s\right)}\right)}^{2}+\frac{1}{3}\frac{\lambda \left(t-s\right)}{\lambda \left(t\right)}& 0& 0\\ 0& 0& 0\\ 0& 0& 0\end{array}\right]ds$$
(19)

In order to develop the curve calibration, visco-hyperelastic Eq. (19) (based on Mooney-Rivlin model and Prony series) for an isotropic material in a uniaxial compression test for large-strain formulation were implemented in a Python script, which will be further explained below.

Genetic algorithm

In our research, in order to calibrate the curves of numerical modelling we use a genetic algorithm (GA) for calibrating the visco-hyperelastic parameters of ballistic gelatin. This decision was influenced by the limitations of conventional or simple calibration methods in converging on local minima in complex optimization problems with many interconnected non-linear variables. In the literature, we found viscoelastic constitutive model calibrations20,39 in which long-term stiffness is calibrated from a curve under quasi-static conditions, followed by a new calibration at a higher strain rate by adding a Prony term to assign viscoelastic properties. Performing the adjustment in two stages can interfere with the final fit under quasi-static conditions if the assigned τ is not much lower than the characteristic time under quasi-static conditions. Our method allows simultaneous adjustment for all curves at different strain rates, minimizing the global error of the loss function, and if necessary, weighting one more heavily.

Another common calibration technique involves fixing τ homogeneously distributed on the logarithmic scale and optimizing their stiffnesses48. Our methodology also allows for the adjustment of τ, reducing the error while decreasing the number of Prony series required. In these types of calibrations, optimization methods like the Nelder–Mead simplex method39, least squares20,48 or Excel Solver18 are commonly found in the literature but they are not powerful enough for complex calibrations. However, to calibrate all curves simultaneously in a homogeneous manner and allowing the adjustment of the Prony series by optimizing both the stiffnesses and τ of the series requires a powerful calibration algorithm that avoids convergence on local minima. Therefore, the use of a powerful genetic algorithm was justified.

The genetic algorithm used in this research is the Differential Evolution algorithm, which was first published in 1997 by R. Storn and K. Price49. DE is a heuristic method for local optimization of continuous surfaces. The code implemented in this work was based on the Rodríguez–Mier development50. The goal of the algorithm is to find an optimum combination of the N parameters chosen that can influence the problem to be solved. In this case, the parameters are the coefficients of the Prony series (n, \({G}_{1}\), \({\tau }_{1}\), \({G}_{2}\) and \({\tau }_{2}\)) and Mooney–Rivlin constitutive model parameters (\({C}_{10}\) and \({C}_{01}\)).

The DE algorithm requires an objective function that characterizes the performance of any combination of the N parameters. Each parameter can be thought as a degree of freedom, and so, a combination of those parameters can be represented as a N dimension vector, which will be referred to as an individual. In this work, the objective function (20) is a variation of the root mean square average percentile error (RMSAPE). This function calculates the error between the experimental stress–strain relationships at different strain rates and the ones obtained by the individual.

$${F}_{\text{obj}}=\sqrt{\frac{{\sum }_{i=1}^{m}{\sum }_{j=1}^{n}{\left(\frac{\left({\sigma }_{\text{obj},\text{ ij}}-{\sigma }_{\text{DE},\text{ ij}}\right)}{\frac{\sum_{k=1}^{n}{\sigma }_{\text{obj},\text{ik}}}{n}}\times 100\right)}^{2}}{n * m}}$$
(20)

where m represents the number of strain rate curves, n the number of points of each curve, \({\sigma }_{\text{obj},\text{ij}}\) objective stresses at strain rate i at position j and \({\sigma }_{\text{DE},\text{ij}}\) stress calculated by the algorithm at strain rate i at position j. After some tests, it was decided to use 10 points of each curve in our calibrations. The number of points which discretize the stress–strain curve conditions the whole calibration process in terms of efficiency and accuracy. However, this parameter is easier a priori defined as the minimum number of points which capture the response along the evaluated strain range. Considering the stress–strain relationships of SEBS and ballistic gelatine and after performing several tests using just the hyperelastic model, we set to 10 points this variable. Nevertheless, note that depending on the material and the complexity of the stress–strain relationship, the number of points should be changed.

The algorithm initializes randomly the first generation which is a set of NP individuals, known as the population. Note that the parameter NP is set a priori and does not change during the iteration process. Next, the performance of each individual is measured using the objective function. Once a generation has been tested and therefore, the performance of each individual is known, the next generation, or the next NP individuals, is calculated. To do so, the DE algorithm uses three mechanisms: mutation, crossover and selection.

The mutation mechanism consists of selecting an individual, called the parent, and three other random individuals from the rest of the population. From the three randomly picked individuals, a mutant individual is obtained following:

$${x}_{t,\text{ i}}={x}_{1,\text{ i}}+F\cdot {(x}_{2,\text{ i}}-{x}_{3,\text{i}})$$
(21)

where \({x}_{1,i}, {x}_{2, i}\) and \({x}_{3,i}\) are the random individuals picked for parent i, F is the mutation factor, a parameter that influences the magnitude of the subtraction, and \({x}_{t,i}\) is the mutant calculated for parent i.

The crossover mechanism mixes the parameters of the parent and the mutant with certain probability, called the crossover probability Cp, obtaining an individual called the trial individual. This means that for each of the N parameters, there is a probability of Cp that the trial vector shares that parameter with the parent, and so, a probability of (1-Cp) that it shares that parameter with the mutant. In this work, values for F and Cp are 0.8 and 0.7, respectively. These values have been fixed according to literature50,51 and a preliminary sensitivity analysis.

The last mechanism, the selection, consists of evaluating the performance of the trial individual using the objective function and comparing it to the performance of the parent. From these two individuals, the one that has better performance will survive for the next generation, and the other one will be deleted from the population.

These three mechanisms need to be applied taking all the NP individuals of one generation as the parent to calculate the next generation.

As inputs for the algorithm, parameter search bounds must be stablished, and they are very important for the adequate convergence of the algorithm. Too large ranges hinder the convergence of the solutions, lengthening the calibration or favoring convergence to local minima. It can also lead to solutions that make no physical sense by converging in Prony series of very high instantaneous stiffness and excessively short relaxation times. In the opposite case, too small ranges may leave out the global minimum. To avoid these problems, automatic calculation of the limits based on the target curves and their strain rate has been added to the code. Limit calculation criteria have a physical sense to the solution. τlim were calculated from the largest and smallest absolute strain rates (sr) and calibration coefficients:

\({\mathit{log}}_{10}{\tau }_{\text{lim},\text{ max}}= {\mathit{log}}_{10}\left({min\left(\left|sr\right|\right)}^{-1}\right)+1\) and

$${\mathit{log}}_{10}{\tau }_{\text{lim},\text{ min}}= {\mathit{log}}_{10}\left({max\left(\left|sr\right|\right)}^{-1}\right)-2$$
(22)

Upper limit of the Prony series coefficients \({G}_{\text{i},\text{max}}\) and upper limit of Mooney–Rivlin constants \({C}_{10,\text{max}}\) and \({C}_{01,\text{max}}\) are defined to generate individuals with all its stresses over the objective curves with the other shear moduli close to zero. Its lower limits are zero to maintain stability for any λ value52, although \({C}_{10}\) and \({C}_{01}\) can never take that value at the same time since the model would present zero hyperelastic stiffness.

Four early stopping criteria have been implemented, two of them to estimate the convergence of the solutions and the other two to avoid extremely long calibrations. First convergence criterion is met when the percentage reduction in the mean generation error is reduced by less than 2% over 2000 generations. This criterion is useful in long calibrations of more than 5000 generations. The other convergence criterion is that the percentage difference between the best individual of the generation and the mean error of the generation is less than 0.001%. This criterion is particularly useful in short calibration with less than 5000 generations. The other two completion criteria are: maximum of 100,000 generations and that the error of the best individual of the generation is less than 0.001%. All completion criteria parameters are inputs of the algorithm and are easily editable to suit different material calibrations. Figure 2 illustrates the flow diagram of the GA.

Figure 2
figure 2

General GA flow diagram.

In this way, the user needs to select the objective function and the following algorithm factors: number of individuals per generation (NP), algorithm completion criteria parameters, parameters that can affect the problem, mutation factor and the crossover probability.

Optimization cases

The GA has been applied to three different optimization situations. The first one (named ideal visco-hyperelastic model calibration) is useful to check and validate the accuracy of the code and study the importance of the starting parameters. Finally, the visco-hyperelastic parameters of two different materials have been calibrated to its experimental stress–strain curves obtained from literature, as real applications of the methodology proposed.

Ideal V–H model calibration

In order to check and test the GA avoiding its stochastic behavior of the algorithm and variability of target curves, five different stress–strain curves at different strain rates each have been used as objective curves of the GA. For this purpose, material properties of five different visco-hyperelastic ideal materials have been randomly generated. These material models are named: Random_1, Random_2, Random_3, Random_4 and Random_5. Each random material model is defined by three Prony series (\({G}_{1}\), \({\tau }_{1}\), \({G}_{2}\), \({\tau }_{2}\), \({G}_{3}\) and \({\tau }_{3}\)) and two Mooney-Rivlin constants (\({C}_{10}\) and \({C}_{01}\)). Their stress–strain curves have been generated at four different strain rates (− 1 s−1, − 10 s−1, − 100 s−1 and − 1000 s−1). These synthetic curves have been created with Mooney–Rivlin and Prony Series constitutive model, so ideally a perfect fit could be obtained. Next, some material model parameters have been optimized for these curves trying different starting parameters to study and validate the GA.

A parametric analysis has been carried out with some important variables of the GA to study its sensitivity and effect at the convergence time and the final solution loss function value. Some conditions have been defined for a standard case as reference for the other variations. These are the three variables analyzed in this parametric study:

Optimization strategies

We have noticed that relaxation time is a very significant parameter in this algorithm, so we have tried 3 different strategies with respect to its bounds in order to avoid local minimums and minimize the loss function or help convergence and decrease calculation duration. These are the 3 strategies and an example for 2 Prony series for the logarithmic \({\tau }_{\text{lim}}\) range [0, 6]:

  • Free \({\tau }_{\text{lim}}\): all \({\tau }_{\text{lim}, i}\) have the same bounds (a minimum and a maximum).

  • \({\text{log}}_{10}{\tau }_{\text{lim},1} \in \left[0, 6\right]\) and \({\text{log}}_{10}{\tau }_{\text{lim},2} \in \left[0, 6\right]\)

  • Semifree \({\tau }_{\text{lim}}\): logarithmic-time scale is divided in homogeneous ranges and assigned each of them to each Prony series \({\tau }_{\text{lim},i}\) boundaries.

  • \({\text{log}}_{10}{\tau }_{\text{lim},1} \in \left[0, 3\right]\) and \({\text{log}}_{10}{\tau }_{\text{lim},2} \in \left[3, 6\right]\)

  • Fixed \({\tau }_{\text{lim}}\): \({\tau }_{\text{lim},i}\) are fixed homogeneously in the logarithmic-time scale from the beginning of the optimization and the code adjusts the shear relaxation modulus of the Series. Barrientos et al. 2019 applied this strategy38.

  • \({\text{log}}_{10}{\tau }_{\text{lim},1}=2\) and \({\text{log}}_{10}{\tau }_{\text{lim},2}=4\)

Number of Prony series

The number of Prony series has been varied from 1 to 5 for each strategy previously explained.

Number of individuals per generation

Also 10 different calibrations have been done modifying the number of individuals of each generation (5, 10, 15, 20, 30, 40, 50, 60, 80 and 100).

This parametric analysis implies a total of 25 optimization cases with different GA’s starting parameters and the standard reference case for each one of the 5 objective random cases leading a total of 130 optimizations.

The standard cases will be performed according initial algorithm parameters shown in Table 1:

Table 1 Standard reference cases calibrations parameters.

Noise influence

During experimental tests, the apparition of noise data in the captured signal is usual. Noise can affect the calibration of the objective curves and its study is interesting for our implementation. To analyze the influence of noise in objective curves, we have performed a study including artificial noise in one of our ideal curves. For this purpose, ideal stress–strain curve named Random_3 has been numerically modified with a ± 5% randomly generated noise. Curve Random_3 was chosen since it is the one with the most accurate calibration. Considering the stochastic behavior of the algorithm, 5 different trials have been developed to analyze the noise influence in the calibration.

Ballistic gelatin V–H model calculation

Ballistic gelatin experimental data for the fitting has been obtained from14, where compression tests were carried out to 10% weight concentration. Authors used a polymer Hopkinson bar at different high strain rates between 2500 s−1 and 6600 s−1 and at quasistatic strain rate 0.0107 s−1. Compression test at 0.0107 s−1, 2500 s−1, 3600 s−1 and 5700 s−1 stress–strain curves have been chosen as objective curves of ballistic gelatin. Some conclusions obtained from the calibration tests explained in previous section were applied to this calibration. Table 2 shows the principal parameters used in ballistic gelatin calibration.

Table 2 Ballistic gelatin calibration parameters.

SEBS V–H model calculation

SEBS gel has been proposed as an alternative to ballistic gelatin for dynamic impacts53,54. This polymer mixed with oil solvent has shown very stable mechanical properties and excellent optical transparency55. This material presents large deformations and strain rate dependence; therefore, it can be calibrated with the methodology proposed in this work. SEBS experimental data for the fitting has been obtained from13, where compression tests at a wide range of strain rates were carried out. In this work, strain rates of 0.0018 s−1, 0.18 s−1, 59.5 s–−1 and 820 s−1 have been chosen to describe stress–strain curves for SEBS’s behavior. Table 3 shows the principal parameters used in SEBS calibration.

Table 3 SEBS calibration parameters.

Results

Proposed methodology

After the development of the genetic algorithm, the calibration of the algorithm parameters and its application in fitting real experimental curves of both gelatin and SEBS, we have leveraged this accumulated experience to develop a comprehensive methodology. This methodology is specifically designed for readers who are new to using this algorithm and aims to facilitate its application to new materials. The approach we have formulated is user-friendly and structured in a way that guides inexperienced users through the process of employing the genetic algorithm effectively.

It encompasses detailed steps starting from the basic setup and parameter selection to the final fitting. The proposed methodology is detailed in the flow chart of Fig. 3. This methodology not only simplifies the learning curve associated with the genetic algorithm but also helps users obtain reliable and accurate results when applying the algorithm for the first time. We believe that this contribution will be of great help to researchers and practitioners in this field, allowing them to exploit the full potential of the genetic algorithm in the calibration of soft tissue biomaterials and other materials with visco-hyperelastic parameters.

Figure 3
figure 3

Flow chart of the proposed calibration method.

Verification of the model equations

One of the purposes of this study is to obtain the calibration of the constitutive laws of ballistic gelatin for future finite element modeling of ballistic impacts. For this reason, to validate the compression test equations implemented in the code, previously presented in Sect. 2.3, compression tests on five different visco-hyperelastic materials varying \({\tau }_{1}\) have been replicated with both finite element software Abaqus and our implementation in Python.

The test conditions were strain rate \(\dot{\varepsilon }=5700 {s}^{-1}\) and \({\lambda }_{\text{final}}=0.45\). The visco-hyperelastic material properties were for all materials \({C}_{10}=0.0 \text{MPa}\), \({C}_{01}=5.0 \text{MPa}\), \({g}_{1}=0.5\) but different values of \({\tau }_{1}\) are \({10}^{-10} \text{s}\), \({10}^{-6} \text{s}\), \({10}^{-5} \text{s}\), \({10}^{-4} \text{s}\) and \({10}^{0} \text{s}\). The following graphs show the stress–strain curves and the relative error for each curve (Fig. 4), comparing results between finite element model in Abaqus and our implementation in Python.

Figure 4
figure 4

Stress–strain curves comparison of five different materials between Abaqus calculation and our code implementation. (a) Stress–strain curves. (b) Relative error between both implementations.

As it is shown in Fig. 4, the implementation in Python reproduces accurately the mechanical behavior of the visco-hyperelastic material at compression test for variable strain rates. Regarding the relative error, it represents the good accuracy of the implementation. The highest percentage relative error at the beginning of the compression is probably due to the small stress values at the beginning of the curve, considering its exponential tendency. Once the numerical model has been stabilized, the root mean square error of all points is less than 0.04%.

Ideal V–H model calibration

In this section, some sets of calibrations have been carried out to study the influence of the optimization technique, the number of Prony series and the number of individuals per generation to the final solutions and to the calibration time.

General case

Five different standard calibrations have been carried out in order to analyze the variability of the implementation with random curves. Figure 5a shows the error RMSAPE of the best individual of each generation versus the computational time. Figure 5b shows the convergence ratio as the variation of the mean RMSAPE between generations. Due to the excessive number of points and variations of the curves, the convergence ratio has been calculated every 50 generations.

Figure 5
figure 5

RMSAPE versus computation time for Standard calibrations. Axes are plotted in logarithmic scale. (a) Best individual RMSAPE. (b) Convergence ratio.

Despite being different sets of randomly generated curves, a very similar trend of error reduction versus calibration time is observed. The error reduction smooths out with the course of the optimization, so both axes have been plotted on logarithmic scale.

Note that thanks to the convergence ratio, some information can be obtained from Fig. 5b. There is a local minimum around 100 min for curves number 1 and 2, which implies a stabilization of the RMSAPE (Fig. 5a). To avoid this local minimum, the convergence ratio must increase until best RMSAPE decreases again, leading to the global minimum.

Optimization technique and number of Prony series

The influence of the three optimization techniques has been studied in this section. As in previous sections, 5 different objective curves have been calibrated to reduce the stochastic effect. Additionally, 5 different number of Prony series have been used (1, 2, 3, 4 and 5) for each objective curve and optimization technique. For this purpose, 75 calibrations have been carried out, leading to 25 calibrations for each of the three optimization techniques (free τlim, semifree τlim and fixed τlim).

Figure 6 shows the scatter plot of the final RMSAPE versus calibration time for the 75 cases. At first sight, semifree τlim gets the best error and fixed τlim required the shortest calculation times. Free τlim hasn’t got any advantage over the other two strategies. Semifree τlim helps to distribute τ values avoiding local minimums and favoring convergence while allows τ optimization in its bounds. On the other hand, fixed τlim reduces the number of degrees of freedom of the problem. Thus, reducing convergence time and local minimums, but with a worst final fit achievable calibration. The convergence ratio has been calculated as the final RMSAPE divided by the calculation time for every calibration. Finally, mean convergence ratios and their standard deviation have been included in Fig. 6 for every strategy, giving us a general overview of their behavior. Free and semifree strategies show similar values, while mean convergence and the standard deviation are higher for the fixed optimization technique, confirming the worst capabilities of this last.

Figure 6
figure 6

Final RMSAPE solution versus final computation time using the 3 different optimization strategies. Mean convergence ratio for each strategy and standard deviation is included in the graphic as text. Axes are plotted in logarithmic scale.

The results regarding the influence of the Prony series number are shown in Fig. 7. The average of the final RMSAPE for the 5 calibration cases is plotted versus the number of Prony series for the 3 calibration strategies.

Figure 7
figure 7

Final RMSAPE solution versus number of Prony series for the 3 different optimization strategies.

It is observed that the error is the same for semifree and free strategy with only one term of the Prony series. This is consistent since bounds of semifree Prony serie are the same than for free Prony serie when there is only one term. Then, when there are more Prony series, semifree strategy distributes the whole τlim range to the different number of Prony series and change with respect to free Prony series.

In general, the semifree strategy obtained the best results. Therefore, it was selected as the optimization strategy for the next study about the number of individuals analysis and in the calibration of SEBS and ballistic gelatin.

Number of individuals

Ten different number of individuals have been analyzed for each random curve, leading to a total of 50 calibrations. Figure 8 shows RMSAPE versus calculation time of Random_4 case for 10 different number of individuals (only one of the 5 random cases is shown for clearness, since other graphs presented a similar tendency). More results from this section are shown in the Appendix (Figs. 1217).

Figure 8
figure 8

Best individual RMSAPE versus computation time for the Random_4 calibration case for different number of individuals.

The error-time trend is very similar for the 10 studied cases, but the main difference is the convergence point. Calibrations with a few individuals cannot cover the whole range of variables and have a low level of variability, consequently convergence is achieved soon in a local minimum. In general, more individuals need more generations to converge and calculating each generation basically requires more calculation time.

To study the ease of convergence of the algorithm to a local or global minimum, final error versus the number of individuals for the 5 ideal cases and their mean have been plotted (Fig. 9). The increase of individuals achieved a better tracking of the optimal solution and a reduction of the final error. At 60 individuals we find an asymptote and thereafter the error does not depend on the number of individuals. The required minimum number of individuals depends on the complexity of the problem. For instance, Random_1 achieved good results with only 20 individuals and Random_4 needs at least 60 individuals.

Figure 9
figure 9

Best individual RMSAPE versus number of individuals per generations for the 5 calibration cases and the mean.

Noise influence

Table 4 shows the influence of noise in the objective curve in terms of RMSAPE, number of generations and calculation time. As can be seen, the final accuracy of the calibration is much better without noise, although it also requires much more generations and calculation time. This is due to the stopping criteria implemented in the algorithm, explained in detail in Sect. 2.2. According to these criteria, calibrations in this section stopped due to the small difference between the best individual of the generation and the mean error of the generation. For the original signal this occurs in a global minimum, resulting in a small error. However, the inclusion of noise in the objective signal leads to the implementation stops in local minimums, ending in errors around 3% but sorter implementations.

Table 4 Results of the influence of noise in the calibration.

SEBS calibration results

SEBS visco-hyperelastic model parameters have been calibrated to adjust the numerical model to experimental curves. Calibrations have been performed for 1 to 5 Prony series, although 4 semifree Prony series calibration have shown the best accuracy. Table 5 shows 4 Prony series final model parameters. After 3,058 generations and 132 min of calculation time, final calibration RMSAPE is 7.484%.

Table 5 Final V-H SEBS material parameters.

Video 1 is included as supplementary material. It is a dynamic plot showing all the stress–strain curves of all the individuals of each generation at the different strain rates (one of each color) over the generations and the target curves. Corresponds to 4 semifree Prony series calibration. Initially individuals present aleatory curves and over the generations they look for objective curves and convergence.

The final calibration and experimental curves can be seen in Fig. 10. They have been plotted on different figures for the sake of clarity, since their stresses show a difference of 1 order of magnitude and maximum strains are double for high strain rates. Note that numerical calibrations of SEBS (Fig. 10) and ballistic gelatine (Fig. 11) appear in the graphics with only 5 points in the strain range. This has been done for the sake of clarity due to the closeness of some points between experimental and calibration results.

Figure 10
figure 10

Stress–strain SEBS curves comparison between experimental13 and Python implementation. (a) Medium and low strain rates. (b) High strain rate.

Figure 11
figure 11

Stress–strain gelatin curves comparison between experimental14 and Python implementation. (a) Low strain rates. (b) High strain rate.

Ballistic gelatin calibration results

Ballistic gelatin visco-hyperelastic model parameters have been calibrated to adjust model to experimental curves14. Calibrations have been performed for 1 to 5 Prony series and semifree and free strategies. Semifree calibrations achieved better results than free for all Prony series number. Calibration with 5 Prony series presents the best accuracy, however 3 of the Prony relaxation modulus are equal to 0.0 MPa so it can be simplified to 2 Prony series, reducing computational cost for FE software. Table 6 shows final parameters of the model with semifree technique and 2 Prony Series (once simplified). Final RMSAPE is 19.69% and it required 354 generations and 13 min of calibration time.

Table 6 Selected V–H gelatin material parameters.

Video 2 is included as suplementary material. It is a dynamic plot showing all the stress–strain curves of the individuals of each generation at the different strain rates (one of each color) over the generations and the target curves. Corresponds to 5 semifree Prony series calibration. Initially indivuals present aleatory curves and over the generations they look for objective curves and convergence.

The final calibration and experimental curves can be seen in Fig. 11. They have been plotted on different plots for clearness, since their stresses show a difference of 3 orders of magnitude.

Discussion

Verification and calibration of the algorithm

With the methodology proposed in this work, a visco-hyperelastic calibration is performed in a certain range of strain rates. In general, the use of GA to calibrate visco-hyperelastic parameters requires a very high number of individuals, generations and free Prony series. In this way, the problem becomes not affordable in terms of computational cost. Therefore, it is necessary to simplify the problem using a fitting strategy which provides a fast calibration with accurate results. The complexity of the optimal solution and the ease of convergence will mainly depend on the dispersion and the range of the strain rates of the target curves. For instance, for gelatin calibration 60 individuals, 332 generations and a maximum of 5 Prony series would be enough, requiring only 13 min. It should be noted that the mechanical response out of the range of the test curves, in terms of deformation, stresses and strain rates ranges, could be excessive or insufficient. Therefore, it is important the selection of test curves in a wide range of strain rates to ensure the accurate calibration of the model.

It has been shown that less than 60 individuals are not enough to explore the full range of parameters. Because GA is a stochastic algorithm, it is advisable to perform several calibrations and not to skimp on the number of individuals in order to ensure reaching the global optimal solution. About 60–80 individuals would be a good initial reference point for the calibrations.

The number of Prony series needed for a good calibration depends on the objective curves, mainly the distribution order of magnitude of the strain rate range, and the τlim strategy applied. For example, ballistic gelatin strain rates are only concentrated around − 0.01 s−1 and − 1000 s−1 and only needs 2 Prony series, on the other hand SEBS strain rates are widely at − 0.001 s−1, − 0.1 s−1, − 100 s−1 and − 1000 s−1 consequently final solution uses 5 Prony series. Regarding the τlim strategy, more Prony series should be used when fixed τlim is implemented, since solution quality highly depends on the initially τ distribution.

Barrientos et al.38 calculated viscoelastic parameters fixing τlim homogeneous in the logarithmic scale and then distribute it by means of an algorithm. Homogeneous distribution of the τlim bounds and fixed strategy was taken from there. Considering our results (see Fig. 7), semifree τlim achieves better results than free or fixed τlim and avoids convergence problems calibrating curves with highly dispersed strain rates. Other authors have pointed out that the relaxation time does not significantly influence the results when they are logarithmically spanned as in the semifree strategy17,20,40,56. In this work, we have shown that the semifree τlim strategy allows to significantly improve the visco-hyperelastic calibration.

To the authors knowledge, semifree τlim strategy should be used as final calibration because of its good accuracy, as a rule of thumb at least 1–5 Prony series could be enough for most of the stress–strain relationships. However, it would depend on the stress–strain curves. The fixed τlim strategy could be used as a first approximation to the final calibration to understand τ distribution (i.e. number of Prony series and limits). Free τlim strategy is not recommended against the other two strategies due to its long calibration time and convergence problem compared to the other strategies.

As stated before, the computational cost using two Intel® Xeon® CPU E5-2650 v2 processors of 2.60 GHz and eight cores each for the ballistic gelatine was 13 min. This computational cost is critically reduced by using the semifree optimization strategy, since as demonstrated in the general case can decrease the calculation time up to 10–100 times the calculation time of other strategies. Several parameters of the algorithm which have a significant impact on the computational cost have been addressed in this work such as the number of individuals or Prony series. These outcomes might be useful for other researchers to set an initial configuration for the visco-hyperelastic material calibration for soft tissue simulants. In addition, another important aspect regarding the computational cost is the method for solving the optimization problem. In this work, the GA has been used because of its capabilities to obtain global minimums. However, the use of other metaheuristic procedures can significantly reduce the computational times. The calculation time of the code is almost entirely used in the calculation of the viscous relaxation integral of each individual. Calculation time of the calibrations can be considered as the multiplication of the number of generations and the calculation time of each generation. The number of generations has an inverse proportionality to the ease of convergence. Some aspects that increase the number of generations are: calibrations with a low final error, individuals in each generation, number of Prony series and the use of free Prony series strategy. Besides that, the calculating time of each generation is directly proportional to the number of times that the relaxation integral is calculated. Therefore, it depends proportionally on the number of individuals in each generation, number of Prony series, number of stress–strain curves at different strain rates and the number of points that discretize each of the objective curves. In general, the more complex the set of curves to be calibrated (large deformations and high stress–strain rate dependence), more complex the solution or the greater the uncertainty of obtaining the optimal solution, and finally the higher the computational cost.

SEBS calibration

In addition to performing the SEBS compression test13, Bracq also calibrated visco-hyperelastic material model of SEBS in another work22. It is also based on Mooney-Rivlin hyperelastic model, but it uses its own strain dependence behavior modeling. It implements the classic Mooney-Rivlin model with 2 constants and contributes the viscoelastic properties to only one of them. Our calibration uses strain rate dependent behavior in both constants. In addition, our algorithm allows to directly calibrate all the curves to the experimental tests while Bracq et al.22 perform a hyperelastic calibration for each strain rate and then perform the fitting of a function that varies the stiffness depending on the strain rate. They perform the computation of the stress–strain curves using the Hyperworks FE software, which probably should require a much longer computation time than our mathematical formulation implemented in Python because of the execution of the finite element problem. Our calibration methodology does not allow to take into account the barrelling effect (see for more information about this phenomenon in Ref.57) so the curves used must have been taken in the uniform deformation regime. Nevertheless, their methodology does allow the calibration in spite of the barreling effect.

Ballistic gelatin calibration

Ballistic gelatin presents an extremely high strain rate dependence. Comparing experimental compression tests at 2500 s−1 and 5700 s−1, strain rate increases 230%, but stresses increase 400%. The viscoelastic model only allows at most a doubling of stiffness by doubling the strain rate (when τ is much smaller than compression test and its Prony series parameter is much higher than the rest of Prony and Mooney–Rivlin parameters). This fact can be corroborated considering Eq. 1.2 from Ref.58. The increase in strain rate must be less than the increase in stiffness and this limitation of the viscoelastic model does not allow to achieve an optimal deformation speed adjustment. SEBS calibration achieved a better strain rate calibration, since this material presents a smoother strain rate dependence. For example, if compare 0.0018 s−1 and 0.18 s−1 curves strain rate increase 100 times but stresses only increase 1.45 times.

Gilson et al. and Wen et al. successfully implemented gelatin as an elastoplastic material28,29,30. However, this model doesn’t reproduce strain rate dependence of gelatin as visco-hyperelastic. This model adjusts the stiffness to the strain rate, which allows adjusting the behavior of the material against impacts at different velocities of the projectile. Our implementation allows the same model to be used for different projectile velocities and threats.

Conclusions

Different fitting strategies based on GA have been developed to calculate the constants of visco-hyperelastic materials using the Mooney-Rivlin model and Prony series from the stress–strain relations at different strain rates of compression tests. The algorithm has demonstrated to have good convergence and accuracy in reasonable times.

The visco-hyperelastic constants of ballistic gelatin and SEBS have been successfully calibrated for their use in FEMs. The complex behavior of gelatin (large deformations and high dependence on the strain rate) has been replicated using the visco-hyperelastic model. In addition, the limitations of the Prony series have been explored, especially when modelling large strain-rate dependent materials such as ballistic gelatin. On the other hand, the Prony series and Mooney-Rivlin model allowed an excellent fit with SEBS, which presents a more moderate strain rate dependence.

Four convergence criteria, an automatic parameter bounds calculator and a strategy for defining the limits of τ have been implemented to optimize convergence, calculation time and the final solution error of the calibrations performed. The sensitivity of the algorithm and the solution to the number of individuals, number of Prony series and the bounds strategy has been studied. The great importance of a precise definition of τlim led to propose a strategy to define its boundaries as semi-free. This strategy has been shown to achieve more accurate results than fixed τlim and to require fewer Prony terms. Compared to the free τlim strategy, it achieves better convergence to global minima reducing the computation time and improving the final error of the solution.

The algorithm developed in this work can be applied to calibrate the visco-hyperelastic parameters of new materials from compression or tensile test curves at different strain rates in a simple and fast way based on the results of this article. Because the model is widely implemented in commercial software, it could be useful for engineers and scientists facing the simulation of soft tissues. It can also be applied separately to the hyperelastic model with the Mooney–Rivlin model or to the viscoelastic model with Prony series. As it has been shown, this is not a totally automatic methodology, since the understanding of the constitutive models and the complexity of stress–strain objective curves is crucial for the accuracy of the method.