# SP4E - Homework 3 ---- ## General Info This file provides a brief documentation and information related to the third Homework of the course "Scientific Programming for Engineers", fall 2019. This homework is done by **O. Ashtari** and **A. Sieber**. Last update: 12.11.2019 ---- ## Project Description One goal of this project is to learn and practice how to link an external library, here FFTW, to a C++ code. We use fast Fourier transforms to solve heat equation using a pseudo-spectral method. For this aim, as the second objective of the project, we extend the existing code originally written for simulating dynamics of interacting particles. Many functionalities we need have been already implemented and tested in the available code, meaning that we can trust on it as the development starting point. ---- ## Executable Files After cloning this repository on your computer, you should build the program in a desired directory based on the `CMakeLists.txt` file in the root. To do so, inside the destination directory, you can build the executable file using commands below: ``` $ cmake -DCMAKE_PREFIX_PATH= -DCMAKE_LIBRARY_PATH= -DUSE_FFT= $ make ``` where the command `cmake` is followed by the address of the directory where the CMakeLists.txt is located (denoted by ``), preceded by some options. Options are as follows: * `-DCMAKE_PREFIX_PATH` specifies the path where you want the program to look for headers (.h files) in. * `DCMAKE_LIBRARY_PATH` specifies the path where you want the program to look for libraries (.a files) in. * `DUSE_FFT` determines whether the program should look for `FFTW` library/header in the specified directories or not. `` can either be `ON` or `OFF`. The executable file `particles` will be built in `/src`. Moreover, three tests `test_fft`, `test_heat` and `test_kepler` are built. The minimum requirement for CMake is the version 3.1.