[an error occurred while processing this directive]
Bachelor / Master Thesis

Implementation of a Steady-State Navier-Stokes-Solver

Steady-state channel flow around a cylinder (streamlines over pressure distribution at Re=20).

Numerical simulation gets more and more important when developing or optimising applications in various fields. The simulation of flow plays a central role in this process (e.g. in the design of turbine plates or fluid-structure interaction). Often, the computation of steady-state (i.e. time independent) solutions are important, either due to the problem formulation itself or as an intermediate step in a more complex time integration.

Within the research work on efficient flow simulation at the Chair of Scientific Computing in Computer Science, several assistents and students work on a C++-project called Peano. The main focus lies on the computation of incompressible flow in two and three dimensions. The package PETSc (Portable, Extensible Toolkit for Scientific Computation) is used as one tool within the flow simulation with Peano.

The scope of this thesis is first to perform tests for the solution of rather simple nonlinear equations using the functionality of PETSc. Afterwards, this experience shall be used to formulate the steady-state flow problem. This implies a global, explicit assembling of the element wise operators that exist due to the spacial discretisation of the Navier-Stokes equations by finite elements in Peano. Thereby, the whole set of nonlinear equations is posed:

In the next step of this project, this nonlinear system B(u,p)=0 is solved for the velocities u and the pressure p using the corresponding functionality in PETSc. In order to accelerate convergence of these Newton-like methods, an optional part of the work could be the development of better approximates for the Jacobian.
The final part of this thesis consists in connecting the new steady-state solver part to the time-integration component of Peano in order to be able to accelerate convergence drastically by applying some pseudo-timesteps to get a better initial guess.

Due to the size of the project Peano, software-engineering aspects such as modularity, encapsulation of functionality or good documentation of the code are very important. This does not represent any inconvenients for students who are not yet familiar with these topics but it is a chance to learn and directly apply them.

Summary of project steps:
  1. Getting insight into the problem,
  2. Testing the PETSc-functionality for simple nonlinear functions,
  3. Encapsulation of the additional PETSc-routines in the existing class,
  4. Assembling of the global nonlinear system of equations B(u,p) using the element matrices,
  5. (optional) Alternative computations of the Jacobian,
  6. Coupling with the Peano time integration to improve the initial guess.
Requirements: Knowledge in C++, interest in simulation

Start: Immediately

Tutor: Tobias Neckel

[an error occurred while processing this directive]