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

Dekel-Zhao Profile #166

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

Dekel-Zhao Profile #166

Jammy2211 opened this issue Jun 5, 2021 · 0 comments

Comments

@Jammy2211
Copy link
Owner

Jammy2211 commented Jun 5, 2021

The following paper details a mass profile that is well suited to strong lensing, called the Dekel-Zhao profile:

https://arxiv.org/abs/2004.08395

The deflection angle calculation for a spherical model is given by equation (38):

image

The expression looks pretty complicated, but actually boils down to a fairly straight forward calculation using various scipy / expansions.

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 SphDekel(mp.MassProfile, DarkProfile):
    def __init__(
        self,
        centre: Tuple[float, float] = (0.0, 0.0),
        kappa_0: float = 0.05,
        another_parameter: float = 1.0,
    ):
        """
        The spherical Dekel profile, used to fit the dark matter halo of the lens.

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

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

   # 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 (38)

       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