diff --git a/src/include/gridfire/engine/views/engine_multiscale.h b/src/include/gridfire/engine/views/engine_multiscale.h index c688368d..295319a6 100644 --- a/src/include/gridfire/engine/views/engine_multiscale.h +++ b/src/include/gridfire/engine/views/engine_multiscale.h @@ -670,6 +670,8 @@ namespace gridfire { */ const std::unordered_map m_qse_solve_species_index_map; + mutable std::optional m_cached_jacobian = std::nullopt; + /** * @brief Constructs an EigenFunctor. * diff --git a/src/lib/engine/views/engine_multiscale.cpp b/src/lib/engine/views/engine_multiscale.cpp index 7cb86365..fe55141a 100644 --- a/src/lib/engine/views/engine_multiscale.cpp +++ b/src/lib/engine/views/engine_multiscale.cpp @@ -1091,7 +1091,8 @@ namespace gridfire { const double rho ) const { const fourdst::composition::Composition result = m_baseEngine.collectComposition(comp, T9, rho); - fourdst::composition::Composition qseComposition = solveQSEAbundances(result, T9, rho); + + fourdst::composition::Composition qseComposition = getNormalizedEquilibratedComposition(result, T9, rho); return qseComposition; } @@ -1903,6 +1904,8 @@ namespace gridfire { } } + m_cached_jacobian = J_qse; // Cache the computed Jacobian for future use + return 0; // Success }