Script-Driven Mesh Generation
Stuart Davis Herring · OSTI OAI (U.S. Department of Energy Office of Scientific and Technical Information) · 2016
Why GUIs?Why text?Why programming?Why Ingen?How complex is a mesh?Control and understanding X3D example 0.8% of ring.x3d(2722 lines, 276 713 bytes):Why GUIs?Why text?Why programming?Why Ingen?How complex is a mesh?Control and understanding Simple meshThis is, however, a very simple mesh:Hence a longstanding trivialization of meshing: "It's just three DO loops!How hard can it be?" S. Davis Herring Scripted Meshing Why GUIs?Why text?Why programming?Why Ingen?How complex is a mesh?Control and understanding Simple GUI We can certainly put three (or at least two) loops in a GUI: Setup's Altair 3 (2006).(You still need textual entry for precision. . . ) S. Davis Herring Scripted Meshing Why GUIs?Why text?Why programming?Why Ingen?How complex is a mesh?Control and understanding How many widgets do you need?It takes a lot of buttons to make even a simple mesh.How many does it take to generate multiple meshes. . .? of various resolutions (for convergence studies) with specified geometric perturbations (for uncertainty quantification) for multiple problems (that share subcomponents) How long does it take to click each of those buttons?When you're done, how do you remember which you used? S. Davis Herring Scripted Meshing Why GUIs?Why text?Why programming?Why Ingen?How complex is a mesh?Control and understanding Reproducibility and traceabilityGood scientific discipline favors a process that can include unaltered originals (and not manually generated derivatives that might diverge) document the sources and processing work with version control (e.g., to match changes to effects) distinguish temporary changes (preferably other than as modified copies that proliferate) GUI constructs, to be tractable, must be monolithic, which interferes with all of thse goals. S. Davis Herring Scripted MeshingWhy GUIs?Why text?Why programming?Why Ingen?How complex is a mesh?Control and understanding Consistency within and among simulationsFor reliability, we need our mesh definitions to be malleable: local changes shouldn't damage the rest of the model (lest it be rebuilt differently) connect to other parts of problem setup (e.g., computed densities) support multiple target simulation programs (for "cross-code" comparisons) distinguish fixed real-world facts from volatile modeling decisionsThe loose coupling between, and easy access to, lines of text support all these properties. S. Davis Herring Scripted MeshingWhy GUIs?Why text?Why programming?Why Ingen?How complex is a mesh?Control and understanding