Constant Gravity on a 1D neo
Download
Report
Transcript Constant Gravity on a 1D neo
Verification of GIMP with
Manufactured Solutions
Philip Wallstedt – [email protected]
Jim Guilkey – [email protected]
Verification: Necessary Versus Sufficient
Eyeball Norms – no obvious error
• Not predictive: you already know the answer
Symmetry – some coding mistakes exposed
• Many mistakes are symmetric
Compare to existing code (Finite Element)
• Existing code solves different problems
• Existing code has unverified accuracy
• When differences are found, are they errors or not?
Experimental results – scattered data shows same trends
• Lack of data
• Differences don’t show what’s wrong with code
Known Solutions to PDE’s
• No solutions for large deformation
We need a better way: the Method of
Manufactured Solutions (MMS)
Recently proposed as ASME standard
“V&V 10 - 2006 Guide for Verification and Validation
in Computational Solid Mechanics”
Sufficient, not just necessary, if we test all modes:
• Boundary conditions
• Non-square cells and particles
• Time integration algorithms
• Shape functions
Each mode must be tested, but not all in the same test.
Once a mode has “passed”, then further testing not needed.
Rate of convergence is very sensitive to errors and
can be applied to individual pieces of a method
Displacement error compares current config to reference.
u x p X p u( X ) EXACT
Average error
Worst Error
p
p
L1 max
N
L max p
Body Force on a 1D Bar
Body Force b(x,t)
Zero
Displacement
u(0,t) = 0
Zero Stress
(L,t) = 0
Body Force on a 1D Bar
Given
Momentum
Neo-Hookean Constitutive
Model
Constitutive Model with
assumptions: 1D, Poisson = 0
σ b a
σ
J
ln JI
FF
J
T
I
E
1
σ F
2
F
Find displacement u(x) – in general this cannot be done.
Start with the answer and reformulate backwards
Given Displacement
1D Neo-Hookean with
Poisson’s ratio = 0
Momentum
Solve for Gravity
u(X)
E
1
P F
2
F
P 0b 0a
b a
Now we just take derivatives . . .
1
0
P
What answer (displacement field) do we start with?
The chosen displacement field(s) must:
• exercise all features of the code (large deformation,
translation, rotation, Dirichlet and Neumann boundaries
• be “smooth enough” – sufficiently differentiable in
time and space
• Conform to assumptions made by the method. For
GIMP this means zero normal stress at material
boundaries.
For the 1D rod a parabolic form should work:
u c0 c1 X c2 X 2 A(t )
Constants for the 1D bar
Zero displacement at X = 0
0.2
0 c0 c1 0 c2 02 A(t )
Scale displacement at L
A(t ) c0 c1L c2 L A(t )
2
u( X )
0
0.2
0.1
0
0
0
0.5
1
X
L
Zero stress at X = L
E
1 E
1
P( L) 0 F 1 c1 2c2 L A(t )
2
F 2
1 c1 2c2 L A(t )
X (2 L X )
u
A(t )
2
L
Choose a convenient time function A(t)
Trig function:
• Easy to differentiate
• Stays close to un-deformed shape
• Tests ability to preserve energy
• Can be made self-similar in time – same number of time
steps per period, regardless of problem stiffness.
But other functions work just fine, provided:
• problem always has sufficient particles per cell
• displacement field is well-behaved (for us A(t) > -1/2)
E
X (2 L X )
u
0
.
2
cos
π
t
2
L
0
A detour and a review:
reference versus current configuration
Particles stationary in reference configuration
Grid stationary in current configuration
X=5
x=5
Reference
X = 4.75
x = 4.75
X = 4.75
x = 5.2
Current
X=?
x=5
Why manufacture solutions in the reference configuration?
– Because boundaries move in the current configuration.
How find the current length and apply boundary?
x(2 L0 x)
u ( x)
A(t )
2
L0
( L0 L)( 2 L0 ( L0 L))
L u ( L0 L)
A(t )
2
L0
This is icky. We can avoid recursive / implicit definitions like
the above by using the reference configuration.
Reference Configuration vs Current Configuration
Momentum
Deformation
Gradient
Neo-Hookean
1D,
Poisson = 0
Reference Configuration
“Total Lagrange”
Current Configuration
“Updated Lagrange”
P 0b 0a
σ b a
F(x) I u(x)
1
F(X) I u(X)
P ln JF F FF I
1
1
T
E
1
P F(X)
2
F(X)
Stress Transformation:
σ
J
ln JI
FF
J
T
I
E
1
σ F(x)
2
F(x)
1
P JF σ
Return to the 1D Bar: Take Derivatives
Given
Displacement
Deformation Gradient
Divergence of Stress
Solve for b(X)
X (2 L X )
u
A(t )
2
L
2( L X )
F 1
A
2
L
2
E 2( L X )
P 2 1 1
A A
2
L
L
1
b 2
L
2( L X ) 2
E
1 1
A A
X (2 L X ) A
2
0
L
1D Bar: Restate the Problem
Body Force
1
b 2
L
Zero
Displacement
u(0,t) = 0
2( L X ) 2
E
1 1
A A
X (2 L X ) A
2
0
L
The answer is:
X (2 L X )
u( X )
A(t )
2
L
Zero Stress
(L,t) = 0
E
Solve with GIMP where A(t ) 0.2 cos
π t
0
Now we can measure convergence under large
deformation – the kind of problem MPM/GIMP
is designed to solve
max error
0.1
0.01
0.001
0.0001
GIMP
UGIMP
0.00001
0.000001
10
100 mesh size
1000
Skeptical Questions
1st Piola-Kirchoff is neither objective nor fully
Lagrangian – doesn’t that cause problems?
MPM is a first-order, fully non-linear method. It can’t
be expected to agree with your manufactured solution
due to its non-linearity.