Fluid Simulation in Computer Graphics


WS 2020





7 ECTS credits


Note: This page is for a course from a previous semester.
Find a list of current courses on the Teaching page.
Course Dates:




Course Wed, 14:30 – 16:00, starting Oct 28 Online
Changes Due To Corona

Due to the present situation regarding COVID-19, our courses and seminars for the winter semester 2020 will take place on digital platforms. We primarily intend to use Zoom to facilitate real-time teaching activities and group meetings. You may download the Zoom client for your platform at https://zoom.us/download. Prospective course participants should make sure that they are members of the course room in RWTHmoodle by contacting the instructors if they have not already been added. The connection details (room URL/ID and password) for each course's Zoom room will be provided to students through RWTHmoodle. In order to support RWTH students and staff with the use of digital tools like Zoom, the CLS group has made available a number of handbooks and guides at the following URL: https://video.cls.rwth-aachen.de/gebrauchsanweisungen/.

We would like to remind students that the use of digital platforms for teaching introduces additional privacy concerns. In particular, it is strictly prohibited to make recordings of live teaching sessions, or to use additional tools such as screen-capture software or film cameras to circumvent this is.

The goal of this practical course is to develop a physical fluid simulator based on Smoothed Particle Hydrodynamics (SPH) including visualization techniques. The students will work in small teams and build a software framework written in C++. This also requires the groups to manage the software architecture of their project in order to be able to include the code contributions of each team member in a successful and efficient way. Besides the implementation, all groups have to prepare a written report that elaborates the implemented methods, implementation details and results, including comparisons and images representing the according simulation results.

Numerical Simulation

In order to simulate compressible as well as incompressible fluids, the Navier-Stokes equation has to be discretized in space and time and subsequently solved. The students will learn about the spatial discretization method SPH and time integration schemes in order to numerically solve the underlying equations. Furthermore, advanced methods extending the basic SPH simulation will be implemented to enrich the model by complex physical phenomena such as incompressibility, viscosity, and solid-fluid interaction.


The students will be provided with tools to export the results of their simulations so they can be visualized with external programs. During the first part of the course, particle systems will be used to visualize the motion of the fluid. After surface reconstruction methods are covered, the students will be able to visualize the free surface of the fluid with triangular meshes.


When the implementation of the basic simulation methods are completed, the students will have to model complex scenarios to demonstrate the applicability of the implemented method in real-world examples. The groups can therefore either use geometric modeling tools such as Blender or Meshlab followed by particle sampling or generate the scenarios using their developed code.

Organizational Details

  • Assignments: The workload is distributed in assignments that typically are 2 or 3 weeks long.
  • Meetings: In every assignment deadline each group has to present their implementation and results of the current topic and should discuss their problems and insights. This presentation should be prepared to take approx. 5-10 minutes. Please remember that attending the meetings is mandatory.
  • Final Report: Students will write a final report with length of approx. 15 pages excl. cover, table of contents, bibliography, etc.
  • Implementation: Besides the code of the provided framework, the implementation should only consist of original code of the group members. However, we encourage the groups to discuss occurring problems and to exchange information about their solutions.
  • Additional meetings: If there are any group-individual meetings necessary, please contact the organizers via e-mail in order to get an appointment.
  • Note: Within each team the students will be fully responsible for the distribution of the workload.


  • Good knowledge and practical experience in C/C++
  • Basic knowledge of numerics, algorithms and data-structures


Will be announced in the introductory meeting.

Disclaimer Home Visual Computing institute RWTH Aachen University