-
Notifications
You must be signed in to change notification settings - Fork 98
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
VODE failure in Detonation with self-consistent NSE #2768
Comments
what was the value you're getting after moving |
I get 1.0326211552283207e+297, with // prevent an overflow on exp by capping the exponent -- we hope that a subsequent
// iteration will make it happy again
Real numer = (zion[n] * nse_state.mu_p + (aion[n] - zion[n]) *
nse_state.mu_n - u_c + network::bion(n+1));
if (numer > 500.0_rt * T_in * C::k_B / C::Legacy::MeV2erg) {
exponent = 500.0_rt;
} else {
exponent = numer / C::k_B / T_in * C::Legacy::MeV2erg;
// uncommenting this fixes the integration failure
//exponent = numer / T_in * C::Legacy::MeV2erg / C::k_B;
} |
I think the problem is with nse state mass fraction in the previous timestep. If it overflows we get e500, but we get e297, which means a different NSE composition, and its the wrong one and could be an unrealistic one. So vode in the next timestep is having hard time integrating. So I think we need to be careful about the overflowing issue, and most importantly |
hmm, never mind. I think it never really returns those answers as the solution. |
is this still an issue? |
I managed to reproduce it with burn_cell_sdc on the same checkout of Microphysics, but I had to manually set It no longer crashes on development, and |
Here's the inputs file I used:
|
I was testing stuff on my workstation, and ran into this error (which Zhi was able to reproduce on groot, but not on bender).
This change in Microphysics fixes the integration failure, but I have no idea why. I was getting an infinity when dividing by k_B, so I moved it after dividing by T_in (>1) and multiplying by MeV2erg (<1) to try and avoid the overflow. That shouldn't matter though, since it would be clamped to 500 anyway.
I built with
make USE_MPI=FALSE USE_NSE_NET=TRUE USE_SIMPLIFIED_SDC=TRUE
and ran./Castro1d.gnu.SMPLSDC.ex inputs-det-x.nse_net
.Output from last step
Castro --describe
The text was updated successfully, but these errors were encountered: