This program aims to solve the diffusione equation
where
Recall that given a function
and it inverse as:
Therefore, taking the transform of the
i. e., the differential operator
in the direct space can be associated to the
Dependencies
Use:
make [mode]
with [mode]:
- left blank to compile an homemade version (that is, a version which exploits only locally the FFTW functions and handles explicitly the communication between processes) to execute a FFT on a 3D grid
fftw3_mpito compile the FFTW routine which runs in parallel on a distributed 3D grid
This will produce the ./[version]diffusion.x executable
Use:
make [version]run [iters=%d] [nx=%d] [ny=%d] [nz=%d] [dt=%d] [prc=%d]
where:
nx,nyandnzdimensions of the griditersnumber of iterationsdtdimension of the single iteration time stepprcnumber of processes
To test it is possible to pass the debug=yes flag while making
make [version] debug=yesand then run the [version]multiplication_debug.x executable using mpirun. It is also supported the command:
make [version]run debug=yeswhich will compile (if necessary) and run immediately after.
Use make plot to plot pretty things
