This Fortran program solves the unsteady, two-dimensional temperature diffusion equation.
Here T is the temperature to be solved and D the diffusion constant.
The chosen domain is the unit square, such that
Dirichlet boundary conditions are used to model an unsteady diffusion of heat from the bounds of the unit square towards the origin:
A uniform Cartesian grid is chosen for simplicity. The grid sizes are expressed below.
An explicit Eulerian time integration produces the centered algorithm integrated in this Fortran code.
This program uses
Input data (domain information, diffusion constant and similar) can be read in from a file input_data.dat
or manually defined in the module inputs.f90
.
The CPU and wall lock time can be measured using the timings routines included.
To run the code:
make new
./diffusion
Developed by Elloïse Fangel-Lloyd, Dana Lüdemann and Clemens Zengler.