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

Population bug fixes for Python 80 release (used for Matthews+ 16 Quasar paper) #192

Merged
merged 3 commits into from
Jan 8, 2016

Conversation

jhmatthews
Copy link
Collaborator

This introduces some more robust error checking and some more stable code to deal with situations where Python is struggling to solve correctly for matom level populations when the estimators are noisy.

In particular, large changes include:

  • actually using the bound-free estimators above 1.2e16 Hz (up to 5e18 Hz), instead of adopting a dilute approximation. This was a relic of BBody SEDs only which caused us to get the Helium ionization state wrong.
  • a function get_dilute_estimators() which populates estimators with dilute approximations IF the level populations fail in macro_pops().
  • a function check_stimulated_recomb() which checks each cycle if the stimulated recomb will be higher than ionization rate in a given cell. This can happen in unconverged hot cells where T_R >> T_E. In the actual matom we set to 0 and hope spontaneous recombiantion takes care of things, and report errors to the user (but just one error per cell).

Smaller changes:

  • check the determinant of the rate matrix is not 0
  • add a check for stimfac < 0 as well as > 1

@jhmatthews jhmatthews added this to the Next AGN paper milestone Jan 8, 2016
jhmatthews added a commit that referenced this pull request Jan 8, 2016
Population bug fixes for Python 80 release (fixes for for Matthews+ 16 Quasar paper)
@jhmatthews jhmatthews merged commit 2fb406c into sirocco-rt:dev Jan 8, 2016
@jhmatthews jhmatthews deleted the dev_popsbug branch June 3, 2016 15:42
@Higginbottom Higginbottom mentioned this pull request Jun 14, 2018
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.

1 participant