Affiliate disclosure

Book titles on this page link to Amazon. As an Amazon Associate, DataField.Dev earns from qualifying purchases — at no additional cost to you.

Further Reading: Capstone — From Physics to Publication

Where to go deeper on the three things this chapter added to a working solver: verification and validation, honest performance analysis, and presenting and reproducing a computational result. Sources are tagged Tier 1 (works we are confident exist and recommend) and Tier 2 (real and worth seeking, but confirm the current edition or URL yourself). Much of this skill is learned by doing the review — so the best exercise is to referee a real preprint with §38.6's checklist in hand.

Verification, validation, and numerical correctness

Performance analysis and scaling

  • Samuel Williams, Andrew Waterman & David Patterson, "Roofline: An Insightful Visual Performance Model for Multicore Architectures," Communications of the ACM (2009). The paper that introduced the roofline model of §38.4 — arithmetic intensity, the bandwidth roof, the compute ceiling. Short, readable, and exactly why the stencil is memory-bound. Tier 1.
  • Georg Hager & Gerhard Wellein, Introduction to High Performance Computing for Scientists and Engineers (CRC Press). The best single book on measuring and reasoning about performance honestly — baselines, scaling, memory bandwidth, and the traps of benchmarking. Pairs directly with §38.4 and Chapters 28–31. Tier 1.
  • The OpenMP and MPI standards (openmp.org, mpi-forum.org). The primary sources for the parallel back-ends behind the assembled solver; consult them for the exact semantics your scaling study depends on. Tier 1.

Presenting and reproducing computational science

Tools for the write-up

  • ParaView (paraview.org) and matplotlib (matplotlib.org). The two halves of §38.5's figures: ParaView for the VTK heat maps and animation, matplotlib for the log–log convergence plot. Fortran computes; these draw. Tier 1.
  • fpm and FORD (fpm.fortran-lang.org, FORD docs). Package the solver and generate its documentation — the reproducibility and presentation layer of a finished Fortran project. Tier 1.

Suggested order

  1. Read the Roofline paper (an afternoon) — it will change how you read every performance number, including your own, and explains §38.4 in one figure.
  2. Skim Roache (or Oberkampf & Roy) on order verification — then run this chapter's convergence study on your own solver and confirm you get order 2. Verifying your own code once is worth more than reading three chapters about it.
  3. Read Wilson et al. and package your solver for reproducibility (Case Study 2, Phase 5) — the discipline that makes the result travel.
  4. Referee a real preprint with the §38.6 checklist. Judging one result teaches you to author the next.