Menu
A+ A A-

SDS 405: Computational Modelling and Algorithms

Course Title

Computational Modelling and Algorithms

Course Code

SDS 405

Course Type

Mandatory

Level

Master’s

Year / Semester

1st Semester

Instructor’s Name

Assoc. Res. Sc. Andreas Demou, Prof. Vangelis Harmandaris

ECTS

5

Lectures / week

1

Laboratories / week

1

Course Purpose and Objectives

The aim of the course is to introduce students to computational modelling tools and algorithms, focusing on core accurate and efficient methodologies used in the numerical simulation of model systems drawn from the sciences and engineering.

Learning Outcomes

By the end of the course, students will be able to:

  • demonstrate a deep and critical understanding of the mathematical algorithms and numerical tools covered in lectures and tutorials;
  • prepare computer codes based on the materials obtained during the tutorials and home assignments, describe the methodologies, interpret and visualize the results and discuss their broader significance (e.g., performance of various algorithms);
  • solve specific problems from the sciences and engineering, by designing and implementing state-of-the-art methodologies in computer code and performing corresponding simulations.

Prerequisites

None

Requirements None

Course Content

  • Week 1: Overview of methods for linear and nonlinear systems. Introduction to Python for scientific computing (e.g. numpy and scipy); Solvers for linear and non-linear systems.
  • Week 2: Numerical differentiation & integration. Methods for numerical differentiation and integration of functions defined at discrete points or admitting a series representation. For differentiation this includes, e.g., finite differences, Chebyshev, spectral; for integration, e.g., Newton-Cotes formulas, Simpson's rule, Romberg's method, high-order quadrature schemes. Polynomial interpolation (e.g. Lagrange interpolation, spline methods)
  • Week 3: Ordinary differential equations – part 1. Algorithms for initial-value problems (e.g. Euler method, Runge-Kutta methods, multistep methods, stiff problems, stability, and error control).
  • Week 4: Ordinary differential equations - part 2. Algorithms for boundary-value problems (e.g. pseudospectral collocation method and the shooting method).
  • Week 5: Partial differential equations - part 1. Introduction and overview of Partial Differential equations;finite difference methods for time evolving PDEs (e.g. heat equation) and their analysis.
  • Week 6: Partial differential equations - part 2.PDEs in higher dimensions (e.g. elliptic PDEs, the 2D wave equation).
  • Week 7: Partial differential equations - part 3. Solution of non-linear PDEs based on examples drawn from the sciences and engineering (e.g. phase field models).

Teaching Methodology

The theoretical aspects of algorithms are covered in lectures; their numerical implementation is covered in hands-on lab sessions.

Bibliography

Ascher and C. Greif, “A First Course in Numerical Methods”, SIAM, 2011.
Q. Kong, T. Siauw, A. M. Bayen “Python Programming and Numerical Methods”, Academic Press, 2021

Assessment

Combination of coursework and a final project that includes a report and a presentation.

Language

English

Publications & Media