Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Self interacting dark matter profile deflections #167

Open
Jammy2211 opened this issue Jun 5, 2021 · 0 comments
Open

Self interacting dark matter profile deflections #167

Jammy2211 opened this issue Jun 5, 2021 · 0 comments

Comments

@Jammy2211
Copy link
Owner

The following paper details a mass profile that represents self interacting dark matter halos:

https://arxiv.org/abs/2105.05259

The deflection angle calculation for a spherical model is given by equations (7) and (12):

image

image

The deflections can therefore be computed via integration of equation (7).

It would be good to implement this mass profile in the module autogalaxy.profiles.mass_profiles.dark_mass_profiles:

https://github.com/Jammy2211/PyAutoGalaxy/blob/master/autogalaxy/profiles/mass_profiles/dark_mass_profiles.py

A template for the profile is as follows:

class SphSIDM(mp.MassProfile, DarkProfile):
    def __init__(
        self,
        centre: Tuple[float, float] = (0.0, 0.0),
        rho_s: float = 0.05,
        truncation : float = 1.0,
        core_radius : float = 1.0,
        alpha : float = 10.0,
        another_parameter: float = 1.0,
    ):
        """
        The spherical SIDM profile, used to fit the dark matter halo of the lens.

        Parameters
        ----------
        centre
            The (y,x) arc-second coordinates of the profile centre.
        rho_s
            The overall normalization of the dark matter halo for the SIDM profile.
        """

        super().__init__(
            centre=centre,
            elliptical_comps=(0.0, 0.0),
        )

        self.rho_s = rho_s
        self.truncation = truncation
        self.core_radius = core_radius
        self.alpha = alpha

   # For new users: These decorators perform geometric transformation of the input grid using its `centre`.

    @grid_decorators.grid_2d_to_structure 
    @grid_decorators.transform
    @grid_decorators.relocate_to_radial_minimum
    def deflections_2d_from_grid(self, grid, **kwargs):
        """
        Calculate the deflection angles at a given set of arc-second gridded coordinates.

        Parameters
        ----------
        grid : aa.Grid2D
            The grid of (y,x) arc-second coordinates the deflection angles are computed on.
        """
        deflections = compute via equation (7) and (12)

       return deflections
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant