Building Programmable Problem Solving Environments ...

Object Details


XVI International Conference on Computational Methods in Water Resources (CMWR-XVI) Ingeniørhuset

Building Programmable Problem Solving Environments for Porous Media Flow
Author:Hans Petter Langtangen <> (Simula Research Laboratory)
Presenter:Hans Petter Langtangen <> (Simula Research Laboratory)
Date: 2006-06-18     Track: Special Sessions     Session: Keynote speakers (reserved for keynotes only)

Scientists and engineers tend to use increasingly more complex mathematical models to describe water resources systems. Efficient use of such models often demands access to appropriate problem solving environments (PSEs). This talk focuses on programmable PSEs where the user has great flexibility to configure the PSE by writing and combining software components. Because software complexity often increases much faster than the complexity of the underlying mathematical models, it is important to adopt programming techniques that can meet the modern demands to extensibility, maintenance, and verification. Some important techniques, such object-oriented programming and generic (template) programming, will be reviewed and exemplified in the context of partial differential equation solvers. The importance of easy-to-use, interpreted, high-level languages, of which Matlab and Python are examples, will also be emphasized. Then we outline a promising hybrid software approach to constructing PSEs, based on domain decomposition and combination of interpreted and compiled languages. We will show how such an approach simplifies multi-physics problems, parallellization, and reuse of legacy codes. Applications of the mentioned techniques to porous media flow and shallow water waves also will be shown.