Geilo Winter School 2012: Lecture 7: Dynamic Hyperelasticity in Fenics
Geilo Winter School 2012: Lecture 7: Dynamic Hyperelasticity in Fenics
Anders Logg
1 / 10
Course outline
Sunday
L1 Introduction to FEM
Monday
L2 Fundamentals of continuum mechanics (I)
L3 Fundamentals of continuum mechanics (II)
L4 Introduction to FEniCS
Tuesday
L5 Solid mechanics
L6 Static hyperelasticity in FEniCS
L7 Dynamic hyperelasticity in FEniCS
Wednesday
L8 Fluid mechanics
L9 Navier–Stokes in FEniCS
2 / 10
Dynamic hyperelasticity
• u is the displacement
• ρ is the (reference) density
• P = P (u) is the first Piola–Kirchoff stress tensor
• B is a given body force per unit volume
• g is a given boundary displacement
• T is a given boundary traction
• u0 and u1 are given initial displacement and velocity
3 / 10
Variational problem
Rewrite as a first-order system by introducing p = u̇:
ρṗ − div P = B
u̇ − p = 0
Multiply by test functions v and q and sum up:
Z tn Z Z tn Z Z tn Z
(ρṗ−div P )·v dx dt+ (u̇−p)·q dx dt = B·v dx
tn−1 Ω tn−1 Ω tn−1 Ω
Integrate by parts and use v = 0 on ΓD and P · n = T on ΓN :
Z tn Z Z tn Z
ρṗ · v dx dt + P : grad v dx dt
tn−1 Ω tn−1 Ω
Z tn Z Z tn Z
+ u̇ · q dx dt − p · q dx dt
tn−1 Ω tn−1 Ω
Z tn Z Z tn Z
= B · v dx dt + T · v ds dt
tn−1 Ω tn−1 ΓN
4 / 10
Time discretization
Let the trial functions u, p be continuous and piecewise linear
in time, and let the test functions v, q be piecewise constant:
Z tn Z Z
ρṗ · v dx dt = ρ(p(·, tn ) − p(·, tn−1 )) · v dx
tn−1 Ω Ω
Z tn Z Z
u̇ · q dx dt = (u(·, tn ) − u(·, tn−1 )) · q dx
tn−1 Ω Ω
Z tn Z Z
p · q dx dt = kn p(·, tn−1/2 ) · q dx
tn−1 Ω Ω
6 / 10
Stress–strain relations
7 / 10
Useful FEniCS tools (I)
Defining mixed function spaces:
Defining subfunctions:
up = Function ( VV )
u , p = split ( up )
Shortcut:
u , p = Functions ( VV )
8 / 10
Useful FEniCS tools (II)
Time-stepping
t = dt
while t < T + DOLFIN_EPS :
9 / 10
The FEniCS challenge!
Compute the deflection of a regular 10 × 2 LEGO brick as
function of time. Use the St. Venant–Kirchhoff model and
assume that the LEGO brick is made of PVC plastic. The
LEGO brick is subject to gravity of size g = −9.81 m/s2 and a
downward traction of size 5000 N/m2 at its end point. At time
t = 0, the brick is at rest in its undeformed state.
g = −9.81m/s2
T = 5000 N/m2