BallsInBoxes is a Markov-Chain-Monte-Carlo simulator for a class of statistical mechanical systems known as balls-in-boxes models. The default weights are pertinent for capturing volume profiles of 2+1 causal dynamical triangulations within this simpler framework.
Results of the analysis are presented in:
D. Benedetti, J. Ryan :
Capturing the phase diagram of (2+1)-dimensional CDT using a balls-in-boxes model
- Either download or clone the repository.
- Move to code root directory:
cd BallsInBoxes
- Run:
./maker
to compile the C++11 source code.
maker
utilizes the Gnu compiler g++
.
simulator
simulates and saves the sampling data. It is generally run as:
./simulator --project path/to/project --config path/to/config
Output is placed in a project data
subdirectory.
A sample configuration file may be found in the ./test
directory. If options are
left unspecified, this configuration file is used by default and the output is
placed in a ./test/project/data
directory.
analyser
analyses the data, calculating various observables/exponents. Again
this is called as:
./analyser --project path/to/project --config path/to/config
Output is placed in a project analyses
subdirectory.
plotphase
and plotexponent
utilize the matplotlib library to produce phase
diagram plots and exponent plots across phase transitions. As usual:
./plotphase --project path/to/project --config path/to/config
./plotexponent --project path/to/project --config path/to/config
Output is placed in a project plots
subdirectory.
The weights for the model can be customized by changing the contents of
./src/modules/module_3d/weight.cpp
.
There are also several configuration files at:
./bibtools/defaults.py
./bibtools/plotsettings/phase.py
./bibtools/plotsettings/exponent.py