Automatic Implementation of Finite Strain Anisotropic ...

4 downloads 0 Views 1MB Size Report
differentiation schemes used in the past for partial automatic implementation. In Section 4 details. 2 related to full automation based on central difference method ...
1

Automatic Implementation of Finite Strain Anisotropic Hyperelastic

2

Models using Hyper-dual Numbers

3

Ravi Kiran1 and Kapil Khandelwal2

4 5

Abstract

6

The main aim of this paper is to automate the implementation of finite strain anisotropic

7

hyperelastic models into a general finite element framework. The automation presented in this

8

paper enables the end-user to implement a hyperelastic model by programming its Helmholtz

9

free energy function alone. The automation is achieved by employing hyper-dual number system

10

to evaluate analytical quality derivatives. New perturbation techniques are introduced and are

11

employed to extend the hyper-dual numbers system to evaluate tensor derivatives. The capability

12

of the proposed automation scheme is demonstrated by implementing five finite strain

13

anisotropic hyperelastic models. The merits and demerits of the proposed automation scheme are

14

compared to an automation scheme based on the central difference method.

15 16

Keywords: Hyper-dual numbers; anisotropic hyperelastic models; automatic implementation;

17

finite difference methods; constitutive modeling.

18 19 20

1

PhD Candidate, Dept. of Civil & Env. Engg. & Earth Sci., U. of Notre Dame, Notre Dame, IN 46556. Asst. Prof., Dept. of Civil & Env. Engg. & Earth Sci., U. of Notre Dame, Notre Dame, IN 46556. E-mail: [email protected]. 2

1

1

1. Introduction

2

Anisotropic hyperelastic constitutive models are an important class of material models owing to

3

their applications in simulating the mechanical behavior of a wide range of biological materials

4

[1-3] and composites [4, 5]. The anisotropic hyperelastic constitutive models are characterized

5

by a scalar valued tensor function called Helmholtz free energy function (𝜓). In the case of

6

anisotropic materials, the Helmholtz free energy can be represented in terms of right Cauchy-

7

Green strain tensor and a group of structural tensors that quantifies the anisotropy due to the

8

embedded fibers in the matrix material. Usually, the Helmholtz free energy functions are

9

formulated by conducting standard mechanical tests on the target material. Moreover, the

10

Helmholtz free energy function (𝜓) should be polyconvex to obtain physically reasonable and

11

numerically stable results [6-8]. The implementation of anisotropic hyperelastic constitutive

12

models into a general finite element framework involves two steps: a) finding the second Piola-

13

Kirchhoff stress tensor (𝑺); and b) evaluating the fourth order tangent moduli (ℂ). The second

14

Piola-Kirchhoff stress tensor and tangent moduli are obtained from evaluating the first and

15

second derivatives of the Helmholtz free energy function with respect to the right Cauchy-Green

16

strain tensor. Although this is a straightforward exercise for simple isotropic hyperelastic models,

17

it can be a challenging task to obtain closed form solutions and code them into finite element

18

programs for more complex anisotropic hyperelastic models. The main aim of this paper is to

19

automate this process of implementation of finite strain anisotropic hyperelastic constitutive

20

models into general finite element framework.

21

In the context of this paper, automation refers to minimizing the analytical derivations and

22

algorithmic programming effort required when a new anisotropic hyperelastic model has to be

23

implemented into a finite element program. For anisotropic hyperelastic models two types of 2

1

automation are possible: a) Full automation where the Helmholtz free energy function (𝜓) and

2

material constants are provided by the end-user, and the Piola-Kirchhoff stress tensor (𝑺),

3

tangent moduli (ℂ) are automatically updated (Figure 1(a)); and b) Partial automation where

4

tangent moduli (ℂ) is automatically evaluated while second Piola-Kirchhoff stress tensor (𝑺) is

5

analytically obtained (Figure 1(b)). While full automation is an attractive preposition, partial

6

automation has its own benefits. Especially, automatic evaluation of tangent moduli for complex

7

constitutive models could obviate the need of performing tedious tensor calculus and thereby

8

avoid the associated algorithmic challenges [9]. Most of algorithms presented in literature

9

perform partial automation [9-12] and are usually based on finite difference schemes and

10

complex step methods. Performance of these procedures critically depends on the finite

11

difference interval used, which has to be determined a priori for effective algorithmic

12

performance.

13

A numerically robust differentiation procedure in which the size of the optimal finite difference

14

interval need not be evaluated a priori to obtain analytical quality derivatives is an ideal

15

candidate for the full automation of anisotropic constitutive models. To this end, in this study

16

numerical procedures are introduced for automating the implementation of anisotropic

17

hyperelastic constitutive models using two numerical techniques: a) central difference method;

18

and b) hyper-dual numbers [13]. To illustrate the efficacy of these methods, five anisotropic

19

hyperelastic constitutive models are implemented and are used to perform finite element analysis

20

of 3-dimensional Cook’s problem. Among the two procedures, the one based on hyper-dual

21

numbers is shown to have robust performance: this method yields analytical quality derivatives

22

and does not require an additional step for evaluating the optimal size of the model parameters

23

used in the derivative process. The paper is organized as follows: Section 2 contains a brief 3

1

summary of anisotropic hyperelasticity. Section 3 highlights the merits and demerits of the

2

differentiation schemes used in the past for partial automatic implementation. In Section 4 details

3

related to full automation based on central difference method are provided. Section 5 provides a

4

brief description of the hyper-dual numbers system along with the algorithms for full automation

5

based on hyper-dual numbers. In Section 6 the relative merits and demerits of the proposed

6

automation schemes are discussed. Finally, Section 7 contains the summary and important

7

conclusions of this study.

8

2. Anisotropic Hyperelasticity

9

In this paper the following notation is followed: a) scalar variables are represented using italics

10

(e.g.: 𝑥, 𝑦, 𝑢, 𝑣, 𝑓, 𝐴); b) first order and second order tensor variables are represented by bold

11

italics (e.g.: 𝒙, 𝒚, 𝒖, 𝒗, 𝒆, 𝑨, 𝑩); c) fourth order tensor variables are represented by double scripts

12

(e.g.: 𝔸, ℂ); d) hyper-dual numbers are represented by scripted small letters (e.g.: 𝒶, 𝒷) and e)

13

matrices of hyper-dual numbers are represented by scripted bold capital letters (e.g.: 𝓐, 𝓑).

14

Let us consider a body in a reference configuration denoted by open set 𝛺0 ∈ ℝ3 and let this

15

body assume a new configuration denoted by 𝛺 ∈ ℝ3 as a consequence of deformation. The

16

boundary of the body is denoted by 𝜕𝛺, and it consists of disjoint subsets ∂𝛺𝜎 and ∂𝛺𝑢 , such that

17

𝜕𝛺 = 𝜕𝛺𝜎 ∪ 𝜕𝛺𝑢 and 𝜕𝛺𝜎 ∩ 𝜕𝛺𝑢 = ∅. Tractions are prescribed on 𝜕𝛺𝜎 , while displacements

18

are prescribed on 𝜕𝛺𝑢 . The position vectors of material points in the initial and current

19

configurations are denoted by 𝑿 and 𝒙. These position vectors are related by a one-to-one

20

mapping (motion) given by the function: 𝒙 = 𝝋(𝑿, 𝑡). The deformation gradient that transforms

21

the tangent vectors defined in the material configuration to the spatial configuration is defined as

22

a second order tensor 𝑭 ≝ 𝛁𝑿 𝝋(𝑿, 𝑡) ∈ Inv + whose determinant is greater than zero (𝐽 ≝

4

1

det[𝑭] > 0). The associated symmetric right Cauchy-Green strain tensor (𝑪) is defined in terms

2

of deformation gradient as: 𝑪 = 𝑭𝑇 𝑭

(1)

3

where 𝑪 ∈ SPD is a positive definite tensor.

4

An anisotropic hyperelastic constitutive model is characterized by the existence of a polyconvex

5

and objective scalar function called Helmholtz free energy function (𝜓), defined per unit

6

reference volume, which is a function of deformation gradient (𝑭) and structural tensors (𝑴𝑘 )

7

[14]. The structural tensors (𝑴𝑘 ) that are assumed to incorporate the anisotropy are defined as: 𝑴𝑘 = 𝒂𝑘0 ⊗ 𝒂𝑘0

(2)

8

where ‖𝒂𝑘0 ‖ = 1, is the unit vector field (in reference configuration) that represents the direction

9

of the 𝑘 𝑡ℎ family of fibers that causes the anisotropy. Helmholtz energy, 𝜓(𝑭, 𝑴𝑘 ), should be

10

objective and to be objective the Helmholtz free energy function should obey the following

11

restriction 𝜓(𝑭, 𝑴𝑘 ) = 𝜓(𝑸𝑭, 𝑴𝑘 )

(3)

12

∀𝑸 ∈ SO(3) [14]. As the structural tensors as are defined in the reference configuration, the

13

Helmholtz free energy function is trivially objective in 𝑴𝑘 . Now using polar decomposition of

14

𝑭, i.e. 𝑭 = 𝑹𝑼, where 𝑼 is a right stretch tensor and 𝑹 is a rotation tensor,

15

𝑸 = 𝑹𝑇 , the Helmholtz free energy function can be rewritten as 𝜓(𝑸𝑭, 𝑴𝑘 ) = 𝜓(𝑹𝑇 𝑹𝑼, 𝑴𝑘 ) = 𝜓(𝑼, 𝑴𝑘 ) = 𝜓(𝑪, 𝑴𝑘 )

and by choosing

(4)

16

Also the free energy must be unchanged if the fibers in the reference configuration undergo a

17

rotation and this requirement implies that Helmholtz free energy function is an isotropic function

18

of 𝑪 and 𝑴𝑘 such that

5

𝜓(𝑪, 𝑴𝑘 ) = 𝜓(𝑸𝑪𝑸𝑇 , 𝑸𝑴𝑘 𝑸𝑇 ) ∀𝑸 ∈ SO(3)

(5)

1

In this study the number of structural tensors is restricted to two which encompasses the behavior

2

of many anisotropic materials. Now using Eq. (5), the Helmholtz free energy function can be

3

expressed as a function of invariants of the right Cauchy-Green strain tensor (𝑪) and the

4

structural tensors (𝑴1 , 𝑴2 ) based on the representation theorem for invariants [14] . The three

5

invariants of the right Cauchy-Green strain tensor are given as: 𝐼1 = 𝑡𝑟(𝑪) 1 𝐼2 = (𝐼12 − 𝑡𝑟 (𝑪2 )) 2 𝐼3 = det 𝑪 = 𝐽

(6)

2

6

The mixed pseudo invariants that arise due to anisotropy and contribute to the Helmholtz free

7

energy (𝜓) are given as [14]: 𝐼4 = 𝒂10 . 𝑪𝒂10 , 𝐼5 = 𝒂10 . 𝑪2 𝒂10 , 𝐼6 = 𝒂20 . 𝑪𝒂20 , 𝐼7 = 𝒂20 . 𝑪2 𝒂20 , 𝐼8 = 𝒂10 . 𝑪𝒂20 , and 𝐼9 =

(7)

(𝒂10 . 𝒂20 )2 8

The second Piola-Kirchhoff stress tensor (𝑺) for anisotropic hyperelastic materials is obtained by

9

evaluating the first derivative of the Helmholtz free energy function (𝜓) with respect to right

10

Cauchy-Green strain tensor (𝑪) 𝑺=2

𝜕𝜓(𝐼1 , 𝐼2 , 𝐼3 , 𝐼4 , 𝐼5 , 𝐼6 , 𝐼7 , 𝐼8 , 𝐼9 ) 𝜕𝑪

(8)

𝜕𝐼1 𝜕𝐼2 𝜕𝐼3 𝜕𝐼4 𝜕𝐼5 = 𝑰, = 𝐼1 𝑰 − 𝑪, = 𝐼3 𝑪−1 , = 𝒂10 ⊗ 𝒂10 , = 𝒂10 ⊗ 𝑪𝒂10 + 𝒂10 𝑪 ⊗ 𝒂10 𝜕𝑪 𝜕𝑪 𝜕𝑪 𝜕𝑪 𝜕𝑪

11

where

12

𝜕𝐼6 𝜕𝐼7 𝜕𝐼8 1 1 = 𝒂20 ⊗ 𝒂20 , = 𝒂20 ⊗ 𝑪𝒂20 + 𝒂20 𝑪 ⊗ 𝒂20 , = (𝒂 ⊗ 𝒂20 + 𝒂20 ⊗ 𝒂10 ). 𝜕𝑪 𝜕𝑪 𝜕𝑪 2 0

13

The Lagrangian tangent modulus (ℂ) is obtained by evaluating the first derivative of the second

14

Piola-Kirchhoff stress tensor (𝑺) or the second derivative of the Helmholtz free energy function

15

with respect to the right Cauchy-Green strain tensor and is given as

6

𝜕𝑺 𝜕 2𝜓 ℂ=2 =4 𝜕𝑪 𝜕𝑪𝜕𝑪

(9)

1

Finally, the components of tangent modulus, [ℂ], that are required for the finite element

2

implementation include 𝐶1111 𝐶2211 𝐶 [ℂ] = 3311 𝐶1211 𝐶2311 [𝐶3111

𝐶1122 𝐶2222 𝐶3322 𝐶1222 𝐶2322 𝐶3122

𝐶1133 𝐶2233 𝐶3333 𝐶1233 𝐶2333 𝐶3133

𝐶1112 𝐶2212 𝐶3312 𝐶1212 𝐶2312 𝐶3112

𝐶1123 𝐶2223 𝐶3323 𝐶1223 𝐶2323 𝐶3123

𝐶1131 𝐶2231 𝐶3331 𝐶1231 𝐶2331 𝐶3131 ]

(10)

3

3. Numerical Differentiation

4

Two different procedures were adopted in the past for the automatic implementation of

5

constitutive models: a) mathematical tools like Mathematica® to perform the tensor derivatives

6

for the evaluation of stress tensor and tangent moduli, see for example [15-17] and references

7

therein; and b) numerical differentiation techniques

8

approximate stress tensor and tangent moduli [9-12]. Young et al [16] developed a Mathematica®

9

notebook for an anisotropic hyperelastic model to automatically generate an UMAT subroutine

10

that can be used in ABAQUS® finite element program to implement hyperelastic constitutive

11

models. For this full automation, the capabilities of Mathematica® were used to perform the

12

tensor calculus to arrive at the closed form expressions for the required stress tensor and the

13

associated tangent moduli. This procedure is not generic and cannot be extended easily to other

14

constitutive models like finite strain plasticity or continuum damage models.

15

The automation of constitutive models using numerical differentiation procedures was first

16

introduced by Miehe [9] to implement a finite strain plasticity model. In this study, partial

17

automation was achieved by using forward difference approximation along with perturbation

18

techniques to evaluate tangent moduli. This technique is used in partial automation of several 7

were used to obtain numerically

1

small strain [18, 19] and finite strain constitutive models [10, 18]. Although the procedure

2

proposed by Miehe [9] was successfully used to implement many constitutive models, this partial

3

automation based on finite difference schemes is sensitive to the size of finite difference interval

4

(ℎ) [10, 12]. Truncation errors and subtractive cancellation errors at larger and smaller values of

5

finite difference intervals, respectively, were observed to disrupt the convergence of the global

6

Newton-Raphson iterations [9, 10] during the finite element solution process. Therefore, the

7

optimal range of the finite difference interval should be investigated a priori when a finite

8

difference method is used for automation.

9

In later studies, the problems associated with the finite difference methods are partially alleviated

10

by the use of complex-step derivative approximation (CSDA) for evaluating the tangent moduli

11

[10-12]. CSDA unlike the finite difference methods does not suffer from subtractive cancellation

12

errors [20], and hence permits the usage of a small value of finite difference interval. By

13

choosing such a small finite difference interval, the magnitude of truncation error can be

14

minimized to the order of the working precision of the machine ensuring analytical quality

15

derivatives. CSDA procedure is successfully used to implement several small strain [11, 19] and

16

finite strain constitutive models [10, 12] in the past. In spite of these advantages over finite

17

difference methods, CSDA does not unconditionally yield analytical quality derivatives due to

18

the presence of truncation errors. In addition, the second derivatives obtained from CSDA are

19

prone to subtractive cancellation errors similar to the finite difference schemes [21]. For this

20

reason CSDA suffers from similar drawbacks as any other finite difference scheme for

21

evaluating the second order derivatives.

22

The main goal of the paper is to obtain 𝑺 (Eq. (8)) and [ℂ] (Eq. (9)) using numerical

23

differentiation techniques. Before the full automation is pursued the merits and demerits of finite 8

1

difference methods and complex step derivative methods are reexamined in context of partial

2

automation of an isotropic Blatz-Ko hyperelastic model [22]. The constitutive behavior of

3

isotropic hyperelastic materials can be characterized by Eq. (8) and Eq. (9). However, due to the

4

absence of the anisotropy the Helmholtz free energy function does not dependent on the

5

structural tensors and is a function of the invariants of the right Cauchy-Green strain tensor

6

alone. The partial automation requires analytical expression for the second Piola-Kirchhoff stress

7

tensor (𝑺) and numerical approximation for the tangent moduli (ℂ). Analytical expression for

8

the second Piola-Kirchhoff stress tensor is given in Eq. (A2) and numerical schemes to

9

approximate the tangent moduli are presented in this section. The performance of these methods

10

is illustrated by carrying out finite element analyses of a 3D Cook’s membrane. The geometry

11

and the boundary conditions of the Cook’s membrane are provided in Figure 2. A total load of

12

155 N is applied in 30 equal steps during the analysis. Finite element analyses are performed in

13

an in-house Matlab based finite element program ND-FEA developed at the University of Notre

14

Dame. Finally, these analyses provide a motivation for numerically robust differentiation

15

procedure.

16

3.1 Central difference method

17

The central difference method is chosen for partial automation of Blatz-Ko model. Partial

18

automation based on forward difference approximation and other higher order difference

19

methods can be found elsewhere [9, 12, 18, 23]. It was shown in the past that central difference

20

method is a numerically robust scheme to implement the constitutive models [10]. The central

21

difference approximation of the first derivative of an analytic function 𝑓(𝑥) is given as 𝑓 ′ (𝑥) =

𝑓(𝑥 + ℎ) − 𝑓(𝑥 − ℎ) + 𝒪(ℎ2 ) 2ℎ

(11)

9

1

where, ℎ is the finite difference interval and 𝒪(ℎ2 ) denotes the second order truncation errors.

2

Using the definition provided in Eq. (11) and following the derivations provided by Miehe [9],

3

also see Kiran and Khandelwal [10] for further details, the central difference approximation for

4

the Lagrangian tangent moduli (ℂ) is given as: ℂ𝑖𝑗𝑘𝑙 ≈

5

1 ̃ (𝑘𝑙) ) − 𝑆̂𝑖𝑗 (𝑪 ̂ (𝑘𝑙) )] [𝑆̃ (𝑪 2ℎ 𝑖𝑗

(12)

̃ (𝑘𝑙) and 𝑪 ̂ (𝑘𝑙) are the perturbations in the right Cauchy-Green strain tensor (𝑪) defined as where 𝑪 ̃ (𝑘𝑙) (𝑭, ℎ) = 𝑪 + 𝛥𝑪(𝑘𝑙) 𝑪 (13) ̂ (𝑘𝑙) (𝑭, ℎ) = 𝑪 − 𝛥𝑪(𝑘𝑙) 𝑪

6

where 𝛥𝑪(𝑘𝑙) is the perturbation of the right Cauchy-Green strain tensor (𝑪) defined as 𝛥𝑪(𝑘𝑙) (𝑭, ℎ) ≝ ℎ[(𝑬𝑘 ⊗ 𝑬𝑙 + 𝑬𝑙 ⊗ 𝑬𝑘 )]

(14)

7

where 𝑬𝑖=1:3 are the basis vectors in the Lagrangian configuration. Finally, the partial

8

automation of Blatz-Ko model is performed using the analytical expression for second Piola-

9

Kirchhoff stress tensor (𝑺) provided in Eq. (A2) and the central difference approximated tangent

10

moduli given by Eq. (12). For this partial automation, the sensitivity of the convergence of the

11

Euclidean norm of residual force with respect to the size of finite difference interval (ℎ) is

12

provided in Table 1. For the sake of comparison, the convergence of the Euclidean norm of

13

residual force for the analytical expression of the tangent moduli (ℂ) is also provided in Table 1.

14

The analytical expression for the tangent moduli (ℂ) for Blatz-Ko model is provided in Eq. (A3).

15

Following observations can be made from Table 1: a) convergence is obtained for a finite

16

difference interval range ℎ ∈ [10−1 − 10−15 ]; and b) the rate of convergence for a finite

17

difference interval range ℎ ∈ [10−3 − 10−10 ] is similar to the convergence obtained by

18

employing an analytical expression (Eq. (A3)) for tangent moduli (ℂ). Poor/no convergence for 10

1

finite difference intervals greater than 10−3 or smaller than 10−15 is a result of truncation and

2

subtractive cancellation errors, respectively. The truncation errors are a result of neglecting the

3

higher order terms in the Taylor series expansion (Eq. (11)). The subtractive cancellation errors

4

are caused due to the loss of significant digits due to rounding-off of the difference between two

5

numerically close numbers [24]. This situation arises in the case of central difference

6

approximation of the tangent moduli (Eq. (11)), especially at very low values of finite difference

7

intervals (ℎ < 10−10 ) [10]. Hence, the performance of the central difference approximation is

8

sensitive to the size of the finite difference interval (ℎ). Numerical differentiation using complex

9

methods can partially alleviate sensitivity of this automation to the size of finite difference

10

interval (ℎ) and is discussed next.

11

3.2 Complex step derivative approximation (CSDA)

12

Several studies in the past [10-12] employed the complex step derivative approximation (CSDA)

13

among the complex methods to evaluate the tangent moduli (ℂ). The complex step derivative

14

approximation for the first derivative of an analytic function 𝑓(𝑥) is given as 𝑓′(𝑥) ≈

Im[𝑓(𝑥 + 𝒾ℎ)] + 𝒪(ℎ2 ) ℎ

(15)

15

where ≝ √−1 . CSDA for first derivative is immune to subtractive cancellation errors unlike

16

central difference approximation due to the absence of subtractive operations (Eq. (15)). This

17

theoretically removes the restrictions on the lower bound of finite difference interval (ℎ) that can

18

be used in CSDA. Although CSDA is immune to subtractive cancellation errors, it is prone to the

19

second order truncation errors similar to the central difference approximation (Eq. (15)).

20

However, due to the absence of the subtractive cancellation errors very small values of finite

21

difference interval can be used to reduce the truncation errors in the case of CSDA.

11

1

Using the definition given in Eq. (15) and following the derivation given by Kiran and

2

Khandelwal [10] the complex step derivative approximation for Lagrangian tangent moduli (ℂ)

3

is given as ℂ𝑖𝑗𝑘𝑙 ≈

4

1 ̂ (𝑘𝑙) )] Im[𝑆̂𝑖𝑗 (𝑪 ℎ

(16)

̂ (𝑘𝑙) is the perturbed right Cauchy-Green strain tensor and is given as where 𝑪 ̂ (𝑘𝑙) = 𝑪 + Δ𝑪 ̂ (𝑘𝑙) 𝑪

(17)

5

̂ (𝑘𝑙) is the complex perturbation of the right Cauchy-Green strain tensor (𝑪), which is where Δ𝑪

6

given as ℎ ̂ (𝑘𝑙) ≝ 𝒾 [(𝑬𝑘 ⊗ 𝑬𝑙 + 𝑬𝑙 ⊗ 𝑬𝑘 )] Δ𝑪 2

(18)

7

The CSDA tangent moduli of Blatz-Ko constitutive model is evaluated and the sensitivity of the

8

convergence of the norm of residual force with respect to the size of finite difference interval (ℎ)

9

is provided in Table 2 along with the convergence obtained by employing the analytical

10

expression of tangent moduli (Eq. (A3)). The following observations can be made from Table 2:

11

a) convergence is obtained for a finite difference intervals smaller than ℎ = 10−1 ; and b) the rate

12

of convergence for finite difference intervals ℎ ≤ 10−3 is similar to the convergence obtained

13

by employing the analytical expression (Eq. (A3)) for tangent moduli (ℂ). This can be attributed

14

to the absence of subtractive cancellation errors in the case of CSDA. Poor/no convergence for

15

finite difference intervals greater than 10−3 is a result of truncation errors (Eq. (15)).

16

Undoubtedly, CSDA is a superior numerical derivative procedure when compared to central

17

difference approximation when the sensitivity of the first derivatives to the size of finite

18

difference interval is considered. However, the complex step derivative process is not completely

19

insensitive to the size of the finite difference interval due to the presence of truncation errors.

12

1

Both CSDA and central difference approximations can be used to get convergence rates obtained

2

by employing the analytical tangent moduli (see Table 1 and Table 2). However, this is possible

3

only in a certain range of finite difference intervals which has to be established a priori.

4

3.3 Remarks on full automation

5

Now that the capabilities of the finite difference methods and CSDA are understood for partial

6

automation, it is also important to discuss their suitability for full automation. Full automation

7

unlike partial automation requires the first and second derivatives of the Helmholtz free energy

8

function (𝜓) with respect to the right Cauchy-Green strain tensor (𝑪). The central difference

9

approximation for second derivative is given as: 𝑓 ′′ (𝑥0 ) =

10

1 (𝑓(𝑥0 + ℎ) − 2𝑓(𝑥0 ) + 𝑓(𝑥0 − ℎ)) + 𝒪(ℎ2 ) ℎ2

(19)

and the complex-step derivative approximation for the second derivative is given as 𝑓 ′′ (𝑥0 ) =

2 (𝑓(𝑥0 ) − Re[𝑓(𝑥0 + 𝒾ℎ)]) + 𝒪(ℎ2 ) ℎ2

(20)

11

From Eq. (19) and (20), it is clear that both the central difference approximation and CSDA for

12

second derivatives suffer from second order truncation errors and more importantly, CSDA for

13

second derivative is not immune to subtractive cancellation errors unlike the CSDA for first

14

derivative [21]. For this reason, the unique advantage of CSDA over central difference

15

approximation is lost in the case of full automation. Consequently, the optimum range of finite

16

difference interval (ℎ) has to be established when either central difference approximation or

17

CSDA are used for full automation. Therefore, evaluation of the optimum step range is an

18

additional important step to ensure analytical quality results for these numerical schemes.

19

In further sections, procedures for full automation are presented based on the central difference

20

approximation and the optimum range of finite difference intervals for different anisotropic 13

1

constitutive models is established. The full automation using CSDA is not presented as it has no

2

obvious advantages over the full automation based on central difference approximation. Finally,

3

a differentiation procedure that is free of truncation and subtractive cancellation errors for

4

evaluating the first and second derivatives is an ideal candidate for automatic implementation of

5

hyperelastic constitutive models. With such a numerical procedure the additional step of finding

6

the optimum range of finite difference intervals is not needed. This finally is achieved by

7

employing hyper-dual numbers system. The computational algorithm and the corresponding

8

perturbation techniques employed for full automation based on hyper-dual numbers are also

9

presented in the later sections of this paper.

10

4. Full Automation: Central Difference Method

11

In this section the automatic implementation of anisotropic hyperelastic material models is

12

accomplished using central difference method. First, the algorithms for numerical evaluation of

13

second Piola-Kirchhoff stress tensor (𝑺) and Lagrangian tangent moduli (ℂ) are provided. Next,

14

the performance of full automation based on central difference method is investigated by

15

implementing five anisotropic hyperelastic models. Finally, the sensitivity of the full automation

16

based on central difference method to the size of the finite difference interval (ℎ) for all the

17

constitutive models is provided. The Helmholtz free energy functions and material constants of

18

these anisotropic models are provided in Table 3. Model-1 and Models-2 have been used for

19

simulating the mechanical response of human arterial walls [25], Model-3 is found to be suitable

20

for the analysis of fiber reinforced composites [5], Model-4 was used to model the human

21

collateral ligament [2] and Model-5 was proposed to study the constitutive behavior of soft

22

tissues in a terrestrial crawler, i.e. a caterpillar [3].

23

4.1 Evaluation of second Piola-Kirchhoff stress tensor 14

1

The analytical expression for the second Piola-Kirchhoff stress tensor (𝑺) is provided in Eq.(8).

2

The central difference approximation for evaluating the second Piola-Kirchhoff stress tensor is

3

given as: 𝜓(𝑪+(𝑖𝑗) ) − 𝜓(𝑪−(𝑖𝑗) ) (𝑺)𝑖𝑗 = ℎ

(21)

4

where 𝑪+(𝑖𝑗) and 𝑪−(𝑖𝑗) are the perturbed right Cauchy-Green strain tensors whose components

5

are given as: If 𝑝 = 𝑖 and 𝑞 = 𝑗 +(𝑖𝑗)

𝐶𝑝𝑞

= 𝐶𝑝𝑞 + ℎ;

−(𝑖𝑗)

𝐶𝑝𝑞 = 𝐶𝑝𝑞 − ℎ; otherwise +(𝑖𝑗)

= 𝐶𝑝𝑞 ;

−(𝑖𝑗)

= 𝐶𝑝𝑞 ;

𝐶𝑝𝑞 𝐶𝑝𝑞

(22)

𝑝, 𝑞 ∈ {1,2,3} 6 7

The computational algorithm for the evaluation of second Piola-Kirchhoff stress tensor (𝑺) using

8

central difference method is outlined in Figure 3(a). First, perturbations of the right Cauchy-

9

Green strain tensor (𝑪±(𝑖𝑗) ) are evaluated and the corresponding Helmholtz free energy

10

functions are calculated (𝜓(𝑪±(𝑖𝑗) )). The values of these free energy functions are substituted in

11

Eq. (21) to obtain the central difference approximated second Piola-Kirchhoff stress tensor. In

12

total, the evaluation of the stress tensor using the central difference approximation requires 12

13

perturbations of the right Cauchy-Green strain tensor (𝑪±(11) , 𝑪±(22) , 𝑪±(33) , 𝑪±(12) , 𝑪±(13) and

14

𝑪±(23) )

15

function: 𝜓(𝑪±(11) ), 𝜓(𝑪±(22) ), 𝜓(𝑪±(33) ), 𝜓(𝑪±(12) ), 𝜓(𝑪±(13) ) and 𝜓(𝑪±(23) ).

16

4.2 Evaluation of tangent moduli

along

with

12

evaluations

15

of

the

Helmholtz

free

energy

1

The analytical expression for the tangent moduli (ℂ) is provided in Eq. (9). The central

2

difference approximation for evaluating the Lagrangian tangent moduli is provided in Eq. (12) 

3

Eq. (14) and the computational algorithm is provided in Figure 3(b). First, the perturbed right

4

̃ (𝑘𝑙) , 𝑪 ̂ (𝑘𝑙) ) are evaluated according to the definitions provided in Cauchy-Green strain tensors (𝑪

5

Eq. (13) and Eq. (14). These perturbed strain tensors are then used as an input to the stress

6

evaluating subroutine as illustrated in the Figure 3(a). The stress evaluating algorithm outputs the

7

̃ (𝑘𝑙) and perturbed stress tensors 𝑺̃(𝑘𝑙) and ̂ 𝑺(𝑘𝑙) corresponding to the perturbed strain tensors 𝑪

8

̂ (𝑘𝑙) , respectively. These perturbed second Piola-Kirchhoff stress tensors are substituted in Eq. 𝑪

9

(12) to evaluate the Lagrangian tangent moduli. In total, the evaluation of the tangent moduli

10

using the central difference approximation requires 12 perturbations of the right Cauchy-Green

11

strain

12

and the corresponding 12 stress tensors (𝑺̃(11) , 𝑺̃(22) , 𝑺̃(33) , 𝑺̃(12) , 𝑺̃(13) , 𝑺̃(23) , ̂ 𝑺(11) , ̂ 𝑺(22) , ̂ 𝑺(33) ,

13

̂ 𝑺(12) , ̂ 𝑺(13) and ̂ 𝑺(23) ).

14

4.2 Results and discussion: Full automation using central difference method

15

The performance of the full automation based on central difference method is demonstrated by

16

implementing five anisotropic hyperelastic models (Table 3). The convergence of Euclidean

17

norm of the residual for analytical implementation and fully automated implementation based on

18

central difference method are compared in Table 4 for Model-1. The analytical implementation

19

of Model-1 requires the closed form expressions for second Piola-Kirchhoff stress tensor (𝑺) and

20

tangent moduli (ℂ) which are provided in Eq. (A4) and Eq. (A5). From Table 4, it is clear that

21

the full automation based on central difference method converged only for values of finite

22

difference intervals in the vicinity of ℎ = 10−3. Although near quadratic convergence is obtained

23

for a finite difference interval of ℎ = 10−3 , it is clearly not on par with the convergence obtained

tensor

̃ (11) , 𝑪 ̃ (22) , 𝑪 ̃ (33) , 𝑪 ̃ (12) , ̃𝑪(13) , ̃𝑪(23) , ̂𝑪(11) , ̂𝑪(22) , 𝑪 ̂ (33) , 𝑪 ̂ (12) , ̂𝑪(13) and 𝑪 ̂ (23) ) (𝑪

16

1

from the analytical implementation. The Models-2 to Models-5 are also implemented using the

2

full automation based on central difference method and the convergence of Euclidean norm of

3

residuals is presented in Table 5. From Table 5, it is observed that the convergence is obtained

4

for finite difference intervals ℎ ∈ [10−2 , 10−3 ] except for Model-5 where convergence is

5

obtained for finite difference intervals in the vicinity of ℎ = 10−2 . No/poor convergence for

6

finite difference intervals greater than ℎ = 10−2 and smaller than 10−3 can be attributed to the

7

domination of the truncation and subtractive cancellation errors as discussed earlier in Section 3.

8

The order of convergence of the full automation based on central difference method is obtained

9

by plotting the relative errors with respect to the varying sizes of finite difference intervals (ℎ).

10

The relative error in evaluating of the second Piola-Kirchhoff stress tensor (𝑒𝜎 ) and tangent

11

moduli (𝑒𝑐 ) are defined as 𝑒𝑠 =

‖𝑺𝑁 − 𝑺𝐴 ‖𝐹 ‖𝑺𝐴 ‖𝐹 (23)

‖ℂ𝑁 − ℂ𝐴 ‖𝐹 𝑒𝑐 = ‖ℂ𝐴 ‖𝐹 12

where 𝑺𝑁 , ℂ𝑁 and 𝑺𝐴 , ℂ𝐴 denote numerically and analytically evaluated second Piola-Kirchhoff

13

stress tensors and tangent moduli, respectively and ‖∗‖𝐹 denotes the Frobenius norm of tensors.

14

The sensitivity of the full automation based on the central difference method for Model-1 is

15

provided in the Figure 4. The following observations can be made from Figure 4: a) as

16

anticipated, the central difference method is observed to have second order convergence; b) the

17

relative errors (𝑒𝑠 , 𝑒𝑐 ) are found to reduce with the decrease in the size of the finite difference

18

interval until ℎ = 10−5 due to the reduction in the truncation errors, and are found to increase for

19

finite difference intervals ℎ < 10−5 due to the domination of the subtractive cancellation errors.

20

The relative errors reported in the Figure 4 are evaluated in the first loading step among the 30 17

1

steps performed during the finite element analysis of the 3D Cook’s membrane. Although this is

2

sufficient to determine the order of convergence, this cannot be used to identify the optimum size

3

of the finite difference interval (ℎ) as the sensitivity of the procedure to the size of the finite

4

difference interval can vary depending on the loading step, especially in the case of anisotropic

5

models. The optimum size of the finite difference interval for an anisotropic model can only be

6

found by implementing the constitutive model for various sizes of finite difference intervals as

7

shown in Table 4 and Table 5. In addition, it is also important to note that the sensitivity of the

8

central difference procedure on the size of the finite difference interval (ℎ) is independent of the

9

mesh density used in the finite element analysis. This has been demonstrated by the authors in

10

their recent studies [10, 23].

11

5. Full Automation: Hyper-Dual Numbers

12

In this section a brief summary of hyper-dual numbers is first provided; further details can be

13

found in [13]. The performance of hyper-dual numbers in evaluating the first and second

14

derivatives is then demonstrated using a simple example. Next, the computational algorithm for

15

full automation based on hyper-dual numbers is presented and their performance is evaluated by

16

implementing five anisotropic hyperelastic models. Finally, the unique advantages of using

17

hyper-dual numbers for full automation are discussed.

18

5.1 Hyper-Dual numbers

19

The differentiation arithmetic for hyper-dual numbers system is first introduced by Rall [26].

20

However, the presentation of the hyper-dual numbers in the current manuscript is motivated from

21

the work of Jeffrey and Juan [13]. A brief summary of this numbers system is provided in this

22

section and the hyper-dual numbers are denoted by a scripted lower case alphabets (for e.g. 𝒶, 𝒷,

23

etc.). A hyper-dual number is expressed as 18

𝒶 = 𝑎1 + 𝑎2 𝒾1 + 𝑎3 𝒾2 + 𝑎4 𝒾1 𝒾2

(24)

1

where, 𝑎1 is the real part of 𝒶, and 𝑎2 , 𝑎3 and 𝑎3 are the non-real parts of 𝒶. The non-real

2

numbers 𝒾1 and 𝒾2 obeys the following rules: 𝒾12 = 𝒾22 = (𝒾1 𝒾2 )2 = 0

3

(25)

In addition, the multiplication of these non-real numbers is considered to be associative, i.e. 𝒾1 𝒾2 = 𝒾2 𝒾1

(26)

4

The basic algebraic operations for hyper-dual numbers are summarized in the Table 6; further

5

details can be found in Rall [26] and Jeffrey and Juan [13]. The properties of the hyper-dual

6

numbers can be advantageously used to evaluate analytical quality first and second derivatives

7

which are demonstrated in this subsection. The Taylor series expansion of an analytic function

8

𝑓(𝑥) is given as 𝑓(𝑥 + ℎ) = 𝑓(𝑥) + ℎ𝑓 ′ (𝑥) + ℎ2

𝑓 ′′ (𝑥) 2!

+ ℎ3

𝑓 ′′′ (𝑥) 3!

+ ℎ4

𝑓 ′′′′ (𝑥) 4!



(27)

9

By employing the hyper-dual numbers system, the ℎ in the Taylor series expansion can be

10

replaced by ℎ1 𝒾1 + ℎ2 𝒾2 + 0𝒾1 𝒾2 where ℎ1 and ℎ2 are the non-real increments corresponding to

11

𝒾1 and 𝒾2 components, respectively. Then the powers of ℎ in the Taylor series expansion can be

12

replaced by the following ℎ = ℎ1 𝒾1 + ℎ2 𝒾2 + 0𝒾1 𝒾2 ℎ2 = ℎ12 𝒾12 + ℎ22 𝒾22 + 2ℎ1 ℎ2 𝒾1 𝒾2 ℎ3 = ℎ13 𝒾13 + ℎ23 𝒾23 + 3ℎ12 ℎ2 𝒾12 𝒾2 + 3ℎ1 ℎ22 𝒾1 𝒾22

(28)

ℎ4 = ℎ14 𝒾14 + ℎ24 𝒾24 + 4ℎ13 ℎ2 𝒾13 𝒾2 + 4ℎ1 ℎ23 𝒾1 𝒾23 + 6ℎ12 ℎ22 𝒾12 𝒾22 etc.

19

1

By substituting the Eq. (28) in Eq. (27) and making use of the properties of the non-real

2

components of the hyper-dual numbers given in Eq. (25) and Eq.(26), the Taylor series

3

expansion can be rewritten as 𝑓(𝑥 + ℎ1 𝒾1 + ℎ2 𝒾2 + 0𝒾1 𝒾2 ) = 𝑓(𝑥) + ℎ1 𝑓 ′ (𝑥)𝒾1 + ℎ2 𝑓 ′ (𝑥)𝒾1 + (29) ℎ1 ℎ2 𝑓 ′′ (𝑥)𝒾1 𝒾2

4

As a consequence of using hyper-dual numbers, the Taylor series expansion which is actually an

5

infinite sum of terms reduced to a function of the first and second derivatives as shown in Eq.

6

(29). Finally, the first and second derivatives of the function 𝑓(𝑥) can be obtained from the

7

Taylor series expansion provided in Eq. (29). The first derivative is given as 𝑑𝑓(𝑥) 𝐼𝑀𝐴𝐺 1 [𝑓(𝑥 + ℎ1 𝒾1 + ℎ2 𝒾2 + 0𝒾1 𝒾2 )] = 𝑑𝑥 ℎ1 (30) 𝐼𝑀𝐴𝐺 2 [𝑓(𝑥 + ℎ1 𝒾1 + ℎ2 𝒾2 + 0𝒾1 𝒾2 )] = ℎ2

8

where 𝐼𝑀𝐴𝐺 1 [∗] and 𝐼𝑀𝐴𝐺 2 [∗] are the non-real components corresponding to 𝒾1 and 𝒾2 ,

9

respectively. The second derivative of function 𝑓(𝑥) is given as 𝑑 2 𝑓(𝑥) 𝐼𝑀𝐴𝐺 12 [𝑓(𝑥 + ℎ1 𝒾1 + ℎ2 𝒾2 + 0𝒾1 𝒾2 )] = 𝑑𝑥 2 ℎ1 ℎ2

(31)

10

where 𝐼𝑀𝐴𝐺 12 [∗] is the non-real component corresponding to 𝒾1 𝒾2 . The two main advantages of

11

using hyper-dual numbers system are: a) No truncation errors: by using hyper-dual numbers the

12

Taylor series expansion can be written as a function of first and second derivatives of the

13

function alone as all the other terms are nullified as a result of the properties of the non-real

14

components of the hyper-dual numbers given in Eq. (25) and Eq. (26); and b) No subtractive

15

cancellation errors: there are no subtractive operations while evaluating the first two derivatives

16

when hyper-dual numbers are used. For this reason, the first and second derivatives obtained

20

1

using hyper-dual numbers are immune to subtractive cancellation errors. Although the first and

2

second derivatives evaluated using hyper-dual numbers are immune to truncation and subtractive

3

cancellation errors, they are still prone to rounding-off errors that cannot be avoided due to the

4

finite precision computations. However in the case of hyper-dual numbers, the rounding-off

5

errors are bounded as there are no subtractive cancellation errors. Although this technique can

6

further be extended to evaluate higher order derivatives, this is not pursued in the current study;

7

an interesting discussion on this subject matter is presented elsewhere [13].

8

5.2 Simple example

9

In this subsection the first and second derivatives of a simple scalar function are evaluated using

10

hyper-dual numbers and the results are compared with the analytical solution. The following

11

function is chosen for this study: exp(sin 𝑥)

𝑓(𝑥) =

(32)

√log 𝑥 2 + √cos √𝑥 12

The first and second derivatives of the function 𝑓(𝑥) at 𝑥 = 2.0 are evaluated in Mathematica®

13

and

14

−0.515254882226141, respectively.

15

The derivatives using hyper-dual numbers is pursued next and the step-by-step procedure for

16

evaluating the first and the second derivatives of 𝑓(𝑥) using the hyper-dual numbers is

17

demonstrated. The function 𝑓(𝑥) consists of the following functions: a) exponential; b)

18

sinusoidal; c) logarithm and d) cosine. The Taylor series expansion of these functions using

19

hyper-dual numbers has to be evaluated for finding the derivatives. The general Taylor series

20

expansion for the function 𝑓(𝓍) which is the hyper-dual number counterpart of 𝑓(𝑥), where 𝓍 =

are

found

to

be 𝑓 ′ (𝑥)|𝑥=2 = −1.065370451900012,

21

𝑓 ′′ (𝑥)|𝑥=2 =

1

𝑎1 + 𝑎2 𝒾1 + 𝑎3 𝒾2 + 𝑎4 𝒾1 𝒾2 is obtained by using Eq.(25), Eq.(26) and Eq.(27). With some

2

manipulation the Taylor series expansion of 𝑓(𝓍) can be written as 𝑓(𝓍) = 𝑓(𝑎1 ) + 𝑎2 𝑓 ′ (𝑎1 )𝒾1 + 𝑎3 𝑓 ′ (𝑎1 )𝒾2 + (𝑎4 𝑓 ′ (𝑎1) + 𝑎2 𝑎3 𝑓 ′′ (𝑎1 ))𝒾1 𝒾2

(33)

3

A summary of Taylor series expansions of standard functions is provided in Table 7. Using the

4

algebraic operations provided in Table 6 and Taylor series expansions of standard functions in

5

Table 7, the process of evaluating the first and second derivatives of 𝑓(𝑥) at 𝑥0 = 2 is illustrated

6

in the following steps:

7

Note: Although double precision is used in Matlab® calculations, only first four significant digits

8

are provided for steps 1-10 for the sake of brevity.

9

Step 1: choose 𝓍0 = 𝑥0 + ℎ1 𝒾1 + ℎ2 𝒾2 + 0𝒾1 𝒾2

10

Step 2: for the sake of convenience assume ℎ1 = ℎ2 = 1

11

Step 3: evaluate sin 𝓍0 (see Table 7)

12

𝓃1 = sin 𝓍0 = 0.9093 − 0.4161𝒾1 − 0.4161𝒾2 − 0.9093𝒾1 𝒾2

13

Step 4: evaluate exp(sin 𝓍0 ) (see Table 7)

14

𝓃2 = exp(𝒸1 ) = 2.4826 − 1.0331𝒾1 − 1.0331𝒾2 − 1.8275𝒾1 𝒾2

15

Step 5: evaluate √𝓍0 ,𝓍02 (see Table 7)

16

𝒹1 = √𝓍0 = 1.4142 + 0.3536𝒾1 + 0.3536𝒾2 − 0.0884𝒾1 𝒾2

17

𝒹2 = 𝓍02 = 4 + 4𝒾1 + 4𝒾2 − 2𝒾1 𝒾2

18

Step 6: evaluate log 𝓍0 2 , √cos √𝓍0 (see Table 7)

19

𝒹3 = log 𝒹2 = 1.3863 + 1𝒾1 + 1𝒾2 − 0.5𝒾1 𝒾2

20

𝒹4 = cos 𝒹1 = 0.1559 − 0.3492𝒾1 − 0.3492𝒾2 + 0.0678𝒾1 𝒾2

21

𝒹5 = √𝒹4 = 0.3949 − 0.4422𝒾1 − 0.4422𝒾2 − 0.4093𝒾1 𝒾2 22

1

Step 7: evaluate log 𝓍0 2 + cos √𝓍0 (see Table 6 for adding two hyper-dual numbers)

2

𝒹6 = 𝒹3 + 𝒹5 = 1.7812 + 0.5578𝒾1 + 0.5578𝒾2 − 0.9093𝒾1 𝒾2

3

Step 8: evaluate √log 𝓍0 2 + cos √𝓍0

4

𝒹7 = √𝒹6 = 1.3346 + 0.2090𝒾1 + 0.2090𝒾2 − 0.3734𝒾1 𝒾2

5

Step 9: evaluate

exp(sin x)

(see Table 6 for division operation)

√log x2 +√cos √x

𝓃2 = 1.8601 − 1.0654𝒾1 − 1.0654𝒾2 − 0.5153𝒾1 𝒾2 𝒹7

6

ℊ=

7

Step 10: evaluate 𝐼𝑀𝐴𝐺 1 (ℊ), 𝐼𝑀𝐴𝐺 2 (ℊ) and 𝐼𝑀𝐴𝐺 12 (ℊ)

8

𝐼𝑀𝐴𝐺 1 (ℊ) = 𝐼𝑀𝐴𝐺 2 (ℊ) = −1.0654

9

𝐼𝑀𝐴𝐺 12 (ℊ) = −0.5153

10

Note: for Step-11, 15 significant digits are presented for the sake of comparison with the

11

analytical solution.

12

Step 11: evaluate first and second derivatives

13

𝑓 ′ (𝑥)|𝑥=2 =

𝐼𝑀𝐴𝐺 1 (ℊ) 𝐼𝑀𝐴𝐺 2 (ℊ) = = −1.065370451900012 ℎ1 ℎ2

14

𝑓 ′′ (𝑥)|𝑥=2 =

𝐼𝑀𝐴𝐺 12 (ℊ) = −0.515254882226142 ℎ1 ℎ2

15

The first and second derivatives of the scalar function 𝑓(𝑥) obtained by employing the hyper-

16

dual numbers matched the analytical derivatives demonstrating the effectiveness of this

17

procedure.

18

The differentiation using hyper-dual numbers carried out in this study is a type of automatic

19

differentiation with a forward mode implementation. In the case of forward mode

20

implementation schemes[27], the input variables (𝓍 in the above example) are initialized as 23

1

shown in the step-1 of the simple example. Specifically in the case of hyper-dual numbers, the

2

functions of these independent variables are expanded using the modified Taylor series given in

3

Eq.(29) which is a result of differentiation arithmetic provided in Eq.(25), Eq.(26) and Table 6.

4

By systematically carrying out this differentiation arithmetic either by operator overloading or

5

user-defined functions (used in the current study), the objective function or the output variable

6

can obtained (ℊ in step 9). Finally, the first and second derivatives can be found by extracting the

7

non-real components of the output variable. In further sections, hyper-dual numbers along with

8

perturbation techniques are provided for evaluating tensor derivatives.

9

5.3 Computer implementation of hyper-dual numbers

10

In this study, hyper-dual numbers are represented as 1 × 4 vectors. For example, a hyper-dual

11

number 𝒶 = 𝑎1 + 𝑎2 𝒾1 + 𝑎3 𝒾2 + 𝑎4 𝒾1 𝒾2 is stored as an array of numbers:𝒶 = {𝑎1 , 𝑎2 , 𝑎3 , 𝑎4 }.

12

The basic algebraic operations and Taylor series expansions for standard functions using hyper-

13

dual numbers is summarized in Table 6 and Table 7, respectively. The matrices in the hyper-dual

14

numbers system are represented as a 312 matrix. The first three columns contain the real part of

15

the hyper-dual matrix and the other 9 columns are comprised of the non-real components

16

corresponding to 𝒾1 , 𝒾2 and 𝒾1 𝒾2 , respectively. The matrix operations on hyper-dual matrices

17

(Table 8) like trace, inverse etc., are similar to the operations on real matrices. The only

18

difference is that the basic algebra is conducted using hyper-dual numbers instead of real

19

numbers which are provided in Table 6.

20

In this study, all basic algebra and matrix operations involving hyper-dual numbers are

21

conducted by the means of user defined subroutines in Matlab; for example, multiplication of

22

two hyper-dual numbers 𝒸 = 𝒶 × 𝒷 is conducted using a subroutine 𝒸 = multiply_hyper(𝒶, 𝒷).

24

1

As suggested in a previous study [13], an operator overloading along with type declaration of the

2

hyper-dual numbers as a user defined data type can be a more efficient implementation scheme

3

as it eliminates excessive number of function calls. A basic implementation using user-defined

4

functions to conduct the algebraic operations on hyper-dual numbers is used in this study. The

5

intention of this study is to show the unique advantages of hyper-dual numbers for implementing

6

constitutive models and no attempt is made to optimize the implementation of the hyper-dual

7

numbers.

8

5.4 Evaluation of second Piola-Kirchhoff stress tensor

9

The second Piola-Kirchhoff stress (𝑺) tensor can be evaluated using the hyper-dual numbers by

10

employing the following expression (𝑺)𝑖𝑗 = 2

̆ (𝑖𝑗) )] ̆ (𝑖𝑗) )] 𝐼𝑀𝐴𝐺 1 [𝜓(𝑪 𝐼𝑀𝐴𝐺 2 [𝜓(𝑪 =2 ℎ1 ℎ2

(34)

11

̆ (𝑖𝑗) is the perturbed strain tensor. The perturbation in the hyper-dual numbers system is where 𝑪

12

given as if 𝑝 = 𝑖 and 𝑞 = 𝑗 (𝑖𝑗) 𝐶̆𝑝𝑞 = 𝐶𝑝𝑞 + ℎ1 𝒾1 + ℎ2 𝒾2 + 0𝒾1 𝒾2

(35)

otherwise (𝑖𝑗) 𝐶̆𝑝𝑞 = 𝐶𝑝𝑞

𝑝, 𝑞 ∈ {1,2,3} 13

For the sake of convenience, the non-real components corresponding to 𝒾1 and 𝒾2 are assumed to

14

be same (i.e. ℎ1 = ℎ2 = ℎ). The computational algorithm for the evaluation of the second Piola-

15

Kirchhoff stress using hyper-dual numbers is outlined in Figure 5(a). First, the perturbations of

16

̆ (𝑖𝑗) ) are evaluated and the corresponding Helmholtz free right Cauchy-Green strain tensor (𝑪

17

̆ (𝑖𝑗) )). The values of these free energy functions are energy functions are calculated (𝜓(𝑪 25

1

substituted in Eq. (34) to obtain the second Piola-Kirchhoff stress tensor (𝑺) using hyper-dual

2

numbers. In total, the evaluation of the stress tensor using hyper-dual numbers requires 6

3

̆ (11) , 𝑪 ̆ (22) , 𝑪 ̆ (33) , 𝑪 ̆ (12) , 𝑪 ̆ (13) and 𝑪 ̆ (23) ) perturbations of right Cauchy-Green strain tensor (𝑪

4

̆ (11) ), 𝜓(𝑪 ̆ (22) ), 𝜓(𝑪 ̆ (33) ), along with 6 evaluations of Helmholtz free energy function: 𝜓(𝑪

5

̆ (12) ), 𝜓(𝑪 ̆ (13) ) and 𝜓(𝑪 ̆ (23) ). 𝜓(𝑪

6

5.5 Evaluation of tangent moduli

7

The Lagrangian tangent moduli (ℂ) based on hyper-dual numbers can be evaluated using the

8

following expression (ℂ)𝑖𝑗𝑘𝑙 = 4

̿ (𝑖𝑗𝑘𝑙) )] 𝐼𝑀𝐴𝐺 12 [𝜓(𝑪 ℎ1 ℎ2

(36)

9

̿ (𝑖𝑗𝑘𝑙) is the perturbed right Cauchy-Green strain tensor. Unlike the previous where 𝑪

10

perturbations presented in this study, the hyper-dual numbers system perturbations of right

11

Cauchy-Green strain tensor for evaluating the tangent moduli are not same. Four different

12

definitions of perturbations are required and these perturbations are presented in Table 9. The

13

first two perturbation schemes provided in Table 9 can be used to obtain the diagonal terms and

14

the next two schemes can be used to obtain the off-diagonal terms of the tangent moduli (Eq.

15

(10)). For every component of the tangent moduli (ℂ𝑖𝑗𝑘𝑙 ), the components of right Cauchy-Green

16

strain tensor that are to be perturbed are provided in flower brackets and the definition of

17

perturbation is provided in the last column of Table 9. It is interesting to note that the first

18

perturbation scheme (for 𝑖 = 𝑗 = 𝑘 = 𝑙) provided in Table 9 can also be used to obtain the

19

diagonal terms of the second Piola-Kirchhoff stress tensor (𝑺).

26

1

The computational algorithm for evaluating the tangent moduli using the hyper-dual numbers is

2

̿ (𝑖𝑗𝑘𝑙) ) are provided in Figure 5(b). First, the 21 perturbed right Cauchy-Green strain tensors (𝑪

3

evaluated according to the definitions provided in Table 9. The Helmholtz free energy functions

4

̿ (𝑖𝑗𝑘𝑙) ) and substituted in corresponding to these perturbed strain tensors are then evaluated 𝜓(𝑪

5

Eq. (36) to obtain the components of tangent moduli. In total, the evaluation of the tangent

6

moduli using hyper-dual numbers require 21 perturbations of right Cauchy-Green strain tensor

7

and the corresponding stored energy functions to obtain all the components of Lagrangian

8

tangent moduli.

9

5.6 Results and discussion: Full automation using hyper-dual numbers

10

The convergence of Euclidean norm of residual for analytical implementation and full automated

11

implementation based on hyper-dual numbers are compared in Table 10 for Model-1. From

12

Table 10, it is clear that the full automation based on hyper-dual numbers converged for a wide

13

range of non-real component ℎ ∈ [10−30 , 0), (0, 1030 ]. It is also important to note that the rate of

14

convergence of Euclidean norm obtained using hyper-dual numbers is the same as obtained from

15

the analytical implementation of the constitutive model irrespective of the value of non-real

16

component (except for ℎ1 = ℎ2 = ℎ = 0). The Model-2 to Model-5 are also implemented using

17

the full automation based on hyper-dual numbers and the convergence of Euclidean norm of

18

residuals is presented in Table 11. From Table 11, it is again observed that the convergence is

19

obtained for non-real component ℎ ∈ [10−30 , 0), (0, 1030 ] and the rate of convergence is found

20

to be independent of the value of non-real component. This can be attributed to the absence of

21

truncation and subtractive cancellation errors when the differentiation arithmetic corresponding

22

to hyper-dual numbers are used. This eliminates the necessity for finding the optimum value of

23

non-real component when full automation based on hyper-dual numbers is used for the 27

1

implementation of anisotropic hyperelastic constitutive models. A summary of the deformation

2

of the Cook’s membrane and the load displacement curves for all the implemented constitutive

3

models are provided in Figure 6 and Figure 7, respectively.

4

The sensitivity of the full automation based on hyper-dual numbers for Model-1 is provided in

5

the Figure 8. The relative errors while evaluating the second Piola-Kirchhoff stress tensor (𝑺)

6

and tangent moduli (ℂ) are found to be relatively independent to the value of the non-real

7

component with a magnitude close to the precision (𝜖m ≈ 10−16 ) with which a double floating

8

point data type is stored according to IEEE standard 754 [28] used in Matlab® computations on a

9

64-bit machine. Clearly, these small relative errors indicate that they are caused due to the

10

accumulation of rounding-off errors due to the finite precision computations.

11

6. Comparison of central difference method and hyper-dual numbers

12

Automatic implementation of anisotropic hyperelastic constitutive models into a general finite

13

element framework is accomplished using central difference method and hyper-dual numbers.

14

These methods have their own merits and demerits, and these methods are compared based on

15

four parameters: a) accuracy; b) need for finding an optimal model parameter (finite difference

16

interval/non-real component); c) ease of implementation; and d) computational efficiency.

17

Numerically accurate derivatives can be obtained for both central difference method and hyper-

18

dual numbers. However, the accuracy in the case of central difference method is sensitive to the

19

size of the finite difference interval due to the presence of truncation and subtractive cancellation

20

errors. In contrast, the first and second derivatives obtained using hyper-dual numbers are

21

immune to truncation and subtractive cancellation errors which leads to analytical quality

22

derivatives. However, as numerically robust implementation of hyper-dual numbers is currently

23

not available in any programming language, the basic algebra, Taylor series expansions of 28

1

functions and matrix operations based on hyper-dual numbers system have to be coded upfront.

2

Unlike the hyper-dual numbers, the central difference method enjoys a relatively simple

3

implementation for the reasons mentioned above.

4

Automatic implementation is expected to consume more computational time when compared to

5

the analytical solution. In general, automatic implementation is preferred when either the model

6

is too complex or longer computational time is not a big setback. The computational overhead is

7

associated with the presence of additional perturbations of strain tensors and the evaluation of

8

corresponding free energy functions. In addition to this, the basic algebra and matrix operations

9

in the case of hyper-dual numbers require more computational time and it is natural to judge the

10

full automation based on central difference method to be computationally efficient when

11

compared to full automation based on hyper-dual numbers. Although the observations made by

12

the authors do not counter this intuition, it is important to note that the hyper-dual numbers can

13

be implemented in several different ways. A simple and straight forward implementation of

14

hyper-dual numbers is used for this study with an intention to demonstrate the capability of this

15

method for automating the anisotropic hyperelastic models. Little attention is paid towards

16

optimizing the implementation of hyper-dual numbers which is outside the scope of the present

17

study. With this basic implementation, the automation using Hyper-dual numbers is found to be

18

on an average 12 times more expensive when compared to central difference methods. A data

19

type definition of hyper-dual numbers in low level programming language such as FORTRAN or

20

C++ is preferable in order to reduce the computational overhead associated with the full

21

automation; an interesting discussion on this subject is provided elsewhere [15, 29].

22

As mentioned in section 5, hyper-dual numbers are a form of automatic differentiation scheme.

23

Among other automatic differentiation schemes, the scheme based on dual numbers is closest to 29

1

the hyper-dual numbers (for example see ref.[30]). The differentiation arithmetic in the case of

2

dual numbers is slightly different from the hyper-dual numbers. In the case of dual numbers, the

3

corresponding differentiation arithmetic enables the user to express the Taylor series expansion

4

of a function in terms of its functional value and its first derivative alone. For this reason, dual

5

numbers are ideal for evaluating the exact first derivatives. Dual numbers consume less storage

6

space when compared to hyper-dual numbers. This can be attributed to the fact that dual numbers

7

are represented by 2×1 vectors instead of 4×1 vectors that are used for hyper-dual numbers. In

8

addition, automatic differentiation using dual numbers is efficient due to the simpler

9

differentiation arithmetic associated with this method.

10

Hyper-dual and dual numbers belong to the forward mode automatic differentiation schemes. In

11

such schemes, the sensitivities of the intermediate variables (𝓃1,𝓃2 ,𝒹1 − 𝒹7 in steps 2-8) are

12

evaluated with respect to the input variable (𝓍 in the example presented in section 5.2) in order

13

to find the derivatives. Evaluating derivatives using this process becomes computationally

14

expensive when there are several input variables. This computational challenge can be resolved

15

by using reverse/ adjoint mode automatic schemes (see ref.[27]). In the case of reverse mode,

16

sensitivities of the output variable (ℊ) is evaluated with respect to the intermediate variables

17

(𝓃1,𝓃2 ,𝒹1 − 𝒹8 in steps 2-8). In such a reverse mode automatic differentiation the derivatives

18

with respect to all the input variables can be obtained in one reverse sweep. This is not possible

19

in the forward mode automatic differentiation. A more comprehensive discussion of the relative

20

advantages and disadvantages of contemporary reverse/ adjoint mode automatic differentiation

21

techniques is presented elsewhere (see ref.[27]). In the current study, right Cauchy-Green strain

22

tensor (𝑪) is the only input variable and Helmholtz free energy function (𝜓) is the only output

23

variable. For this reason, usage of a forward mode automatic scheme like hyper-dual numbers is

30

1

not a disadvantage in this particular application. No comprehensive comparison with other

2

automatic differentiation schemes is attempted as this is not the central theme of the study. For

3

further discussion on various automatic differentiation schemes and their implementations the

4

readers are encouraged to see ref.[27] and references there in.

5

7. Summary and Conclusions

6

The main goal of full automation is to enable the end-user to implement the hyperelastic models

7

into a general finite element framework just by specifying the Helmholtz free energy function

8

and the material constants. In this study, this is accomplished by using central difference method

9

and hyper-dual numbers along with perturbation techniques. The computational algorithms for

10

the full automation based on central difference method and hyper-dual numbers are provided.

11

The capabilities of these procedures are demonstrated by implementing five anisotropic

12

hyperelastic models. Although the full automation based on central difference method is

13

sensitive to the size of finite difference interval, this automation is easy to implement and quick

14

to compute. On the other hand, the full automation based on hyper-dual numbers can produce

15

analytical quality derivatives but needs additional coding effort and may consume more

16

computational time when compared to the full automation based on central difference method. In

17

the current study, the automatic implementation of anisotropic hyperelastic models expressed as

18

a function of the invariants of the right Cauchy-Green strain tensor (𝑪) and structural tensors are

19

presented. However, a group of hyperelastic models which are expressed as a function of Eigen

20

values of the right Cauchy-Green strain tensor (𝑪) are not addressed. A different perturbation

21

scheme is required to automate such constitutive models. This will be investigated by the authors

22

in their future research. Currently, the authors are also investigating the application of these

23

methods to plasticity and damage models, and these results will be presented in our future work. 31

1

Acknowledgements

2

The presented work is supported in part by the US National Science Foundation through Grant

3

CMS-1055314. Any opinions, findings, conclusions, and recommendations expressed in this

4

paper are those of the authors and do not necessarily reflect the views of the sponsors.

5

32

1

Appendix

2

A1. Blatz-Ko Material [22]

3

The Helmholtz free energy function (𝜓) is given as 𝜓(𝐼1 , 𝐼2 , 𝐼3 ) =

𝜇 1 −𝛽 𝜇 𝐼2 1 𝛽 [(𝐼1 − 3) + (𝐼3 − 1)] + [( − 3) + (𝐼3 − 1)] 4 𝛽 4 𝐼3 𝛽

4

where

5

𝜇=

6

𝐸 = 200 MPa; 𝜈 = 0.3

7

The Piola-Kirchhoff stress tensor (𝑺) is given as

𝐸 𝐸 𝜇 ;𝜅 = ;𝛽 = 2(1 + 𝜈) 3(1 − 2𝜈) 1 − 2𝜇

𝜇 𝜇𝐼1 𝜇 𝜇 −𝛽 𝜇 𝛽+1 𝑺=( + )𝑰− 𝑪 − { 𝐼3 + (−𝐼2 + 𝐼3 )} 𝑪−1 2 2𝐼3 2𝐼3 2 2𝐼3 8

(A1)

(A2)

The tangent moduli (ℂ) is given as 𝜇 𝜇𝐼1 𝜇 (𝑰 ⊗ 𝑰) − (𝑰 ⊗ 𝑪−1 + 𝑪−1 ⊗ 𝑰) + (𝑪 ⊗ 𝑪−1 + 𝑪−1 ⊗ 𝑪) 𝐼3 𝐼3 𝐼3 𝜇 −𝛽 𝛽+1 + [𝜇𝛽𝐼3 + (𝐼2 + 𝛽𝐼3 )] (𝑪−1 ⊗ 𝑪−1 ) 𝐼3 𝜇 𝜕𝑪−1 𝜇 −𝛽 𝛽+1 − [𝜇𝐼3 + (𝐼2 − 𝐼3 )] ( )− 𝕊 𝐼3 𝜕𝑪 𝐼3 1 𝕊 = (𝕀 + 𝕀̅); 𝕀 = 𝛿𝑖𝑘 𝛿𝑗𝑙 𝒆𝑖 𝒆𝑗 𝒆𝑘 𝒆𝑙 ; 𝕀̅ = 𝛿𝑖𝑙 𝛿𝑗𝑘 𝒆𝑖 𝒆𝑗 𝒆𝑘 𝒆𝑙 2 ℂ=

9 10 11

(A3)

A2. Model-1 [25]

12

The Helmholtz free energy function of Model-1 is given in Table 3 and the second Piola-

13

Kirchhoff stress tensor (𝑺) for Model-1 is given as: 𝑺 = 2𝛼1 (𝐼1 𝑰 − 𝑪 −

𝐼2 −1 𝜖 −𝜖 𝑪 ) + 2𝜖1 𝜖2 (𝐼3 2 − 𝐼3 2 )𝑪−1 + 𝑺𝑎𝑛𝑖 3 2

(A4)

1

𝑺𝑎𝑛𝑖 = 2𝑘1 exp(𝑘2 (𝐼4 − 1) )(𝐼4 − 1)𝑴 ; if 𝐼4 ≥ 0 𝑺𝑎𝑛𝑖 = 𝟎; if 𝐼4 < 0 14

Finally, the tangent moduli (ℂ) for Model-1 is given as 33

1 1 1 − ℂ = 𝐼3 3 [4𝛼1 (𝑰 ⊗ 𝑰 − 𝕊 − 𝐼1 (𝑪−1 ⊗ 𝑰) + (𝑪−1 ⊗ 𝑪)) 3 3



4𝛼1 𝜕𝑪−1 𝐼2 ( + 𝐼1 (𝑰 ⊗ 𝑪−1 ) − 𝑪 ⊗ 𝑪−1 − (𝑪−1 ⊗ 𝑪−1 ))] 3 𝜕𝑪 3 𝜖

−𝜖

+ 4𝜖1 𝜖2 (𝐼3 2 − 𝐼3 2 ) (𝜖2 (𝑪−1 ⊗ 𝑪−1 ) +

𝜕𝑪−1 ) + ℂ𝑎𝑛𝑖 𝜕𝑪

if 𝐽4 ≥ 0 ℂ𝑎𝑛𝑖 = exp(𝑘2 (𝐼4 − 1)2 ) (8𝑘1 𝑘2 (𝐼4 − 1)2 + 4𝑘1 )𝑴1 ⊗ 𝑴1 otherwise ℂ𝑎𝑛𝑖 = 𝕆

34

(A5)

Central difference approximation for tangent moduli Analytical

ℎ = 10−1

10−2

10−3

10−8

10−10

10−12

10−14

10−15

1.17E+01 1.29E-02 2.38E-06 3.34E-12

1.09E+01 3.36E-01 2.27E-02 1.89E-03 1.51E-04 1.16E-05 8.86E-07 6.72E-08 5.08E-09

1.17E+01 1.05E-02 1.12E-05 1.09E-08 9.81E-12

1.17E+01 1.29E-02 2.37E-06 8.34E-12

1.17E+01 1.29E-02 2.38E-06 3.41E-12

1.17E+01 1.29E-02 2.39E-06 4.83E-12

1.17E+01 1.30E-02 4.36E-06 4.82E-10

1.17E+01 1.36E-01 8.78E-04 6.29E-06 5.18E-08 4.48E-10

1.1E+01 1.2E+00 1.18E-01 1.44E-02 1.72E-03 2.10E-04 2.47E-05 3.09E-06 3.76E-07 4.68E-08 5.74E-09

ℎ ≤ 10−16

No Convergence

Table 1: Convergence of Euclidean norm of residual for various sizes of finite difference intervals: central difference approximation for tangent moduli.

35

Complex-step derivative approximation for tangent moduli Analytical 1.17E+01 1.29E-02 2.38E-06 3.34E-12

ℎ = 10−1 1.22E+01 1.54E-01 3.58E-03 1.27E-04 4.31E-06 1.41E-07 4.52E-09

10−2

10−3

10−8

10−10

10−12

10−14

10−16

10−30

1.17E+01 1.40E-02 5.61E-06 2.02E-09

1.17E+01 1.29E-02 2.39E-06 4.81E-12

1.17E+01 1.29E-02 2.38E-06 3.62E-12

1.17E+01 1.29E-02 2.38E-06 3.50E-12

1.17E+01 1.29E-02 2.38E-06 3.73E-12

1.17E+01 1.29E-02 2.38E-06 3.58E-12

1.17E+01 1.29E-02 2.38E-06 3.46E-12

1.17E+01 1.29E-02 2.38E-06 3.60E-12

Table 2: Convergence of Euclidean norm of residual for various sizes of finite difference intervals: complex-step derivative approximation for tangent moduli.

36

Model #

Helmholtz free energy 𝜓 = 𝛼1 (

Model 1 [25]

Model 2 [25]

Model 3 [5]

Model 4 [2]

𝐼2 1⁄ 𝐼3 3

𝜖

−𝜖2

− 3) + 𝜖1 (𝐼3 2 + 𝐼3

Material constants 𝛼1 = 25 MPa 𝜖1 = 100 𝜖2 = 2.5 𝑘1 = 25 𝑘2 = 1

− 2) + 𝜓𝑎𝑛𝑖

where 𝜓𝑎𝑛𝑖

𝑘1 {exp(𝑘2 (𝐼4 − 1)2 − 1); for 𝐼4 ≥ 1 = {2𝑘2 0; for 𝐼4 < 1

𝜓 = 𝛼1 (

𝐼1 1⁄ 3

− 3) +

𝐼3

𝜖 𝜖1 (𝐼3 2

+

−𝜖 𝐼3 2

− 2) + 𝛽1 (𝐼1 𝐼4 − 𝐼5 − 2)

+ 𝛽3 (𝐼1 𝐼6 − 𝐼7 − 2)𝛽4

1 1 𝜓 = 𝐶1 (𝐼1 − 3) + 𝐶2 (𝐼40.5 − 1)2 + 𝜅 ( (𝐼3 − 1) − ln √𝐼3 ) 2 2 𝐶2 = 0; if 𝐼4 < 1 𝜓 = 𝐶1 (𝐼1 − 3) + 𝐶2 (𝐼2 − 3) + 𝐶3 (exp(𝐼4 − 1) − 𝐼4 ) 1 1 + 𝜅 ( (𝐼3 − 1) − ln √𝐼3 ) 2 2 𝜇 𝐶 (𝐼̃1 − 3) + {exp(𝐶1 (𝐼̃4 − 1)2 ) − 1} 2 2 where 𝐼̃4 − 1 𝐶 = 𝐶0 [1 − 𝛼1 (tanh ( ))] 𝛼2 𝜓=

Model 5 [3]

2

2

1

1

1

√3

√3

√3

] ; 𝒂20 = [1

0

0]

Table 3: Helmholtz free energy functions and material constants.

37

𝛼1 = 25 MPa 𝜖1 = 50 𝜖2 = 2.5 𝛽1 = 10 MPa 𝛽2 = 2 𝛽3 = 5 MPa 𝛽1 = 3 C1 = 22.15 Mpa C2 = 26.35 Mpa κ = 4500 Mpa 𝐶1 = 25 MPa 𝐶2 = 25 MPa 𝐶3 = 5.175 MPa 𝜅 = 2250 MPa 𝛼1 = 0.5 𝛼2 = 150 𝐶0 = 1473 MPa 𝐶1 = 2.6 𝜇 = 1133.1 MPa

𝐼̃1 = 𝐽−3 𝐼1 ; 𝐼̃4 = 𝐽−3 𝐼4 𝒂10 = [

𝛽2

Analytical

Central difference method for full automation ℎ ≥ 10−1

4.00E+01 1.77E+01 2.31E+00 1.69E+00 2.18E-02 2.13E-04 3.92E-10

fail

10−2

10−3

ℎ ≤ 10−4

fail

4.00E+01 1.73E+01 2.26E+00 1.59E+00 1.98E-02 1.72E-04 4.29E-09

fail

Table 4: Model-1: comparison of convergence of Euclidean norm of residual for analytical solution and full automation based on central difference method (for various sizes of finite difference intervals).

38

Model

Central difference method ℎ ≥ 10−1

Model-2

Model-3

Model-4

fail

fail

fail

Model-5 fail

10−2

10−3

7.00E+00 4.22E-02 8.92E-03 5.86E-06 1.01E-08 2.19E-10 2.70E+01 8.75E+00 6.00E-02 1.58E-02 3.39E-06 1.35E-08 7.60E-10 5.58E+02 1.16E+01 1.81E-01 3.40E-04 3.36E-07 9.56E-10 1.02E+01 1.47E-01 1.90E-02 2.32E-03 2.84E-04 3.49E-05 4.28E-06 5.26E-07 6.45E-08 8.79E-09

6.66E+00 1.71E-03 2.11E-04 2.38E-09

2.68E+01 8.87E+00 5.86E-02 1.70E-02 2.92E-07 7.62E-09 5.57E+02 1.19E+01 1.81E-01 3.43E-04 2.27E-08 8.53E-09

fail

ℎ ≤ 10−4 fail

fail

fail

fail

Table 5: Automation based on central difference method: Convergence of Euclidean norm of residual for various sizes of finite difference intervals (Models 2-5).

39

Operation Addition/subtraction Multiplication Inverse Division Square root

Implementation 𝒶 ± 𝒷 = (𝑎1 ± 𝑏1 ) + (𝑎2 ± 𝑏2 )𝒾1 + (𝑎3 ± 𝑏3 )𝒾2 + (𝑎4 ± 𝑏4 )𝒾1 𝒾2 𝒶 ∗ 𝒷 = (𝑎1 𝑏1 ) + (𝑎1 𝑏2 + 𝑎2 𝑏1 )𝒾1 + (𝑎1 𝑏3 + 𝑎3 𝑏1 )𝒾2 + (𝑎1 𝑏4 + 𝑎2 𝑏3 + 𝑎3 𝑏2 + 𝑎4 𝑏1 )𝒾1 𝒾2 1 𝑎2 𝑎3 𝑎4 2𝑎2 𝑎3 𝒶−1 = − 2 𝒾1 − 2 𝒾2 + (− 2 + ) 𝒾1 𝒾2 ; for 𝑎1 ≠ 0 𝑎1 𝑎1 𝑎1 𝑎1 𝑎13 𝒶 = 𝒶 × 𝒷 −1 ; for 𝑏1 ≠ 0 𝒷 𝑎2 𝑎3 𝑎4 𝑎2 𝑎3 𝒾1 + 𝒾2 + ( − ) 𝒾1 𝒾2 √𝒶 = √𝑎1 + 2√𝑎1 2√𝑎1 2√𝑎1 4𝑎11.5

Norm

𝑛𝑜𝑟𝑚(𝒶) = √𝑎12 𝒶 == 𝒷 if 𝑎1 = 𝑏1 𝒶 > 𝒷 if 𝑎1 > 𝑏1

Comparison

Table 6: Basic arithmetic operations using hyper-dual numbers.

40

Function Sine Cosine Tan Logarithmic Power

Taylor series expansion (𝓪 = 𝑎1 + 𝑎2 𝒾1 + 𝑎2 𝒾2 + 𝑎4 𝒾1 𝒾2 ) sin(𝒶) = sin(𝑎1 ) + 𝑎2 cos(𝑎1 ) 𝒾1 + 𝑎3 cos(𝑎1 ) 𝒾2 + (𝑎4 cos(𝑎1 ) − 𝑎2 𝑎3 sin(𝑎1 ))𝒾1 𝒾2 cos(𝒶) = cos(𝑎1 ) − 𝑎2 sin(𝑎1 ) 𝒾1 − 𝑎3 sin(𝑎1 ) 𝒾2 − (𝑎4 sin(𝑎1 ) + 𝑎2 𝑎3 cos(𝑎1 ))𝒾1 𝒾2 tan(𝒶) = tan(𝑎1 ) + 𝑎2 sec 2 (𝑎1 ) 𝒾1 + 𝑎3 sec 2 (𝑎1 ) 𝒾2 + (𝑎4 sec 2 (𝑎1 ) + 2𝑎2 𝑎3 tan(𝑎1 ) sec 2 (𝑎1 ))𝒾1 𝒾2 𝑎2 𝑎3 𝑎4 𝑎2 𝑎3 log(𝒶) = log(𝑎1 ) + 𝒾1 + 𝒾2 + ( − 2 ) 𝒾1 𝒾2 𝑎1 𝑎1 𝑎1 𝑎1 𝒶𝑐 = 𝑎1𝑐 + 𝑐𝑎2 𝑎1𝑐−1 𝒾1 + 𝑐𝑎3 𝑎1𝑐−1 𝒾2 + (𝑐𝑎4 𝑎1𝑐−1 + (𝑐 2 − 𝑐)𝑎1𝑐−2 𝑎2 𝑎3 )𝒾1 𝒾2

Table 7: Taylor series expansions of standard functions using hyper-dual numbers system.

41

𝑎11 𝓐 = [𝓪𝑖𝑗 ] = [𝑎𝑖𝑗 + 𝑏𝑖𝑗 𝒾1 + 𝑐𝑖𝑗 𝒾2 + 𝑑𝑖𝑗 𝒾1 𝒾2 ] = [ 𝑎21 𝑎31

Function Trace Multiplication

Determinant

𝑎12 𝑎22 𝑎32

𝑎13 𝑎23 𝑎33

𝑏11 𝑏21 𝑏31

𝑏21 𝑏22 𝑏32

𝑏31 𝑏23 𝑏33

𝑐11 𝑐21 𝑐31

𝑐12 𝑐22 𝑐23

𝑐13 𝑐23 𝑐33

𝑑11 𝑑21 𝑑31

𝑑12 𝑑22 𝑑32

𝑑13 𝑑23 ] 𝑑33

Implementation 𝑡𝑟(𝓐) = 𝒶11 + 𝒶22 + 𝒶33 𝒶11 𝒶12 𝒶13 𝒷11 𝒷12 𝒷13 𝓐. 𝓑 = [𝒶21 𝒶22 𝒶23 ] . [𝒷21 𝒷22 𝒷23 ] 𝒶31 𝒶32 𝒶33 𝒷31 𝒷32 𝒷33 det(𝓐) = 𝒶11 (𝒶22 𝒶33 − 𝒶23 𝒶32 ) − 𝒶12 (𝒶21 𝒶33 − 𝒶23 𝒶31 ) + 𝒶13 (𝒶21 𝒶32 − 𝒶22 𝒶31 )

Table 8: Implementation of matrix operations using hyper-dual numbers.

42

𝑐1111 𝑐2211 𝑐 [ℂ] = 𝑐3311 1211 𝑐2311 [𝑐3111

Condition

𝑖=𝑗=𝑘=𝑙

𝑖=𝑘 𝑗=𝑙 𝑖≠𝑗 𝑖=𝑗 𝑘=𝑙 𝑖≠𝑘 𝑖=𝑗 𝑘≠𝑙

𝑖≠𝑗 𝑘≠𝑙

𝑐1122 𝑐2222 𝑐3322 𝑐1222 𝑐2322 𝑐3122

Tangent moduli components

𝑐1133 𝑐2233 𝑐3333 𝑐1233 𝑐2333 𝑐3133

𝑐1112 𝑐2212 𝑐3312 𝑐1212 𝑐2312 𝑐3112

𝑐1123 𝑐2223 𝑐3323 𝑐1223 𝑐2323 𝑐3123

𝑐1131 𝑐2231 𝐶11 𝑐3331 [𝑪] 𝐶 ; = [ 21 𝑐1231 𝐶 31 𝑐2331 𝑐3131 ]

𝐶13 𝐶23 ] 𝐶33

{(𝑝1 , 𝑞1 ). . (𝑝𝑛 , 𝑞𝑛 )}.

Perturbation definition for 𝑖, 𝑗 = {(𝑝1 , 𝑞1 ). . (𝑝𝑛 , 𝑞𝑛 )}

𝑐1111 ,𝑐2222 and 𝑐3333

{(1,1)},{(2,2)} and {(3,3)}

𝐶𝑖𝑗 + ℎ1 𝒾1 + ℎ2 𝒾2 + 0𝒾1 𝒾2

𝑐1212 , 𝑐2323 and 𝑐3131

{(1,2), (2,1)}, {(2,3), (3,2)} and {(3,1), (1,3)}

𝐶𝑖𝑗 + 0.5ℎ1 𝒾1 + 0.5ℎ2 𝒾2 + 0𝒾1 𝒾2 𝐶𝑙𝑘 + 0.5ℎ1 𝒾1 + 0.5ℎ2 𝒾2 + 0𝒾1 𝒾2

𝑐1122 , 𝑐1133 and 𝑐2233

{(1,1), (2,2)},{(1,1), (3,3)} and {(2,2), (3,3)}

𝐶𝑖𝑗 + ℎ1 𝒾1 + 0𝒾2 + 0𝒾1 𝒾2 𝐶𝑘𝑙 + 0𝒾1 + ℎ2 𝒾2 + 0𝒾1 𝒾2

𝑐1112 , 𝑐1123 ,𝑐1131 , 𝑐2212 , 𝑐2223 , 𝑐2231 , 𝑐3312 , 𝑐3323 and 𝑐3331

𝑐1223 , 𝑐1231 and 𝑐2331

Components of [𝑪] that are to

𝐶12 𝐶22 𝐶32

be perturbed

{(1,1), (1,2), (2,1)}, {(1,1), (2,3), (3,2)}, {(1,1), (3,1), (1,3)}, {(2,2), (1,2), (2,1)}, {(2,2), (2,3), (3,2)}, {(2,2), (3,1), (1,3)}, {(3,3), (1,2), (2,1)}, {(3,3), (2,3), (3,2)}, and {(3,3), (3,1), (1,3)} {(1,2), (2,1), (2,3), (3,2)}, {(1,2), (2,1), (3,1), (1,3)}, and {(2,3), (3,2), (3,1), (1,3)}

𝐶𝑖𝑗 + ℎ1 𝒾1 + 0𝒾2 + 0𝒾1 𝒾2 𝐶𝑘𝑙 + 0𝒾1 + 0.5ℎ2 𝒾2 + 0𝒾1 𝒾2 𝐶𝑙𝑘 + 0𝒾1 + 0.5ℎ2 𝒾2 + 0𝒾1 𝒾2 𝐶𝑖𝑗 + 0.5ℎ1 𝒾1 + 0𝒾2 + 0𝒾1 𝒾2 𝐶𝑗𝑖 + 0.5ℎ1 𝒾1 + 0𝒾2 + 0𝒾1 𝒾2 𝐶𝑘𝑙 + 0𝒾1 + 0.5ℎ2 𝒾2 + 0𝒾1 𝒾2 𝐶𝑙𝑘 + 0𝒾1 + 0.5ℎ2 𝒾2 + 0𝒾1 𝒾2

Table 9: Perturbation scheme for finding tangent modulus: automation based on hyper-dual numbers.

43

Hyper-dual numbers for full automation Analytical 4.00E+01 1.77E+01 2.31E+00 1.69E+00 2.18E-02 2.13E-04 3.92E-10

ℎ = 10−30 4.00E+01 1.67E+01 2.31E+00 1.69E+00 2.18E-02 2.13E-04 3.89E-10

10−20

10−8

108

1020

1030

4.10E+01 1.77E+01 2.31E+00 1.69E+00 2.18E-02 2.33E-04 3.89E-10

4.00E+01 1.57E+01 2.31E+00 1.69E+00 2.38E-02 2.13E-04 3.89E-10

4.00E+01 1.87E+01 2.34E+00 1.69E+00 2.18E-02 2.43E-04 3.89E-10

4.00E+01 1.57E+01 2.31E+00 1.69E+00 2.28E-02 2.13E-04 3.89E-10

4.00E+01 1.87E+01 2.31E+00 1.69E+00 2.48E-02 2.33E-04 3.89E-10

Table 10: Model-1: comparison of convergence of Euclidean norm of residual for analytical solution and automatic implementation based on hyper-dual numbers for various values of nonreal component.

44

Model Model-2

Model-3

Model-4

Model-5

Hyper-dual numbers for tangent moduli ℎ = 10−30 5.39E+00 8.81E-05 1.76E-08 3.00E-11 2.68E+01 8.87E+00 5.86E-02 1.70E-02 2.68E-07 4.28E-11 5.57E+02 1.19E+01 1.81E-01 3.43E-04 2.05E-08 2.37E-11 8.93E+00 1.28E-03 3.04E-07 4.87E-11

10−20

10−8

108

1020

1030

5.39E+00 8.91E-05 1.75E-08 3.00E-11 2.58E+01 8.87E+00 5.87E-02 1.69E-02 2.69E-07 4.28E-11 5.57E+02 1.19E+01 1.91E-01 3.33E-04 2.05E-08 2.37E-11 8.93E+00 1.28E-03 3.14E-07 4.67E-11

5.39E+00 8.95E-05 1.76E-08 3.00E-11 2.48E+01 8.57E+00 5.86E-02 1.70E-02 2.88E-07 4.28E-11 5.56E+02 1.19E+01 1.81E-01 3.53E-04 2.15E-08 2.37E-11 9.93E+00 1.28E-03 3.24E-07 4.87E-11

5.40E+00 8.91E-05 1.76E-08 3.00E-11 2.68E+01 8.87E+00 5.96E-02 1.70E-02 2.68E-07 4.28E-11 5.59E+02 1.17E+01 1.81E-01 3.53E-04 2.25E-08 2.37E-11 8.93E+00 1.28E-03 3.04E-07 4.87E-11

5.39E+00 8.91E-05 1.76E-08 2.99E-11 2.68E+01 8.87E+00 5.86E-02 1.61E-02 2.78E-07 4.28E-11 5.57E+02 1.19E+01 1.81E-01 4.43E-04 2.05E-08 2.37E-11 8.93E+00 1.38E-03 3.24E-07 4.87E-11

5.39E+00 8.91E-05 1.76E-08 3.00E-11 2.58E+01 8.87E+00 5.87E-02 1.69E-02 2.69E-07 4.28E-11 5.57E+02 1.19E+01 1.91E-01 3.33E-04 2.05E-08 2.37E-11 8.93E+00 1.38E-03 3.04E-07 4.87E-11

Table 11: Automation based on hyper-dual numbers: convergence of Euclidean norm of residual for various values of non-real components (Models 2-5).

45

𝜓(𝑪, 𝑴)

Full automation

𝑺, ℂ

(a) 𝑺(𝑪, 𝑴)

Partial automation



(b)

Figure 1: Automations for the implementation of anisotropic hyperelastic models.

46

Load=155 N

44 mm

3 mm

Figure 2: Geometry and loading on the 3d Cook’s membrane.

47

(a)

Start

(b)

Start

𝑪

𝑪

12 Perturbations of 𝑪 (Eq. 22)

12 Perturbations of 𝑪 (Eq.14)

𝑪+(𝑖𝑗) ,𝑪−(𝑖𝑗)

̃(𝑘𝑙) , 𝑪 ̂ (𝑘𝑙) 𝑪

Evaluate 𝜓(𝑪+(𝑖𝑗) ), 𝜓(𝑪−(𝑖𝑗) )

Evaluate stresses ̃ (𝑘𝑙) ), 𝑆̂𝑖𝑗 (𝑪 ̂ (𝑘𝑙) ) 𝑆̃𝑖𝑗 (𝑪

Figure a

(𝑺)𝑖𝑗 =

𝜓(𝑪+(𝑖𝑗) ) − 𝜓(𝑪−(𝑖𝑗) ) ℎ

ℂ𝑖𝑗𝑘𝑙 ≈

1 ̃ (𝑘𝑙) ) − 𝑆̂𝑖𝑗 (𝑪 ̂ (𝑘𝑙) )] [𝑆̃ (𝑪 2ℎ 𝑖𝑗

𝑺



End

End

48

(a)

(b)

Start

Start

𝑪

𝑪

For 𝑖, 𝑗 = 1,1; 2,2; 3,3; 1,2; 2,3; 3,1

12 Perturbations of 𝑪 (Eq. 22)

For 𝑖, 𝑗 = 1,1; 2,2; 3,3; 1,2; 2,3; 3,1

12 Perturbations of 𝑪 (Eq.14)

For 𝑖, 𝑗 = 1,1; 2,2; 3,3; 1,2; 2,3; 3,1

𝑪+(𝑖𝑗) ,𝑪−(𝑖𝑗)

End

Evaluate 𝜓(𝑪+(𝑖𝑗) ), 𝜓(𝑪−(𝑖𝑗) )

̃(𝑘𝑙) , 𝑪 ̂ (𝑘𝑙) 𝑪

Evaluate stresses ̃ (𝑘𝑙) ), 𝑆̂𝑖𝑗 (𝑪 ̂ (𝑘𝑙) ) 𝑆̃𝑖𝑗 (𝑪

Figure 3a

(𝑺)𝑖𝑗 =

𝜓(𝑪+(𝑖𝑗) ) − 𝜓(𝑪−(𝑖𝑗) ) ℎ

ℂ𝑖𝑗𝑘𝑙 ≈

1 ̃ (𝑘𝑙) ) − 𝑆̂𝑖𝑗 (𝑪 ̂ (𝑘𝑙) )] [𝑆̃ (𝑪 2ℎ 𝑖𝑗



End

Figure 3: Automation using central difference procedure: flow charts for evaluating (a) PiolaKirchhoff stress tensor and (b) tangent moduli.

49

1.E+00

1.E+00

1.E-03

Trunc. Cancellation errors errors

Relative error

Relative error

Trunc. Cancellation errors errors

1.E-03

2nd order convergence

nd

2 order convergence

1.E-06

1.E-06

(b)

(a)

1.E-09

1.E-09 0

5

-log(h) 10

15

0

2

4 6 -log(h)

8

10

Figure 4: Automatic implementation based on central difference procedure: sensitivity of (a) second Piola-Kirchhoff stress tensor and (b) tangent modulus with respect to the size of difference intervals.

50

(a)

(𝑺)𝑖𝑗 = 2

Start

(b)

Start

𝑪

𝑪

6 Perturbations of 𝑪 (Eq.35)

21 Perturbations of 𝑪 (Table 9)

̆ (𝑖𝑗) 𝑪

̿(𝑖𝑗𝑘𝑙) 𝑪

̆ (𝑖𝑗) ) Evaluate 𝜓(𝑪

̿(𝑖𝑗𝑘𝑙) ) Evaluate 𝜓(𝑪

̆ (𝑖𝑗) )] ̆ (𝑖𝑗) )] 𝐼𝑀𝐴𝐺 1 [𝜓(𝑪 𝐼𝑀𝐴𝐺 2 [𝜓(𝑪 =2 ℎ1 ℎ2

ℂ𝑖𝑗𝑘𝑙 ≈ 4

̿ )] 𝐼𝑀𝐴𝐺 12 [𝜓(𝑪 ℎ1 ℎ2

𝑺



End

End

51

(a)

(b) Start

Start

𝑪

𝑪 21 Perturbations of 𝑪 (Table 9)

For 𝑖, 𝑗 = 1,1; 2,2; 3,3; 1,2; 2,3; 3,1

(𝑖𝑗𝑘𝑙)

𝑪

6 Perturbations of 𝑪 (Eq.35)

For 𝑖, 𝑗 = 1,1; 2,2; 3,3; 1,2; 2,3; 3,1

̆ (𝑖𝑗) 𝑪

̿(𝑖𝑗𝑘𝑙) ) Evaluate 𝜓(𝑪 End

ℂ𝑖𝑗𝑘𝑙 ≈ 4

̿ )] 𝐼𝑀𝐴𝐺 12 [𝜓(𝑪 ℎ1 ℎ2

̆ (𝑖𝑗) ) Evaluate 𝜓(𝑪 ℂ (𝑺)𝑖𝑗 = 2

̆ (𝑖𝑗) )] ̆ (𝑖𝑗) )] 𝐼𝑀𝐴𝐺 1 [𝜓(𝑪 𝐼𝑀𝐴𝐺 2 [𝜓(𝑪 =2 ℎ1 ℎ2

End

Figure 5: Automation based on hyper-dual numbers: flow charts for evaluating (a) PiolaKirchhoff stress tensor and (b) tangent moduli.

52

Model-1

Model-2

Model-3

Displacement measuring node

𝑦 𝑥

𝑧 Model-5

Model-4

Figure 6: Deformation of the 3-d Cook’s membrane for different constitutive models.

53

180

180 Model-1

Model-2

x-disp 135

90

z-disp

Load (N)

Load (N)

135

y-disp

x-disp

90

z-disp y-disp

45

45

0

0 -10

-5 0 5 Displacement (mm)

-12

10

-8

-4 0 4 Displacement (mm)

180

180 Model-3

Model-4

x-disp

135 Load (N)

135 Load (N)

8

90

z-disp y-disp

45

z-disp 90

x-disp

45

y-disp

0

0 -10

-6

-2 2 6 Displacement (mm) 180

-8

10

-6

-4 -2 0 2 Displacement (mm)

Model-5

Load (N)

135

x-disp

90

z-disp y-disp

45

0 -8

-3 2 7 Displacement (mm)

Figure 7: Load displacement curves.

54

12

4

6

1.E+00

(a)

Relative error

Relative error

1.E+00

1.E-06

1.E-12

(b)

1.E-06

1.E-12

1.E-18

1.E-18 -30

-20

-10

0 10 -log(h)

20

30

-30

-20

-10

0 10 -log(h)

20

Figure 8: Automatic implementation based on hyper-dual numbers: sensitivity of (a) second Piola-Kirchhoff stress tensor and (b) tangent modulus with respect to non-real component.

55

30

References 1. Holzapfel G, Gasser T and Ogden R (2000) A New Constitutive Framework for Arterial Wall Mechanics and a Comparative Study of Material Models. Journal of Elasticity 61: 1-48 DOI 10.1023/a:1010835316564 2. Weiss JA, Maker BN and Govindjee S (1996) Finite element implementation of incompressible, transversely isotropic hyperelasticity. Computer Methods in Applied Mechanics and Engineering 135: 107-128 DOI http://dx.doi.org/10.1016/0045-7825(96)01035-3 3. Dorfmann AL, Woods WA and Trimmer BA (2008) Muscle performance in a softbodied terrestrial crawler: constitutive modelling of strain-rate dependency. Journal of The Royal Society Interface 5: 349-362 DOI 10.1098/rsif.2007.1076 4. Peng X, Guo G and Zhao N (2013) An anisotropic hyperelastic constitutive model with shear interaction for cord–rubber composites. Composites Science and Technology 78: 69-74 DOI http://dx.doi.org/10.1016/j.compscitech.2013.02.005 5. Brown LW and Smith LM (2011) A Simple Transversely Isotropic Hyperelastic Constitutive Model Suitable for Finite Element Analysis of Fiber Reinforced Elastomers. Journal of Engineering Materials and Technology 133: 021021-021021 DOI 10.1115/1.4003517 6. Ball J (1976) Convexity conditions and existence theorems in nonlinear elasticity. Arch Rational Mech Anal 63: 337-403 DOI 10.1007/bf00279992 7. Hartmann S and Neff P (2003) Polyconvexity of generalized polynomial-type hyperelastic strain energy functions for near-incompressibility. International Journal of Solids and Structures 40: 2767-2791 DOI http://dx.doi.org/10.1016/S0020-7683(03)00086-6 8. Schröder J and Neff P (2003) Invariant formulation of hyperelastic transverse isotropy based on polyconvex free energy functions. International Journal of Solids and Structures 40: 401-445 DOI http://dx.doi.org/10.1016/S0020-7683(02)00458-4 9. Miehe C (1996) Numerical computation of algorithmic (consistent) tangent moduli in large-strain computational inelasticity. Computer Methods in Applied Mechanics and Engineering 134: 223-240 DOI http://dx.doi.org/10.1016/0045-7825(96)01019-5 10. Kiran R and Khandelwal K (2014) Complex step derivative approximation for numerical evaluation of tangent moduli. Computers and Structures10.1016/j.compstruc.2014.04.009 11. Pérez-Foguet A, Rodrıǵ uez-Ferran A and Huerta A (2000) Numerical differentiation for local and global tangent operators in computational plasticity. Computer Methods in Applied Mechanics and Engineering 189: 277-296 DOI http://dx.doi.org/10.1016/S0045-7825(99)002960 12. Tanaka M, Fujikawa M, Balzani D and Schröder J (2014) Robust numerical calculation of tangent moduli at finite strains based on complex-step derivative approximation and its application to localization analysis. Computer Methods in Applied Mechanics and Engineering 269: 454-470 DOI http://dx.doi.org/10.1016/j.cma.2013.11.005 13. Jeffrey F and Juan A (2011) The Development of Hyper-Dual Numbers for Exact Second-Derivative Calculations 49th AIAA Aerospace Sciences Meeting including the New Horizons Forum and Aerospace Exposition (Aerospace Sciences Meetings) American Institute of Aeronautics and Astronautics 14. Holzapfel GA (2000) Nonlinear solid mechanics: a continuum approach for engineering John Wiley & Sons, West Sussex, England 15. Korelc J (2008) Automation of Finite Element Method by J.Korelc In: Wriggers P (ed) Nonlinear Finite Element Methods Springer, Heidelberg, pp 483-508 56

16. Young JM, Yao J, Ramasubramanian A, Taber LA and Perucchio R (2010) Automatic Generation of User Material Subroutines for Biomechanical Growth Analysis. Journal of Biomechanical Engineering 132: 104505-104505 DOI 10.1115/1.4002375 17. Korelc J (1997) Automatic generation of finite-element code by simultaneous optimization of expressions. Theoretical Computer Science 187: 231-248 DOI http://dx.doi.org/10.1016/S0304-3975(97)00067-4 18. Sun W, Chaikof EL and Levenston ME (2008) Numerical Approximation of Tangent Moduli for Finite Element Implementations of Nonlinear Hyperelastic Material Models. Journal of Biomechanical Engineering 130: 1-7 DOI 10.1115/1.2979872 19. Pérez-Foguet A, Rodríguez-Ferran A and Huerta A (2000) Numerical differentiation for non-trivial consistent tangent matrices: an application to the MRS-Lade model. International Journal for Numerical Methods in Engineering 48: 159-184 DOI 10.1002/(sici)10970207(20000520)48:23.0.co;2-y 20. Martins JRRA, Sturdza P and Alonso JJ (2003) The complex-step derivative approximation. ACM Trans Math Softw 29: 245-262 DOI 10.1145/838250.838251 21. Lai KL and Crassidis JL (2008) Extensions of the first and second complex-step derivative approximations. Journal of Computational and Applied Mathematics 219: 276-293 DOI http://dx.doi.org/10.1016/j.cam.2007.07.026 22. Blatz PJ and Ko WL (1962) Application of Finite Elastic Theory to the Deformation of Rubbery Materials. Transactions of The Society of Rheology (1957-1977) 6: 223-252 DOI doi:http://dx.doi.org/10.1122/1.548937 23. Kiran R and Khandelwal K (2014) Numerically approximated Cauchy integral (NACI) for implementation of constitutive models. Finite Elements in Analysis and Design 89: 33-51 DOI http://dx.doi.org/10.1016/j.finel.2014.05.016 24. Press WH, Teukolsky SA, Vetterling WT and Flannery BP (2007) Numerical Recipes 3rd Edition: The Art of Scientific Computing Cambridge University Press, New York 25. Balzani D, Neff P, Schröder J and Holzapfel GA (2006) A polyconvex framework for soft biological tissues. Adjustment to experimental data. International Journal of Solids and Structures 43: 6052-6070 DOI http://dx.doi.org/10.1016/j.ijsolstr.2005.07.048 26. Rall LB (1986) The Arithmetic of Differentiation. Mathematics Magazine 59: 275-282 DOI 10.2307/2689402 27. Griewank A and Walther A (2008) Evaluating Derivatives Society for Industrial and Applied Mathematics 28. (2008) IEEE Standard for Floating-Point Arithmetic. IEEE Std 754-2008: 1-70 DOI 10.1109/ieeestd.2008.4610935 29. Kirby RC, Knepley M, Logg A and Scott LR (2005) Optimizing the Evaluation of Finite Element Matrices. SIAM J Sci Comput 27: 741-758 DOI 10.1137/040607824 30. Yu W and Blair M (2013) DNAD, a simple tool for automatic differentiation of Fortran codes using dual numbers. Computer Physics Communications 184: 1446-1452 DOI http://dx.doi.org/10.1016/j.cpc.2012.12.025

57

Suggest Documents