Skip to content

Add the ability to create dust with non-isotopic scattering phase functions#11

Open
psheehan wants to merge 17 commits into
mainfrom
add_non_isotropic_dust
Open

Add the ability to create dust with non-isotopic scattering phase functions#11
psheehan wants to merge 17 commits into
mainfrom
add_non_isotropic_dust

Conversation

@psheehan

Copy link
Copy Markdown
Owner

This PR adds two new types of dust, HenyeyGreensteinDust that uses the Henyey-Greenstein scattering phase functions, and GeneralDust that can be supplied with a user-defined scattering phase function. Additionally, Dust is now a base class that contains all common dust functionality, and IsotropicDust has been created to handle the case of dust with an isotropic scattering phase function.

This PR includes updates not only to create such dust classes, but also to be able to use them within models. As a part of this, code to set grid opacities, etc. was moved over to the dust classes as each dust class should know what needs to be added.

psheehan added 13 commits April 15, 2026 03:39
- Adding a new `IsotropicDust`, `HenyeyGreensteinDust`, and `GeneralDust` classes to handle different types of dust scattering.
- Move functionality to update opactities for photons/the grid to the *Dust clases so they can each provide the relevant info.
- Pass the camera orientation through the raytracing process to calculate the relevant scattering angles.
…ds another place where we need to make sure arctanh(ksi) does not go infinite.
@codecov-commenter

codecov-commenter commented May 29, 2026

Copy link
Copy Markdown

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

❌ Patch coverage is 84.02204% with 58 lines in your changes missing coverage. Please review.
✅ Project coverage is 88.67%. Comparing base (50ed369) to head (389c4da).
⚠️ Report is 12 commits behind head on main.

Files with missing lines Patch % Lines
pinballrt/dust.py 82.20% 55 Missing ⚠️
pinballrt/model.py 50.00% 2 Missing ⚠️
pinballrt/tests/test_E2E.py 75.00% 1 Missing ⚠️
❗ Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main      #11      +/-   ##
==========================================
- Coverage   90.12%   88.67%   -1.46%     
==========================================
  Files          11       11              
  Lines        2360     2719     +359     
==========================================
+ Hits         2127     2411     +284     
- Misses        233      308      +75     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@psheehan psheehan force-pushed the add_non_isotropic_dust branch from afbe3a2 to 2cd3dac Compare June 6, 2026 03:37
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

Successfully merging this pull request may close these issues.

2 participants