R9482/Homework3d1aaabaea9f1master
README.md
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=<include> -DCMAKE_LIBRARY_PATH=<library> -DUSE_FFT=<status> <CMakeLists> $ make
where the command cmake is followed by the address of the directory where the CMakeLists.txt is located (denoted by <CMakeLists>), 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. <status> can either be ON or OFF.
The executable file particles will be built in <build_directory>/src. Moreover, three tests test_fft, test_heat and test_kepler are built. The minimum requirement for CMake is the version 3.1.