The purpose of the Computational Middleware project is to develop methods and software for efficient numerical solution of partial differential equations in general, and biomedical applications in particular.


Project leader: Ola Skavhaug
Principal investigator: Hans Petter Langtangen

When studying real-life biomedical processes by numerical simulation, the amount of computer power needed is almost unlimited. Hence, the computational efficiency of the underlying software frameworks greatly affects the range of problems that is possible to study. Additionally, as biomedical problems are often extremely complicated, the basic components of software frameworks must be generic enough to be applicable to a wide range of problems. For instance, a realistic simulation of a heart beat might involve coupling models for the electrical pulse through the heart, the elasticity of the heart when contracting and expanding, and the partially turbulent blood flow in the heart chambers. One of the major challenges in the Computational Middleware project is to develop software components that combine generality and efficiency.

The activity of the Computational Middleware project spans both academic research and pure software development. The research topics cover parallel computing, scientific software engineering, the design of middleware interfaces, and the design of interfaces for coupling complete simulators. In addition, we develop and maintain a series of software projects. Some of the most important ones that experienced significant improvements in 2007 are listed below.

  • FEniCS: A collection of tools with the purpose of automating computational mathematical modeling. Several international institutions contribute to this software collection.
  • FFC: A compiler that translates high-level descriptions of finite element variational forms into efficient C++ code (part of FEniCS).
  • SyFi: An alternative to FFC based on symbolic computing of finite elements (part of FEniCS).
  • DOLFIN: A modern C++ library for the generic tasks in finite element computations (part of FEniCS).
  • PyCC: A problem solving environment for solving partial differential equations by finite element methods. PyCC is based on SyFi and DOLFIN.
  • F2PY: A tool for convenient coupling of Python and Fortran code.
  • Instant: A tool for inlining efficient C/C++ code in Python programs.
  • UFC: An interface specification for the coupling of general finite element libraries to problem-specific descriptions of a finite element problem (part of FEniCS).
  • Swiginac: A tool that makes it possible for a Python program to conveniently access the GiNaC C++ package for symbolic computations (swiginac.berlios.de).
  • SciTools: A set of tools for enhancing Matlab-style computing and visualization with the powerful Python platform (code.google.com/p/scitools).
  • Viper: A tool based on VTK for convenient visualization of scalar fields.

The staff in the Computational Middleware project consists of both researchers and developers, reflecting the dual nature of scientific software development and engineering.

People

Ola Skavhaug

Project Manager
Innovation Manager

Mobile: +47 926 12 490
Office: +47 67 82 82 96
Professor

Xing Cai

Senior Research Scientist

Mobile: +47 482 94 368

Rolv Erlend Bredesen


Mobile: +47 901 29 789
Office: +47 67 82 82 17
E-mail: rolv@simula.no

Ilmar Wilbers

Alumni Employee

Mobile: +47 906 84 977

Johannes Ring

Research Engineer

Mobile: +47 900 93 626

Pearu Peterson


Mobile: +47 474 55 958
Office: +47 67 82 83 35
E-mail: pearu@simula.no

Malin Ljungberg


Mobile: +46 73 219 52 88
Office: +46 18 471 62 09
Professor

Scott Baden

Adjunct Research Scientist

Wenjie Wei


Mobile: +47 474 54 454
Personal tools