1st Edition
Verification of Computer Codes in Computational Science and Engineering
160 Pages
5 B/W Illustrations
by
Chapman & Hall
160 Pages
by
Chapman & Hall
Also available as eBook on:
How can one be assured that computer codes that solve differential equations are correct? Standard practice using benchmark testing no longer provides full coverage because today's production codes solve more complex equations using more powerful algorithms. By verifying the order-of-accuracy of the numerical algorithm implemented in the code, one can detect most any coding mistake that would... Read more
INTRODUCTION TO CODE VERIFICATION
THE MATHEMATICAL MODEL AND NUMERICAL ALGORITHM
The Mathematical Model
Numerical Methods for Solving Differential Equations
THE CODE VERIFICATION PROCEDURE
Static Testing
Dynamic Testing
Overview of the Order-Verification Procedure
Details of the Procedure
Closing Remarks
DESIGN OF COVERAGE TEST SUITE
Basic Design Issues
Coverage Issues Related to Boundary Conditions
Coverage Issues Related to Grids and Grid Refinement
FINDING EXACT SOLUTIONS
Obtaining Exact Solutions from the Forward Problem
The Method of Manufactured Exact Solutions
BENEFITS OF THE ORDER-VERIFICATION PROCEDURE
A Taxonomy of Coding Mistakes
A Simple PDE Code
Blind Tests
RELATED CODE DEVELOPMENT ACTIVITIES
Numerical Algorithm Development
Testing for Code Robustness
Testing for Code Efficiency
Code Confirmation Exercises
Solution Verification
Code Validation
Software Quality Engineering
SAMPLE CODE VERIFICATION EXERCISES
Burgers' Equation in Cartesian Coordinates (Code 1)
Burgers' Equation in Curvilinear Coordinates (Code 2)
Incompressible Navier-Stokes (Code 3)
Compressible Navier-Stokes (Code 4)
ADVANCED TOPICS
Computer Platforms
Look-up Tables
Automatic Time-Stepping Options
Hard-Wired Boundary Conditions
Codes with Artificial Dissipation Terms
Eigenvalue Problems
Solution Uniqueness
Solution Smoothness
Codes with Shock Capturing Schemes
Dealing with Codes that Make Non-Ordered Approximations
SUMMARY AND CONCLUSIONS
REFERENCES
APPENDICES
Other Methods for PDE Code Testing
Implementation Issues in the Forward Approach
Results of Blind Tests
A Manufactured Solution to the Free-Surface Porous Media Equations
INDEX
THE MATHEMATICAL MODEL AND NUMERICAL ALGORITHM
The Mathematical Model
Numerical Methods for Solving Differential Equations
THE CODE VERIFICATION PROCEDURE
Static Testing
Dynamic Testing
Overview of the Order-Verification Procedure
Details of the Procedure
Closing Remarks
DESIGN OF COVERAGE TEST SUITE
Basic Design Issues
Coverage Issues Related to Boundary Conditions
Coverage Issues Related to Grids and Grid Refinement
FINDING EXACT SOLUTIONS
Obtaining Exact Solutions from the Forward Problem
The Method of Manufactured Exact Solutions
BENEFITS OF THE ORDER-VERIFICATION PROCEDURE
A Taxonomy of Coding Mistakes
A Simple PDE Code
Blind Tests
RELATED CODE DEVELOPMENT ACTIVITIES
Numerical Algorithm Development
Testing for Code Robustness
Testing for Code Efficiency
Code Confirmation Exercises
Solution Verification
Code Validation
Software Quality Engineering
SAMPLE CODE VERIFICATION EXERCISES
Burgers' Equation in Cartesian Coordinates (Code 1)
Burgers' Equation in Curvilinear Coordinates (Code 2)
Incompressible Navier-Stokes (Code 3)
Compressible Navier-Stokes (Code 4)
ADVANCED TOPICS
Computer Platforms
Look-up Tables
Automatic Time-Stepping Options
Hard-Wired Boundary Conditions
Codes with Artificial Dissipation Terms
Eigenvalue Problems
Solution Uniqueness
Solution Smoothness
Codes with Shock Capturing Schemes
Dealing with Codes that Make Non-Ordered Approximations
SUMMARY AND CONCLUSIONS
REFERENCES
APPENDICES
Other Methods for PDE Code Testing
Implementation Issues in the Forward Approach
Results of Blind Tests
A Manufactured Solution to the Free-Surface Porous Media Equations
INDEX
Biography
Patrick Knupp, Kambiz Salari






