In this session we explore what a model is, and how a simulation is different. We draw on our experience with simulating plasmas but also on the experience of general simulations. Useful references also include Oberkampf's Verification and Validation in Scientific Computing (e.g. Chapter 2).
“The overall problem solving process in computational simulation usually includes the following steps:
(– M. T. Heath. Scientific Computing: An Introductory Survey. McGraw-Hill, New York, 2nd edition, 2002.)
All simulations are implemented with assumptions, most of which are never written down. Too, simulations are riddled with approximations, most of them out of our control – but one must have an awareness of these in order to account for them as needed.
Some sources of approximation:
(Ibid.)
Also:
Even a “correct” implementation of a model into code may not produce the results one is hoping for. This is often out of one's hands as a user but has been a hidden surprise for many! If a model implementer, one needs to be aware of possible issues.
Numerical Instability: An Example
Particularly interesting exercises (pages 18-20, but 19-20): Problem Condition and Numerical Stability
These words mean different things, though many scientists/programmers/users use them sloppily; two distinct concepts; give thought to the “rightness” (or not) of simulation results
How Good is a Result? especially the note about units
Which is more desirable: accuracy or precision? Why? Why might one prefer the other? Why can't one always have both?