Title: Verification and Validation Using CodeBased Sensitivity Techniques
1Verification and Validation Using Code-Based
Sensitivity Techniques
- The LACSI Code-Based Sensitivity Project
Mike Fagan Rice University Dept. of Computational
and Applied Mathematics http//lacsi.rice.edu/rev
iew/slides/Fagan_LACSI_review.ppt
2The Problem
- Development of computer models of physical
phenomena requires a reality check. - If the computer model output matches the real
data, then all is well - If the model output does not match, then ???
- Underlying mathematics/physics is inadequate to
capture the salient features of the phenomena
under study.VALIDATION problem. - Program implementing the model is
incorrect.VERIFICATION problem - Together, referred to as VV (alternative
spelling VnV)
3VV Techniques
- Validation
- Obtain best fit with (some portion of) the data
- Evaluate if best is good enough
- Evaluate tuned simulation on other data, see if
fit is adequate - Best fits may be obtained with Newtons Method
- Verification
- For now, this means testing.
- If simulation model is a differential equation,
then Method of Manufactured Solutions (MMS) - Roundoff error estimation run-time error bounds
(Wilkinson)
4A Common Subproblem
- Newtons method ? compute derivatives
- MMS ? compute derivatives
- Runtime error bounds ? compute derivatives
- Some additional uses of derivatives
- (optimal) design
- Taylor series techniques for DEs
- Newton-Krylov iterations
5Research Overview
- Purpose Efficiently,accurately, and with
minimal human intervention compute sensitivities
of computer codes. - Sensitivity means ( calculus ) derivative
- Accomplish this through Automatic Differentiation
(AD)
- 3 Ways to Compute Derivatives
- Finite Differences
- Hand Coding
- Automatic Differentiation
Finite DifferencesHand Coding
6State of the Art in AD
- Fortran 77
- Adifor 3.0
- First to use compiler technology
- 1995 Wilkinson prize to Adifor 2
- Price/Distribution model fits well
- TAF (TAMC), TAPENADE
- Fortran 90
- Adifor 3.0, TAF, TAPENADE all support a little
- C,C
- ADIC, ADOL-C, FADBAD
7Roadmap
- AD research
- Software Engineering and Construction
- Sample Validation
8AD Research
- Areas of inquiry
- Memory usage for adjoint methods
- Improved derivative methods for simple assignment
statements - Techniques for advanced language features
- Array slices, structured data
- Pointers, dynamic memory allocation
- Operator overloading
- Multiple data representations
- Association-by-name or Association-by-address
- Activity Analysis for advanced programming
languages - AD for MPI programs
9Software Engineering and Development
- Develop a framework for multi-language AD.
- Component Model separating language knowledge
from differentiation. - Leverage other work (Open64)
- Develop a Fortran 90 AD tool (with Unit Tests)
- 80 Unit tests, all pass
- Ubiksolve, a component of the Truchas system
- Good Truchas Surrogate (Brian Lally)
- Linear solvers, so differentiation is easy to
check - 50 run and verified
10AD and V V at Los Alamos
- Rudy Henninger
- Mesa 1D, 2D anti-armor codes
- Caravana lagrangian test code (hydro methods from
FLAG code) - Truchas 1d (metal casting code)
- Ralph Nelson
- TRAC (reactor safety code)
11Detonation Shock Dynamics (DSD) Curvature Equation
How could one tune these 6 parameters??
12DSD - better fit of 6 parameters
- SNL DAKOTA package drives the optimization
process - Gradients provided by AD of DSD
solver - 40 passes improves the fit
13Laboratory Interactions
- Visit summer 2001 -- Gave a talk
- Visit summer 2002 -- visit w Rudy to work on
explosion code - SIAM Session on Validation of Metal Flow
Simulations, talk on verification of DEs - LACSI Symposium session on Verification and
Validation talk on verification of DEs
- Visit summer 2003 -- gave a talk
- Methods conference 2004
- Truchas conference 2004, talk on Adifor90
- 6 Registered Adifor users at LANL
- T-10,T-11,EES-5,XMH, CCS-2,X5
14Runtime Error Analysis
- Doug Kothe indicated at the LACSI Priorities and
Strategies meeting in 2004 that the VV groups at
LANL are concerned about roundoff error - Can get estimated linearized forward error
analysis by computing
For each statement executed in the program.
Approximate dx by machine epsilon x