Skip to content

Latest commit

 

History

History

Heat equation

Implement a two-dimensional heat equation solver (see the description) by combining your solutions in previous Bonus exercises (Derived type for heat equation and Reading data from a file.

Alternatively, you can use the provided skeleton codes and fill in the missing pieces (marked with “TODO” in files core.F90 and io.F90). You can compile the code with the provided makefile.

a) The main task is to write the procedure that evaluates the temperature field based on a previous iteration (the routine is called evolve here):

img

utilizing our earlier implementation of the Laplacian in the last term. The skeleton codes readily contain suitable values for time step and for the diffusion constant. Run the code with the default initialization.

b) Another task is to implement a reading in of the initial field from a file, routine read_field located in the [file io.F90](file io.F90). Test your implementation with the provided bottle.dat. The complete solver is provided in solution.