# DuMu<sup>x</sup> course exercises The DuMu<sup>x</sup> course comprises the following exercises. Each exercise folder contains a detailed description of the tasks (best viewed online by following the links) and the header files to work on. ### [:open_file_folder: Basics](./exercise-basic/README.md) Based on a scenario, where gas is injected into an aquifer, you will learn how to * compile and run an executable * see the difference of a two phase set-up without component transport compared to a two phase two component set-up * set up a new executable * set up a non-isothermal test problem based on the isothermal test problem * set boundary conditions ### [:open_file_folder: Main file](./exercise-mainfile/README.md) In this exercise, you learn how to * find your way in the main file * solve a stationary, linear system * solve an instationary, linear system * solve an instationary, nonlinear system * apply analytic differentiation ### [:open_file_folder: Runtime parameters](./exercise-runtimeparams/README.md) This exercise covers the following topics: You learn how to * use different input files with one executable * set variables to collect runtime parameters * use and change default values for runtime parameters ### [:open_file_folder: Grids](./exercise-grids/README.md) This exercise guides you through the following tasks: * apply a global grid refinement * change the grid type * apply grid zoning and grading * read in structured and unstructured grids from external files ### [:open_file_folder: Properties](./exercise-properties/README.md) In this exercise, you learn how to adjust the properties in order to use a customized local residual ### [:open_file_folder: Fluid systems](./exercise-fluidsystem/README.md) This exercise covers the handling of phases and components in DuMu<sup>x</sup>. You learn * how to implement and use a new, customized component * how to implement a new fluidsystem * change the wettability of the porous medium ### [:open_file_folder: Dune module](./exercise-dunemodule/README.md) You learn how to * create a new dune module linked to the dumux module * create a new GitLab project ### [:open_file_folder: Coupling free and porous medium flow](./exercise-coupling-ff-pm/README.md) This exercise is related to the [SFB1313 Project Area A](https://www.sfb1313.uni-stuttgart.de/research-areas/) You learn how to * use a coupled problem set-up * change coupling conditions between the two domains, porous medium flow and free flow * change the shape of the interface between the two domains * change the model in the porous medium domain * change the model in the free flow domain ### [:open_file_folder: Discrete fracture modeling](./exercise-fractures/README.md) This exercise is related to the [SFB1313 Project Area B](https://www.sfb1313.uni-stuttgart.de/research-areas/) You learn how to * use a problem containing embedded, discrete fractures * change the properties of the fractures * use domain markers to set internal boundary conditions ### [:open_file_folder: Biomineralization](./exercise-biomineralization/README.md) This exercise is related to the [SFB1313 Project Area C](https://www.sfb1313.uni-stuttgart.de/research-areas/) You learn how to * include a chemical reaction in the problem set-up * apply the mineralization model, i.e. apply balance equations to possibly changing solid phases * compare different simulation results using a programmable filter in Paraview