Tools for reconstructing the velocities in a LCDM universe using the Jonker-Volgenant algorithm

Project description

void-reconstructor
------------------

This is a python program that provides the tools for reconstructing the velocities in a LCDM universe using the Jonker-Volgenant algorithm. The input are the positions of the particles in the final configuration. The LAPJV algorithm will then reconstruct the initial positions. Once the initial positions are known, we can calculate the Lagrangian and Eulerian velocities.

To use this program:

from void-reconstructor import reconstruction as rec
from void_reconstructor.volume_division import *

Then, a Reconstructor object can be created: R = rec.Reconstructor(X_final, ID, masses)

Where X_final is an array of the final positions. For example, if 1000 particles are reconstructed, the shape of X_final is (1000,3) where X_final[:,0] are all x-coordinates for the 1000 particles.

ID has shape (1000,) and contains a unique number for each particle. This can for example simply be np.range(0,1000). This makes sure that positions, velocities etc. are calculated for the correct particle.

masses contains the mass for each particle.

The grid on which the particles are reconstructed can be determined using R.get_grid

------------
Modifications

1.2.0
- Fixed an error with mirror_positions()
1.2.2
- Fixed return of box_sizes
1.2.4
- Added a boolean to choose if the reconstruction should be done considering periodic boundary conditions, default is True. (R.periodic_condition)
1.2.6
1.2.8
- Different selection method for homogeneous grid
- Fixed a bug with get_grid (only applicable if not a square grid)
1.2.10
- fake_particle is now N_fake_particle: N_part/N_fake_particle are added
1.3.0
- Added first bit of Cosmology support: z, theta, phi (Requires astropy)
1.3.2
- Added get_rectangular_grid, where the grid is rectangular with square cells.
1.3.3
- Added redshift selection in get_final_position
- get_rectangular_grid() is now created with linspace, grid size is now smaller depending on npart
1.3.4 (old versions will not work anymore!)
- box_size has now (necessarily) 3 coordinates x,y,z.
- fixed some bugs in get_position
1.3.5
- bug fixes for redshift_mins and redshift_maxs
1.3.6
- fixed volume division - working now with box_length_x, box_length_y and box_length_z

Project details

Uploaded source