SP4E_HW1/homework3cdeec5404f99master
homework3
README.md
Heat equation solver with a pseudo-spectral method
(SP4E 2018, Homework 3)<br/> Authors: Sajjad Azimi, Alessia Ferraro
Description
The main.cc program is written to construct and solve a physical problems related to system of particles. In this specific case the goal is to solve the 2-dim heat equation with a given source term constant in time. To do so a basic pseudo-spectral method is implemented, making use of finite differences in time and spectral discretization in space with Fourier expansion in x and y directions.
The relevant classes for the implementation are the following:
- MaterialPoint: Class derived from Particles, containing spatially located virtual massless particles that carry a
temperature and an heat-transfer value.
- MaterialPointFactory: Class responsible for the creation of the specific simulation that solves the heat transfer equation.
It derives from the ParticleFactory interface and builds the system with the suitable type of particles and solver.
- Matrix: Storage Class for the temperature and the heat-transfer values of each particles in the domain. Each element (i,j)
represents a position in the physical space with the corresponding values of these scalar quantities.
- FFT: Wrapping interface for FFTW. Class responsible to compute forward and backward DFT for input matrices.
<br/>
Workflow (ex 2.1)
Because of the modular structure of the project, the work was naturally divided between the two authors as follows:
- Alessia Ferraro: Implementation of the ComputeTemperature class and related functions in the Matrix class (exercises 4)
- Sajjad Azimi: Implementation of the FFT interface (exercises 3)
The main program, as well as the small adjustments to the common methods, were implemented together in order to achieve a uniform structure.
<br/>