HaloFit.jl is a highly-optimized Julia package offering a suite of utilities designed for analyzing dark matter halo properties within a periodic box.
shrink_sphere_cm!
spherical_overdensity_mass
angular_momentum
λbullock
nfw_concentration
inertia_tensor
ellipsoid_axes_ratio
ρcrit0
cm_displacement
virial_fraction
Throughout the code, the following unit convenvention is assumed:
- Length:
$\mathrm{Mpc} / h$ - Mass:
$\mathrm{M}_\odot / h$ - Velocity:
$\mathrm{km} / \mathrm{s}$ - Gravitational potential:
$(\mathrm{km} / \mathrm{s})^2$
To install HaloFit.jl
, you can clone the repository directly:
git clone https://github.com/Richard-Sti/HaloFit.jl
cd HaloFit.jl
Start Julia and activate the project:
using Pkg
Pkg.activate(".")
Pkg.instantiate(".")
Pkg.precompile(".")
This project relies on the following Julia packages:
Here's a quick start guide on using HaloFit.jl
:
using HaloFit
# Matrices of halo's particle positions, velocities, and masses
pos = ...
vel = ...
mass = ...
boxsize = ...
h = Halo()
shrinking_sphere_cm!(h)
@show h.cm
For a working example, see ...
This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.