Skip to content

Commit

Permalink
Merge branch 'development' into jacobian_correction
Browse files Browse the repository at this point in the history
  • Loading branch information
zingale authored Aug 26, 2024
2 parents 4ee9302 + 8ce3375 commit 39756e3
Show file tree
Hide file tree
Showing 4 changed files with 58 additions and 5 deletions.
51 changes: 51 additions & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,54 @@
# 24.08

* autodiff is now used with the templated reaction networks (#1614)
+ some autodiff clean-ups and derivative fixes (#1604, #1612,
#1613, #1616, #1619, #1633)

* we can now output warnings from GPUs if you compile with
`USE_GPU_PRINTF=TRUE` (#1629, #1635)

* documentation improvements (#1570, #1628)

* a new jacobian unit (`jac_cell`) test was added that compares the
numerical and analytic Jacobians (#1618)

* support for Strang + NSE has been removed. NSE only works with
SDC now (#1549, #1621)

* the network `CNO_He_burn` was added for explosive H/He burning
(#1622)

* code clean-ups (#1582, #1602, #1609, #1623, #1624, #1625, #1626,
#1627, #1631, #1639)

* `test_nse_net` now also tests the NSE EOS interface (#1621)

* the self-consistent NSE + SDC update has been synced with the
tabular NSE implementation (#1569, #1607, #1617)

* `test_jac` was not correctly evaluating the numerical Jacobian
(#1615)

* the `fast_atan` function is now more accurate (#1611)

* `test_ase` was renamed `test_nse_net` and the old `test_nse` was
removed (#1610)

* the old `test_screening` unit test was removed (#1608)

* the RKC integrator now supports NSE bailout (#1544)

* a second temperature check for tabular NSE was added -- above this
temperature we don't consider composition (#1547)

* a SDC+NSE unit test was added (#1548)

* a fast log and fast pow approximation was added (#1591)

* the primordial_chem network now uses the fast math routines (#1605)

* fix potential Inf in constexpr linear algebra (#1603)

# 24.07

* added an autodiff library and converted all of the screening
Expand Down
4 changes: 2 additions & 2 deletions integration/BackwardEuler/be_integrator.H
Original file line number Diff line number Diff line change
Expand Up @@ -76,8 +76,8 @@ int single_step (BurnT& state, BeT& be, const amrex::Real dt)
// construct the matrix for the linear system
// (I - dt J) dy^{n+1} = rhs

for (int m = 1; m <= int_neqs; m++) {
for (int n = 1; n <= int_neqs; n++) {
for (int n = 1; n <= int_neqs; n++) {
for (int m = 1; m <= int_neqs; m++) {
be.jac(m, n) *= -dt;
if (m == n) {
be.jac(m, n) = 1.0_rt + be.jac(m, n);
Expand Down
3 changes: 0 additions & 3 deletions integration/VODE/vode_dvjac.H
Original file line number Diff line number Diff line change
Expand Up @@ -79,9 +79,6 @@ void dvjac (int& IERPJ, BurnT& state, DvodeT& vstate)
// Indicate that the Jacobian is current for this solve.
vstate.JCUR = 1;

// Initialize the Jacobian to zero
vstate.jac.zero();

jac(vstate.tn, state, vstate, vstate.jac);

#ifdef ALLOW_JACOBIAN_CACHING
Expand Down
5 changes: 5 additions & 0 deletions sphinx_docs/source/integrators.rst
Original file line number Diff line number Diff line change
Expand Up @@ -307,6 +307,11 @@ The form of the Jacobian return by the integrator looks like:
A network is not required to provide a Jacobian if a numerical
Jacobian is used.

.. important::

The integrator does not zero the Jacobian elements. It is the responsibility
of the Jacobian implementation to zero the Jacobian array if necessary.


Jacobian wrapper
^^^^^^^^^^^^^^^^
Expand Down

0 comments on commit 39756e3

Please sign in to comment.