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

Implement Cluster Lens Simulations #134

Open
furcelay opened this issue Mar 15, 2024 · 3 comments
Open

Implement Cluster Lens Simulations #134

furcelay opened this issue Mar 15, 2024 · 3 comments
Assignees

Comments

@furcelay
Copy link
Collaborator

The following classes are proposed to implement group/cluster lens simulations within the current SLSIM design. This is only a draft and I really appreciate any comment and contribution.

  1. ClusterPipeline:

    • Inherits: -
    • Purpose: Generate a sample of group-to-cluster scale halo parameters (probably NFW) and a sample of parameters describing the subhalos of each halo (thinking on SIE, ELP or dPIE).
    • Implementation: Obtain the mass from a halo mass function, obtain a concentration parameter from a mass-concentration relation, and also an ellipticity. For the subhalo distribution it may use a model (e.g. Oguri's work) or query from a group/cluster catalog (e.g. redMaPPer), assign them to a halo with some criteria (e.g. richness), and fill other information with SkyPyPipeline. Maybe use synth_cluster for all this (I haven't tested it yet).
  2. LensClusters (or maybe a more clear name):

    • Inherits: DeflectorBase
    • Purpose: Handle the parameters of group/cluster dark matter halos and their subhaloes.
    • Implementation: This class would use the output of ClusterPipeline to build a catalog of individual dark matter halos, encapsulating properties like mass, concentration, number of subhalos, etc. Also may assign the velocity dispersion of the subhalos in the same way as in EllipticalLensGalaxies and fill any missing data.
  3. ClusterLens:

    • Inherits: LensedSystemBase
    • Purpose: Combine the parameters of the halo, subhalos, and source into a single lensing system and generate a Lenstronomy model. Consider environmental effects in the same way as in Lens. This should also include the surface brightness of every subhalo.
    • Implementation: This class would act as a container for a complete lensing system, including a main halo, its subhalos, and the background source. It should handle the combined lensing effect of all these components.
  4. ClusterLensPop:

    • Inherits: LensedPopulationBase
    • Purpose: Contain and manage a population of halos, subhalos, and sources. Be able to generate lensed images that meet some criteria.
    • Implementation: This class would generate random combinations of halos, subhalos, and sources to create instances of ClusterLens. It should include methods for testing the validity of the generated lens systems.
@furcelay
Copy link
Collaborator Author

Anyone interested can follow the progress in this fork

@nkhadka21
Copy link
Collaborator

Hi @furcelay, thank you very much for this initiative! Looking forward to seeing your progress on this promising initiative.

@sibirrer
Copy link
Contributor

Thank you very much @furcelay for this very detailed and excellent description of your planned work!
This is quite a substantial project and there are certain things we (@nkhadka21 and myself) will probably have to do/help on the design to extend and allow of the complexity of the models (for example, having the possibilities for multiple sources associated with one lens. These things are all doable. I highly recommend you in small steps with small-ish pull requests such that we can sort out step-by-step how these features can be implemented and made available consistently through SLSim.

@nkhadka21 what we might start with on our side is having the skeleton for the elliptical NFW profile and the Hernquist light (as also required for Katsuya's model), and then have a Deflector class with multiple sets of such (perhaps even literally as a list of 'single' deflectors

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

No branches or pull requests

3 participants