Prerequisites and Compilation
IDSimF is a pure command line tool written in C++ which requires a POSIX compatible environment. It is primarily developed and used on Linux and MacOS systems. However, compilation is possible on recent Windows systems with relatively moderate effort within the Linux Subsystem for Windows.
Prerequisites
Git
Git is used as version control system for IDSimF. Thus it is also used to clone the IDsimF source code repository from Github to a local system where IDSimF should be installed.
CMake
IDSimF uses CMake as build tool. IDSimF requires at least CMake version 3.9.
Compiler
IDSimF is developed in C++17 and uses OpenMP, thus a recent compiler with OpenMP support is required.
Compilation of the current IDSimF release was tested with
clang version 14 (installed with Macports) on MacOS 12 (Monterey)
gcc version 12 (installed with Macports) on MacOS 12 (Monterey)
gcc version 9.4 on Ubuntu 20 LTS
gcc version 8.2.1 on openSUSE Leap 42.3 (with
USE_CPP_FSLIBflag on and activatedExafmm-tandFMM3Dexternal FMM libraries)gcc version 9.3.0. on Windows 10 in an Ubuntu 20.04 LTS within the Windows Subsystem for Linux
IDSimF was tested on systems with x86-64 and ARM (Apple M1) CPUs, currently there are no obvious restrictions in IDSimF regarding the CPU architecture.
Libraries and Dependencies
Required Libraries
IDSimF currently depends on one external libraries which have to be available on the target system:
HDF5 library which provides fast access to HDF5 files
When the HDF5 library is installed on the target system, usually through a package management tool of the target system, CMake should find it without further configuration.
There are currently two required libraries which are packaged into the source distribution of IDSimF:
Optional Fast Multipole Method (FMM) Libraries
The Fast Multipole Method (FMM) is an approach to calculate the forces and therefore interactions between large numbers of particles in an an efficient way. It is used for many applications, e.g. gravitational interactions or coulombic interactions, therefore there are multiple open source libraries which provide FMM capabilities.
Beside the internal fast coulomb solver, based on a Barnes Hut Tree algorithm, IDSimF can currently use two FMM libraries for the calculation of coulombic inter-particle interactions:
To prepare a build with activated FMM libraries, the locations of the libraries have to be provided to CMake in the configuration step, via the EXAFMMT_PATH and FMM_3D_PATH variables. Details are described in the compilation / installation guides below.
Guides: Cloning the IDSimF repository and compiling IDSimF
The basic compilation / installation process has the same basic steps on all platforms: Checkout of the source files, preparing the system / installation of dependencies and compilation. While the compilation process is basically the same on all platforms, the preparation and setup process for compilation differs on the operating systems.
Note
The compilation / installation guides assume that you have familiarity with usage of the shell / command line on your target system and you have administrator rights on the target system.
IDSimF can be built on all major operating systems. The following guides show in detail how to clone the IDSimF repository, configure the build process with cmake and build IDSimF.
Linux
Windows
MacOS