-
Notifications
You must be signed in to change notification settings - Fork 25
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
Runaway temperature with matrix_est and macro atom line transfer #875
Comments
211107 - ksl - Verified that this problem still exists and is straightforward to reproduce. |
@Higginbottom @jhmatthews The reason this error is occurring is that the in macro atom mode, the photoionization rates are all 0. This is because the values of xplasma->ioniz[mm] are all 0, where the photonization rates are calculated in matrix_ion.c, near line 140. The reason xplasma->ioniz[mm] are all 0 is that these are incremented in the subroutine radiation, which is called from translate in wind, near line 500, but if you look at the code there, you will see that radiation is not called in macro_atom mode.
What do you all think we should do about this. |
This problem still exists. |
Fixing this properly is a little fiddly and would require adding the radiation code to bf_estimators_increment. And not a priority given how rarely it is used - plus, as we move towards more macro-atoms this mode will become even less important within this line transfer mode. However, the code should produce an error and quit if you try to run with matrix_est and macro-atoms, so I should put this error catch in and then close this issue. |
In certain, possibly extreme, situations, the electron temperature can be driven to probably unphysically high temperatures. It is not clear exactly why this happens but it requires matrix_est as the ionization scheme, and macro-atom line transfer.
This is a thin shell model that reproduces the 'problem'
input.pf.txt
It produces a thin shell, with density of n_H=1e11cm^-3, and an ionization parameter of U=1.1e8 xi=1.6e10.
With various different parameter, we ge the following behaviour of temperature with cycles...
the 1e5 etc represents the number of photons..
matrix_pow gives a reasonable and very stable temperature
matrix_est is OK for standard line transfer, but a little noisy. Interestingly, increasing the number of photons does not change the noise...
matrix_est with macro atom line transfer shows a runaway, increasing the number of photons makes no odds. The runaway is caused by large PI heating, which does not appear to be reflected in a suitably increased ionization state, so more heating can take place until Compton cooling eventually comes to the rescue...
The text was updated successfully, but these errors were encountered: