Dela

Core Courses

Here, you can find the seminar series and all the core courses.

  1.  Numerics
    1. Parallel Computations for Large-Scale Problems I
    2. Fast Numerical Algorithms for Large-Scale Problems
    3. Applied Numerical Methods I/II
    4. Numerical Solutions of Differential Equations I/II
    5. The Finite Element Method
  2. Applications
    1. Computational Physics
    2. Computational Chemistry
    3. Computational Fluid Dynamics
    4. Computational Techniques in Materials Science
    5. Simulations and Modelling on the Atomic Scale
    6. Computational Aerodynamics
    7. Numerical Methods in Nuclear Engineering
    8. Advanced Simulation Methods in Statistical Physics
    9. Computational Methods from Micro to Macro Scales
    10. Computational Electromagnetics and Photonics
    11. Computational Nanophotonics
  3. Computer
    1. Introduction to High Performance Computing
    2. Introduction to Visualization
    3. Parallel Computing: Theory - Hardware - Software with Special Focus on Multi-Core Programming
    4. Introduction to Programming with GPGPU and Applications in Scientific Computing
    5. Software Development Tools for Scientific Computing
    6. Computational Python

Seminar Series

DN3400 Seminar Series, KCSE Research School,
4.5 ECTS, Level D
CSC (about 7 seminars during the term)
The current titles and speakers are listed here.

Numerics

DN2221 Applied Numerical Methods I,
6 ECTS, Level C
NA (Periods 1 and 2)
The course gives the students knowledge of modern numerical methods and software for a variety of engineering and scientific problems, with a focus on problems formulated as ordinary or partial differential equations (PDEs). Basic mathematical properties and numerical concepts important for solving and analyzing the problems are presented.

DN2222 Applied Numerical Methods II,
3 ECTS, Level C
NA (Period 2)
This course considers numerical methods for linear algebra problems arising in science and engineering. It follows DN2221 but can also be taken separately.
 
DN2260 The Finite Element Method,
6.0 ECTS, Level C
NA (Period 1)
This FEM course aims to provide the student both with theoretical and practical skills, including the ability to formulate and implement adaptive FEM algorithms for an important family of PDEs.
 
DN2255 Numerical Solutions of Differential Equations II,
7.5 ECTS, Level D
NA (Periods 3 and 4)
This course emphasizes finite difference methods and finite volume schemes for solving PDEs of importance in applications. The goal is to give an understanding of the mathematical concepts, properties and tools for analyzing differential equations and their discretizations and a working knowledge and experience of implementing finite difference schemes with various boundary conditions.

DN2264 Parallel Computations for Large-Scale Problems, Part 1,
6.0 ECTS, Level C
NA (Periods 3 and 4)
The overall goal of the course is to provide a basic understanding of how to develop algorithms and how to implement them in distributed memory computers using the message-passing paradigm.

DN2230 Fast numerical Algorithms for Large-Scale Problems,
7.5 ECTS, Level D
NA (Period 2)
This is an advanced course in numerical methods focusing on efficient algorithms for large-scale algebraic problems often arising in the numerical treatment of partial differential equations, including fast multipole, Krylov, multigrid and wavelet based methods.

DN3250 Advanced numerical methods for science and engineering, *
7.5 ECTS
NA
This course aims to provide an overview of the modern techniques used in the solution of some of the most common numerical linear algebra problems arising in science and engineering, with special focus on the two topics, 1. large linear systems of equations, and 2. large eigenvalue problems.
 

Applications

BB2300 Computational Chemistry,
7.5 ECTS, Level D
BIO (Period 2)
The goal with this course is to acquire knowledge in Computational Chemistry and some basic skills in carrying out calculations on problems of chemical interest. Except for learning some basic theoretical models, the emphasis is to actually carry out the calculations, and to learn about possible applications and limitations. The course contains a number of theoretical problems and descriptions how to solve these problems.

SG2212 Computational Fluid Dynamics, *
Graduate Level: SG3114
7.5 ECTS, Level D, Master's/Graduate
MEK (Period 3)
An in-depth course on numerical methods for computer simulation of fluid flows. Together with SG2213 Applied Computational Fluid Dynamics, a comprehensive course on theory and practice of computational fluid dynamics.

MH2102 Computational Physics,
7.5 ECTS, Level D
NA (Period 4)
This advanced course in numerical analysis is focusing on the computer simulation of condensed matter systems using particles. The main part of the course concerns the molecular dynamics simulation technique (MD).

SI2530 Computational Physics,
Graduate Level: SI3080
7.5 ECTS, Level D, Master's/Graduate
TP (Period 1)
This course treats: The Monte Carlo and molecular dynamics methods, simulations in different statistical mechanical ensembles, computation of free energies, stochastic dynamics. Applications are to spin systems, fluids, polymers and biological macromolecules.
 
4H5919 Computational Techniques in Materials Science,
9.0 ECTS
MSE (Period 4), Level D
This course is meant as an introduction and overview to the computational techniques in common use in materials science. Emphasis is placed on how and when to apply the different techniques and implementation. See also here.

MH2425 Simulations and Modelling on the Atomic Scale,
6.0 ECTS
MSE (Periods 3 and 4)
The course is given once a year, starting in January and ending in May.
Density functional theory (DFT) – a method for calculating materials properties without any input from experiments – has become very popular in the last decade. DFT now forms the basis of a rapidly growing research field, and also in industry it is starting to find applications. With this method, it is possible to calculate materials properties from “first principles”, which means that the only input into the theoretical method is the atomic number. In this course, we will go through the basics of DFT and how computer programs based on this theory are built up. In hands-on sessions, you will write your own simple DFT code for the helium atom in Matlab, and also calculate and analyze materials properties yourself using an open-access professional DFT program package.

SD2610 Computational Aerodynamics,
9.0 ECTS, Level D, Master's
AVE (Periods 3 and 4)
Aerodynamics is a very central topic in Aeronautics, but is also important in design of cars, trains, boats and bridges. Aerodynamic properties of an aircraft and its components can in many cases be computed by solving the governing differential equations for the flow with numerical methods. This course covers methods for and applications of Computational Fluid Dynamics (CFD) in design of aircraft and other vehicles.

SH2774 Numerical Methods in Nuclear Engineering, *
6.0 ECTS, Level D, Master's
NPS (Period 1)
The course focus is on computational methods for problems arising in nuclear reactor system analysis. Topics include numerical methods for solving large, sparse systems of linear equations that result from the discretization of partial differential equations, numerical solution of nonlinear algebraic equations, eigenvalue problems, ordinary differential equations and partial differential equations. Applications include heat conduction, fluid mechanics, neutron diffusion and neutron kinetics.

SI3250 Advanced Simulation Methods in Statistical Physics, *
7.5 ECTS, Level D, Graduate
TP (Periods 3 and 4)
This is a proposal to develop a new course for PhD students in advanced simulation methods in statistical physics with possible applications in condensed matter physics, material science, biophysics, chemistry, etc. The course would cover more advanced methods and applications that would usefully complement our basic course SI2530 Computational Physics.

DN3249 Computational Methods from Micro to Macro Scales, *
7.5 ECTS, Level D, Graduate
NA/TP (Periods 3 and 4)
The course presents computational methods from Schrödinger’s equation for nuclei-electron systems over molecular dynamics to continuum partial differential equations, using a unified mathematical method to derive and explain the coupling between the models on the different scales.

DN3235 Computational Electromagnetics and Photonics, *
7.5 ECTS, Level D, Graduate
(in development)
The new course focuses on modern electromagnetic engineering of microwave and lightwave circuits, antennas, and photonics. The computational tools are now becoming more mature, and require less detailed knowledge of specific numerical methods. It is possible to introduce more realistic applications and have the students develop CEM engineering skills in modeling and understanding and to treat more advanced theoretical approaches.

BB3080 Computational Nanophotonics, *
7.5+2.5 ECTS, Graduate
TC (Periods 3 and 4): Start 24/02/2010
The course will provide attendants with an intimate knowledge of light-matter interactions in novel nanostructures, leading to the very front of the research and development of nanophotonics and biophotonics. The link between basic physics, chemistry and biology and the output -imaging-- from the real devices is closely observed in this course. More information.

SI3450 Advanced Molecular Dynamics,
7.5 ECTS, Graduate
TP (Period 2)
This course treats molecular dynamics (MD) methodology for classical simulations of liquids, polymers and proteins. MD simulations provide atomistically detailed information on structural and dynamic quantities, but often at a high computational cost. As vibrations of atoms need to be captured, time steps are in the order of femtoseconds, whereas the time scales of interest are often in the microsecond to second range. This has three main implications. Efficient software and hardware is required, using for instance stream computing (on e.g. GPUs). You always need to carefully check the convergence of properties of interest. And if convergence can not be reached, you might need to use methods to improve sampling, such as free energy calculations and coarse-graining.

Computer

DN2258 Introduction to High Performance Computing, *
Graduate Level: DD3258
7.5 ECTS, Level D, Master's/Graduate
PDC Summer School, next course: August, 2010
This course covers algorithms and techniques for high performance computing. The goal of this course is to give the student a basic introduction to the skills needed to utilize high performance computing resources for own projects. See also the 2011 summerschool's homepage.

DD2257 Visualization,
6 ECTS, Level D, Master's
CSC (Period 4)
The course focuses on visualization of scientific measurements and computations, including basic concepts, methods, visualisation systems.
 
DD3003 Parallel Computing: Theory - Hardware - Software with Special Focus on Multi-Core Programming, *
7.5 ECTS, Level D, Graduate
CSC (Period 3)
With the wide spread availability of multi-core systems and general-purpose graphics processing units (GPGPUs) mastering parallel computing is becoming increasingly important. At the same time high-end parallel systems are increasing in their complexity and offer unprecedented levels of parallelism. This course will provide students with the basic knowledge to understand and master the challenges of parallel computing. Multi-core architectures and programming will be emphasized. See also: user.it.uu.se/~jarmo/multicorekurs/

DD3015 Introduction to Programming with GPGPU and Applications in Scientific,
7.5 ECTS
CSC (Period 1)
The course consists of two parts. Part 1 (4.5hp) provides the introduction to the programming with GPGPU explains methods for performance optimizations and contains practical exercises to apply the theory. Part 2 (3.0hp) introduces the software tools for the development and examples of algorithms from the field of scientific computing. This part contains a practical programming exercise too.
 
DD3326 Software Development Tools for Scientific Computing,
3.0 ECTS
CSC (Period 2)
The course consists of parts that introduce the code development, the cooperation between and coordination of developers and the specifics of the work on high performance computer systems.

BB3110 Computational Python
5.0 ECTS
BIO
After having completed the course the student will be able to use python scripts for tasks involving numerical problems using object orientational principles,advanced datastructures, classes and overloading operators; scripts for parameter studies with external software; extract information from unformatted data files;interfaces with numerical packages blas and lapack;interfaces with compiled languages;graphical interfaces

 *) This course has received funding from the KCSE Graduate School.