RAyMOND
RAyMOND is a patch to modify the N-body/hydrodynamics code RAMSES in order to be able to run simulations in MOND gravity. It includes both the fully non-linear AQUAL formulation of MOND, and the quasi-linear QUMOND formulation. For details see this paper. For a recent example of using the code for cosmological simulations, see this paper. For an even more recent example of using the code, this time to study the external field effect on cluster galaxies, see this paper.
The patch may be downloaded as a zipped tarball by clicking this link. Note that for the moment this should be considered a beta release as this has not been tested with the most up-to-date version of RAMSES found on Bitbucket.
There are actually two patches, one for QUMOND and one for the fully non-linear AQUAL formulation. Including the patch automatically switches the gravitational solver to that of QUMOND/AQUAL. For both patches an additional MOND_PARAMS section must be added to the namelist with the following parameters:
- imond_a0: This is the MOND acceleration scale in m/s^2. This is converted to code units automatically.
- mond_n: This is the exponent used in the MOND interpolation function which is hard-coded to be of the form x/(1+x^n)^(1/n) for AQUAL, or its inverse in the case of QUMOND (see Famaey & McGaugh 2012, eqs. 49 and 50). It is an easy matter to use a different mu (or nu) function: just change the appropriate line in the function "mu_function" (or "nu_function") at the end of poisson_commons.f90. Note that it's probably numerically more efficient to remove mond_n completely from the interpolation function if you are using the "simple" version where mond_n = 1.
There is one additional patch-specific parameter for AQUAL runs:
- maxstoredcells: This is a technical parameter used to set the size of an array that stores extra grid cell values required due to the enlarged numerical stencil of the non-linear solver. Setting this to about 20% of the value of ngridmax is usually more than enough.
The QUMOND patch includes the capability of running cosmological simulations (the publically-available AQUAL patch has not been modified to allow this, but it is certainly possible to do without too much work). Therefore, in the case of a QUMOND cosmological run, there are two additional parameters to specify in the MOND_PARAMS section of the namelist:
- mond_cosmo: This modifies the cosmological evolution of the MOND acceleration scale according to the prescription a0_cosmo = a0*a^mond_cosmo where "a" here is the scale factor. Thus for mond_cosmo = 0 there is no cosmological evolution (apart from that arising from the changing physical scales due to the cosmological expansion), whereas for mond_cosmo > 1 the MOND effect is further suppressed at high redshift.
- mond_omega_m: This is to fix the particle mass independently of the value of omega_m read in from the cosmological initial conditions, thus ensuring a sensible background evolution with a much reduced matter content (as is typically assumed in a MOND context). While ad-hoc, it is necessary in the current absence of a full MOND cosmology.
For further discussion of the issues regarding cosmological simulations in MOND, please see this paper.
If you have questions or issues that you absolutely cannot solve after many attempts, please contact me at graeme.candlish at ifa.uv.cl.