Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 8 additions & 4 deletions CHANGES.rst
Original file line number Diff line number Diff line change
@@ -1,24 +1,28 @@
0.9.4 (unreleased)
------------------


0.9.3 (2025-02-10)
------------------

- Compatibility with Numpy 2.0 (https://github.com/astropy/halotools/pull/1114)


0.9.2 (2024-12-02)
------------------

- Compatibility with Astropy 7 (https://github.com/astropy/halotools/pull/1107)


0.9.1 (2024-09-11)
------------------

- Repackage halotools according to pyproject.toml (https://github.com/astropy/halotools/pull/1093)


0.9.0 (2024-09-06)
------------------

- Add models and mock observations of intrinsic alignments (https://github.com/astropy/halotools/pull/1056)


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,17 +3,17 @@
a container class for the distribution of mass and/or galaxies
within dark matter halos.
"""
from __future__ import division, print_function, absolute_import, unicode_literals

from __future__ import absolute_import, division, print_function, unicode_literals

import numpy as np
from scipy.integrate import quad as quad_integration
from scipy.optimize import minimize as scipy_minimize
from astropy import units as u
from astropy.constants import G

from . import halo_boundary_functions
from scipy.integrate import quad as quad_integration
from scipy.optimize import minimize as scipy_minimize

from ... import model_defaults
from . import halo_boundary_functions

newtonG = G.to(u.km * u.km * u.Mpc / (u.Msun * u.s * u.s))

Expand Down Expand Up @@ -223,17 +223,20 @@ def cumulative_mass_PDF(self, scaled_radius, *prof_params):
x = np.atleast_1d(scaled_radius).astype(np.float64)
enclosed_mass = np.zeros_like(x)

def _scalar_integrand(*args, **kwargs):
return self._enclosed_dimensionless_mass_integrand(*args, **kwargs)[0]

for i in range(len(x)):
enclosed_mass[i], _ = quad_integration(
self._enclosed_dimensionless_mass_integrand,
_scalar_integrand,
0.0,
x[i],
epsrel=1e-5,
args=prof_params,
)

total, _ = quad_integration(
self._enclosed_dimensionless_mass_integrand,
_scalar_integrand,
0.0,
1.0,
epsrel=1e-5,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
"""
"""
""" """

import numpy as np
from scipy.integrate import quad as quad_integration

from .mass_profile import _g_integral


__all__ = ("dimensionless_radial_velocity_dispersion",)


Expand Down Expand Up @@ -58,21 +57,25 @@ def dimensionless_radial_velocity_dispersion(
gal_conc * gal_conc * x * (1.0 + gal_conc * x) ** 2 / _g_integral(halo_conc)
)
extra_args = halo_conc / np.atleast_1d(gal_conc).astype("f4")
assert extra_args.shape == (1,)
extra_args = float(extra_args[0])

lower_limit = gal_conc * x
upper_limit = float("inf")
for i in range(len(x)):
a = lower_limit[i]
b = upper_limit
term1, _ = quad_integration(
_jeans_integrand_term1,
lower_limit[i],
upper_limit,
a,
b,
epsrel=profile_integration_tol,
args=extra_args,
)
term2, _ = quad_integration(
_jeans_integrand_term2,
lower_limit[i],
upper_limit,
a,
b,
epsrel=profile_integration_tol,
args=extra_args,
)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
"""
"""
""" """

import numpy as np

__all__ = ("cumulative_mass_PDF", "dimensionless_mass_density")
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,16 @@
"""
"""
""" """

import numpy as np
from astropy.utils.data import get_pkg_data_filename

from ..unbiased_isotropic_velocity import dimensionless_radial_velocity_dispersion as unbiased_dimless_vel_rad_disp
from ..biased_isotropic_velocity import dimensionless_radial_velocity_dispersion as biased_dimless_vel_rad_disp

from ..biased_isotropic_velocity import (
dimensionless_radial_velocity_dispersion as biased_dimless_vel_rad_disp,
)
from ..unbiased_isotropic_velocity import (
dimensionless_radial_velocity_dispersion as unbiased_dimless_vel_rad_disp,
)

__all__ = ('test_unbiased_vel_rad_disp1', )
__all__ = ("test_unbiased_vel_rad_disp1",)


def test_unbiased_vel_rad_disp1():
Expand All @@ -25,14 +28,14 @@ def test_unbiased_vel_rad_disp2():
halo_conc = 5
unbiased_result = unbiased_dimless_vel_rad_disp(scaled_radius, halo_conc)

gal_conc = 2*halo_conc
gal_conc = 2 * halo_conc
biased_result = biased_dimless_vel_rad_disp(scaled_radius, halo_conc, gal_conc)
assert not np.allclose(unbiased_result, biased_result)


def test_unbiased_vel_rad_disp_external_ch10_cg5():
halo_conc, gal_conc = 10, 5
fname = get_pkg_data_filename('data/van_den_bosch_nfw_vr_disp_ch10_cg5.dat')
fname = get_pkg_data_filename("data/van_den_bosch_nfw_vr_disp_ch10_cg5.dat")
x = np.loadtxt(fname)
frank_r_by_Rvir = x[:, 1]
frank_dimless_sigma_rad = x[:, 2]
Expand All @@ -42,7 +45,7 @@ def test_unbiased_vel_rad_disp_external_ch10_cg5():

def test_unbiased_vel_rad_disp_external_ch5_cg10():
halo_conc, gal_conc = 5, 10
fname = get_pkg_data_filename('data/van_den_bosch_nfw_vr_disp_ch5_cg10.dat')
fname = get_pkg_data_filename("data/van_den_bosch_nfw_vr_disp_ch5_cg10.dat")
x = np.loadtxt(fname)
frank_r_by_Rvir = x[:, 1]
frank_dimless_sigma_rad = x[:, 2]
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
"""
"""
""" """

import numpy as np
from scipy.integrate import quad as quad_integration

from .mass_profile import _g_integral


__all__ = ("dimensionless_radial_velocity_dispersion",)


Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
"""
"""
""" """

from __future__ import absolute_import, division, print_function

import numpy as np
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,20 +5,20 @@
Navarry, Frenk and White (1995), `arXiv:9508025 <http://arxiv.org/abs/astro-ph/9508025/>`_.
a sub-class of `~halotools.empirical_models.AnalyticDensityProf`.
"""
from __future__ import division, print_function, absolute_import, unicode_literals

import numpy as np

from .conc_mass import direct_from_halo_catalog, dutton_maccio14
from .kernels import nfw_dimensionless_mass_density, nfw_cumulative_mass_PDF
from .kernels import standalone_mc_generate_nfw_radial_positions
from __future__ import absolute_import, division, print_function, unicode_literals

from ...profile_model_template import AnalyticDensityProf

from ..... import model_defaults
import numpy as np

from ......sim_manager import sim_defaults

from ..... import model_defaults
from ...profile_model_template import AnalyticDensityProf
from .conc_mass import direct_from_halo_catalog, dutton_maccio14
from .kernels import (
nfw_cumulative_mass_PDF,
nfw_dimensionless_mass_density,
standalone_mc_generate_nfw_radial_positions,
)

__all__ = ("NFWProfile",)
__author__ = ("Andrew Hearin", "Benedikt Diemer")
Expand All @@ -44,7 +44,7 @@ def __init__(
conc_mass_model=model_defaults.conc_mass_model,
concentration_key=model_defaults.concentration_key,
halo_boundary_key=None,
**kwargs
**kwargs,
):
r"""
Parameters
Expand Down
Loading