Closed zingale closed 4 years ago
I think that the reason that the ydot and Jacobian terms in the output from burn_cell
are nonsense is because the vode_to_burn()
function does not copy these into the output burn_t
. This is probably done for performance reasons, since we generally don't need those. Do we really want these fields in burn_cell
?
A separate issue is when the thermodynamic stuff is not valid (like the specific heats).
correction: the derivatives of specific heats with respect to T are undefined.
We can introduce a compile flag like USE_VERBOSE_INTEGRATOR_OUTPUT
that fills burn_t
on output with the ydot, Jacobian, and calls update_thermodynamics
to get EOS quantities. We wouldn't need this for a simulation since it would introduce an extra EOS call but it might be useful for burn_cell
so we can see what the thermodynamic derivatives look like.
these seem to have been resolved in the recent rewrite.
Compile
unit_test/burn_cell
in debug mode withignition_reaclib/URCA-simple
, e.g., as:and you'll see floating point exceptions in
write_burn_t
-- it seems some stuff is not properly initialized: