diff --git a/homework3/README.md b/homework3/README.md new file mode 100644 index 0000000..3ec2f81 --- /dev/null +++ b/homework3/README.md @@ -0,0 +1,41 @@ +# Heat equation solver with a pseudo-spectral method + +(SP4E 2018, Homework 3)
+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. + +
+ + + + +### 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. + +
+