PyAutoGalaxy
PyAutoGalaxy copied to clipboard
Unified physical NFW profiles
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
andns
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.
Probably interests @kassidy-kollmann I know you are doing something similar!
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.