Issue |
A&A
Volume 681, January 2024
|
|
---|---|---|
Article Number | A90 | |
Number of page(s) | 13 | |
Section | Numerical methods and codes | |
DOI | https://doi.org/10.1051/0004-6361/202347830 | |
Published online | 22 January 2024 |
Fast particle-mesh code for Milgromian dynamics
1
Delft Institute of Applied Mathematics, Delft University of Technology,
Mekelweg 4,
2628 CD
Delft,
The Netherlands
e-mail: p.m.visser@tudelft.nl
2
Department of Radiation Science and Technology, Applied Sciences, Delft University of Technology,
Mekelweg 15,
2629 JB
Delft,
The Netherlands
Received:
30
August
2023
Accepted:
3
October
2023
Context. Modified Newtonian dynamics (MOND) is a promising alternative to dark matter. To further test the theory, there is a need for fluid- and particle-dynamics simulations. The force in MOND is not a direct particle-particle interaction, but derives from a potential for which a nonlinear partial differential equation (PDE) needs to be solved. Normally, this makes the problem of simulating dynamical evolution computationally expensive.
Aims. We intend to develop a fast particle-mesh (PM) code for MOND (the AQUAL formalism).
Methods. We transformed the nonlinear equation for MOND into a system of linear PDEs plus one algebraic equation. An iterative scheme with the fast Fourier transform (FFT) produces successively better numerical approximations.
Results. The algorithm was tested for dynamical systems in MOND where analytical solutions are known: the two-body problem, a body with a circular ring, and a spherical distribution of particles in thermal equilibrium in the self-consistent potential.
Conclusions. The PM code can accurately calculate the forces at subpixel scale and reproduces the analytical solutions. Four iterations are required for the potential, but when the spatial steps are small compared to the kernel width, one iteration is suffices. The use of a smoothing kernel for the accelerations is inevitable in order to eliminate the self-gravity of the point particles. Our PDE solver is 15 to 42 times as slow as a standard Poisson solver. However, the smoothing and particle propagation takes up most of the time above one particle per 103 pixels. The FFTs, the smoothing, and the propagation part in the code can all be parallelized.
Key words: gravitation / methods: numerical / planets and satellites: dynamical evolution and stability / galaxies: kinematics and dynamics / galaxies: clusters: general / dark matter
© The Authors 2024
Open Access article, published by EDP Sciences, under the terms of the Creative Commons Attribution License (https://creativecommons.org/licenses/by/4.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.
This article is published in open access under the Subscribe to Open model. Subscribe to A&A to support open access publication.
1 Introduction
If stars and galaxies move under Newtonian gravity, dark matter is required to bind the stars to galaxies and galaxies in clusters. There is ample evidence. The mass inferred from the stellar velocities in clusters (with the virial equation; Zwicky 1933, 1937) and in galaxies (with Huygens’ equation; Rubin & Ford 1970; Rubin et al. 1980) is much higher than the mass of the luminous matter. ACDM cosmology requires six times as much matter as can be directly detected, hence, a large nonradiative matter component must dominate the Universe.
Despite a search of over half a century, no dark matter particle has been directly detected, while the list of astronomical observations that are difficult to explain with dark matter models has been growing: (i) The absence of cusps at galactic cores (McGaugh et al. 2003; de Blok 2010); (ii) bar structures at galactic cores (Chiba & Schönrich 2021; Roshan et al. 2021a,b); (iii) the low number of galaxy satellites (Bullock 2013); (iv) the absence of dynamical friction on galaxy satellites by its dark matter halo (Angus et al. 2011; Kroupa 2015; Oehm et al. 2017); (v) the shape and central brightness of the Fornax cluster (Asencio et al. 2022); (vi) the symmetry breaking of tidal tails of open star clusters (Kroupa et al. 2022); (vii) galaxies without dark matter (Moreno et al. 2022; Comerón et al. 2023); (viii) the intracluster gas does not cool (Fabian 1994); (ix) strong local lensing in galaxy clusters (Meneghetti et al. 2020); (x) the early formation of very large galaxies and clusters (Asencio et al. 2020, 2023; Labbé et al. 2023); (xi) the Hubble H0 tension and the S8 tension occur in standard ΛCDM cosmology (Planck Collaboration VI 2020; Haslbauer et al. 2020; Asgari et al. 2021; Riess et al. 2021); (xii) the violation of the strong equivalence principle (Blanchet & Novak 2011; Chae et al. 2020); (xiii) and the velocities in wide binary star systems (Banik & Zhao 2018; Pittordis & Sutherland 2019; Chae 2023; Hernandez 2023).
An alternative to dark matter is modified Newtonian dynamics (MOND), which was invented by Milgrom and Bekenstein (Milgrom 1983; Bekenstein & Milgrom 1984; Milgrom & Sanders 2008). Whereas Einstein’s general relativity modifies Newton when the gravity potential ϕ is deep, Milgrom’s MOND instead modifies Newton at low accelerations. The critical acceleration scale is close to the scale set by the cosmological constant Λ. It is a0 ≈ .127⋅c2Λ1/2. The strengths of the mutual gravity between stars, the centripetal acceleration of stars in the galaxy outskirts, and the accelerations in galaxy clusters all have values of about a0. Because MOND is nonrelativistic, it applies in the regime in which |ϕ| ≪c2 and |∇ϕ| ≲ c2Λ1/2. The theory explains some of the listed problems and it gives a natural explanation for the observed flat rotation curves of galaxies as well as for the Tully-Fisher relation (McGaugh et al. 2000).
Although the MOND model makes definite predictions without the need for fit parameters, the model is complicated by the fact that it is not relativistic. It needs a preferred inertial reference frame (i.e., it is an aether theory) and the gravity from distant sources cause an external field effect (violating the strong equivalence principle). These effects need to be considered when the possibility of MOND is to be ruled out or confirmed.
General relativistic models that reduce to MOND at low energies introduce additional degrees of freedom. The new TeVeS theories of Skordis & Złośnik (2019, 2021) have resolved the long-standing problem that gravitational waves traveled faster than photons. This problem plagued older MOND-extensions (Bekenstein 2004).
Milgrom’s MOND modifies the equation for the gravitational potential using a nonlinear PDE. The numerical codes that have been developed to simulate the dynamical evolution in MOND are found in Brada & Milgrom (1999); Nipoti et al. (2007); Llinares et al. (2008), N-MODY by Londrillo & Nipoti (2009), and RayMOND by Candlish et al. (2014), based on multigrid discretization. The work of Angus & Diaferio (2011); Peng et al. (2016) solved for QuMOND, the quasilinear MOND model (Milgrom 2010). The code called Phantom of Ramses (Lüghausen et al. 2015; Nagesh et al. 2022) also solves QuMOND. The codes RayMOND and Phantom of Ramses are both based on RAMSES (by Teyssier 2002).
We describe an algorithm for N-body simulations in MOND. The particles can be Solar System planets, stars in a galaxy, or the galaxies in a galaxy cluster. The following main fields in astronomy are affected by Milgromian gravity:
- (i)
Celestial mechanics. In the Solar System, the perturbation of the planetary orbits due to a possible residual MOND effect may have to be calculated. Because outer Solar System dynamics is in the crossover regime, this correction critically depends on the interpolation function, which describes the transition between MOND and normal gravity. In particular, the perihelion precession of the outer planets, where acceleration is lowest, could be affected (Pitjeva & Pitjev 2013; Paučo & Klačka 2016; Paučo 2017; Yoon & Darriba 2020). Here, the effect of MOND may lie just below the current detection limit. Binary star systems with a wide separation are in the transition of the interpolation (Hernandez et al. 2019). For both these systems a two-body model is appropriate when the external field from the Milky Way is taken into account (Iorio 2009, 2017).
- (ii)
Dense stellar systems. These include open clusters and globular clusters, where close encounters between stars are relevant. The evolution requires inclusion of short-range gravitational interactions. Hence, individual particles must be tracked.
- (iii)
Galactic dynamics. Examples are transient phenomena such as tidal effects between neighboring galaxies, the collisions between galaxies, the formation of tails, and the collapse or merging of smaller stellar systems. Galaxy-formation simulations in QuMOND were made by Wittenburg et al. (2020); Eappen et al. (2022).
- (iv)
Galaxy clusters. Here, the particles are the individual galaxies. An N-body code for the dynamics with small particle numbers, between 102 and 103, possibly supplemented with hydrodynamics for the gas component, would be the appropriate model.
- (v)
Cosmology. Structure formation in the early Universe would be affected by MOND because the density fluctuations will initially be small, accelerations could begin with low values, and structure formation may start in the deep-MOND regime. Cosmological simulations in QuMOND were made by Katz et al. (2013); Haslbauer et al. (2020); Wittenburg et al. (2023).
2 Theory and main result: The idea of the method
As the particles move in space under the influence of the gravitational potential ϕ(r, t), they experience an acceleration given by Newton’s second law,
(1)
The baryonic mass density for the set of N point masses is
(2)
Here, δ is the three-dimensional Dirac-delta function. Whereas the potential is a solution of the Poisson equation in the Newton theory, in MOND (the AQUAL formalism), the potential is a solution to the following nonlinear partial differential equation (PDE):
(3)
with the boundary condition ∇ϕ(r, t) → 0 as |r| → ∞. The scalar function µ(x) is called the interpolation function because it interpolates between the regime of high and low accelerations. At high acceleration, µ(x) → 1 so that the potential will approach the Newton potential. At low acceleration, the deep MOND regime begins, and µ(x) → x. An isolated and localized mass m has the asymptotic spherically symmetric potential log |r|. See Table A.1 for the symbols and notation. A popular choice for the interpolation function that is consistent with all observations so far (Brouwer et al. 2021) is
(4)
2.1 An equivalent system for AQUAL
We now demonstrate how to rewrite the Eq. (3) for the potential in MOND by transforming this equation into a system of coupled linear PDEs for four vector fields 𝑔N, 𝑔M, H, and F, combined with one algebraic equation. This system of equations is
(5)–(10)
The vector fields 𝑔N and 𝑔M are the Newton and MOND acceleration fields. With the identification 𝑔N=−∇ϕN, the two equations in Eq. (5) are equivalent to the Poisson equation. Our new system effectively expresses the MOND gravity field 𝑔M in the Newtonian gravity field 𝑔N. Equations (8) and (10) are not independent equations, but are the inverse of each other. Here, F and 𝑔M are the lengths of the vectors F and 𝑔M. The pair µ(x) and v(y) relate the strength of the Newtonian gravity to the strength of the Milgromian gravity by
The choice Eq. (4) for the interpolation function gives
Here follows the proof that the system of Eqs. (5)–(10) is equivalent to Eq. (3). Instead of an equation for the potential ϕ, we have an equation for the acceleration field 𝑔M. We thus need to identify 𝑔M = −∇ϕ. When we now combine Eq. (6) with Eq. (10), solve for 𝑔N, then substitute this solution in the first of Eq. (5), and use Eq. (7), we obtain
Equation (9) states that the field is curl-free. Hence, 𝑔M is a conservative field with a potential. When we substitute 𝑔M = −∇ϕ, we find Eq. (3). This proves that the system Eqs. (5)–(10) implies Eq. (3). For the converse, we note that when we have a solution of Eq. (3), we can calculate 𝑔M. This automatically satisfies Eq. (9). We can then define F with Eq. (10). We then let Eq. (6) be its Helmholtz decomposition. This defines the functions 𝑔N and H, which must satisfy the second of Eqs. (5) and (7), stating that the first component is curl-free and the second component is divergence-free. This completes the proof.
In any numerical code that uses this system, the linear PDEs can be solved using standard numerical methods for linear equations. The nonlinear equation requires a special solver. We have devised the following numerical iteration scheme that approaches the solution of the system (5)–(10). We first solve Eq. (5) for the Newtonian gravity field 𝑔N, which we store in memory. Then we take H = 0 for the initial value. The iteration scheme consists of the following steps:
- 1.
Calculate F with Eq. (6).
- 2.
Calculate gM with Eq. (8).
- 2.
Project 𝑔M → 𝑔M|| onto the curl-free part, as per Eq. (9).
- 4.
Calculate F with Eq. (10).
- 5.
Calculate H with Eq. (6).
- 6.
Project H → H⊥ onto the divergence-free part, as per Eq. (7).
- 7.
Repeat: Go to step 1.
The calculation in steps 3 and 6 can quickly be made in the Fourier domain (see Appendix C for the equations). The use of the fast Fourier transform (FFT) allows us to perform these steps fast.
The iterative procedure converges to a numerically stable solution. Because we start with a zero H field, its change after the iterations allows us to estimate the error in the numerical solution. It was found that the error initially drops with a factor of 10 per iteration, but after about 15 iterations, 5 iterations are required for the error to drop with a factor 10, until machine precision is reached (see Platschorre 2019, where it was used for the first time). One clue to the explanation for the fast convergence is the following. For a spherical field, we have H = 0 (see Bekenstein & Milgrom 1984). Because the masses are spherical, close to a mass, the solution is approximately spherically symmetric. Far away from a collection of masses, the solution becomes spherical as well. Thus, near the masses and away from the masses, the initial value is correct. In the iterative steps, the field in the intermediate regions is changed. Here, H is not zero.
The apparent matter (baryonic plus dark matter) distribution can be calculated by substituting the correct potential (the potential that is consistent with the observed particle motions and lensing) in the incorrect Newton-Poisson equation. This is equivalent to
(11)
The apparent density ρA is also known as the effective density (see Banik & Zhao 2022). This leads to an apparent dark matter density of ρA − ρB, also called phantom dark matter density. The total baryonic mass and apparent mass in a volume W can be found from the flux through its boundary,
(12)
2.2 An equivalent system for QuMOND
An alternative to the AQUAL formalism of MOND is quasilinear MOND or QuMOND (Milgrom 2010; Candlish et al. 2014; Lüghausen et al. 2015; Nagesh et al. 2022). This model can be cast as a similar system
We do not consider QuMOND any further. However, the algorithm can easily be adapted using the same steps.
3 The algorithm: Dealing with the self-gravity
We now describe the implementation of the method. The code needs to numerically approximate the solution of the MOND PDEs in Eqs. (5)–(10) and propagate particle motion and a time-dependent mass density. The particle equations of motion Eq. (1) are implemented with Leapfrog,
(13)
Although the formulas do not explicitly show this, the velocities and positions represent the values at a half time step difference. In principle, an actual half time step needs to be made initially (and also finally) to obtain the true Leapfrog integration scheme.
The code uses a discrete Fourier transform, so that space is represented as a periodic cubic lattice of n3 cells we call pixels. Hence, the scheme does not have nested grids; the grid cells are all equal and do not change. However, due to the periodic nature of the simulated space, matter inside one cubic volume is effectively influenced by the gravity of the neighboring copies. This effect is nonphysical, and a volume of empty space needs to surround the matter when this effect is to be small. Ideally, the center of mass is placed in the origin, and it is ensured that particles stay away from the boundary of the cube.
3.1 Interpolation for the particle density function
The main drawback of the particle-mesh (PM) method is the lack of accuracy at the short-distance scale of the pixels. Although each particle is located in a single pixel, we desire accuracy that is below the grid size. This influences both the field created by and the acceleration on the particle. First, the field created by particle i close to the mass should resemble a spherical field about the point ri, which is not the center of a pixel. Second, we also need to approximate the acceleration on particle i by the field at ri, for which the value at the center of the pixel is not accurate.
We used a Gaussian kernel to create a smoothed density in order to suppresses anti-aliasing. The density of Eq. (2) was replaced by
(14)
Hence, each of the N point particles is represented by the Gaussian in Eq. (14) centered about the particle position. We chose a standard deviation with a width of one pixel s. The Gaussian is then effectively a cloud-in-cell (CIC) method of order 12 (see Hockney & Eastwood 1988). This is explained in Appendix B. Because Gaussians drop off fast, we implemented the calculation of the density by only addressing the pixels that are within a distance of 4s from the central pixel containing the particle. To do this, we stored a list with the 251 coordinates of the ball-shaped domain with a radius of 4s. This is illustrated in Fig. 1. Moreover, we created a lookup table for the exponential function.
![]() |
Fig. 1 Anti-aliasing needed to suppress the self-gravity. A cross section of the Gaussian density Eq. (14) with one-pixel variance about (blue) points in the middle grid cell, representing a 12th order weight function. We only account for the pixels inside a sphere with a radius of 4s (dashed circles). This results in a domain of 251 cells (inside the contours). The linear motion of a point particle across the middle cell (left to top right) shows that the simulated density changes smoothly between panels. |
3.2 Interpolation for the forces on the particles
Next, we describe how we approximated the acceleration of particle i. Again, we wished to know the acceleration at a point ri inside some pixel with subpixel accuracy. However, the acceleration 𝑔B is only calculated at the pixel positions. We would therefore need to interpolate between the values at different pixels. For the force on particle i, located at ri, we used the following smoothed average:
(15)
On the mesh, the gradient of the potential ∇ϕ in this expression is calculated with the finite-difference gradient, and the integral in this expression becomes a pixel sum. We only summed over pixels within a distance 4s from the pixel containing ri.
The smoothing methods discussed in this section will generally improve the accuracy in any PM method. However, in the case of MOND, this smoothing is essential for dealing with the self-gravity. The software is available on GitHub1 under the MIT license and is archived in the ASCL (de Nijs et al. 2023).
4 Results: Validation using analytic solutions
The problem of self-gravity dominating the actual force on a point particle is inherent to the PM method for MOND. The effect of an imprecise subpixel resolution for the position of a particle and the consequently imprecise evaluation of the acceleration on that particle is always present, even for a single particle. We therefore also need to test the accuracy of the method for linear motion. We have found that in our simulations, a point particle of mass m experiences nonphysical accelerations with the average value of 1.08⋅ for a 2563 grid (see de Nijs 2023). This small error is independent of the number of pixels.
In this section, we present results of simulations with the code for three systems: the two-body problem, a ringed system, and an isotropic three-dimensional system. Because the main interest is in MOND, we considered the deep MOND case. This means that the interpolation functions we used in our simulation are
For this regime, Milgrom (1994, 1997, 2014) found, using the method of the virial, that the kinetic energy for a bound system with the center-of-mass motion at rest is
(16)
with mi the individual particle masses, and M the total mass. If there is no external field, this single equation allows us to calculate the MOND forces between particles for highly symmetric cases, thereby bypassing the nonlinear PDE. We used these analytic solutions to test our PM code.
4.1 Example I: Wide binary system
We considered the two-body problem in MOND. This is a model for a binary stellar system with two comparable masses with a wide separation. The interparticle force is found from Eq. (16) to be
(17)
with M = m1 + m2, and where r = |r2 − r1| is the separation. We can rewrite the mass dependence using
(18)
The equations of motion of the two particle system are
(19)
A numerical solution of this system of ordinary differential equations (ODE) is shown in Fig. 2. Here, it is compared with the results of our PM code, showing that the two methods agree reasonably well, but diverge ultimately. The system has the following constants of motion:
Because the PM is cubic, which breaks the local spherical symmetry, we expect that the total angular momentum does not remain constant in the simulations. How well angular momentum is conserved by our PM code is shown in Fig. 3. If the center of mass is located at the origin, R = 0, the single-particle angular momenta L1 and L2 are also constant. However, the numerical error in L1 and L2 becomes large when the particle is within a distance of one pixel from the origin. The reason is that the center of mass may have drifted away from the origin by one pixel. When we subtract R from r1 and r2, the errors disappear. For grid sizes 1283, 2563, and 5123, the error in total angular momentum is 4%, 2%, and 1%, respectively.
The solution with the two particles in circular orbit about the center of mass is
where r = |r2 − r1| = r1 + r2 is the separation, υ = |υ2 − υ1| is the relative velocity, and ω is the orbital frequency. With Huygens’ law of the centripetal force applied to the motion of the reduced coordinate r, we obtain for the force
Using Eqs. (16)–(18), we find that the velocity υ of the reduced motion and the orbital frequency ω are given by the expression
(20)
The velocities are independent of the separation. The theoretical dependence of the velocity on the mass ratio is plotted in Fig. 4. Figure 5 shows the numerical simulation of our PM code for two particles with the initial relative velocity from Eq. (20). It convincingly shows that motion is circular, which verifies Milgrom’s two-particle force law. It also illustrates that we can obtain reasonable subpixel resolution.
![]() |
Fig. 2 Simulated orbits of the two-body system projected onto the xy plane for the mass ratio m1/m2 = 3/2. The mesh has a size of 1283, and there are 100 time steps, each with four iterations for the MOND force. Red (m1) and cyan (m2) are the orbits obtained from numerical integration of Eqs. (19). Purple and blue are the orbits calculated with the PM code. The difference between the PM code and the ODEs is a slow dephasing of the orbits. |
![]() |
Fig. 3 Angular momentum vs. time t for the simulation shown in Fig. 2. These are constants of motion of the ODE system Eq. (19) and numerically constant (with machine precision, not shown) when integrated with Leapfrog. In the PM code, the total angular momentum (blue) is well conserved, but the single-particle angular momenta (orange and red) have large errors when the distance to the origin is smaller than one pixel. |
![]() |
Fig. 4 Force times radius (blue) and squared velocity (orange) vs. mass ratio for the two-body system. The horizontal axis is logarithmic, making the curves symmetric about m1 /m2 = 1. |
4.2 Example II: Ring galaxy
Again, we tested the code with a system that was solved analytically by Milgrom (1994): a central mass m0, surrounded by a ring with a radius r2 with N particles with a mass m (i.e., the system has N + 1 particles). A beautiful realization of such a ring galaxy is Hoag’s Object (Schweizer et al. 1987). The central mass is at rest at the origin. We created a rotating ring of N particles on a regular N-gon (N ≥ 2),
The force on the particles in the ring is given by
(21)
Here, M = m0 + Nm. We can now write
The velocity of the ring particles and the orbital frequency are found by equating the force Eq. (21) to F2 = mυ2/r2 = mω2r2,
(22)
The force times radius and squared velocity is plotted in Fig. 6. The result of the simulation for N = 100 particles is plotted in Fig. 7. If the mass of the ring is not very low compared to the central mass, the system is unstable, and the ring breaks apart after a few orbits.
![]() |
Fig. 5 Simulated orbits of two bodies with a mass ratio m1/m2 = 3/2 as in Fig. 2, but with 400 time steps. The initial velocities are given by Eq. (20) and should result in circular orbits. These are plotted in Fig 4. This simulation thus confirms the force formula Eq. (17) for the deep MOND case and validates the algorithm. It also illustrates how well the algorithm performs on the subpixel scale. |
4.3 Eample III: The isothermal sphere in MOND
Our third application is the simulation of a spherically symmetric system in thermodynamic equilibrium. This could be a globular cluster with up to 106 stars or a galaxy cluster with up to 103 galaxies. These system are in the deep MOND regime or in the crossover regime (accelerations around a0)·
A system of N point particles with equal mass m in hydrostatic equilibrium with a temperature T has a velocity dispersion given by
(23)
The last equality is the thermodynamic limit of Eq. (16). For a spherical system, the particle number density in terms of the potential is given by
(24)
Here, we used hydrostatic equilibrium and the ideal gas law. Substitution of the mass density ρB,(r) = mn(r) and Eq. (24) in the MOND Eq. (3) gives the following equation for the potential:
(25)
The solution of this equation is found to be
(26)
(27)
(28)
(29)
Here, b is a parameter with the dimension of a length. When the function in Eq. (26) is substituted in Eq. (25), we can solve for this parameter b in terms of the mass M and the central density ρB(0). Hence, we have found a two-parameter family of solutions. The function M(r) in Eq. (28) represents the mass inside a sphere of radius r, and M = limr→∞ M(r) is the total mass. The physical meaning of the parameter b becomes clear when we calculate the mass of a homogeneous sphere with radius b, with the constant density equal to the value ρ(0) at the center of the isothermal distribution, given in Eq. (29). This mass is precisely equal to the total mass
The density is finite at the origin and also drops off sufficiently fast to zero to allow normalization: No cutoff is needed to keep the total mass finite. These physically convenient properties are absent from the isothermal solution in Newtonian gravity. The potential and density and the resulting deflection potential and surface-mass density are plotted in Fig. 8. Kinetic energy and potential energy are, with Eq. (23),
The solution given in Eqs. (26)–(29) is applicable for 𝑔M ≪ a0· Because the maximum acceleration is found at r = b/22/3, the requirement becomes GM/b2 ≪ 9a0/24/3. The Virgo cluster, for example, satisfies this. Equation (29) could be a realistic description for spherical gas clouds, elliptical galaxies, and clusters.
We derived the formula for the apparent mass density, which would give the apparent dark matter distribution function. Equations (11)–(12) give
The total apparent mass diverges as r →∞. Whereas the actual density ρB is smooth at the center, the apparent mass density ρA has a cusp at the core. The isothermal solution shows typical deep MOND behavior: Only the total baryonic mass M determines the velocity distribution, with a central density that can be varied independently. The lower the density at the center, the larger the system system size and the higher the apparent dark matter mass.
We now study the dynamics of the isothermal solution with our PM code. We need the cumulative distribution function for the radial probability density. According to Eq. (28), this is
In order to obtain random realizations, our point masses were found from seven random numbers ξı ∈ (−1,1), η1,η2,η3 ∈ (0,1), ζ1,ζ2,ζ3 ∈ (0,2π), sampled homogeneously from these intervals and the formulae
(30)
The Box-Muller transform was used to generate the Gaussian values of the Maxwell-Boltzmann velocity distribution. Figures 9 and 10 show how close the realizations are to the cumulative distributions for the radial coordinate and for the velocity. Figure 11 shows the realizations projected onto the celestial plane and the resulting apparent dark matter surface density. For N = 103 or larger, the potential is nearly spherical, and it is well described with our analytic solution.
We solved the evolution of N particles in the external potential Eq. (26) as a system of ODEs, and we simulated the N particles in MONDian gravity using the PM code, both with the same initial distribution. The two models are comparable because both must behave identical in the thermodynamic limit N → ∞. We also tested whether the distributions are stationary, as they should be for large N. In the external potential, the energies and angular momenta of the individual particles are strictly conserved, and so is the total energy and angular momentum. The single-particle kinetic energies and momenta oscillate, and so does the total kinetic energy and the total momentum. We compare this with the exact system of Eqs. (1)–(3). Here, the total energy, total momentum, and total angular momentum are conserved. The PM code simulates this system. The fluctuations in the energies are shown in Fig. 12. Because the mesh in our PM approach breaks spherical symmetry, angular momentum also fluctuates slightly.
![]() |
Fig. 6 Force times radius (lower curves) and squared velocity (higher curves) vs. the mass ratio for particles on a regular N-gon orbiting a central body in circular motion. From Eqs. (2l)–(22), where m0 is the central mass and Nm is the ring mass. |
![]() |
Fig. 7 Simulated orbits for a ring of N = 100 particles with a mass m around a central mass m0 for a mass ratio of m0/Nm = 3/2 as in Fig. 2. The orbits of the first 80 time steps of 10 particles are shown in color. In gray we plot 576 steps for all particles. The initial velocities are given by Eq. (22), plotted in Fig. 6, which in theory results in circular orbits. Although this confirms the force formula Eq. (21), numerical round-off errors on the subpixel scale propagate and cause the orbits to diverge. |
![]() |
Fig. 8 Potentials and mass distributions for the isothermal state. In teal and orange we show the potential ϕ(r) as given by Eq. (26) and the deflection potential ψ=∫ϕdz for the line of sight passing the center at distance r, determining weak gravitational lensing. The asymptotes are shown (in gray) and the units are |
![]() |
Fig. 9 Cumulative mass M(r) of the spherical isothermal galaxy vs. r. The (free) parameter b determines the galaxy size. The (blue) curve is the theoretical result given by Eq. (28). The realizations (orange, red, and purple) are calculated from Eq. (30). |
![]() |
Fig. 10 Cumulative velocity distribution for the spherical isothermal galaxy. This is the fraction #(≤v)/N of particles with velocities below v vs. the value v of this upper bound. The realizations (orange, red, and purple) are calculated from Eq. (30). |
5 Discussion
5.1 Accuracy of the method
The inaccuracies in the algorithm arise from the fact that we used a fixed grid. The discrete grid has n pixels in each dimension with a pixel width s and has a finite volume n3s3.
The use of FFTs in the calculation of the potentials and acceleration fields generally gives rise to anti-aliasing: The functions obtain nonphysical short-wavelength oscillations. This effect is particularly strong when the point particles are represented with isolated nonzero pixel values in the mass density, but also when the CIC method is used. Smoothing with a minimum variance of one pixel width s in a spherical domain of radius 4 s needs to be used to overcome this problem. Although the discretization creates a minimum size, we reach a subpixel spatial resolution by using interpolation. We found that the retrieval of the forces on the particles with a Gaussian smoothing gives the most accurate results. To further limit the aliasing and increase accuracy, we did not use the numerical acceleration field, but calculated the potential, and we derived the forces instead using the finite-difference gradient of this scalar function.
The runtime of our code has a time complexity of O(Nn3 log n), hence it scales linearly in the number of particles and almost linearly in the number of pixels because we made use of the FFT. The runtime as a function of particle count is plotted in Fig. (13). For a 1283 grid, the evaluation of the accelerations or/and densities starts to dominate the runtime at N = 103. Therefore, in the general case, we expect that the crossover occurs at a critical density of 103/1283 ≈ 1/103 particles per pixel.
5.2 Improvements of the code
The code could be made faster, allowing simulations with higher resolution/larger volumes, with smaller time steps/longer simulated times, or with more particles. We list below a few ideas for possible improvements that we did not implement.
- (i)
The code is currently written in Python, using the FFTW library, which is a C library for the FFTs. The code could be entirely rewritten in a compiler programming language such as C, and compiled into fast-running machine code.
- (ii)
A primitive data type can be chosen for the floats with half-precision, used by GPUs (with the cuFFTW library). The machine precision would be 10−3, which is close to the unavoidable error due to self-gravity. Its implementation should reduce memory use and speed up the code.
- (iii)
Both the potential solver and the particle propagator in the code can be parallelized. The calculation of the potential requires 42 FFTs (3 scalar plus 13 vector FFTs). These three-dimensional FFTs need to be performed sequentially. For each direction, we have n2 normal FFTs of a vector with n elements. These can be performed in parallel. The increments of positions and velocities of the N particles are independent, hence their calculations can also be made in parallel. Parallelizing the updating of the density is less straightforward. If the distance between two particles is smaller than 8 pixels, the density needs to be updated one particle at a time.
- (iv)
If the density function changes only slightly at each time step, the potential solver needs just one iteration when it is seeded with the previous solution. This strategy can be employed when the spatial steps are smaller than the width of the weight functions (i.e. for small time steps), or when nearby particles have mostly overlapping weight functions (i.e. for high number densities). Densities are also smooth when the matter is modeled as a fluid. We found that the PDE solver indeed sped up by a factor three.
- (v)
If changes in the fields at the time steps are small, we can calculate the increments
, ∆F, and ∆H, instead of the full fields. This will improve the accuracy and reduce the required number of significant digits so that half-precision can be used. For the nonlinear Eqs. (8) and (10), we can use the linearizations

5.3 Applications targeted to special systems
We validated the PM code by simulating the two-body system and ring systems. For applications of systems with a high symmetry like this, however, the code could be adapted to make it more accurate and much faster. For example, a binary system can be simulated using ODEs and does not require a PDE solver, as shown in Sect. 4.1 for the deep MOND system Eq. (19). For the general case, the interpolation function μ is different, but the system is still governed by a two-body force that is a function of distance and the masses. One could now use the PDE solver of our code to calculate the force. This numerical force function can then be used in the ODE system for the actual simulations of the binary.
In absence of an external field, the two-body system has a perfectly cylindrical symmetry: The potential is a function of the distance to and height on the axis of symmetry. By writing the PDE in cylindrical coordinates and using the Hankel transform, we limit the number of transforms in the PDE solver. The evaluation of the force function could thus be calculated fast, allowing one to test various choices of interpolation functions. For other systems with cylindrical symmetry, such as the motion of a test particle in a disk galaxy, this method can also be used to enhance the accuracy and speed (see Platschorre 2019, for a study of rotation curves using the Hankel transform in this way).
The external field can be included in our PM code by fixing a plane at maximum distance from the particles in the cube where a permanent dipolar mass distribution is placed, that is, a layer of pixels with mass M and an adjacent pixel layer of mass −M.
When the external field is included, one can again evaluate the force function for the two-body problem numerically. Now, the force also depends on the polar angle (the angle between the direction of the external field and the vector r2 − r1), and not just on the interparticle distance.
![]() |
Fig. 11 Surface-mass densities σ(x,y) and deflection potentials ψ(x,y) for a globular cluster from the central 128 × 128 part of a simulated cube of 2563 pixels. The yellow dots are the stars that define the actual density. The resulting apparent dark matter surface density is plotted in blue according to Eq. (11). Negative value are shown in red (Milgrom 1986). They are found for N ≤ 102. The equipotential curves of the deflection potential for Newtonian and Milgromian gravity are plotted in green and cyan. Although the densities are far from circularly symmetric, the deflection potential is nearly circular for N ≥ 103. This indicates that the retrieval of a clumpy mass distribution from weak lensing may be problematic for large N. |
![]() |
Fig. 12 Energies vs. time for N = 100 particles on a 2563 grid. The kinetic, potential, and total energy for the self-consistent interacting system of the particles from the PM code are shown as solid curves (red, purple, and blue). The kinetic, potential, and total energy from the ODE system of the particles in the external potential are shown as dashed curves (orange, violet, and teal). The fluctuations in the total energies are purely numerical, and the other energies have thermal fluctuations. The dashed gray curve is Epot = ∫ ρBϕdxdydz with the PM matter density and Eq. (26), hence substituting a finite N solution in the potential obtained in the thermodynamic limit. We subtracted the self-energies. |
![]() |
Fig. 13 Runtime vs. particle count N for a 1283 grid with the Python code on an Intel Core i7-9750H. The time spend on the FFTs (blue) is roughly constant, and the time for the evaluation of the particle accelerations and/or densities grows linear with N (orange, red, and purple). The total runtime shows a crossover around 103 particles (black). The dashed lines are guides with slopes of zero and one. |
5.4 Extensions and future research directions
Extensions to the code could make the code useful for more realistic modeling and other fields. Some examples are listed below.
- (i)
Close encounters. If the ratio Gm/s2 is much higher than a0, the field on the pixel scale is Newtonian. It may be possible to obtain subpixel resolution for this case by calculating the near field with a particle-particle component.
- (ii)
Hydrodynamics. In galaxy clusters, the intergalactic gas component dominates the total mass contribution from the galaxies. One could implement Euler’s equations for inviscid flow inside the MOND acceleration field. The evolution of the density ρB, pressure ρ, and flow field u can be calculated from the system
Here,
is the transformed specific kinetic energy, and γ is the polytropic constant. These are the Euler equations in Lamb form, where the derivatives are calculated using Fourier transforms. By running these on a GPU with cuFFTW in half-precision floats, one gains a speed-up of at least one order of magnitude.
- (iii)
Cosmology. In simulations of structure formation in the early Universe, one can introduce comoving coordinates to model the expansion of the Universe. This amounts to the equations for particle motion (Peebles 1993)
and the density in Eq. (5) can be replaced with
, where the scale factor of the expanding Universe is given by a(t).
6 Conclusions
We described, coded, and tested an algorithm for the simulation of the dynamical evolution of N bodies for AQUAL-MOND. MOND is an alternative model for the gravity between stars, galaxies, and galaxy clusters, where standard theory requires CDM. We now list our final conclusions:
- (i)
The MOND Eq. (3) is shown to be equivalent to the system Eqs. (5)−(10) of linear PDEs plus an algebraic equation. Therefore, linear PDE solvers can be used;
- (ii)
Because we have a linear system, we can use Fourier transforms to solve it. Our PM code relies on 42 FFTs, where a standard Poisson solver needs only two. The use of FFTs makes it faster than the finite-element codes N-MODY and RayMOND (Londrillo & Nipoti 2009; Candlish et al. 2014), especially for large grids;
- (iii)
Four iterations are required to obtain an accuracy of 1%;
- (iv)
Self-gravity is the dominant cause of the numerical error. We needed a Gaussian smoothing kernel of one pixel width over a spherical domain with a radius of four pixels. The standard CIC method used in Poisson solvers cannot be used;
- (v)
When the number of particles per pixel exceeds 1/103, particle propagation takes more time than the PDE solver;
- (vi)
We derived the analytic isothermal state Eqs. (26)−(29) for the spherical deep MOND case. It is a two-parameter family, with a mass and a length scale. Because the deflection potential deviates significantly from that for a point mass, the solution could be relevant for elliptic galaxies and clusters;
- (vii)
We tested our PM code for systems where deep MOND analytic solutions (by Milgrom 1994) are known and found good agreement. We also tested the isothermal state by creating a Maxwell-Boltzmann distribution with density Eq. (29) and verified that the system is stationary.
Promising applications of the N-body MOND code include the numerical comparison with actual astrophysical observations on the Solar System, wide-binaries, and galaxy clusters.
Appendix A Table of symbols
List of symbols and notation.
Appendix B Fourier transforms
In the text, we did not distinguish much between continuous functions on ℝ3 and the discrete representation on (ℤ/nℤ)3 for the n × n × n grid. We simply considered the discrete functions as an approximation of the continuous functions on a finite interval. Let the physical dimension of the cubic pixels be s, and let the cubic volume have length L = ns. We assume that the functions smoothly drop to zero (or a constant) for . The position coordinates that correspond to the grid points take on the values
Fourier space has the elements k as reciprocal vectors. It has the grid values
The scalar function ϕ(r) is expressed in its Fourier transform via the expansion in plane waves, that is, the inverse Fourier transform
and the Fourier coefficients, that is, the direct Fourier transform is
In our PM algorithm, we modeled point particles with a smooth density centered around the points ri. The standard CIC method uses the n-fold convolution of the box function box(x/s)box(y/s)box(z/s) for the nth-order method (Hockney & Eastwood 1988). Here, the box function is defined by
For large n, the convolution in one dimension and its Fourier transform may be approximated by
We therefore used the following density, with order n = 12:
The Fourier transform of this single-particle density is
A standard deviation of a single pixel in position space implies a drop off of below at the boundary of the reciprocal space. Furthermore, the density is very nearly spherically symmetric. The difference between the 12th-order CIC function and the Gaussian with the same variance in three dimensions is 10−7 at most.
Appendix C Flow scheme of the PM code
This is the initialization procedure.
- 1.
Create a lookup table for the exponential function.
- 2.
Create a table of the 251 coordinates in a sphere of radius 4.
- 3.
Create a n3 matrix with the vector function k.
- 4.
- 5.
Clear a n3 matrix for the density: ρB(r) = 0.
- 6.
Loop through the particles i = 1 … N.
Set the mass mi, and initialize the position ri and velocity vi.
Next i. End particle loop.
This is the main loop for time steps in the simulation.
- 1.
Loop through all particles i = 1 … N (in case n3 > 251 N).
Remove particle i from the mass density by filling the pixels with zeros according to the list of 251 pixels.
Next i. End particle loop.
- 2.
Loop through all particles i = 1 … N.
Implement the position step of Leapfrog: ri → ri + vi∆t.
Add particle i to the mass density, with the list of 251 pixels and the lookup table: ρB(r) → ρB(r) + ρi(r), using Eq. (14).
Next i. End particle loop.
- 3.
FFT the density:
.
- 4.
Calculate
.
- 5.
Inverse FFT the potential:
.
- 6.
Find Newton gravity gN(r) from ϕN with finite differences.
- 7.
Initialize the mass flux field by F(r) = gN.
- 8.
Start the iteration loop.
Calculate the gravity field:
.
FFT the gravity field:
.
Calculate the potential in Fourier space:
.
Make the field conservative:
.
Exit the iteration loop at the fourth iteration.
Inverse FFT the gravity field:
.
Calculate the field:
.
Calculate the magnetic component, H(r) = F − gN.
FFT the magnetic field:
.
Make the field divergence free:
.
Inverse FFT the magnetic field:
.
Calculate the field with F(r) = gN + H.
Next iteration.
- 9.
Inverse FFT the potential:
.
- 10.
Loop through all particles i = 1 … N.
Evaluate gi, with the list of 251 pixels and the lookup table using Eq. (15).
Implement the velocity step of Leapfrog: vi→ vi + gi∆t.
Next i. End particle loop.
- 11.
Update time t → t + ∆t, and
- 12.
Go to the next time step.
References
- Angus, G. W., & Diaferio, A. 2011, MNRAS, 417, 941 [NASA ADS] [CrossRef] [Google Scholar]
- Angus, G. W., Diaferio, A., & Kroupa, P. 2011, MNRAS, 416, 1401 [NASA ADS] [CrossRef] [Google Scholar]
- Asencio, E., Banik, I., & Kroupa, P. 2020, MNRAS, 500 [Google Scholar]
- Asencio, E., Banik, I., Mieske, S., et al. 2022, MNRAS, 515, 2981 [CrossRef] [Google Scholar]
- Asencio, E., Banik, I., & Kroupa, P. 2023, ApJ, 954, 162 [NASA ADS] [CrossRef] [Google Scholar]
- Asgari, M., Chieh-An, L., Joachimi, B., et al. 2021, A&A, 645, A104 [NASA ADS] [CrossRef] [EDP Sciences] [Google Scholar]
- Banik, I., & Zhao, H. 2018, MNRAS, 480, 2660 [NASA ADS] [CrossRef] [Google Scholar]
- Banik, I., & Zhao, H. 2022, Symmetry, 14, 1331 [NASA ADS] [CrossRef] [Google Scholar]
- Bekenstein, J. D. 2004, Phys. Rev. D, 70, 083509 [Google Scholar]
- Bekenstein, J., & Milgrom, M. 1984, ApJ, 286, 7 [NASA ADS] [CrossRef] [Google Scholar]
- Blanchet, L., & Novak, J. 2011, MNRAS, 412, 2530 [CrossRef] [Google Scholar]
- Brada, R., & Milgrom, M. 1999, ApJ, 519, 590 [NASA ADS] [CrossRef] [Google Scholar]
- Brouwer, M. M., Oman, K. A., Valentijn, E. A., et al. 2021, A&A, 650, A113 [NASA ADS] [CrossRef] [EDP Sciences] [Google Scholar]
- Bullock, J. 2013, Notes on the Missing Satellites Problem, ed. D. Martínez-Delgado, Canary Islands Winter School of Astrophysics (Cambridge University Press), 95 [Google Scholar]
- Candlish, G. N., Smith, R., & Fellhauer, M. 2014, MNRAS, 446, 1060 [Google Scholar]
- Chae, K.-H. 2023, ApJ, 952, 128 [NASA ADS] [CrossRef] [Google Scholar]
- Chae, K.-H., Lelli, F., Desmond, H., et al. 2020, ApJ, 904, 51 [NASA ADS] [CrossRef] [Google Scholar]
- Chiba, R., & Schönrich, R. 2021, MNRAS, 505, 2412 [NASA ADS] [CrossRef] [Google Scholar]
- Comerón, S., Trujillo, I., Cappellari, M., et al. 2023, A&A, 675, A143 [NASA ADS] [CrossRef] [EDP Sciences] [Google Scholar]
- de Blok, W. J. G. 2010, Adv. Astron., 2010, 789293 [CrossRef] [Google Scholar]
- de Nijs, J. V. 2023, Bachelor Thesis, TU Delft, Netherlands [Google Scholar]
- de Nijs, J. V., Visser, P. M., & Eijt, S. W. 2023, Astrophysics Source Code Library [record ascl: 2311.006] [Google Scholar]
- Eappen, R., Kroupa, P., Wittenburg, N., Haslbauer, M., & Famaey, B. 2022, MNRAS, 516, 1081 [NASA ADS] [CrossRef] [Google Scholar]
- Fabian, A. C. 1994, Cluster Cooling Flows, ed. W. C. Seitter (Dordrecht: Springer Netherlands), 163 [Google Scholar]
- Haslbauer, M., Banik, I., & Kroupa, P. 2020, MNRAS, 499, 2845 [Google Scholar]
- Hernandez, X. 2023, MNRAS, 525, 1401 [NASA ADS] [CrossRef] [Google Scholar]
- Hernandez, X., Cortés, R. A. M., Allen, C., & Scarpa, R. 2019, Int. J. Mod. Phys. D, 28, 1950101 [NASA ADS] [CrossRef] [Google Scholar]
- Hockney, R. W., & Eastwood, J. W. 1988, Computer Simulation using Particles (Bristol: Hilger) [Google Scholar]
- Iorio, L. 2009, Astrophys. Space Sci., 323, 215 [NASA ADS] [CrossRef] [Google Scholar]
- Iorio, L. 2017, Eur. Phys. J. C, 77, 1 [CrossRef] [Google Scholar]
- Katz, H., McGaugh, S., Teuben, P., & Angus, G. W. 2013, ApJ, 772, 10 [NASA ADS] [CrossRef] [Google Scholar]
- Kroupa, P. 2015, Can. J. Phys., 93, 169 [NASA ADS] [CrossRef] [Google Scholar]
- Kroupa, P., Jerabkova, T., Thies, I., et al. 2022, MNRAS, 517, 3613 [CrossRef] [Google Scholar]
- Labbé, I., van Dokkum, P., Nelson, E., et al. 2023, Nature, 616, 266 [CrossRef] [Google Scholar]
- Llinares, C., Knebe, A., & Zhao, H. 2008, MNRAS, 391, 1778 [NASA ADS] [CrossRef] [Google Scholar]
- Londrillo, P., & Nipoti, C. 2009, Mem. S.A.It. Suppl., 13, 89 [NASA ADS] [Google Scholar]
- Lüghausen, F., Famaey, B., & Kroupa, P. 2015, Can. J. Phys., 93, 232 [CrossRef] [Google Scholar]
- McGaugh, S. S., Schombert, J. M., Bothun, G. D., & De Blok, W. 2000, ApJ, 533, L99 [NASA ADS] [CrossRef] [Google Scholar]
- McGaugh, S. S., Barker, M. K., & de Blok, W. 2003, ApJ, 584, 566 [CrossRef] [Google Scholar]
- Meneghetti, M., Davoli, G., Bergamini, P., et al. 2020, Science, 369, 1347 [Google Scholar]
- Milgrom, M. 1983, ApJ, 270, 365 [Google Scholar]
- Milgrom, M. 1986, ApJ, 306, 9 [NASA ADS] [CrossRef] [Google Scholar]
- Milgrom, M. 1994, ApJ, 429, 540 [NASA ADS] [CrossRef] [Google Scholar]
- Milgrom, M. 1997, Phys. Rev. E, 56, 1148 [NASA ADS] [CrossRef] [Google Scholar]
- Milgrom, M. 2010, MNRAS, 403, 886 [NASA ADS] [CrossRef] [Google Scholar]
- Milgrom, M. 2014, Phys. Rev. D, 89, 024016 [NASA ADS] [CrossRef] [Google Scholar]
- Milgrom, M., & Sanders, R. H. 2008, ApJ, 678, 131 [NASA ADS] [CrossRef] [Google Scholar]
- Moreno, J., Danieli, S., Bullock, J. S., et al. 2022, Nat. Astron., 6, 496 [NASA ADS] [CrossRef] [Google Scholar]
- Nagesh, S. T., Kroupa, P., Banik, I., et al. 2022, MNRAS, 519, 5128 [Google Scholar]
- Nipoti, C., Londrillo, P., & Ciotti, L. 2007, ApJ, 660, 256 [NASA ADS] [CrossRef] [Google Scholar]
- Oehm, W., Thies, I., & Kroupa, P. 2017, MNRAS, 467, 273 [NASA ADS] [Google Scholar]
- Paučo, R. 2017, A&A, 603, A11 [NASA ADS] [CrossRef] [EDP Sciences] [Google Scholar]
- Paučo, R., & Klacka, J. 2016, A&A, 589, A63 [NASA ADS] [CrossRef] [EDP Sciences] [Google Scholar]
- Peebles, P. J. E. 1993, Principles of Physical Cosmology (Princeton University Press) [Google Scholar]
- Peng, B., Wang, T., Jin, X., & Wang, C. 2016, Int. J. Reconfig. Comput., 2016, 1 [CrossRef] [Google Scholar]
- Pitjeva, E., & Pitjev, N. 2013, MNRAS, 432, 3431 [Google Scholar]
- Pittordis, C., & Sutherland, W. J. 2019, MNRAS, 488, 4740 [NASA ADS] [CrossRef] [Google Scholar]
- Planck Collaboration VI. 2020, A&A, 641, A6 [NASA ADS] [CrossRef] [EDP Sciences] [Google Scholar]
- Platschorre, A. 2019, Bachelor Thesis, TU Delft, The Netherlands [Google Scholar]
- Riess, A. G., Casertano, S., Yuan, W., et al. 2021, ApJ, 908, L6 [NASA ADS] [CrossRef] [Google Scholar]
- Roshan, M., Banik, I., Ghafourian, N., et al. 2021a, MNRAS, 503, 2833 [NASA ADS] [CrossRef] [Google Scholar]
- Roshan, M., Ghafourian, N., Kashfi, T., et al. 2021b, MNRAS, 508, 926 [NASA ADS] [CrossRef] [Google Scholar]
- Rubin, V. C., & Ford, W. Kent, J. 1970, ApJ, 159, 379 [NASA ADS] [CrossRef] [Google Scholar]
- Rubin, V. C., Ford Jr, W. K., & Thonnard, N. 1980, ApJ, 238, 471 [NASA ADS] [CrossRef] [Google Scholar]
- Schweizer, F., Ford, W. Kent, J., Jedrzejewski, R., & Giovanelli, R. 1987, ApJ, 320, 454 [NASA ADS] [CrossRef] [Google Scholar]
- Skordis, C., & Złośnik, T. 2019, Phys. Rev. D, 100, 104013 [NASA ADS] [CrossRef] [Google Scholar]
- Skordis, C., & Złośnik, T. 2021, Phys. Rev. Lett., 127, 161302 [NASA ADS] [CrossRef] [Google Scholar]
- Teyssier, R. 2002, A&A, 385, 337 [CrossRef] [EDP Sciences] [Google Scholar]
- Wittenburg, N., Kroupa, P., & Famaey, B. 2020, ApJ, 890, 173 [NASA ADS] [CrossRef] [Google Scholar]
- Wittenburg, N., Kroupa, P., Banik, I., Candlish, G., & Samaras, N. 2023, MNRAS, 523, 453 [NASA ADS] [CrossRef] [Google Scholar]
- Yoon, Y., & Darriba, L. A. 2020, Classical Quant. Grav., 37, 135007 [CrossRef] [Google Scholar]
- Zwicky, F. 1933, Helv. Phys. Acta, 6, 110 [NASA ADS] [Google Scholar]
- Zwicky, F. 1937, ApJ, 86, 217 [NASA ADS] [CrossRef] [Google Scholar]
MONDPMeshcodebase: https://github.com/Joost987/MONDPMesh
All Tables
All Figures
![]() |
Fig. 1 Anti-aliasing needed to suppress the self-gravity. A cross section of the Gaussian density Eq. (14) with one-pixel variance about (blue) points in the middle grid cell, representing a 12th order weight function. We only account for the pixels inside a sphere with a radius of 4s (dashed circles). This results in a domain of 251 cells (inside the contours). The linear motion of a point particle across the middle cell (left to top right) shows that the simulated density changes smoothly between panels. |
In the text |
![]() |
Fig. 2 Simulated orbits of the two-body system projected onto the xy plane for the mass ratio m1/m2 = 3/2. The mesh has a size of 1283, and there are 100 time steps, each with four iterations for the MOND force. Red (m1) and cyan (m2) are the orbits obtained from numerical integration of Eqs. (19). Purple and blue are the orbits calculated with the PM code. The difference between the PM code and the ODEs is a slow dephasing of the orbits. |
In the text |
![]() |
Fig. 3 Angular momentum vs. time t for the simulation shown in Fig. 2. These are constants of motion of the ODE system Eq. (19) and numerically constant (with machine precision, not shown) when integrated with Leapfrog. In the PM code, the total angular momentum (blue) is well conserved, but the single-particle angular momenta (orange and red) have large errors when the distance to the origin is smaller than one pixel. |
In the text |
![]() |
Fig. 4 Force times radius (blue) and squared velocity (orange) vs. mass ratio for the two-body system. The horizontal axis is logarithmic, making the curves symmetric about m1 /m2 = 1. |
In the text |
![]() |
Fig. 5 Simulated orbits of two bodies with a mass ratio m1/m2 = 3/2 as in Fig. 2, but with 400 time steps. The initial velocities are given by Eq. (20) and should result in circular orbits. These are plotted in Fig 4. This simulation thus confirms the force formula Eq. (17) for the deep MOND case and validates the algorithm. It also illustrates how well the algorithm performs on the subpixel scale. |
In the text |
![]() |
Fig. 6 Force times radius (lower curves) and squared velocity (higher curves) vs. the mass ratio for particles on a regular N-gon orbiting a central body in circular motion. From Eqs. (2l)–(22), where m0 is the central mass and Nm is the ring mass. |
In the text |
![]() |
Fig. 7 Simulated orbits for a ring of N = 100 particles with a mass m around a central mass m0 for a mass ratio of m0/Nm = 3/2 as in Fig. 2. The orbits of the first 80 time steps of 10 particles are shown in color. In gray we plot 576 steps for all particles. The initial velocities are given by Eq. (22), plotted in Fig. 6, which in theory results in circular orbits. Although this confirms the force formula Eq. (21), numerical round-off errors on the subpixel scale propagate and cause the orbits to diverge. |
In the text |
![]() |
Fig. 8 Potentials and mass distributions for the isothermal state. In teal and orange we show the potential ϕ(r) as given by Eq. (26) and the deflection potential ψ=∫ϕdz for the line of sight passing the center at distance r, determining weak gravitational lensing. The asymptotes are shown (in gray) and the units are |
In the text |
![]() |
Fig. 9 Cumulative mass M(r) of the spherical isothermal galaxy vs. r. The (free) parameter b determines the galaxy size. The (blue) curve is the theoretical result given by Eq. (28). The realizations (orange, red, and purple) are calculated from Eq. (30). |
In the text |
![]() |
Fig. 10 Cumulative velocity distribution for the spherical isothermal galaxy. This is the fraction #(≤v)/N of particles with velocities below v vs. the value v of this upper bound. The realizations (orange, red, and purple) are calculated from Eq. (30). |
In the text |
![]() |
Fig. 11 Surface-mass densities σ(x,y) and deflection potentials ψ(x,y) for a globular cluster from the central 128 × 128 part of a simulated cube of 2563 pixels. The yellow dots are the stars that define the actual density. The resulting apparent dark matter surface density is plotted in blue according to Eq. (11). Negative value are shown in red (Milgrom 1986). They are found for N ≤ 102. The equipotential curves of the deflection potential for Newtonian and Milgromian gravity are plotted in green and cyan. Although the densities are far from circularly symmetric, the deflection potential is nearly circular for N ≥ 103. This indicates that the retrieval of a clumpy mass distribution from weak lensing may be problematic for large N. |
In the text |
![]() |
Fig. 12 Energies vs. time for N = 100 particles on a 2563 grid. The kinetic, potential, and total energy for the self-consistent interacting system of the particles from the PM code are shown as solid curves (red, purple, and blue). The kinetic, potential, and total energy from the ODE system of the particles in the external potential are shown as dashed curves (orange, violet, and teal). The fluctuations in the total energies are purely numerical, and the other energies have thermal fluctuations. The dashed gray curve is Epot = ∫ ρBϕdxdydz with the PM matter density and Eq. (26), hence substituting a finite N solution in the potential obtained in the thermodynamic limit. We subtracted the self-energies. |
In the text |
![]() |
Fig. 13 Runtime vs. particle count N for a 1283 grid with the Python code on an Intel Core i7-9750H. The time spend on the FFTs (blue) is roughly constant, and the time for the evaluation of the particle accelerations and/or densities grows linear with N (orange, red, and purple). The total runtime shows a crossover around 103 particles (black). The dashed lines are guides with slopes of zero and one. |
In the text |
Current usage metrics show cumulative count of Article Views (full-text article views including HTML views, PDF and ePub downloads, according to the available data) and Abstracts Views on Vision4Press platform.
Data correspond to usage on the plateform after 2015. The current usage metrics is available 48-96 hours after online publication and is updated daily on week days.
Initial download of the metrics may take a while.