Prøveforelesning
Se prøveforelesningBedømmelseskomité
Professor Christopher Prudhomme, Laboratoire Jean Kuntzmann, Université Joseph Fourier, Grenoble.
Head of Research Sverker Holmgren, Department of Information Technology, Uppsala University
Professor Tor Skeie, Department of Informatics, University of Oslo
Leder av disputas: Dag Langmyhr
Veileder: Kent-Andrè Mardal og Joakim Sundnes
Sammendrag
Software for mathematical modeling of complex physical phenomena is costly and time consuming to develop. Development of applications customized for specific models is performed routinely by researchers and students in many branches of science. In this thesis, methods and software to simplify and speed up such development have been investigated and implemented. In particular, the implementation of efficient software for solving partial differential equations has been partially automated in a flexible software framework. An application which has been given a particular interest in this project is the simplified implementation of biological tissue models. The software framework is part of the open source and freely available FEniCS project. The research has been conducted at Simula Research Laboratory, at the Center for Biomedical Computing.
The process that has been automated is the linearization and finite element discretization of nonlinear partial differential equations. To achieve abstract problem definition when implementing a new model, a high level domain specific language for variational forms has been developed. This language builds on mathematical concepts usually not found in regular programming languages, such as tensor algebra, Einstein notation, and differential operators. By applying Automatic Differentiation to the high level equation description, nonlinear PDEs can be linearized automatically, giving significant time saving in the implementation of many complex models. The equations are then automatically discretized and compiled to an efficient low level programming language. In the compilation phase, domain specific optimizations can be applied to the code to obtain significant speedup of the resulting program. The end result is an easy to use software framework which enables computational scientists to develop efficient programs quickly.
Kontaktperson
For mer informasjon, kontakt Lena Korsnes.