SAND 2008 7503 P Agile Components for the

  • Slides: 7
Download presentation
SAND 2008 -7503 P Agile Components for the Rapid Development of Andy Salinger, CSRI,

SAND 2008 -7503 P Agile Components for the Rapid Development of Andy Salinger, CSRI, Production Applications Sandia National Laboratories Strategic Goals: To align the many efforts at Sandia involved in developing software for the modeling and simulation of physical systems (mostly PDEs): 1. To enable the Rapid development of new Production codes 2. To embed the codes with Transformational design, analysis, and decision-support capabilities 3. To benefit from Synergy & reduce Redundancy Consensus Vision: Our goals will best be met by delivering: • A full range of independent yet interoperable software components üCapabilities üInterfaces • Software quality tools and procedures • Prototype applications that demonstrate use cases, vertical integration, and verification, and provide pull

Analysis Tools (black-box) Optimization Parameter Studies UQ (non-invasive) V&V, Calibration OUU, Reliability Computational Steering

Analysis Tools (black-box) Optimization Parameter Studies UQ (non-invasive) V&V, Calibration OUU, Reliability Computational Steering Analysis Tools (embedded) Nonlinear Solver Time Integration Continuation Sensitivity Analysis Stability Analysis Constrained Solves Optimization UQ Solver Linear Algebra Data Structures Iterative Solvers Direct Solvers Eigen Solver Preconditioners Matrix Partitioning Architecture. Dependent Kernels Composite Physics Multi. Physics Coupling Solution Control System Models System UQ Mesh Tools Mesh I/O Inline Meshing Partitioning Load Balancing Adaptivity Remeshing Grid Transfers Mesh Quality Particle Code Tools Data Structures Neighbor Search / Sort Mesh Database Utilities Input File Parser Parameter List I/O Management Memory Management Communicators Runtime Compiler Multi. Core Parallelization Tools Mesh Database Geometry Database Solution Database Software Quality Post. Processing Visualization Embedded Verification Feature Extraction Data Reduction Model Reduction Local Fill Discretizations Discretization Library Field Manager Derivative Tools UQ / PCE Propagation Sensitivities Derivatives Adjoints Agile Components Physics Fill Element Level Fill Material Models Objective Function Constraints Error Estimates MMS Source Terms Version Control Regression Testing Build System Backups Mailing Lists Unit Testing Bug Tracking Performance Testing Code Coverage Porting Web Pages Release Process

Some Collected Interfaces Analysis Tools (black-box) Composite Physics Utilities Post. Processing Tri. Kota Response.

Some Collected Interfaces Analysis Tools (black-box) Composite Physics Utilities Post. Processing Tri. Kota Response. Only M. E. Analysis Tools (embedded) ITAPS Interfaces Mesh Tools Mesh I/O Interface Mesh File XML Input File Mesh Database Model. Evaluator Stratimikos Phalanx “Fill” Manager Discretizations Linear Algebra Physics Fill cmake SVN mailman Derivative Tools FEI Epetra Software Quality template <Scalar>

Response Only Model Evaluator: an “Application” or “Problem” Abstraction A Model Evaluator registers what

Response Only Model Evaluator: an “Application” or “Problem” Abstraction A Model Evaluator registers what Input and Output it can handle. I can make use of: I can compute: Response Only Model Evaluator:

“Tri. Kota” is an adapter between Dakota’s “Direct. Applic. Interface” and Trilinos’ “Response. Only.

“Tri. Kota” is an adapter between Dakota’s “Direct. Applic. Interface” and Trilinos’ “Response. Only. Model. Evaluator” Analysis Tools (black-box) = Dakota Direct. Applic. Interface Tri. Kota Response. Only M. E. Analysis Tools (embedded) Main_Dakota. cpp Tri. Kota: : Driver dakota; Tri. Kota contains sophisticated coding such as. . . RCP<Epetra. Ext: : Model. Evaluator> for i=0; i<num. Vars; i++) (*model. Eval_p)[i]=x. C[i]; App(int = rcp(new My. Response. Only. ME(dakota. get. Analysis. Comm()) ); RCP<Tri. Kota: : Direct. Applic. Interface> trikota_interface = rcp(new Tri. Kota: : Direct. Applic. Interface (dakota. get. Problem. Desc. DB(), App), false); dakota. run(trikota_interface); Joint work with Bartlett, Adams, Eldred, Gay

VTK visualization software hooked up to generic ITAPS Mesh Database Interface Joint work with

VTK visualization software hooked up to generic ITAPS Mesh Database Interface Joint work with Nathan Fabian (1426) with help from Vitus Leung & Karen Devine Post Processing Visualization vtk. ITAPS Interfaces Mesh Database A frame is dumped every time step from a Rythmos. Observer object.

Demo. App Timeline Uncertainty Inversion OUU Shape Optimization ROM Adaptivity In-core Geometry Improved Environment

Demo. App Timeline Uncertainty Inversion OUU Shape Optimization ROM Adaptivity In-core Geometry Improved Environment Multi. Physics Code Coverage Error Estimates Unit Tests 2 nd Mesh Database GUI Input File Editor DG, FV Order Verification Hybrid- 3/08: Started Working 1 D FEM Code (Sacado: : FEApp) [Phipps] and. Discretization a System Solver with Encore Performance Testing Mesquite (Tramonto) [Willenbring, Phenow, Heroux] Trilinos-like Application Environment Multi. Point Opt Dakota UQ 4 D Multi. Core PLANNED Adjoint in Time LOCA Transient Sensitivities Mesh I/O Moocho Stokhos UQ in situ Visualization Dakota OPT DONE Rythmos Sensitivity Analysis STARTED WITH Model. Evaluator NOX Sacado AD Linear Solvers/Analysis Zoltan FEI/DOF Inline Meshing Mesh. Field Interface Intrepid Mesh Data. B. 2 D Elastics Solution Verification 2 D Acoustics Nightly Integration. Testing 1 D Acoustics Input File Parser 2 D Heat Eq SVN trivial 2 D Mesh/Element Test Harness Mesh/Element 3 D PDEs MMS Tests Phalanx Field Manager 1 D Mesh/Element Multi-Physics App Build System Software/ Verification 1 D Transient 1 D Heat Eq Physics