Logo ČVUT
CZECH TECHNICAL UNIVERSITY IN PRAGUE
STUDY PLANS
2024/2025

Surfaces in Action 2: Bringing Surfaces to Life!

The course is not on the list Without time-table
Code Completion Credits Range Language
18SIA2 KZ 3 2P English
Course guarantor:
Lecturer:
Tutor:
Supervisor:
Department of Software Engineering
Synopsis:

How can we translate elegant mathematical models of moving surfaces into working simulation tools? This course continues from Surfaces in Action I: Ready to Move?, diving into how evolving surfaces are actually computed in real-world applications. You will learn the true nature of the Finite Volume Method (FVM) for the industrial level problems, designing numerical solvers of partial differential equations on unstructured (polyhedral) meshes.

Through hands-on projects and step-by-step development, you will explore how geometry, curvature, and motion are encoded in numerical algorithms from gradient computations to curvature flows. You'll also learn how to structure your code in modern Fortran and C++ using object-oriented programming, version control, and mesh-based data structures at the industrial level of software. This course prepares you for MPI parallel computations, high-performance simulations, and scientific computing research that rely on physical consistency.

Requirements:

Basic linear algebra, Strong knowledge in Calculus, Basic understanding of Differential Geometry and Finite Difference Method, Fortran, C++, Linux

Syllabus of lectures:

1. Git Like a Scientist

Version control for reproducible scientific computing (Git, GitHub, SSH keys)

2. Whats Inside a Simulator? FIRE and the World of Industrial CFD

Exploration of commercial solvers and how academic code relates

3. Talking to Your Code: File I/O for Real-World Simulation Pipelines

Reading, writing, and parsing simulation input/output

4. How to Represent a Surface: Mesh Structures

Cells, faces, neighbors what makes a good mesh and why it matters

5. How to Measure Change: Least-Squares Gradient on Polyhedral Meshes

A practical method for computing gradients in complex geometries

6. Building Your First Solver: Object-Oriented PDE Design

Writing modular and reusable scientific code in Fortran/C++

7. Poisson Equation: The Workhorse of Physics

Discrete formulations and solvers for diffusion and potential problems

8. Advection in Action: Simulating Flow Fields

Numerically handling material transport across the mesh

9. Normal Motion and Geometric Front Propagation

Implementing speed functions based on interface geometry

10. Mean Curvature Flow: Simulating Shape Smoothing

Practical computation of curvature-driven motion on unstructured meshes

11. Putting It Together: From Geometry to Evolution

Connecting curvature, normal velocity, and PDE discretizations

12. Project Presentations

Challenges, solutions, and design decisions

Syllabus of tutorials:
Study Objective:
Study materials:

[1] J. Hahn, K. Mikula, P. Frolkovic, M. Medla, and B. Basara, Iterative inflow-implicit outflow-explicit finite volume scheme for level-set equations on polyhedron meshes, Comput. Math. Appl., 77, 1639-1654 (2019).

[2] J. Hahn, K. Mikula, P. Frolkovic, and B. Basara, Inflow-based gradient finite volume method for a propagation in a normal direction in a polyhedron mesh, J. Sci. Comput., 72, 442465 (2017).

[3] P. Frolkovič, K. Mikula, J. Hahn, D. Martin, and B. Basara, Flux balanced approximation with least-squares gradient for diffusion equation on polyhedral mesh, Discrete Cont. Dyn-S, 14, 865-879, 2021.

[4] J. Hahn, K. Mikula, P. Frolkovič, M. Balažovjech, and B. Basara, Cell-Centered Finite Volume Method for Regularized Mean Curvature Flow on Polyhedral Meshes, Finite Volumes for Complex Applications IX - Methods, Theoretical Aspects, Examples, 755-763, (2020)

Linux, Fortran, and Git:

Fortran 101: https://fortran-lang.org/en/learn/

Fortran OOP: https://fortranwiki.org/fortran/show/Object-oriented+programming

Bash shell command: https://www.educative.io/blog/bash-shell-command-cheat-sheet

Git: https://missing.csail.mit.edu/

Note:
Further information:
No time-table has been prepared for this course
The course is a part of the following study plans:
Data valid to 2025-07-16
For updated information see http://bilakniha.cvut.cz/en/predmet8361106.html