Conversation
…the Toomre model in the updated list of valid types
…ivative form, which is more accurate near the center
There was a problem hiding this comment.
Pull request overview
Adds a Toomre disk option for cylindrical-basis deprojection/conditioning, expands the Abel inversion implementations used during deprojection, and introduces several standalone test/verification executables under utils/Test.
Changes:
- Add a new
Toomredisk model and wire a configurable deprojection model selector (dmodel) intoCylindricalbasis initialization. - Update
EmpCylSL::create_deprojectionto support multiple Abel inversion variants (Derivative/Subtraction/IBP) with derivative as default. - Add
Deprojector/EmpDeprojtest utilities and build targets inutils/Test.
Reviewed changes
Copilot reviewed 15 out of 15 changed files in this pull request and generated 16 comments.
Show a summary per file
| File | Description |
|---|---|
| utils/Test/testEmpDeproj.cc | New CLI test comparing EmpDeproj vs Deprojector across profiles/methods |
| utils/Test/testDeproject.cc | New example program for Deprojector (sampled + analytic construction) |
| utils/Test/testDeprojPlummer.cc | New simple deprojection verification driver (currently hardwired) |
| utils/Test/EmpDeproj.cc | New empirical deprojection implementation used by test programs |
| utils/Test/EmpDeproj.H | Header for EmpDeproj test-class API |
| utils/Test/Deprojector.cc | New numerical Abel deprojection implementation and grid integration logic |
| utils/Test/Deprojector.H | Header/API for Deprojector |
| utils/Test/CubicSpline.cc | New spline helper for sampled-data deprojection path |
| utils/Test/CubicSpline.H | Header for CubicSpline |
| utils/Test/CMakeLists.txt | Adds new test executables to the build |
| include/EmpCylSL.H | Adds AbelType + abel_type member to control deprojection variant |
| include/DiskModels.H | Adds Toomre disk density model for deprojection conditioning |
| exputil/EmpCylSL.cc | Switchable Abel inversion variants used in deprojection pipeline |
| expui/BiorthBasis.cc | Adds dmodel config key + lookup map and uses it when deproject is enabled |
| expui/BiorthBasis.H | Introduces DeprojType enum + lookup map for deprojection disk models |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
You can also share your feedback on Copilot code review. Take the survey.
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
…Deproj for method variables
There was a problem hiding this comment.
Pull request overview
Adds a Toomre-based option for cylindrical deprojection and refines the numerical Abel inversion machinery, along with several small test/verification executables under utils/Test.
Changes:
- Add a new Toomre disk model for deprojection and wire it into cylindrical basis initialization via a
dmodellookup. - Introduce multiple Abel inversion variants (derivative/subtraction/IBP) in the EmpCylSL deprojection path (defaulting to derivative).
- Add standalone
utils/Testdeprojection utilities (Deprojector,EmpDeproj) and test drivers, and hook them intoutils/Test/CMakeLists.txt.
Reviewed changes
Copilot reviewed 16 out of 16 changed files in this pull request and generated 12 comments.
Show a summary per file
| File | Description |
|---|---|
| utils/Test/testEmpDeproj.cc | New CLI test comparing EmpDeproj against Deprojector for several analytic profiles. |
| utils/Test/testEmp.cc | New CLI test for donut-shaped (inner cut) empirical deprojection. |
| utils/Test/testDeproject.cc | New minimal examples for Deprojector from sampled data vs functor. |
| utils/Test/testDeprojPlummer.cc | New Plummer/Gaussian/Toomre Deprojector validation driver. |
| utils/Test/EmpDeproj.cc | Adds an empirical deprojection implementation used by the new test drivers. |
| utils/Test/EmpDeproj.H | Declares the EmpDeproj helper class and AbelType selection. |
| utils/Test/Deprojector.cc | Adds a standalone deprojection implementation with tail-matching and improved inner integration handling. |
| utils/Test/Deprojector.H | Declares the standalone Deprojector API used by tests. |
| utils/Test/CubicSpline.cc | Adds a basic natural cubic spline for sampled-data deprojection. |
| utils/Test/CubicSpline.H | Declares the cubic spline used by Deprojector sampled-data ctor. |
| utils/Test/CMakeLists.txt | Registers the new utils/Test executables in the build. |
| include/EmpCylSL.H | Adds AbelType state to EmpCylSL for selecting deprojection variant. |
| include/DiskModels.H | Adds a new Toomre disk density model (used for deprojection conditioning). |
| exputil/EmpCylSL.cc | Updates EmpCylSL’s Abel inversion integral to support multiple variants. |
| expui/BiorthBasis.cc | Adds dmodel string parsing + lookup for selecting deprojection model (mn/exponential/toomre/python). |
| expui/BiorthBasis.H | Adds DeprojType and makes DiskType an enum class for stronger typing. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
You can also share your feedback on Copilot code review. Take the survey.
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
…n functor for deprojection in EmpCylSL
Movitation
Needed a less cuspy option than exponential for attempting to produce a doughnut-shaped basis. So this adds a Toomre model for that purpose.
Improvements
utils/Tests. These methods could be made user selectable but I have not done this in this PR.