Go to file
Janita Willumsen 2ba820e85f Updated figures
2023-11-25 14:28:41 +01:00
docs Add docs 2023-11-21 11:27:34 +01:00
doxygen-awesome Add doxygen-awesome 2023-11-17 12:51:35 +01:00
include Update code 2023-11-21 11:24:34 +01:00
latex Updated figures 2023-11-25 14:28:41 +01:00
src Updated figures 2023-11-25 14:28:41 +01:00
.clang-format Modify formatting 2023-10-31 10:47:31 +01:00
.clangd Remove inclusion of openmpi on local machine 2023-11-08 17:32:50 +01:00
.gitignore Update gitignore 2023-11-21 11:23:21 +01:00
Doxyfile Add doxygen and formatting/options for neovim 2023-10-28 14:58:13 +02:00
README.md Remove things related to Penning trap project 2023-11-21 11:26:37 +01:00
requirements.txt Add Python requirements 2023-11-21 11:27:18 +01:00

Ising Model

Repo

Documentation

Requirements

Operating systems

  • Linux
    • Has been tested on Fedora 38
    • Will most likely work on other Linux distributions
  • MacOS
    • Might work, but hasn't been tested
  • Windows
    • Will most likely not work

Tools

Libraries

Compiling

Compiling is as easy as running this command while being inside the src directory:

    make

Running programs

C++ binaries

To run main or test_suite, just run this command while being inside src:

    ./<program-name>

Python scripts

Install libraries

Before running the scripts, make sure that all libraries are installed. Using pip, you can install all requirements like this:

    pip install -r requirements.txt

This recursively install all the packages that are listed in requirements.txt.

Running scripts

For the Python scripts, run them from the src directory like this:

    python scripts/<script-name>

If you have any problems running the scripts, you might have to run this instead:

    python3 scripts/<script-name>

Batch system

For the phase_transition_mpi program, there are scripts in the src/jobs directory that come along with it. This is to be able to run it on a batch system using Slurm if you have access to one. This is the recommended way to use this program as it takes approximately 90 minutes to complete when using 8 processes where each process has 10 threads.

If you happen to have such a system available to you, then you should clone this repo on that system, then compile it by running:

    make phase_transition_mpi

You might have to load the Armadillo library using the module system before compiling.

After compiling, you can schedule it by running:

    sbatch jobs/<script-name>

Performance

This section aims to give an idea to the time it takes for the program to run so that you know a bit what to expect if you decide to run it for yourself.

CPU

The times mentioned here are times achieved on a computer with these specifications:

  • CPU model
    • Intel i7-9850H
  • Threads
    • 12
  • Clock speed
    • 4.6GHz

Times

Credits

The Doxygen theme used here is doxygen-awesome-css.