Scientific Computing at Uppsala University

This document describes the activities in Scientific Computing at Uppsala University, Sweden. Updated December 2006.
Show this page as a pdf-file in Times Roman..

About Uppsala University (UU)

UU was founded in 1477, and is the oldest university in the Nordic countries. During 2005, about 4000 researchers and senior teachers were employed at UU. Also, 41100 undergraduate and 2500 graduate students were enrolled.

About Scientific Computing (SC) at UU

At UU, the field of Scientific Computing includes:
  • numerical analysis,
  • algorithms,
  • programming techniques,
  • numerical experiments applied to model problems,
  • collaborative projects in computational science and engineering involving industry and other departments in academia.
Scientific Computing has strong roots in Uppsala. In the early sixties Heinz-Otto Kreiss started his work as a rising star in numerical analysis firmament with his research on the numerical solution of partial differential equations (PDEs). He occupied the chair in Numerical Analysis from 1965. Kreiss had very good contacts with a number of applications, and expected the same from his students. Since that time, the chair has also been occupied by Björn Engquist and Bertil Gustafsson who continued their work following the same tradition. In July 2006, Gunilla Kriess was recruited as the new chair professor in Numerical Analysis. Complementing this program and following up on the tradition of strong connections to application fields, the Division of Scientific Computing (DSC) will also new host a research program in Computational Science starting 2007.

By the end of 2006, the SC graduate education program has produced a total of 74 PhD's. Many of these SC PhDs have become leading SC researchers. The list includes names such as Olov Widlund, Bertil Gustafsson, Bengt Fornberg, and Björn Engquist. Also SC undergraduate education had an early start at UU. A curriculum consisting of three SC courses was initiated in 1962, and in 1984 an SC specialization within the 4.5 year program in Engineering Physics was started. Finally, an international MSc program in Computational Science which will start in autumn 2007 is currently being set up.

Since the start in the early 1960's, the departmental organization of the SC program has undergone a few changes. In 1999, the Department of Scientific Computing joined forces with four other UU departments (Computer Systems, Computing Science, Human-Computer Interaction and Systems and Control). Since then, the SC activities at UU continue to develop at the Division of Scientific Computing, within the the large Department of Information Technology. Today, the Division of SC (DSC) involves almost 25 faculty members, which makes in the largest in Sweden. The division comprises a core of faculty and PhD students who are devoted to Scientific Computing, and who have excellent contacts with various application areas within academia and industry.

The DSC hosts the recently formed Uppsala Multidisciplinary Center for Advanced Computational Science (UPPMAX). This center is intended to serve computational research across the whole field of Science and Engineering at UU. The UPPMAX organization comprises: a part-time director, systems engineers and substantial computer resources. Moreover, the center funds five application experts. These are senior researchers who have expertise both in the field of High Performance Computing (HPC), including numerical algorithms and parallel implementations, and in a particular area of application of computational science. The research connections to activites in application fields are currently beeing developed furter by the introduction of the new research program in Computational Science.

The Division of SC hosts the Swedish Center for Women in Scientific Computing. A relatively large percentage of the researchers and graduate students at the DSC are female, and the division has also formed the Swedish Center for Women in Scientific Computing , which currently has 26 members distributed over different universities in the country.

About SC research

The SC research is focussed on the solution of partial differential equations (PDE) in various application areas. This is also the area where DSC has earned international recognition. However, during the last years, some research projects in other fields of SC have also been initiated. In the SC program, there are five professors (Gunilla Kreiss, Per Lötstedt, Michael Thune, Jan Nordström and Kurt Otto) and more than 15 other senior researchers. The program covers a large number of application areas in science and engineering, and many challenging problems remain to be solved. Many applications give rise to inverse problems, i.e., where the task is to find one or more parameters in the differential equations when certain measurements are available. These inverse problems are most often solved by iteration, where a forward solver is the central part, and it has to be very fast. Most problems lead to very large scale computations, and the algorithms have to be implemented on high-performance computers with massively parallel architecture.

The SC research covers a range of different fields. The research has a broad scope from theoretical numerical analysis to software development and industrial applications. Slightly more than half of the research (including graduate student salaries) is funded by external grants, and the rest is funded by the University.

A few examples of ongoing research projects are:

Computational Electromagnetics. In this project, methods and codes are developed for electromagnetic simulations in the time domain and in the frequency domain in the competence center Parallel and Scientific Computing Institute (PSCI) together with the Royal Institute of Technology (KTH) in Stockholm. For transient electromagnetics, the finite-difference time-domain (FDTD) algorithm is combined with a finite element discretization on a hybrid mesh. Sub-cell models simplify the simulation of wires, thin slots and thin layers. A parallelized multipole method is used in the frequency domain. It is combined with the physical optics approximation for high frequencies. The codes are used in production simulations in Swedish industry to compute e.g. radar cross sections and antenna performance.

High Dimensional Problems. The numerical solution of differential equations in many dimensions suffer from the curse of dimensionality, i.e. the work and storage requirements grow exponentially in computational time and memory. Stochastic methods do not have this problem but their convergence is slow. In this project, new algorithms are developed pushing the limits of deterministic methods toward higher dimensions using high order of accuracy, adaptivity, improved representation of the solution, reduction of the problem in certain dimensions, the structure of the problem and by computing only statistical measures of the solution. The current applications areas are bioinformatics, financial mathematics, molecular biology and quantum chemistry.

Computational Fluid Dynamics. High order methods are needed in the simulation of turbulent compressible and incompressible flow. The advantage with high order methods is that fewer variables and less computer memory are necessary for an accurate representation of the solution. In this project, stable high order methods are derived by using summation-by-parts operators and compact Pade schemes. Also, adaptive methods in space and time are used for reducing the computational work in viscous and inviscid flow solvers. The adaptivity is based on computable estimates of the discretization errors in space and time. The mesh and the time steps are then adjusted dynamically as time progresses to satisfy given bounds on the errors.

Wave Simulation. The goal of this research is to to develop, analyse and apply high order finite difference methods for wave propagation problems. The boundary conditions are formulated in such a way that stability and high order accuracy are assured. Stable block interface treatments have been devised for finite difference, volume and element methods. The numerical methods have been applied in computational aeroacoustics (CAA) and in computational electromagnetics (CEM).

Computational Underwater Acoustics. The aim of this project is to model sound propagation in waveguides consisting of water, soft sediment, hard sediment or bedrock layers. Our solution approach is to couple the solution of the (Helmholtz) differential equations (DEs) for the inhomogeneous fluid (water and soft sediment) layers to the solution of boundary integral formulations of the Helmholtz or Navier equations (BIEs) for the homogeneous fluid or solid layers. The gist of this hybrid method is to radically decrease the number of unknowns, since discretizations of BIEs involve only the boundary in contrast to DEs.

Design Optimization. The aim of Design Optimization is to use a computer algorithm to decide the geometry of one or several objects in order to maximize a performance criterion. In this project, new methods are developed and applications, both for shape optimization (modest boundary deformations) and topology optimization (radical configuration changes), are investigated. The applications of current interest are airfoil and wing design, design of wave transducers, and design of microfluid devices.

Other examples of current research projects are:
  • Domain Embedding Methods for PDE
  • Numerical Solution Methods for Post-Glacial Rebound Models
  • Fundamental Solution Preconditioners for PDE Problems
  • Software Architecture for Scientific Computing
  • Symmetry Exploitation in Numerical Linear Algebra
  • Computational Databases for PDE Solvers
  • Dynamic Load Balancing for Parallel Structured Adaptive Mesh Refinement
  • Radial Basis Function Methods for PDEs
Many of the research projects are based on external collaborations. Many of the SC research projects have interdisciplinary character. Current and recent projects involve co-operation in the form of joint projects with the following groups, departments and companies:
  • Astronomy and Space Physics, Cell and Molecular Biology, Computer Systems, Geophysics, Materials Chemistry, Mathematics, Physical Chemistry, Physics, Surface Biotechnology, and Systems and Control, all at UU.
  • The Linnaeus Center for Bioinformatics, UU.
  • Numerical Analysis and Computer Science, The Royal Institute of Technology (KTH), Stockholm, Sweden.
  • Mechanics, The Royal Institute of Technology (KTH), Stockholm, Sweden.
  • The Swedish Defence Research Agency (FOI), Stockholm, Sweden.
  • Electromagnetics, Chalmers Institute of Technology, Göteborg, Sweden.
  • The Frauenhofer Institute, Chalmers Institute of Technology, Göteborg, Sweden.
  • Ericsson Microwave Systems
  • Aerotech Telub, Sweden
  • The Danish Technical University (DTU), Lyngby, Denmark
  • Aeronautics and Aerodynamics, Stanford University, USA.
  • CCIM, Sandia National Laboratories, Albuquerque, USA.
  • NASA Langley, Hampton, USA.
  • Sun Microsystems, USA.
The DSC was a founding member in the sucessful Parallel and Scientific Computing Institute. The competence center Parallel and Scientific Computing Institute (PSCI, 1996-2004) was a time-limted effort funded in equal parts by Industry, Academia and a government research agency. This large project has further strengthened the co-operation with Swedish industry and the department of Numerical Analysis and Computer Science (NADA) at the Royal Institute of Technology (KTH) in Stockholm. The PSCI activities generated a number of highly skilled PhDs and spin-off companies.

About SC graduate education

The SC graduate education program is the largest in Sweden. By the start of 2007, there will be about 20 PhD students enrolled in the SC graduate education program. Note that, in Sweden, graduate school means a school for PhD students, so the PhD students already have a Swedish Master's degree when they are accepted for another 4 years of PhD studies. Many graduate students are recruited from the branch in Scientific Computing in the Engineering Physics program, but a significant number are also recruited from other programs in Sweden. The SC graduate students take about 12 graduate courses before graduating. A set of core graduate courses are given on a regular basis by DSC:

  • Classical Papers in Numerical Analysis
  • Finite Element Methods
  • Initial Boundary Value Problems for PDE, I
  • Initial Boundary Value Problems for PDE, II
  • Load Balancing Methods for Parallel PDE Solvers
  • Numerical Methods for Nonlinear Hyperbolic PDE
  • Numerical Methods for ODE
  • Numerical Methods for PDE
  • Numerical Linear Algebra
  • Numerical Optimization
  • Parallel Algorithms for Numerical Linear Algebra
  • Research Methods in Scientific Computing
  • Advanced Parallel Computer Architectures and Applications
These courses are then complemented by a set of other courses on advanced numerical methods where the contents is continously changed. For example, during the last academic years courses on Discontinous Galerkin methods, Absorbing boundary conditions, were given.

UU hosts the Swedish National Graduate School in Mathematics and Computing The majority of the graduate students are recruited from the Engineering Physics/Scientific Computing program, but there are also other recruitment sources. Some of the PhD students participate in the Swedish graduate school in Mathematics and Computing (FMB), which has direct funding from the national government and is hosted by UU.

The Swedish National Graduate School in Scientific Computing is coordinated from the Division of SC One of the faculty members at DSC is the chairman of the The Swedish National Graduate School in Scientific Computing (NGSSC). NGSSC has enrolled 85 PhD students which are distributed all over Sweden, but get together two to three times per year for taking common courses that are mandatory. The NGSSC graduate student projects are interdisciplinary, but with the main thrust in a certain field. As an example, a student may be involved in a Physics project where computational techniques are the main tools. The NGSSC students gets an education in core areas of Scientific Computing which they would not get through a regular Physics program. Another example can be a student in Numerical Analysis working on a problem from an applied area like Chemistry or Fluid Dynamics, who in this way gets a better understanding of the application field.

About SC undergraduate education

All SC courses, and many others, are taught by the DSC. In the Swedish university system, the most students enter specified programs from the first year. Within each program, there is a certain degree of flexibility, but a number of courses are mandatory. The DSC offers a broad selection of courses in the field, taught by active researchers originating from many countries. Except for a few courses, for example in Computational Chemistry, all teaching in SC at UU up to and including the Master's degree is concentrated to the DSC. Also, many of the courses in Programming Techniques, including several courses in High Performance Computing and Parallel Programming Techniques are given by lecturers at DSC.

The software tool MATLAB has a long history in SC undergraduate education at UU. The DSC was among the first in the world to use the software tool MATLAB in education and research. Since 1986, MATLAB has been used as a teaching tool in basic courses in numerical analysis and numerical linear algebra. Lecturers at the division have also produced a complete MATLAB handbook which is used by the Swedish MATLAB distributor as well as by most Swedish universities, several industrial companies, and research labs.

A number of courses in SC are given in distance mode using advanced teaching tools. The undergraduate curriculum in SC includes a number of distance education courses and other courses using web-based material. The DSC has a long history in distance education, and the first courses were developed in 70's. In the early 90's, the internet and the web were introduced as Information and Communication Technology (ICT) tools. In the distance courses, a learning management system (Ping Pong) in combination with synchronous web based meetings, such as on-line web communication and video conferencing (PictureTalk and Marratech) are used for tutoring and assessing SC students.

The DSC has tight connections to the Wallenberg Global Learning Network. The SC education is closely connected to Uppsala Learning Lab, which is one of the nodes in the Wallenberg Global Learning Network (WGLN), as is the Stanford Center for Innovations in Learning (SCIL). Some teachers are directly connected to the Lab, as technical team leader or teachers, e.g., involved in development of ICT education of university teachers at UU.

The Division of SC has been awarded for its pedagogical achievements, and educational research is an integrated part of the activities. Three of the lecturers at the DSC have recently been awarded the Uppsala University Prize for Pedagogical Achievements. Also, the DSC was awarded the UU Student Union Prize for best undergraduate teaching in 1998. The research activities at the division includes an integrated group in Computer Science Education. The primary goal of the research performed by this group is to gain knowledge of how students learn aspects of computer science and scientific computing, in order to further improve the quality of education. The results are expected to be of interest for a wide range of study programs at the university level, and also for high school and continuing education.

All engineering programs at UU contain at least one SC and one programming course. At UU, there are 9 different engineering programs which all take 4.5 years to complete. All of the programs contain at least one mandatory course in Scientific Computing and one in Programming Techniques. The Engineering Physics program has a yearly intake of 120 students and contains more mandatory courses in Numerical Analysis and Programming, which are also followed by many other students. For many of the engineering programs, the first and second courses in programming are also taught by lecturers at DSC.

At the Engineering Physics program, an SC branch was started in 1984. After two years, the Engineering Physics program has a number of branches, where one is called Scientific Computing. This is equivalent to a Swedish Master's of Science in SC with a national student recruitment. This branch was initiated in 1984, and includes a number of advanced courses in Numerical Analysis and High Performance Computing, all taught by DSC:

  • Programming and high performance computing
  • Programming of parallel computers
  • Finite element methods
  • Numerical solution of PDEs
  • Numerical methods for optimization
  • Scientific computing, advanced course (project based)

Many students from other programs also follow the SC courses. In addition to the engineering programs, there is a program in Computer Science and one in Natural Science at UU. These programs also contain specific courses in Scientific Computing, including for example Numerical Linear Algebra and Parallel Numerical Algorithms which in some cases are followed by students in the engineering programs. There is of course a certain coordination between courses for different programs, such that students from different programs attend certain courses together.

The DSC has initiated an M.Sc. program in SC with international recruitment. Starting 2003, the DSC also runs a Master of Science program in Scientific Computing with an enlarged, international, student recruitment. When starting studies in this program, the students are required to have a B.Sc. comprising a solid grounding in Computer Science and Mathematics. The aim of the M.Sc. program is to provide a high-quality education in Scientific Computing, emphasizing knowledge and analytic skills that have a long lasting value. Topics covered are: Object Oriented Scientific Programming, High Performance Computing and Programming of Parallel Computers, Numerical Methods and Scientific Visualization. The courses combine theory with practical exercises of implementation on different computer systems including several parallel computer systems. The final period of studies is devoted to the Master's Thesis project, consisting of five months of full-time work on a specialized project in the computational area, either in industry or within a department at UU, under the guidance of a supervisor from the DSC.