Scientific computing with open-source software
Overview
This is the textbook of a graduate course given in 2024 at the University of Twente on "Scientific computing with
open-source software".
General
There are many great open-source software packages. These packages can be utilised by PhD students (and staff) for modelling, simulation, image processing, data analysis, etc. Open-source means their source code is available and fully modifiable. This makes them ideally suited for academic research as they can be adapted to solve new problems that are beyond the current state-of-the-art. However, since these tools often lack easy-to-use, point-and-click graphical user interfaces, knowledge of software development can aid in their use, and is essential for making modification and improvements.
This course will teach you the basics required to utilise open-source codes for various mechanical engineering applications. In the first week, we teach you the basics programming (in Python and C++), and show you how to write structured and reusable code. We then introduce tools for managing and maintaining software (git, cmake, etc), and discuss how code can be shared and developed together. In the second week, we discuss common methods used in scientific computing. We discuss use of the programming language, code structure, and how to build upon an existing code base. Finally, we show examples and explain how they can be used for your own research.
Lecturers
Thomas Weinhart (University of Twente)
Anthony Thornton (University of Twente)
Igor Ostanin (University of Twente)
Gertjan van Zwieten (Evalf Computing)
Benjamin Uekermann (University of Stuttgart)
Edwin van der Weide (University of Twente)
Andrew Hazel (University of Manchester)
Prerequisites
Participation in the course is facilitated by basic familiarity with programming and numerical methods. However, the course can be taken without any previous knowledge.