V&V Analysis Conducted of Large Simulation Results Using Scalable Python Scripting Capability
Verification of complex, large results from Sandia's simulation codes is crucial to understanding the science behind the results. Sandia’s scalable python scripting capability, released in ParaView 3.0, enables flexible, advanced V&V analysis of large data within a familiar python scripting environment. Using this capability, analysts write small modules in python, addressing specific solutions, or codes. The scalable python capability manages the rest (data distribution, load balancing, parallel python execution), making it simpler than ever for analysts to work on large data analysis problems.
The image below shows results computed for the Noh problem, which describes a canonical, spherically symmetric, hydrodynamic implosion and has a known analytic solution. The initial velocity is directed radially inward. As the solution evolves, a strong shock wave propagates outward. Most simulation codes overpredict the temperature at the origin, often referred to as “overheating.” In practical applications overheating is often observed when shock waves reflect from walls or material interfaces. With its scripting capability, Paraview computes the exact solution, the volume, and the volume-weighted error for each element of the simulation – all using python code written by the analyst.
ParaView 3.0 is an open source application available for download at http://www.paraview.org.

Left: Analysis of simulation results performed and displayed with ParaView 3.0. This image shows the results of analyzing the results of a mesh containing 13 million elements. The analysis and visualization was run on 108 processors and the results were displayed on a PC in the analyst’s office. Note the view of the data in the right panel, in which the mesh is colored by processor ID. This shows how the simulation results were distributed for the analysis. The two smaller panels in the middle of the screen shot show the results of comparing the simulation results with an ideal result, computed in python. The weighted error is then shown in detail at the center of the mesh (top), and at a larger scale (bottom), showing the error around the shockwave. |