This package implements a numerical solution for the heat equation in the form
The graphical representation relies on gnuplot
, which can be installed through the main Linux package managers, like apt
etc
- open the terminal and navigate to your preferred working folder
- clone the project using
git clone [email protected]:advprog2022/22/pde-solver.git
- enter the project folder with
cd pde-solver
- temporarily switch to
dev
branch throughgit checkout dev
- create a build directory and go inside it with
mkdir build && cd build
- call cmake using
cmake ../pde-solver
(it is fundamental to use cmake and it can be slow because it downloads the plotting library) - call
make
- execute the program in the terminal with
./pde-solver
and follow the instructions on screen
❗NEW the program can now be used with custom matrices in .csv
format (N.B. only files with comma delimiters are supported at the moment). In this case, execute the program with ./pde-solver <path to f.csv> <path to h.csv>
The instructions that produced the image in Visuals are, for example:
If you have any issue, contact us.
The next steps in the development of these project are:
- First phase
- output the steady-state values of each node in a result file ✔️
- write unit tests ✔️
- Second phase
- refactor in a object oriented way ✔️
- add relaxation schemes ✔️
- add boundary conditions ✔️
- Third phase
- add support for user-provided input matrices ✔️
- analyze performance ✔️
- improve performance ✔️
- Fork the project
- You can modify the following modules:
- the solver, which is defined in
solver.h
and implemented in thesolver.cpp
- the input matrices , which are constructed through the
matrix
class, defined inmatrixutils.h
and implemented in thematrixutils.cpp
- the user interface, defined in
ioutils.h
and implemented inioutils.cpp
, so that your changes are easily usable by the end user
- the solver, which is defined in
- Once you're done, open a pull request with us
Authors: Matilde Tozzi (ge83bug(at)tum.de), Celia Tundidor Centeno (ge87loj(at)mytum.de)
MIT
Ended.