- Course: Numerical Methods for Partial Differential Equations
- Authors: Giacomo Maglio, Francesca Morciano, Giuseppe Hares
- Advisor: Alfio Maria Quarteroni
- Co-Advisor: Michele Bucelli
- Academic year: 2025/2026
- Institution: Politecnico di Milano
This project contains two deal.II-based solvers for the heat equation:
H_Heat: homogeneous reference solverSTA_Heat: adaptive space-time solver
The code is organized under src/ and builds with CMake.
src/homogeneous/: reference solver implementationsrc/adaptive/: adaptive solver implementationsrc/timing/: profiling utilities
You need a working C++ toolchain and deal.II with MPI support.
Environment setup:
$ apptainer shell *.sif
$ source /u/sw/etc/bash.bashrc
$ module load gcc-glibc dealiiFrom the repository root:
$ mkdir build
$ cd build
$ cmake ..
$ makeThis creates the executables inside build/.
Available executables:
build/H_Heatbuild/STA_Heat
Run them from the build directory, for example:
$ cd build
$ mpirun -n <number of threads> ./H_Heat # to run the homogenous solver
$ mpirun -n <number of threads> ./STA_Heat # to run the adaptive solverBoth executables currently use hardcoded parameters in their respective main.cpp files.
To change time step, final time, or forcing term, edit:
src/homogeneous/main.cppsrc/adaptive/main.cpp
The solvers write output files in the build directory.
- The adaptive executable contains an optional baseline-comparison path behind the
COMPARE_WITH_BASEmacro. - If you want to compare adaptive and homogeneous results, enable that macro in
src/adaptive/main.cppand ensure the baseline mesh is available.