Research Blog
Welcome to my Research Blog.
This is mostly meant to document what I am working on for myself, and to communicate with my colleagues. It is likely filled with errors!
This project is maintained by ndrakos
I will be running some cosmological simulations with a high number of time outputs for various applications. This will require generating initial conditions, which I plan to do using MUSIC which can be downloaded here. Here are my notes on getting it running.
I am installing the package on my laptop (macOS Catalina) according to the User’s Guide. Here are the issues I ran into:
clang: error: unsupported option '-fopenmp'
This seems to be a problem on my Mac. For now, I just turned off MULTITHREADFFTW
in the Makefile.
fatal error: 'fftw3.h' file not found
I ran brew install fftw
and now this is fine (I had already followed the instructions in the User’s Guide for installing fftw3, but guess I missed something).
A bunch of errors with cmath that look like:
Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/cmath:327:9: error: no member named 'islessequal' in the global
namespace
When installing AHF I ran into similar problems and fixed it by changing the compiler in the Makefile from gcc to gcc-9 (I don’t remember why I had to did this). So anyway, changing from g++ to g++-9 seems to fix things. Bonus: it also fixes Problem 1, so now I can turn multi-threading back on.
The code comes with an example ics_example.conf
. I un-commented the lines corresponding to gadget-2 output and ran:
./MUSIC ics_example.conf
and it all seems to work fine!
There are numerous parameters that you can set in the config file. Here I’ll try and go through what seem to be the more important ones (and ignore the ones that seem fine to leave as default).
For the given simulation, you need to specify: boxlength
, zstart
(and baryons
if including those)
use_2LPT
: I will set this to yes since second-order lagrangian perturbation theory is more accurate (Jenkins 2010).
For unigrid simulations, set levelmin
= levelmax
. This value should be \(\log_2 N^3\), where \(N^3\) is the number of particles.
In principle, levelmin_TF
could be set higher than levelmin
, but I will just keep it equal.
Specify cosmological parameters Omega_m
, Omega_L
, Omega_b
, H0
, sigma_8
and nspec
Transfer function: I’ll use the eisenstein
option
Can specify seeds. Doesn’t matter for my purposes.
Specify format
and filename
This I will leave to the default values…
As far as I can tell, I have MUSIC working on my machine. Next I’ll run a small simulation and check everything looks right. I should also get all of this working on Pleiades.