Automatic Differentiation for solid mechanics
1 2
Andrea Vigliotti Ferdinando Auricchio
1
Italian Aerospace Research Centre
2
University of Pavia
ICTAM 2020+1, Milano, August 22-27, 2021
Automatic Differentiation for solid mechanics
traditional FE
Z
∂Fij
δW = Pij − f0k δuk dV0 = 0
V0 ∂uk
k
NBE NBW
X X ∂Fij
r= wlk Pij − f0 =0
∂u rk
k=1 l=1 l
N
BE X
BWNk
∂r X ∂Pij ∂Fhk ∂Fij ∂f0
= wlk −
∂u ∂Fhk ∂u ∂u ∂u rlk
k=1 l=1
Automatic Differentiation for solid mechanics
traditional FE
Z
∂Fij
δW = Pij − f0k δuk dV0 = 0
V0 ∂uk
k
NBE NBW
X X ∂Fij
r= wlk Pij − f0 =0
∂u rlk
k=1 l=1
N
BE X
BW Nk " #
∂r X ∂Pij ∂Fhk ∂Fij ∂f0
= wlk −
∂u ∂Fhk ∂u ∂u ∂u
k=1 l=1 rlk
Automatic Differentiation for solid mechanics
traditional FE AD of free energy
Z Z
∂Fij
δW = Pij − f0k δuk dV0 = 0 Ψ= (φ − b0 ) dV0 δΨ = 0
V0 ∂uk V0
k
NBE NBW
X X ∂Fij ∂Ψ
r= wlk Pij − f0 =0 r= =0
∂u rlk ∂u
k=1 l=1
N Nk " #
∂r BE X
X BW
∂Pij ∂Fhk ∂Fij ∂f0 ∂r ∂2 Ψ
= wlk − =
∂u ∂Fhk ∂u ∂u ∂u ∂u ∂u∂u
k=1 l=1 rlk
Automatic Differentiation for solid mechanics
traditional FE AD of free energy
Z Z
∂Fij
δW = Pij − f0k δuk dV0 = 0 Ψ= (φ − b0 ) dV0 δΨ = 0
V0 ∂uk V0
k
NBE NBW
X X ∂Fij ∂Ψ
r= wlk Pij − f0 =0 r= =0
∂u rlk ∂u
k=1 l=1
N Nk " #
∂r BE X
X BW
∂Pij ∂Fhk ∂Fij ∂f0 ∂r ∂2 Ψ
= wlk − =
∂u ∂Fhk ∂u ∂u ∂u ∂u ∂u∂u
k=1 l=1 rlk
Forward mode AD is based on dual numbers
x ≡ x0 + xi ıi + xij ıij where ıij ≡ ıi ⊗ ıj + ıj ⊗ ıi
with the product rule ıi ıj ≡ ıij and ıij ık ≡ 0
Examples
i3 i2
i1
Large displacement non-linear truss structure Axisymmetric problem with internal constraint
L = 20 Atop f
e
d
Openings, RO = 1.50
L = 20 c
Inclusions, RI = 1.25 h
i3
b
i2 i1 i2 i1
i1 a
Abtm i3
Plane stress with internal constraints Finite strain/displacement 3D continuum
Source code for the examples is available from https://github.com/avigliotti/AD4SM.jl
A. Vigliotti and F. Auricchio, Automatic differentiation for solid mechanics, Archives of Computational Methods
in Engineering, vol. 28, no. 3, pp. 875-895, 2021.
Automatic Differentiation for solid mechanics
1 2
Andrea Vigliotti Ferdinando Auricchio
1
Italian Aerospace Research Centre
2
University of Pavia
ICTAM 2020+1, Milano, August 22-27, 2021