fix(engine_multiscale): resolved a major species index ordering bug

All jacobian calculations were broken because the indexing used to record the AD tape was broken (see not parallel to) the indexing used by the composition object. A fix for this was to sort the network species by mass. However, more generally we should introduce a mechanism to ensure these two indexed sets always remain parallel
This commit is contained in:
2025-10-14 13:37:48 -04:00
parent 408f6d83a2
commit 3b8a0a1f33
10 changed files with 276 additions and 232 deletions

View File

@@ -193,7 +193,7 @@ namespace gridfire {
* It must be a `GraphEngine` and not a more general `DynamicEngine`
* because this view relies on its specific implementation details.
*/
explicit MultiscalePartitioningEngineView(GraphEngine& baseEngine);
explicit MultiscalePartitioningEngineView(DynamicEngine& baseEngine);
/**
* @brief Gets the list of species in the network.
@@ -977,7 +977,7 @@ namespace gridfire {
/**
* @brief The base engine to which this view delegates calculations.
*/
GraphEngine& m_baseEngine;
DynamicEngine& m_baseEngine;
/**
* @brief The list of identified equilibrium groups.
*/