Tools for Multi-Physics Simulation Hans Petter Langtangen Simula Research Laboratory Oslo, Norway Department of Informatics, University of Oslo
Present Simula projects History of the group Python C++ multi-physics PDE components F77 Future ideas/visions
Water waves Heat transfer Stochastic PDEs Other PDE applications Porous media flow Aero- dynamics Incompressible flow 1990s: Diffpack & applications Structural mechanics Field Grid Matrix Vector I/O Ax=b FEM FDM
Class P1 Grid* grid; Field* p; LinEqAdm* Axb; integrands (…); K(…); A Typical Diffpack PDE Solver Finite element grid Finite element field BiCGStab CG MG Linear equations and solvers Evaluate integrands in weak form Evaluate variable coefficient
Principal Diffpack collaborators Numerical Objects AS Univ. Oslo SINTEF Key names: Are Magnus Bruaset, Xing Cai, Hans Petter Langtangen, Aslak Tveito,
Diffpack distribution 1995 & 1997: Open source versions : Numerical Objects 2003-?: inuTech Free test version (size limit) Simula collaborators have free access Customers include Cornell, Stanford, LLNL, Intel, NASA, Shell, IFP, DaimlerCrysler, Mitsubishi,... >200 customers in >30 countries
Long-term basic research is needed to develop core technology …
Some Diffpack features Linear solvers and preconditioners Grids and scalar/vector fields Biased towards FEM, support for FDM Mixed FEM, block systems Systems of PDEs Stochastic PDEs Multilevel solution Adaptive mesh (h-adaptivity) Parallel computing Problem solving environment
We have always been interested in core technologies, but these also need application outlets PDEs C++ Python FEM Ax=b OOP
Some Diffpack applications Heat and phase transfer Viscous laminar and turbulent flow Thermo-elastic-plastic deformation Electromagnetics Chemical reactors Design of quantum computers Stochastic porous media flow Electrical activity in the heart Tsunami simulation...
Simula is a new government lab for advanced ICT research Startup Jan 1, 2001 High quality research Educate graduate university students Prepare for research- based business
Research groups were selected by competition 11 Applicants Scientific Computing Software Engineering Networks and Distributed Systems
Simula emphasizes large projects Software for PDEs Cardiac Computing Inverse problems Computational geosciences
Computing the electrical activity in the heart
This is a computationally intensive problem 39 million unknowns 231 million elements millions of ODEs 42 million unknowns 252 million elements
Computational geosciences Goal: find more oil! Compute geological evolution Multi-resolution visualization PDEs for deposition/erosion Flow, heat, deformation Software integration Advanced tools for tracking geological events
Offshore Geohazards – Tsunami generation
The Storegga Slide (8150 yrsBP) Headwall 300 km Run-out 800 km Volume km 3 Area km 2
The Mjølnir asteroide impact
Barents Sea, 142 mill. years ago
The Mjølnir event was 1000 times stronger than the Dec 26, 2004 event!
The Mjølnir tsunami consisted of a series of individual waves
The evolution of the front of the tsunami
The tragic Dec 26, 2004 tsunami How was the earthquake-induced bottom lift? Tsunami simulations yield important constraints
Welding Courtesy of University of Ålborg and Odense Steel Shipyard
The Silent Wings soaring simulator uses advanced terrain visualization
We have made international impact on scientific software “The scientific computing group is concerned with applying modern software engineering practices to scientific software. This group has achieved international distinction by calling attention to the feasibility and desirability of subjecting scientific software – a niche area – to this discipline. DIFFPACK (now commercialized) has wielded an enormous influence on other scientific software around the world. The publication record of this group is impressive, and includes internationally published books that go a long way to defining scientific software engineering,…” - Evaluation of ICT groups at Norwegian Universities (2002)
Simula code Python SWIG 3rd party Diffpack F2PY Higher-level tools encourage flexible software integration
FAMMS Python SWIG/F2PY GiNaC C++/F77 SWIG