PyAutoGalaxy icon indicating copy to clipboard operation
PyAutoGalaxy copied to clipboard

Unified physical NFW profiles

Open jhod0 opened this issue 1 year ago • 2 comments

Work in progress not ready to merge - but opening this PR for discussion. This is my attempt to make a "unified" interface for converting physical NFW parameters to AutoLens's parameterization (kappa_s, scale_radius), using Colossus to do all the conversions.

The advantages of this approach are:

  • it wouldn't enforce any particular mass-concentration relation, and if we want specific mass-concentration relations they can all use the same common underlying code
  • out-of-the-box, we could use any mass definition that Colossus can interpret, e.g. Mvir, M200m, M200c would all be handled correctly

I can think of one disadvantage:

  • Using colossus has one pain point: it insists on setting a global cosmology, that needs sigma8 and ns defined, which we don't usually care about. This is not a big problem since I am quite sure these parameters are not used in the NFW conversions, but making sure Colossus is used cleanly and consistently might take a little thought.

jhod0 avatar Oct 05 '23 22:10 jhod0

Probably interests @kassidy-kollmann I know you are doing something similar!

jhod0 avatar Oct 05 '23 22:10 jhod0

I have added the NFWPhysical profile and some tests (which pass on my machine).

It samples log10M and concentration, and allows for an elliptical mass profile. This is dirt-simple since it just passes the ellipticities to the underlying NFW profile.

The key part here is it can take any mass definition known by colossus: vir, 200c, 500m, etc.

jhod0 avatar Oct 17 '23 20:10 jhod0