verification of gimp with manufactured solutions
Post on 06-Aug-2015
225 Views
Preview:
TRANSCRIPT
Verification of GIMP with Manufactured Solutions
Philip Wallstedt – philip.wallstedt@utah.eduJim Guilkey – james.guilkey@utah.edu
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
EXACTppu XuXx )(
N
L pp
max1 pL max
Displacement error compares current config to reference.
Average error Worst Error
Body Force on a 1D Bar
Zero Displacement
u(0,t) = 0
Zero Stress(L,t) = 0
Body Force b(x,t)
Body Force on a 1D Bar
Given
Momentum
Neo-Hookean Constitutive Model
Constitutive Model with assumptions: 1D, Poisson = 0
abσ
IFFIσ TlnJ
JJ
FFσ
1
2
E
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
)(Xu
abP 00
FFP
1
2
E
Now we just take derivatives . . .
Pab 0
1
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:
)(2210 tAXcXccu
Constants for the 1D bar
Zero stress at X = L
0 0.5 10
0.1
0.20.2
0
u X( )
L0 X
)(000 2210 tAccc
)(21
1)(21
2
1
20)(
2121 tALcc
tALccE
FF
ELP
Zero displacement at X = 0
Scale displacement at L
)()( 2210 tALcLcctA
)()2(
2tA
L
XLXu
Choose a convenient time function A(t)
t πcos2.0
)2(
02
E
L
XLXu
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)
A detour and a review: reference versus current configuration
Particles stationary in reference configuration
Grid stationary in current configuration
X = 4.75x = 5.2
X = 5x = 5
X = ?x = 5
X = 4.75x = 4.75
Reference
Current
Why manufacture solutions in the reference configuration?
)()2(
)( 20
0 tAL
xLxxu
– Because boundaries move in the current configuration.
How find the current length and apply boundary?
)())(2)((
)( 20
0000 tA
L
LLLLLLLuL
This is icky. We can avoid recursive / implicit definitions like the above by using the reference configuration.
Reference Configuration vs Current Configuration
Reference Configuration
“Total Lagrange”
Current Configuration
“Updated Lagrange”
Momentum
Deformation Gradient
Neo-Hookean
1D,
Poisson = 0
abσ
IFFIσ TlnJ
JJ
)(
1)(
2 xFxFσ
E
IFFFFP T11ln J
)(
1)(
2 XFXFP
E
abP 00
Stress Transformation: σFP 1J
)()( XuIXF 1)()( xuIxF
Return to the 1D Bar: Take Derivatives
Given
Displacement
Deformation Gradient
Divergence of Stress
Solve for b(X)
)()2(
2tA
L
XLXu
AL
XLF
2
)(21
AAL
XL
L
EP
2
22
)(211
AAL
XLEAXLX
Lb
2
20
2
)(211)2(
1
1D Bar: Restate the Problem
Zero Displacement
u(0,t) = 0
Zero Stress(L,t) = 0
Body Force
AAL
XLEAXLX
Lb
2
20
2
)(211)2(
1
)()2(
)(2
tAL
XLXXu
The answer is:
Solve with GIMP where
tπcos2.0)(
0E
tA
Now we can measure convergence under large deformation – the kind of problem MPM/GIMP is designed to solve
0.000001
0.00001
0.0001
0.001
0.01
0.1
10 100 1000mesh size
max
err
or
GIMP
UGIMP
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.
top related