-
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_adaptive_engine_view-members.html b/docs/html/classgridfire_1_1engine_1_1_adaptive_engine_view-members.html
new file mode 100644
index 00000000..2bba63fb
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_adaptive_engine_view-members.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+
+
+
GridFire: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GridFire v0.7.0-alpha
+
+ General Purpose Nuclear Network
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
This is the complete list of members for gridfire::engine::AdaptiveEngineView , including all inherited members.
+
+ AdaptiveEngineView (DynamicEngine &baseEngine)gridfire::engine::AdaptiveEngineView explicit
+ calculateAllReactionFlows (const NetIn &netIn) constgridfire::engine::AdaptiveEngineView private
+ calculateEpsDerivatives (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const overridegridfire::engine::AdaptiveEngineView virtual
+ calculateMolarReactionFlow (const reaction::Reaction &reaction, const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const overridegridfire::engine::AdaptiveEngineView virtual
+ calculateRHSAndEnergy (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const overridegridfire::engine::AdaptiveEngineView virtual
+ collectComposition (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const overridegridfire::engine::AdaptiveEngineView virtual
+ Config typedefgridfire::engine::AdaptiveEngineView private
+ cullReactionsByFlow (const std::vector< ReactionFlow > &allFlows, const std::unordered_set< fourdst::atomic::Species > &reachableSpecies, const fourdst::composition::Composition &comp, double maxFlow) constgridfire::engine::AdaptiveEngineView private
+ finalizeActiveSet (const std::vector< const reaction::Reaction * > &finalReactions)gridfire::engine::AdaptiveEngineView private
+ findReachableSpecies (const NetIn &netIn) constgridfire::engine::AdaptiveEngineView private
+ generateJacobianMatrix (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const overridegridfire::engine::AdaptiveEngineView virtual
+ generateJacobianMatrix (const fourdst::composition::CompositionAbstract &comp, double T9, double rho, const std::vector< fourdst::atomic::Species > &activeSpecies) const overridegridfire::engine::AdaptiveEngineView virtual
+ generateJacobianMatrix (const fourdst::composition::CompositionAbstract &comp, double T9, double rho, const SparsityPattern &sparsityPattern) const overridegridfire::engine::AdaptiveEngineView virtual
+ generateStoichiometryMatrix () overridegridfire::engine::AdaptiveEngineView virtual
+ getBaseEngine () const overridegridfire::engine::AdaptiveEngineView inline virtual
+ getDepth () constgridfire::engine::DynamicEngine inline virtual
+ getNetworkReactions () const overridegridfire::engine::AdaptiveEngineView virtual
+ getNetworkSpecies () const overridegridfire::engine::AdaptiveEngineView virtual
+ getScreeningModel () const overridegridfire::engine::AdaptiveEngineView virtual
+ getSpeciesDestructionTimescales (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const overridegridfire::engine::AdaptiveEngineView virtual
+ getSpeciesIndex (const fourdst::atomic::Species &species) const overridegridfire::engine::AdaptiveEngineView virtual
+ getSpeciesStatus (const fourdst::atomic::Species &species) const overridegridfire::engine::AdaptiveEngineView virtual
+ getSpeciesTimescales (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const overridegridfire::engine::AdaptiveEngineView virtual
+ getStoichiometryMatrixEntry (const fourdst::atomic::Species &species, const reaction::Reaction &reaction) const overridegridfire::engine::AdaptiveEngineView virtual
+ isStale (const NetIn &netIn) overridegridfire::engine::AdaptiveEngineView virtual
+ LogManager typedefgridfire::engine::AdaptiveEngineView private
+ m_activeReactions gridfire::engine::AdaptiveEngineView private
+ m_activeSpecies gridfire::engine::AdaptiveEngineView private
+ m_baseEngine gridfire::engine::AdaptiveEngineView private
+ m_config gridfire::engine::AdaptiveEngineView private
+ m_isStale gridfire::engine::AdaptiveEngineView private
+ m_logger gridfire::engine::AdaptiveEngineView private
+ mapNetInToMolarAbundanceVector (const NetIn &netIn) const overridegridfire::engine::AdaptiveEngineView virtual
+ primeEngine (const NetIn &netIn) overridegridfire::engine::AdaptiveEngineView virtual
+ rebuild (const fourdst::composition::CompositionAbstract &comp, BuildDepthType depth)gridfire::engine::DynamicEngine inline virtual
+ rescueEdgeSpeciesDestructionChannel (const fourdst::composition::Composition &comp, double T9, double rho, const std::vector< fourdst::atomic::Species > &activeSpecies, const reaction::ReactionSet &activeReactions) constgridfire::engine::AdaptiveEngineView private
+ RescueSet typedefgridfire::engine::AdaptiveEngineView private
+ setNetworkReactions (const reaction::ReactionSet &reactions) overridegridfire::engine::AdaptiveEngineView virtual
+ setScreeningModel (screening::ScreeningType model) overridegridfire::engine::AdaptiveEngineView virtual
+ update (const NetIn &netIn) overridegridfire::engine::AdaptiveEngineView virtual
+ validateState () constgridfire::engine::AdaptiveEngineView private
+ ~Engine ()=defaultgridfire::engine::Engine virtual
+ ~EngineView ()=defaultgridfire::engine::EngineView< DynamicEngine > virtual
+
+
+
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_adaptive_engine_view.html b/docs/html/classgridfire_1_1engine_1_1_adaptive_engine_view.html
new file mode 100644
index 00000000..7d5a032e
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_adaptive_engine_view.html
@@ -0,0 +1,1851 @@
+
+
+
+
+
+
+
+
GridFire: gridfire::engine::AdaptiveEngineView Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GridFire v0.7.0-alpha
+
+ General Purpose Nuclear Network
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
An engine view that dynamically adapts the reaction network based on runtime conditions.
+ More...
+
+
#include <engine_adaptive.h>
+
+
+
+
+
+
+ AdaptiveEngineView (DynamicEngine &baseEngine)
+ Constructs an AdaptiveEngineView .
+
+fourdst::composition::Composition update (const NetIn &netIn) override
+ Updates the active species and reactions based on the current conditions.
+
+bool isStale (const NetIn &netIn) override
+ Check if the engine's internal state is stale.
+
+const std::vector< fourdst::atomic::Species > & getNetworkSpecies () const override
+ Gets the list of active species in the network.
+
+std::expected< StepDerivatives < double >, engine::EngineStatus > calculateRHSAndEnergy (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const override
+ Calculates the right-hand side (dY/dt) and energy generation for the active species.
+
+EnergyDerivatives calculateEpsDerivatives (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const override
+
+NetworkJacobian generateJacobianMatrix (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const override
+ Generates the Jacobian matrix for the active species.
+
+NetworkJacobian generateJacobianMatrix (const fourdst::composition::CompositionAbstract &comp, double T9, double rho, const std::vector< fourdst::atomic::Species > &activeSpecies) const override
+ Generates the Jacobian matrix for some set of active species such that that set is a subset of the active species in the view.
+
+NetworkJacobian generateJacobianMatrix (const fourdst::composition::CompositionAbstract &comp, double T9, double rho, const SparsityPattern &sparsityPattern) const override
+ Generates the Jacobian matrix for the active species with a given sparsity pattern.
+
+void generateStoichiometryMatrix () override
+ Generates the stoichiometry matrix for the active reactions and species.
+
+int getStoichiometryMatrixEntry (const fourdst::atomic::Species &species, const reaction::Reaction &reaction) const override
+ Gets an entry from the stoichiometry matrix for the active species and reactions.
+
+double calculateMolarReactionFlow (const reaction::Reaction &reaction, const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const override
+ Calculates the molar reaction flow for a given reaction in the active network.
+
+const reaction::ReactionSet & getNetworkReactions () const override
+ Gets the set of active logical reactions in the network.
+
+void setNetworkReactions (const reaction::ReactionSet &reactions) override
+ Sets the reaction set for the base engine.
+
+std::expected< std::unordered_map< fourdst::atomic::Species, double >, EngineStatus > getSpeciesTimescales (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const override
+ Computes timescales for all active species in the network.
+
+std::expected< std::unordered_map< fourdst::atomic::Species, double >, EngineStatus > getSpeciesDestructionTimescales (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const override
+ Computes destruction timescales for all active species in the network.
+
+const DynamicEngine & getBaseEngine () const override
+ Gets the base engine.
+
+void setScreeningModel (screening::ScreeningType model) override
+ Sets the screening model for the base engine.
+
+screening::ScreeningType getScreeningModel () const override
+ Gets the screening model from the base engine.
+
+size_t getSpeciesIndex (const fourdst::atomic::Species &species) const override
+ Gets the index of a species in the active species list.
+
+std::vector< double > mapNetInToMolarAbundanceVector (const NetIn &netIn) const override
+ Maps the molar abundance vector from the active species to the full network species.
+
+PrimingReport primeEngine (const NetIn &netIn) override
+ Primes the engine with the given network input.
+
+fourdst::composition::Composition collectComposition (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const override
+ Collect the composition of the base engine, ensure all active species are registered, and pass the composition back to the caller.
+
+SpeciesStatus getSpeciesStatus (const fourdst::atomic::Species &species) const override
+ Gets the status of a species in the network.
+
+
+virtual BuildDepthType getDepth () const
+ Get the depth of the network.
+
+virtual void rebuild (const fourdst::composition::CompositionAbstract &comp, BuildDepthType depth)
+ Rebuild the network with a specified depth.
+
+
+virtual ~Engine ()=default
+ Virtual destructor.
+
+
+virtual ~EngineView ()=default
+ Virtual destructor.
+
+
+
+using Config = fourdst::config::Config
+
+using LogManager = fourdst::logging::LogManager
+
+typedef std::pair< std::unordered_set< const reaction::Reaction * >, std::unordered_set< fourdst::atomic::Species > > RescueSet
+
+
+
+Config & m_config = Config::getInstance()
+ A reference to the singleton Config instance, used for retrieving configuration parameters.
+
+quill::Logger * m_logger = LogManager::getInstance().getLogger("log")
+ A pointer to the logger instance, used for logging messages.
+
+DynamicEngine & m_baseEngine
+ The underlying engine to which this view delegates calculations.
+
+std::vector< fourdst::atomic::Species > m_activeSpecies
+ The set of species that are currently active in the network.
+
+reaction::ReactionSet m_activeReactions
+ The set of reactions that are currently active in the network.
+
+bool m_isStale = true
+ A flag indicating whether the view is stale and needs to be updated.
+
+
+
+
An engine view that dynamically adapts the reaction network based on runtime conditions.
+
This class implements an EngineView that dynamically culls species and reactions from the full reaction network based on their reaction flow rates and connectivity. This allows for efficient simulation of reaction networks by focusing computational effort on the most important species and reactions.
+
The AdaptiveEngineView maintains a subset of "active" species and reactions, and maps between the full network indices and the active subset indices. This allows the base engine to operate on the full network data, while the AdaptiveEngineView provides a reduced view for external clients.
+
The adaptation process is driven by the update() method, which performs the following steps:
+Reaction Flow Calculation: Calculates the molar reaction flow rate for each reaction in the full network based on the current temperature, density, and composition.
+Reaction Culling: Culls reactions with flow rates below a threshold, determined by a relative culling threshold multiplied by the maximum flow rate.
+Connectivity Analysis: Performs a connectivity analysis to identify species that are reachable from the initial fuel species through the culled reaction network.
+Species Culling: Culls species that are not reachable from the initial fuel.
+Index Map Construction: Constructs index maps to map between the full network indices and the active subset indices for species and reactions.
+
+
<DynamicEngine>
+
See also engine_abstract.h
+
+engine_view_abstract.h
+
+AdaptiveEngineView::update()
+
+
+
◆ Config
+
+
+
+
◆ LogManager
+
+
+
+
◆ RescueSet
+
+
+
+
+
◆ AdaptiveEngineView()
+
+
+
+
+
+
+
+
+ gridfire::engine::AdaptiveEngineView::AdaptiveEngineView
+ (
+ DynamicEngine & baseEngine )
+
+
+
+
+
+explicit
+
+
+
+
+
Constructs an AdaptiveEngineView .
+
Parameters
+
+ baseEngine The underlying DynamicEngine to which this view delegates calculations.
+
+
+
+
Initializes the active species and reactions to the full network, and constructs the initial index maps.
+
+
+
+
+
+
◆ calculateAllReactionFlows()
+
+
+
+
+
+
+
+
+ std::pair< std::vector< AdaptiveEngineView::ReactionFlow >, fourdst::composition::Composition > gridfire::engine::AdaptiveEngineView::calculateAllReactionFlows
+ (
+ const NetIn & netIn )
+ const
+
+
+
+
+nodiscard private
+
+
+
+
+
Calculates the molar reaction flow rate for all reactions in the full network.
+
This method iterates through all reactions in the base engine's network and calculates their molar flow rates based on the provided network input conditions (temperature, density, and composition). It also constructs a vector of molar abundances for all species in the full network.
+
Parameters
+
+ netIn The current network input, containing temperature, density, and composition.
+
+
+
+
Returns A pair with the first element a vector of ReactionFlow structs, each containing a pointer to a reaction and its calculated flow rate and the second being a composition object where species which were not present in netIn but are present in the definition of the base engine are registered but have 0 mass fraction.
+
Algorithm:
+Iterates through all species in the base engine's network.
+For each species, it retrieves the molar abundance from netIn.composition. If the species is not found, its abundance is set to 0.0.
+Converts the temperature from Kelvin to T9.
+Iterates through all reactions in the base engine's network.
+For each reaction, it calls the base engine's calculateMolarReactionFlow to get the flow rate.
+Stores the reaction pointer and its flow rate in a ReactionFlow struct and adds it to the returned vector.
+
+
+
+
+
+
+
◆ calculateEpsDerivatives()
+
+
+
+
+
+
+
+
+ EnergyDerivatives gridfire::engine::AdaptiveEngineView::calculateEpsDerivatives
+ (
+ const fourdst::composition::CompositionAbstract & comp ,
+
+
+
+
+ double T9 ,
+
+
+
+
+ double rho ) const
+
+
+
+
+nodiscard override virtual
+
+
+
+
Parameters
+
+ comp The current composition of the system.
+ T9 The temperature in units of 10^9 K.
+ rho The density in g/cm^3.
+
+
+
+
Returns A struct containing the derivatives of the energy generation rate with respect to temperature and density.
+
+
Implements gridfire::engine::DynamicEngine .
+
+
+
+
+
◆ calculateMolarReactionFlow()
+
+
+
+
+
+
+
+
+ double gridfire::engine::AdaptiveEngineView::calculateMolarReactionFlow
+ (
+ const reaction::Reaction & reaction ,
+
+
+
+
+ const fourdst::composition::CompositionAbstract & comp ,
+
+
+
+
+ double T9 ,
+
+
+
+
+ double rho ) const
+
+
+
+
+nodiscard override virtual
+
+
+
+
+
Calculates the molar reaction flow for a given reaction in the active network.
+
Parameters
+
+ reaction The reaction for which to calculate the flow.
+ comp Composition object containing current abundances.
+ T9 Temperature in units of 10^9 K.
+ rho Density in g/cm^3.
+
+
+
+
Returns Molar flow rate for the reaction (e.g., mol/g/s).
+
This method maps the culled abundances to the full network abundances and calls the base engine to calculate the molar reaction flow.
+
Exceptions
+
+ std::runtime_error If the AdaptiveEngineView is stale (i.e., update() has not been called).
+ std::runtime_error If the reaction is not part of the active reactions in the adaptive engine view.
+
+
+
+
+
Implements gridfire::engine::DynamicEngine .
+
+
+
+
+
◆ calculateRHSAndEnergy()
+
+
+
+
+
+
+
+
+ std::expected< StepDerivatives < double >, EngineStatus > gridfire::engine::AdaptiveEngineView::calculateRHSAndEnergy
+ (
+ const fourdst::composition::CompositionAbstract & comp ,
+
+
+
+
+ double T9 ,
+
+
+
+
+ double rho ) const
+
+
+
+
+nodiscard override virtual
+
+
+
+
+
Calculates the right-hand side (dY/dt) and energy generation for the active species.
+
Parameters
+
+ comp The current composition of the system.
+ T9 The temperature in units of 10^9 K.
+ rho The density in g/cm^3.
+
+
+
+
Returns A StepDerivatives struct containing the derivatives of the active species and the nuclear energy generation rate.
+
This method maps the culled abundances to the full network abundances, calls the base engine to calculate the RHS and energy generation, and then maps the full network derivatives back to the culled derivatives.
+
Exceptions
+
+
+
+
See also AdaptiveEngineView::update()
+
+
Implements gridfire::engine::Engine .
+
+
+
+
+
◆ collectComposition()
+
+
+
+
+
+
+
+
+ fourdst::composition::Composition gridfire::engine::AdaptiveEngineView::collectComposition
+ (
+ const fourdst::composition::CompositionAbstract & comp ,
+
+
+
+
+ double T9 ,
+
+
+
+
+ double rho ) const
+
+
+
+
+nodiscard override virtual
+
+
+
+
+
Collect the composition of the base engine, ensure all active species are registered, and pass the composition back to the caller.
+
Parameters
+
+ comp The current composition of the system.
+ T9 The temperature in units of 10^9 K.
+ rho The density in g/cm^3.
+
+
+
+
Note This function ensures that the state of both the base engine and the adaptive view are synchronized in the result back to the caller
+
+
Implements gridfire::engine::DynamicEngine .
+
+
+
+
+
◆ cullReactionsByFlow()
+
+
+
+
+
+
+
+
+ std::vector< const reaction::Reaction * > gridfire::engine::AdaptiveEngineView::cullReactionsByFlow
+ (
+ const std::vector< ReactionFlow > & allFlows ,
+
+
+
+
+ const std::unordered_set< fourdst::atomic::Species > & reachableSpecies ,
+
+
+
+
+ const fourdst::composition::Composition & comp ,
+
+
+
+
+ double maxFlow ) const
+
+
+
+
+nodiscard private
+
+
+
+
+
Culls reactions from the network based on their flow rates.
+
This method filters the list of all reactions, keeping only those with a flow rate above an absolute culling threshold. The threshold is calculated by multiplying the maximum flow rate by a relative culling threshold read from the configuration.
+
Parameters
+
+ allFlows A vector of all reactions and their flow rates.
+ reachableSpecies A set of all species reachable from the initial fuel.
+ comp The current composition of the system.
+ maxFlow The maximum reaction flow rate in the network.
+
+
+
+
Returns A vector of pointers to the reactions that have been kept after culling.
+
Algorithm:
+Retrieves the RelativeCullingThreshold from the configuration.
+Calculates the absoluteCullingThreshold by multiplying maxFlow with the relative threshold.
+Iterates through allFlows.
+A reaction is kept if its flowRate is greater than the absoluteCullingThreshold.
+The pointers to the kept reactions are stored in a vector and returned.
+
+
+
+
+
+
+
◆ finalizeActiveSet()
+
+
+
+
+
+
+
+
+ void gridfire::engine::AdaptiveEngineView::finalizeActiveSet
+ (
+ const std::vector< const reaction::Reaction * > & finalReactions )
+
+
+
+
+
+private
+
+
+
+
+
Finalizes the set of active species and reactions.
+
This method takes the final list of culled reactions and populates the m_activeReactions and m_activeSpecies members. The active species are determined by collecting all reactants and products from the final reactions. The active species list is then sorted by mass.
+
Parameters
+
+ finalReactions A vector of pointers to the reactions to be included in the active set.
+
+
+
+
Postcondition
+m_activeReactions is cleared and populated with the reactions from finalReactions.
+m_activeSpecies is cleared and populated with all unique species present in finalReactions.
+m_activeSpecies is sorted by atomic mass.
+
+
+
+
+
+
+
◆ findReachableSpecies()
+
+
+
+
+
+
+
+
+ std::unordered_set< Species > gridfire::engine::AdaptiveEngineView::findReachableSpecies
+ (
+ const NetIn & netIn )
+ const
+
+
+
+
+nodiscard private
+
+
+
+
+
Finds all species that are reachable from the initial fuel through the reaction network.
+
This method performs a connectivity analysis to identify all species that can be produced starting from the initial fuel species. A species is considered part of the initial fuel if its mass fraction is above a certain threshold (ABUNDANCE_FLOOR).
+
Parameters
+
+ netIn The current network input, containing the initial composition.
+
+
+
+
Returns An unordered set of all reachable species.
+
Algorithm:
+Initializes a set reachable and a queue to_visit with the initial fuel species.
+Iteratively processes the reaction network until no new species can be reached.
+In each pass, it iterates through all reactions in the base engine's network.
+If all reactants of a reaction are in the reachable set, all products of that reaction are added to the reachable set.
+The process continues until a full pass over all reactions does not add any new species to the reachable set.
+
+
+
+
+
+
+
◆ generateJacobianMatrix() [1/3]
+
+
+
+
+
+
+
+
+ NetworkJacobian gridfire::engine::AdaptiveEngineView::generateJacobianMatrix
+ (
+ const fourdst::composition::CompositionAbstract & comp ,
+
+
+
+
+ double T9 ,
+
+
+
+
+ double rho ) const
+
+
+
+
+nodiscard override virtual
+
+
+
+
+
Generates the Jacobian matrix for the active species.
+
Parameters
+
+ comp The current composition of the system.
+ T9 The temperature in units of 10^9 K.
+ rho The density in g/cm^3.
+
+
+
+
This method maps the culled abundances to the full network abundances and calls the base engine to generate the Jacobian matrix.
+
Exceptions
+
+
+
+
See also AdaptiveEngineView::update()
+
+
Implements gridfire::engine::DynamicEngine .
+
+
+
+
+
◆ generateJacobianMatrix() [2/3]
+
+
+
+
+
+
+
+
+ NetworkJacobian gridfire::engine::AdaptiveEngineView::generateJacobianMatrix
+ (
+ const fourdst::composition::CompositionAbstract & comp ,
+
+
+
+
+ double T9 ,
+
+
+
+
+ double rho ,
+
+
+
+
+ const SparsityPattern & sparsityPattern ) const
+
+
+
+
+nodiscard override virtual
+
+
+
+
+
Generates the Jacobian matrix for the active species with a given sparsity pattern.
+
Parameters
+
+ comp The current composition of the system.
+ T9 The temperature in units of 10^9 K.
+ rho The density in g/cm^3.
+ sparsityPattern The sparsity pattern to use for the Jacobian matrix.
+
+
+
+
This method maps the culled abundances to the full network abundances and calls the base engine to generate the Jacobian matrix.
+
Exceptions
+
+
+
+
See also AdaptiveEngineView::update()
+
+
Implements gridfire::engine::DynamicEngine .
+
+
+
+
+
◆ generateJacobianMatrix() [3/3]
+
+
+
+
+
+
+
+
+ NetworkJacobian gridfire::engine::AdaptiveEngineView::generateJacobianMatrix
+ (
+ const fourdst::composition::CompositionAbstract & comp ,
+
+
+
+
+ double T9 ,
+
+
+
+
+ double rho ,
+
+
+
+
+ const std::vector< fourdst::atomic::Species > & activeSpecies ) const
+
+
+
+
+nodiscard override virtual
+
+
+
+
+
Generates the Jacobian matrix for some set of active species such that that set is a subset of the active species in the view.
+
Parameters
+
+ comp The current composition of the system.
+ T9 The temperature in units of 10^9 K.
+ rho The density in g/cm^3.
+ activeSpecies The list of active species for which to generate the Jacobian.
+
+
+
+
This method maps the culled abundances to the full network abundances and calls the base engine to generate the Jacobian matrix.
+
Exceptions
+
+
+
+
See also AdaptiveEngineView::update()
+
+
Implements gridfire::engine::DynamicEngine .
+
+
+
+
+
◆ generateStoichiometryMatrix()
+
+
+
+
+
+
+
+
+ void gridfire::engine::AdaptiveEngineView::generateStoichiometryMatrix
+ (
+ )
+
+
+
+
+
+override virtual
+
+
+
+
+
Generates the stoichiometry matrix for the active reactions and species.
+
This method calls the base engine to generate the stoichiometry matrix.
+
Exceptions
+
+
+
+
Note The stoichiometry matrix generated by the base engine is assumed to be consistent with the active species and reactions in this view.
+
+
Implements gridfire::engine::DynamicEngine .
+
+
+
+
+
◆ getBaseEngine()
+
+
+
+
+
+
+
+
+ const DynamicEngine & gridfire::engine::AdaptiveEngineView::getBaseEngine
+ (
+ )
+ const
+
+
+
+
+inline nodiscard override virtual
+
+
+
+
+
+
◆ getNetworkReactions()
+
+
+
+
+
+
+
+
+ const reaction::ReactionSet & gridfire::engine::AdaptiveEngineView::getNetworkReactions
+ (
+ )
+ const
+
+
+
+
+nodiscard override virtual
+
+
+
+
+
Gets the set of active logical reactions in the network.
+
Returns Reference to the LogicalReactionSet containing all active reactions.
+
+
Implements gridfire::engine::DynamicEngine .
+
+
+
+
+
◆ getNetworkSpecies()
+
+
+
+
+
+
+
+
+ const std::vector< Species > & gridfire::engine::AdaptiveEngineView::getNetworkSpecies
+ (
+ )
+ const
+
+
+
+
+nodiscard override virtual
+
+
+
+
+
Gets the list of active species in the network.
+
Returns A const reference to the vector of active species.
+
+
Implements gridfire::engine::Engine .
+
+
+
+
+
◆ getScreeningModel()
+
+
+
+
+
+
+
+
+
+nodiscard override virtual
+
+
+
+
+
Gets the screening model from the base engine.
+
This method delegates the call to the base engine to get the screening model.
+
Returns The current screening model type.
+
Usage Example:
+
+
AdaptiveEngineView(DynamicEngine &baseEngine)
Constructs an AdaptiveEngineView.
Definition engine_adaptive.cpp:16
+
ScreeningType
Enumerates the available plasma screening models.
Definition screening_types.h:15
+
+
+
Implements gridfire::engine::DynamicEngine .
+
+
+
+
+
◆ getSpeciesDestructionTimescales()
+
+
+
+
+
+
+
+
+ std::expected< std::unordered_map< Species, double >, EngineStatus > gridfire::engine::AdaptiveEngineView::getSpeciesDestructionTimescales
+ (
+ const fourdst::composition::CompositionAbstract & comp ,
+
+
+
+
+ double T9 ,
+
+
+
+
+ double rho ) const
+
+
+
+
+nodiscard override virtual
+
+
+
+
+
Computes destruction timescales for all active species in the network.
+
Parameters
+
+ comp Composition object containing current abundances.
+ T9 Temperature in units of 10^9 K.
+ rho Density in g/cm^3.
+
+
+
+
Returns Map from Species to their destruction timescales (s).
+
This method maps the culled abundances to the full network abundances and calls the base engine to compute the species destruction timescales.
+
Exceptions
+
+
+
+
+
Implements gridfire::engine::DynamicEngine .
+
+
+
+
+
◆ getSpeciesIndex()
+
+
+
+
+
+
+
+
+ size_t gridfire::engine::AdaptiveEngineView::getSpeciesIndex
+ (
+ const fourdst::atomic::Species & species )
+ const
+
+
+
+
+nodiscard override virtual
+
+
+
+
+
Gets the index of a species in the active species list.
+
Parameters
+
+ species The species for which to get the index.
+
+
+
+
Returns The index of the species in the active species list.
+
Exceptions
+
+ std::runtime_error If the AdaptiveEngineView is stale (i.e., update() has not been called).
+ std::out_of_range If the species is not part of the active species in the adaptive engine view.
+
+
+
+
+
Implements gridfire::engine::DynamicEngine .
+
+
+
+
+
◆ getSpeciesStatus()
+
+
+
+
+
+
+
+
+ SpeciesStatus gridfire::engine::AdaptiveEngineView::getSpeciesStatus
+ (
+ const fourdst::atomic::Species & species )
+ const
+
+
+
+
+nodiscard override virtual
+
+
+
+
+
Gets the status of a species in the network.
+
Parameters
+
+ species The species for which to get the status.
+
+
+
+
Returns The SpeciesStatus indicating the status of the species.
+
This method delegates the call to the base engine to get the species status. If the base engine says that the species is active but it is not in the active species list of this view, the status is returned as INACTIVE_FLOW.
+
+
Implements gridfire::engine::DynamicEngine .
+
+
+
+
+
◆ getSpeciesTimescales()
+
+
+
+
+
+
+
+
+ std::expected< std::unordered_map< Species, double >, EngineStatus > gridfire::engine::AdaptiveEngineView::getSpeciesTimescales
+ (
+ const fourdst::composition::CompositionAbstract & comp ,
+
+
+
+
+ double T9 ,
+
+
+
+
+ double rho ) const
+
+
+
+
+nodiscard override virtual
+
+
+
+
+
Computes timescales for all active species in the network.
+
Parameters
+
+ comp Composition object containing current abundances.
+ T9 Temperature in units of 10^9 K.
+ rho Density in g/cm^3.
+
+
+
+
Returns Map from Species to their characteristic timescales (s).
+
This method maps the culled abundances to the full network abundances and calls the base engine to compute the species timescales.
+
Exceptions
+
+
+
+
+
Implements gridfire::engine::DynamicEngine .
+
+
+
+
+
◆ getStoichiometryMatrixEntry()
+
+
+
+
+
+
+
+
+ int gridfire::engine::AdaptiveEngineView::getStoichiometryMatrixEntry
+ (
+ const fourdst::atomic::Species & species ,
+
+
+
+
+ const reaction::Reaction & reaction ) const
+
+
+
+
+nodiscard override virtual
+
+
+
+
+
Gets an entry from the stoichiometry matrix for the active species and reactions.
+
Parameters
+
+ species The species for which to get the stoichiometric coefficient.
+ reaction The reaction for which to get the stoichiometric coefficient.
+
+
+
+
Returns The stoichiometric coefficient for the given species and reaction.
+
This method maps the culled indices to the full network indices and calls the base engine to get the stoichiometry matrix entry.
+
Exceptions
+
+ std::runtime_error If the AdaptiveEngineView is stale (i.e., update() has not been called).
+ std::out_of_range If the culled index is out of bounds for the species or reaction index map.
+
+
+
+
See also AdaptiveEngineView::update()
+
+
Implements gridfire::engine::DynamicEngine .
+
+
+
+
+
◆ isStale()
+
+
+
+
+
+
+
+
+ bool gridfire::engine::AdaptiveEngineView::isStale
+ (
+ const NetIn & netIn )
+
+
+
+
+
+override virtual
+
+
+
+
+
Check if the engine's internal state is stale.
+
Parameters
+
+ netIn A struct containing the current network input, such as temperature, density, and composition.
+
+
+
+
Returns True if the engine's state is stale and needs to be updated; false otherwise.
+
This method allows derived classes to determine if their internal state is out-of-date with respect to the provided network conditions. If the engine is stale, it may require a call to update() before performing calculations.
+
Usage Example:
+
if (myEngine.isStale(input)) {
+
+
}
+
+
+
+
Implements gridfire::engine::DynamicEngine .
+
+
+
+
+
◆ mapNetInToMolarAbundanceVector()
+
+
+
+
+
+
+
+
+ std::vector< double > gridfire::engine::AdaptiveEngineView::mapNetInToMolarAbundanceVector
+ (
+ const NetIn & netIn )
+ const
+
+
+
+
+nodiscard override virtual
+
+
+
+
+
Maps the molar abundance vector from the active species to the full network species.
+
Parameters
+
+ netIn The current network input, containing temperature, density, and composition.
+
+
+
+
Returns A vector of molar abundances for all species in the full network.
+
This method constructs a molar abundance vector for the full network by mapping the abundances from the active species in netIn to their corresponding indices in the full network. Species not present in netIn are assigned an abundance of zero.
+
Exceptions
+
+
+
+
+
Implements gridfire::engine::DynamicEngine .
+
+
+
+
+
◆ primeEngine()
+
+
+
+
+
+
+
+
+ PrimingReport gridfire::engine::AdaptiveEngineView::primeEngine
+ (
+ const NetIn & netIn )
+
+
+
+
+
+nodiscard override virtual
+
+
+
+
+
Primes the engine with the given network input.
+
Parameters
+
+ netIn The current network input, containing temperature, density, and composition.
+
+
+
+
Returns A PrimingReport indicating the result of the priming operation.
+
This method delegates the priming operation to the base engine.
+
+
Implements gridfire::engine::DynamicEngine .
+
+
+
+
+
◆ rescueEdgeSpeciesDestructionChannel()
+
+
+
+
+
+
+
+
+ AdaptiveEngineView::RescueSet gridfire::engine::AdaptiveEngineView::rescueEdgeSpeciesDestructionChannel
+ (
+ const fourdst::composition::Composition & comp ,
+
+
+
+
+ double T9 ,
+
+
+
+
+ double rho ,
+
+
+
+
+ const std::vector< fourdst::atomic::Species > & activeSpecies ,
+
+
+
+
+ const reaction::ReactionSet & activeReactions ) const
+
+
+
+
+nodiscard private
+
+
+
+
+
+
+
+
◆ setNetworkReactions()
+
+
+
+
+
+
+
+
+ void gridfire::engine::AdaptiveEngineView::setNetworkReactions
+ (
+ const reaction::ReactionSet & reactions )
+
+
+
+
+
+override virtual
+
+
+
+
+
Sets the reaction set for the base engine.
+
This method delegates the call to the base engine to set the reaction set.
+
Parameters
+
+ reactions The ReactionSet to set in the base engine.
+
+
+
+
Postcondition The reaction set of the base engine is updated.
+
+
Implements gridfire::engine::DynamicEngine .
+
+
+
+
+
◆ setScreeningModel()
+
+
+
+
+
+
+
+
+
+override virtual
+
+
+
+
+
Sets the screening model for the base engine.
+
This method delegates the call to the base engine to set the electron screening model.
+
Parameters
+
+ model The electron screening model to set.
+
+
+
+
Usage Example:
+
+
@ WEAK
Weak screening model (Salpeter, 1954).
Definition screening_types.h:35
+
+
Postcondition The screening model of the base engine is updated.
+
+
Implements gridfire::engine::DynamicEngine .
+
+
+
+
+
◆ update()
+
+
+
+
+
+
+
+
+ fourdst::composition::Composition gridfire::engine::AdaptiveEngineView::update
+ (
+ const NetIn & netIn )
+
+
+
+
+
+override virtual
+
+
+
+
+
Updates the active species and reactions based on the current conditions.
+
Parameters
+
+ netIn The current network input, containing temperature, density, and composition.
+
+
+
+
This method performs the reaction flow calculation, reaction culling, connectivity analysis, and index map construction steps described above.
+
The culling thresholds are read from the configuration using the following keys:
+gridfire:AdaptiveEngineView:RelativeCullingThreshold (default: 1e-75)
+
+
Exceptions
+
+ std::runtime_error If there is a mismatch between the active reactions and the base engine.
+
+
+
+
Postcondition The active species and reactions are updated, and the index maps are reconstructed.
+
See also AdaptiveEngineView
+
+AdaptiveEngineView::constructSpeciesIndexMap()
+
+AdaptiveEngineView::constructReactionIndexMap()
+
+
Implements gridfire::engine::DynamicEngine .
+
+
+
+
+
◆ validateState()
+
+
+
+
+
+
+
+
+ void gridfire::engine::AdaptiveEngineView::validateState
+ (
+ )
+ const
+
+
+
+
+private
+
+
+
+
+
+
+
◆ m_activeReactions
+
+
+
+
+
The set of reactions that are currently active in the network.
+
+
+
+
+
◆ m_activeSpecies
+
+
+
+
+
+
+
+
+ std::vector<fourdst::atomic::Species> gridfire::engine::AdaptiveEngineView::m_activeSpecies
+
+
+
+
+private
+
+
+
+
+
The set of species that are currently active in the network.
+
+
+
+
+
◆ m_baseEngine
+
+
+
+
+
+
+
+
+ DynamicEngine & gridfire::engine::AdaptiveEngineView::m_baseEngine
+
+
+
+
+private
+
+
+
+
+
The underlying engine to which this view delegates calculations.
+
+
+
+
+
◆ m_config
+
+
+
+
+
+
+
+
+ Config & gridfire::engine::AdaptiveEngineView::m_config = Config::getInstance()
+
+
+
+
+private
+
+
+
+
+
A reference to the singleton Config instance, used for retrieving configuration parameters.
+
+
+
+
+
◆ m_isStale
+
+
+
+
+
+
+
+
+ bool gridfire::engine::AdaptiveEngineView::m_isStale = true
+
+
+
+
+private
+
+
+
+
+
A flag indicating whether the view is stale and needs to be updated.
+
+
+
+
+
◆ m_logger
+
+
+
+
+
+
+
+
+ quill::Logger* gridfire::engine::AdaptiveEngineView::m_logger = LogManager::getInstance().getLogger("log")
+
+
+
+
+private
+
+
+
+
+
A pointer to the logger instance, used for logging messages.
+
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_adaptive_engine_view.js b/docs/html/classgridfire_1_1engine_1_1_adaptive_engine_view.js
new file mode 100644
index 00000000..f4f39f47
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_adaptive_engine_view.js
@@ -0,0 +1,43 @@
+var classgridfire_1_1engine_1_1_adaptive_engine_view =
+[
+ [ "ReactionFlow", "structgridfire_1_1engine_1_1_adaptive_engine_view_1_1_reaction_flow.html", "structgridfire_1_1engine_1_1_adaptive_engine_view_1_1_reaction_flow" ],
+ [ "Config", "classgridfire_1_1engine_1_1_adaptive_engine_view.html#a0a49d174e105adb3ffd9cf98ff58db3e", null ],
+ [ "LogManager", "classgridfire_1_1engine_1_1_adaptive_engine_view.html#ae8810c067d301b2f620869b0a5c8d5ce", null ],
+ [ "RescueSet", "classgridfire_1_1engine_1_1_adaptive_engine_view.html#a21367fa61169e6f5185bc91b40cc04be", null ],
+ [ "AdaptiveEngineView", "classgridfire_1_1engine_1_1_adaptive_engine_view.html#aea8914f56e34445aacf0a5d0af073897", null ],
+ [ "calculateAllReactionFlows", "classgridfire_1_1engine_1_1_adaptive_engine_view.html#a6f13f42773dec03a6b3e90b4997d42fb", null ],
+ [ "calculateEpsDerivatives", "classgridfire_1_1engine_1_1_adaptive_engine_view.html#a17bbc9c0d480a8533acb193cb9a46fea", null ],
+ [ "calculateMolarReactionFlow", "classgridfire_1_1engine_1_1_adaptive_engine_view.html#a5bd0174105e836dd98c71ab495357e5b", null ],
+ [ "calculateRHSAndEnergy", "classgridfire_1_1engine_1_1_adaptive_engine_view.html#a5de5211bc99a1995143307284be6df4a", null ],
+ [ "collectComposition", "classgridfire_1_1engine_1_1_adaptive_engine_view.html#a77d4c08eecfad5cc414161d0fc8db946", null ],
+ [ "cullReactionsByFlow", "classgridfire_1_1engine_1_1_adaptive_engine_view.html#a99ffb65b98dcbc1eae8643c25dbffe91", null ],
+ [ "finalizeActiveSet", "classgridfire_1_1engine_1_1_adaptive_engine_view.html#aab32396ad3ab20960bfd505bb6128ff0", null ],
+ [ "findReachableSpecies", "classgridfire_1_1engine_1_1_adaptive_engine_view.html#a1bc1c462fe57cc30af5553c353e43db8", null ],
+ [ "generateJacobianMatrix", "classgridfire_1_1engine_1_1_adaptive_engine_view.html#a2a44dfae512b370bad6b977330e0636a", null ],
+ [ "generateJacobianMatrix", "classgridfire_1_1engine_1_1_adaptive_engine_view.html#ae894f46c67a8b8e02b8988a6b73dc9e5", null ],
+ [ "generateJacobianMatrix", "classgridfire_1_1engine_1_1_adaptive_engine_view.html#a1b7b3b0b449d0859d57f99188cdd83d6", null ],
+ [ "generateStoichiometryMatrix", "classgridfire_1_1engine_1_1_adaptive_engine_view.html#a754445722193f11ae534b7c0afa9b8aa", null ],
+ [ "getBaseEngine", "classgridfire_1_1engine_1_1_adaptive_engine_view.html#a69122f748b873b872aa86350061b1b5c", null ],
+ [ "getNetworkReactions", "classgridfire_1_1engine_1_1_adaptive_engine_view.html#a722ea6e07d46f739c29ad681c7500f8c", null ],
+ [ "getNetworkSpecies", "classgridfire_1_1engine_1_1_adaptive_engine_view.html#aaa2d47f44e5bb4d9660d7c017cc5085c", null ],
+ [ "getScreeningModel", "classgridfire_1_1engine_1_1_adaptive_engine_view.html#acbd5b36262fa7d40f3274f4be6f0b8f6", null ],
+ [ "getSpeciesDestructionTimescales", "classgridfire_1_1engine_1_1_adaptive_engine_view.html#a420666d17650736e20402514294f9a14", null ],
+ [ "getSpeciesIndex", "classgridfire_1_1engine_1_1_adaptive_engine_view.html#ad7a82578006e5c55ca7716e7ab7e710c", null ],
+ [ "getSpeciesStatus", "classgridfire_1_1engine_1_1_adaptive_engine_view.html#a5166197fd61060b2a9a445f707ee871b", null ],
+ [ "getSpeciesTimescales", "classgridfire_1_1engine_1_1_adaptive_engine_view.html#ade5dad29a79209e677b259a9b28c5133", null ],
+ [ "getStoichiometryMatrixEntry", "classgridfire_1_1engine_1_1_adaptive_engine_view.html#aae6d8bab169721f0b89682ce8c4b4f10", null ],
+ [ "isStale", "classgridfire_1_1engine_1_1_adaptive_engine_view.html#a6c08b4235996d12472d2a327eab8e984", null ],
+ [ "mapNetInToMolarAbundanceVector", "classgridfire_1_1engine_1_1_adaptive_engine_view.html#a24cc7e1a7471d707707b4d44ebd81068", null ],
+ [ "primeEngine", "classgridfire_1_1engine_1_1_adaptive_engine_view.html#a955a337f89a375637ac48071be45c54c", null ],
+ [ "rescueEdgeSpeciesDestructionChannel", "classgridfire_1_1engine_1_1_adaptive_engine_view.html#a85e70c0ff022c31702472aa39fc64816", null ],
+ [ "setNetworkReactions", "classgridfire_1_1engine_1_1_adaptive_engine_view.html#a5dbfcafa606c3242dc4ced62c2494a2d", null ],
+ [ "setScreeningModel", "classgridfire_1_1engine_1_1_adaptive_engine_view.html#ab050409db954a3fa593633f9d2cd5d89", null ],
+ [ "update", "classgridfire_1_1engine_1_1_adaptive_engine_view.html#a8db6ba52f454c136ee0a1335436fab6e", null ],
+ [ "validateState", "classgridfire_1_1engine_1_1_adaptive_engine_view.html#a63837a6a4343a2ac6a61e21576b62655", null ],
+ [ "m_activeReactions", "classgridfire_1_1engine_1_1_adaptive_engine_view.html#a90a8fa566ca9fe2b74427ea497353e1b", null ],
+ [ "m_activeSpecies", "classgridfire_1_1engine_1_1_adaptive_engine_view.html#a8c7bf0f0e5ad83821e3959c47c81cd60", null ],
+ [ "m_baseEngine", "classgridfire_1_1engine_1_1_adaptive_engine_view.html#a541f54469c3d2d6ab7671b19057b4341", null ],
+ [ "m_config", "classgridfire_1_1engine_1_1_adaptive_engine_view.html#ac68b44310985613bb5736dd32d415734", null ],
+ [ "m_isStale", "classgridfire_1_1engine_1_1_adaptive_engine_view.html#a8eba901e7c19989a9818ec8cbf1ebb7f", null ],
+ [ "m_logger", "classgridfire_1_1engine_1_1_adaptive_engine_view.html#a60c4792822f671f094a86378265a416a", null ]
+];
\ No newline at end of file
diff --git a/docs/html/classgridfire_1_1engine_1_1_adaptive_engine_view__coll__graph.map b/docs/html/classgridfire_1_1engine_1_1_adaptive_engine_view__coll__graph.map
new file mode 100644
index 00000000..cf36765c
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_adaptive_engine_view__coll__graph.map
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_adaptive_engine_view__coll__graph.md5 b/docs/html/classgridfire_1_1engine_1_1_adaptive_engine_view__coll__graph.md5
new file mode 100644
index 00000000..43c47950
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_adaptive_engine_view__coll__graph.md5
@@ -0,0 +1 @@
+2b16b837b4b226d226c7b5a683c4279b
\ No newline at end of file
diff --git a/docs/html/classgridfire_1_1engine_1_1_adaptive_engine_view__coll__graph.svg b/docs/html/classgridfire_1_1engine_1_1_adaptive_engine_view__coll__graph.svg
new file mode 100644
index 00000000..c83d47fe
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_adaptive_engine_view__coll__graph.svg
@@ -0,0 +1,360 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+gridfire::engine::AdaptiveEngineView
+
+
+Node1
+
+
+gridfire::engine::Adaptive
+EngineView
+
+
+
+
+
+Node2
+
+
+gridfire::engine::Dynamic
+Engine
+
+
+
+
+
+Node2->Node1
+
+
+
+
+
+
+
+
+Node2->Node1
+
+
+
+
+
+ m_baseEngine
+
+
+
+Node3
+
+
+gridfire::engine::Engine
+
+
+
+
+
+Node3->Node2
+
+
+
+
+
+
+
+
+Node4
+
+
+gridfire::engine::Engine
+View< DynamicEngine >
+
+
+
+
+
+Node4->Node1
+
+
+
+
+
+
+
+
+Node5
+
+
+std::vector< fourdst
+::atomic::Species >
+
+
+
+
+
+Node5->Node1
+
+
+
+
+
+ m_activeSpecies
+
+
+
+Node6
+
+
+gridfire::reaction
+::ReactionSet
+
+
+
+
+
+Node6->Node1
+
+
+
+
+
+ m_activeReactions
+
+
+
+Node7
+
+
+std::vector< std::unique
+_ptr< gridfire::reaction
+::Reaction > >
+
+
+
+
+
+Node7->Node6
+
+
+
+
+
+ m_reactions
+
+
+
+Node8
+
+
+std::unique_ptr< gridfire
+::reaction::Reaction >
+
+
+
+
+
+Node8->Node7
+
+
+
+
+
+ elements
+
+
+
+Node9
+
+
+gridfire::reaction
+::Reaction
+
+
+
+
+
+Node9->Node8
+
+
+
+
+
+ ptr
+
+
+
+Node10
+
+
+std::string
+
+
+
+
+
+Node10->Node6
+
+
+
+
+
+ m_id
+
+
+
+Node12
+
+
+std::unordered_map
+< std::string, size_t >
+
+
+
+
+
+Node10->Node12
+
+
+
+
+
+ keys
+
+
+
+Node11
+
+
+std::basic_string<
+ Char >
+
+
+
+
+
+Node11->Node10
+
+
+
+
+
+
+
+
+Node12->Node6
+
+
+
+
+
+ m_reactionNameMap
+
+
+
+Node13
+
+
+std::unordered_set
+< size_t >
+
+
+
+
+
+Node13->Node6
+
+
+
+
+
+ m_reactionHashes
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_adaptive_engine_view__coll__graph_org.svg b/docs/html/classgridfire_1_1engine_1_1_adaptive_engine_view__coll__graph_org.svg
new file mode 100644
index 00000000..bb1ebd60
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_adaptive_engine_view__coll__graph_org.svg
@@ -0,0 +1,277 @@
+
+
+
+
+
+
+gridfire::engine::AdaptiveEngineView
+
+
+Node1
+
+
+gridfire::engine::Adaptive
+EngineView
+
+
+
+
+
+Node2
+
+
+gridfire::engine::Dynamic
+Engine
+
+
+
+
+
+Node2->Node1
+
+
+
+
+
+
+
+
+Node2->Node1
+
+
+
+
+
+ m_baseEngine
+
+
+
+Node3
+
+
+gridfire::engine::Engine
+
+
+
+
+
+Node3->Node2
+
+
+
+
+
+
+
+
+Node4
+
+
+gridfire::engine::Engine
+View< DynamicEngine >
+
+
+
+
+
+Node4->Node1
+
+
+
+
+
+
+
+
+Node5
+
+
+std::vector< fourdst
+::atomic::Species >
+
+
+
+
+
+Node5->Node1
+
+
+
+
+
+ m_activeSpecies
+
+
+
+Node6
+
+
+gridfire::reaction
+::ReactionSet
+
+
+
+
+
+Node6->Node1
+
+
+
+
+
+ m_activeReactions
+
+
+
+Node7
+
+
+std::vector< std::unique
+_ptr< gridfire::reaction
+::Reaction > >
+
+
+
+
+
+Node7->Node6
+
+
+
+
+
+ m_reactions
+
+
+
+Node8
+
+
+std::unique_ptr< gridfire
+::reaction::Reaction >
+
+
+
+
+
+Node8->Node7
+
+
+
+
+
+ elements
+
+
+
+Node9
+
+
+gridfire::reaction
+::Reaction
+
+
+
+
+
+Node9->Node8
+
+
+
+
+
+ ptr
+
+
+
+Node10
+
+
+std::string
+
+
+
+
+
+Node10->Node6
+
+
+
+
+
+ m_id
+
+
+
+Node12
+
+
+std::unordered_map
+< std::string, size_t >
+
+
+
+
+
+Node10->Node12
+
+
+
+
+
+ keys
+
+
+
+Node11
+
+
+std::basic_string<
+ Char >
+
+
+
+
+
+Node11->Node10
+
+
+
+
+
+
+
+
+Node12->Node6
+
+
+
+
+
+ m_reactionNameMap
+
+
+
+Node13
+
+
+std::unordered_set
+< size_t >
+
+
+
+
+
+Node13->Node6
+
+
+
+
+
+ m_reactionHashes
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_adaptive_engine_view__inherit__graph.map b/docs/html/classgridfire_1_1engine_1_1_adaptive_engine_view__inherit__graph.map
new file mode 100644
index 00000000..4d216d01
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_adaptive_engine_view__inherit__graph.map
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_adaptive_engine_view__inherit__graph.md5 b/docs/html/classgridfire_1_1engine_1_1_adaptive_engine_view__inherit__graph.md5
new file mode 100644
index 00000000..ae6218ff
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_adaptive_engine_view__inherit__graph.md5
@@ -0,0 +1 @@
+5d4d22e0eed5f66ae376b1048108bbe6
\ No newline at end of file
diff --git a/docs/html/classgridfire_1_1engine_1_1_adaptive_engine_view__inherit__graph.svg b/docs/html/classgridfire_1_1engine_1_1_adaptive_engine_view__inherit__graph.svg
new file mode 100644
index 00000000..2a936255
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_adaptive_engine_view__inherit__graph.svg
@@ -0,0 +1,104 @@
+
+
+
+
+
+
+
+
+
+
+
+
+gridfire::engine::AdaptiveEngineView
+
+
+Node1
+
+
+gridfire::engine::Adaptive
+EngineView
+
+
+
+
+
+Node2
+
+
+gridfire::engine::Dynamic
+Engine
+
+
+
+
+
+Node2->Node1
+
+
+
+
+
+
+
+
+Node3
+
+
+gridfire::engine::Engine
+
+
+
+
+
+Node3->Node2
+
+
+
+
+
+
+
+
+Node4
+
+
+gridfire::engine::Engine
+View< DynamicEngine >
+
+
+
+
+
+Node4->Node1
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_adaptive_engine_view__inherit__graph_org.svg b/docs/html/classgridfire_1_1engine_1_1_adaptive_engine_view__inherit__graph_org.svg
new file mode 100644
index 00000000..f5bdea07
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_adaptive_engine_view__inherit__graph_org.svg
@@ -0,0 +1,78 @@
+
+
+
+
+
+
+gridfire::engine::AdaptiveEngineView
+
+
+Node1
+
+
+gridfire::engine::Adaptive
+EngineView
+
+
+
+
+
+Node2
+
+
+gridfire::engine::Dynamic
+Engine
+
+
+
+
+
+Node2->Node1
+
+
+
+
+
+
+
+
+Node3
+
+
+gridfire::engine::Engine
+
+
+
+
+
+Node3->Node2
+
+
+
+
+
+
+
+
+Node4
+
+
+gridfire::engine::Engine
+View< DynamicEngine >
+
+
+
+
+
+Node4->Node1
+
+
+
+
+
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_defined_engine_view-members.html b/docs/html/classgridfire_1_1engine_1_1_defined_engine_view-members.html
new file mode 100644
index 00000000..6dd57cc9
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_defined_engine_view-members.html
@@ -0,0 +1,161 @@
+
+
+
+
+
+
+
+
GridFire: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GridFire v0.7.0-alpha
+
+ General Purpose Nuclear Network
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
This is the complete list of members for gridfire::engine::DefinedEngineView , including all inherited members.
+
+ calculateEpsDerivatives (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const overridegridfire::engine::DefinedEngineView virtual
+ calculateMolarReactionFlow (const reaction::Reaction &reaction, const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const overridegridfire::engine::DefinedEngineView virtual
+ calculateRHSAndEnergy (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const overridegridfire::engine::DefinedEngineView virtual
+ collect (const std::vector< std::string > &peNames)gridfire::engine::DefinedEngineView private
+ collectComposition (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const overridegridfire::engine::DefinedEngineView virtual
+ constructReactionIndexMap () constgridfire::engine::DefinedEngineView private
+ constructSpeciesIndexMap () constgridfire::engine::DefinedEngineView private
+ DefinedEngineView (const std::vector< std::string > &peNames, GraphEngine &baseEngine)gridfire::engine::DefinedEngineView
+ generateJacobianMatrix (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const overridegridfire::engine::DefinedEngineView virtual
+ generateJacobianMatrix (const fourdst::composition::CompositionAbstract &comp, double T9, double rho, const std::vector< fourdst::atomic::Species > &activeSpecies) const overridegridfire::engine::DefinedEngineView virtual
+ generateJacobianMatrix (const fourdst::composition::CompositionAbstract &comp, double T9, double rho, const SparsityPattern &sparsityPattern) const overridegridfire::engine::DefinedEngineView virtual
+ generateStoichiometryMatrix () overridegridfire::engine::DefinedEngineView virtual
+ getBaseEngine () const overridegridfire::engine::DefinedEngineView virtual
+ getDepth () constgridfire::engine::DynamicEngine inline virtual
+ getNetworkReactions () const overridegridfire::engine::DefinedEngineView virtual
+ getNetworkSpecies () const overridegridfire::engine::DefinedEngineView virtual
+ getScreeningModel () const overridegridfire::engine::DefinedEngineView virtual
+ getSpeciesDestructionTimescales (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const overridegridfire::engine::DefinedEngineView virtual
+ getSpeciesIndex (const fourdst::atomic::Species &species) const overridegridfire::engine::DefinedEngineView virtual
+ getSpeciesStatus (const fourdst::atomic::Species &species) const overridegridfire::engine::DefinedEngineView virtual
+ getSpeciesTimescales (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const overridegridfire::engine::DefinedEngineView virtual
+ getStoichiometryMatrixEntry (const fourdst::atomic::Species &species, const reaction::Reaction &reaction) const overridegridfire::engine::DefinedEngineView virtual
+ isStale (const NetIn &netIn) overridegridfire::engine::DefinedEngineView virtual
+ m_activeReactions gridfire::engine::DefinedEngineView private
+ m_activeSpecies gridfire::engine::DefinedEngineView private
+ m_activeSpeciesVectorCache gridfire::engine::DefinedEngineView mutable private
+ m_baseEngine gridfire::engine::DefinedEngineView protected
+ m_isStale gridfire::engine::DefinedEngineView protected
+ m_logger gridfire::engine::DefinedEngineView private
+ m_reactionIndexMap gridfire::engine::DefinedEngineView private
+ m_speciesIndexMap gridfire::engine::DefinedEngineView private
+ mapFullToView (const std::vector< double > &full) constgridfire::engine::DefinedEngineView private
+ mapNetInToMolarAbundanceVector (const NetIn &netIn) const overridegridfire::engine::DefinedEngineView virtual
+ mapViewToFull (const std::vector< double > &defined) constgridfire::engine::DefinedEngineView private
+ mapViewToFullReactionIndex (size_t definedReactionIndex) constgridfire::engine::DefinedEngineView private
+ mapViewToFullSpeciesIndex (size_t definedSpeciesIndex) constgridfire::engine::DefinedEngineView private
+ primeEngine (const NetIn &netIn) overridegridfire::engine::DefinedEngineView virtual
+ rebuild (const fourdst::composition::CompositionAbstract &comp, BuildDepthType depth)gridfire::engine::DynamicEngine inline virtual
+ setNetworkReactions (const reaction::ReactionSet &reactions) overridegridfire::engine::DefinedEngineView virtual
+ setScreeningModel (screening::ScreeningType model) overridegridfire::engine::DefinedEngineView virtual
+ update (const NetIn &netIn) overridegridfire::engine::DefinedEngineView virtual
+ validateNetworkState () constgridfire::engine::DefinedEngineView private
+ ~Engine ()=defaultgridfire::engine::Engine virtual
+ ~EngineView ()=defaultgridfire::engine::EngineView< DynamicEngine > virtual
+
+
+
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_defined_engine_view.html b/docs/html/classgridfire_1_1engine_1_1_defined_engine_view.html
new file mode 100644
index 00000000..3802a31e
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_defined_engine_view.html
@@ -0,0 +1,1742 @@
+
+
+
+
+
+
+
+
GridFire: gridfire::engine::DefinedEngineView Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GridFire v0.7.0-alpha
+
+ General Purpose Nuclear Network
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
#include <engine_defined.h>
+
+
+
+
+
+
+ DefinedEngineView (const std::vector< std::string > &peNames, GraphEngine &baseEngine)
+
+const DynamicEngine & getBaseEngine () const override
+ Get the base engine associated with this defined engine view.
+
+const std::vector< fourdst::atomic::Species > & getNetworkSpecies () const override
+ Gets the list of active species in the network defined by the file.
+
+std::expected< StepDerivatives < double >, engine::EngineStatus > calculateRHSAndEnergy (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const override
+ Calculates the right-hand side (dY/dt) and energy generation for the active species.
+
+EnergyDerivatives calculateEpsDerivatives (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const override
+ Calculate the derivatives of the energy generation rate with respect to T and rho.
+
+NetworkJacobian generateJacobianMatrix (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const override
+ Generates the Jacobian matrix for the active species.
+
+NetworkJacobian generateJacobianMatrix (const fourdst::composition::CompositionAbstract &comp, double T9, double rho, const std::vector< fourdst::atomic::Species > &activeSpecies) const override
+ Generates the Jacobian matrix for the active species.
+
+NetworkJacobian generateJacobianMatrix (const fourdst::composition::CompositionAbstract &comp, double T9, double rho, const SparsityPattern &sparsityPattern) const override
+ Generates the Jacobian matrix for a given sparsity pattern.
+
+void generateStoichiometryMatrix () override
+ Generates the stoichiometry matrix for the active reactions and species.
+
+int getStoichiometryMatrixEntry (const fourdst::atomic::Species &species, const reaction::Reaction &reaction) const override
+ Gets an entry from the stoichiometry matrix for the active species and reactions.
+
+double calculateMolarReactionFlow (const reaction::Reaction &reaction, const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const override
+ Calculates the molar reaction flow for a given reaction in the active network.
+
+const reaction::ReactionSet & getNetworkReactions () const override
+ Gets the set of active logical reactions in the network.
+
+void setNetworkReactions (const reaction::ReactionSet &reactions) override
+ Sets the active reactions in the network.
+
+std::expected< std::unordered_map< fourdst::atomic::Species, double >, engine::EngineStatus > getSpeciesTimescales (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const override
+ Computes timescales for all active species in the network.
+
+std::expected< std::unordered_map< fourdst::atomic::Species, double >, engine::EngineStatus > getSpeciesDestructionTimescales (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const override
+ Computes destruction timescales for all active species in the network.
+
+fourdst::composition::Composition update (const NetIn &netIn) override
+ Updates the engine view if it is marked as stale.
+
+bool isStale (const NetIn &netIn) override
+ Checks if the engine view is stale.
+
+void setScreeningModel (screening::ScreeningType model) override
+ Sets the screening model for the base engine.
+
+screening::ScreeningType getScreeningModel () const override
+ Gets the screening model from the base engine.
+
+size_t getSpeciesIndex (const fourdst::atomic::Species &species) const override
+ Maps a species from the full network to its index in the defined active network.
+
+std::vector< double > mapNetInToMolarAbundanceVector (const NetIn &netIn) const override
+ Map from a NetIn object to a vector of molar abundances for the active species.
+
+PrimingReport primeEngine (const NetIn &netIn) override
+ Prime the engine view for calculations. This will delegate to the base engine.
+
+fourdst::composition::Composition collectComposition (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const override
+ Collects a Composition object from the base engine.
+
+SpeciesStatus getSpeciesStatus (const fourdst::atomic::Species &species) const override
+ Gets the status of a species in the active network.
+
+
+virtual BuildDepthType getDepth () const
+ Get the depth of the network.
+
+virtual void rebuild (const fourdst::composition::CompositionAbstract &comp, BuildDepthType depth)
+ Rebuild the network with a specified depth.
+
+
+virtual ~Engine ()=default
+ Virtual destructor.
+
+
+virtual ~EngineView ()=default
+ Virtual destructor.
+
+
+
+std::vector< size_t > constructSpeciesIndexMap () const
+ Constructs the species index map.
+
+std::vector< size_t > constructReactionIndexMap () const
+ Constructs the reaction index map.
+
+std::vector< double > mapViewToFull (const std::vector< double > &defined) const
+ Maps a vector of culled abundances to a vector of full abundances.
+
+std::vector< double > mapFullToView (const std::vector< double > &full) const
+ Maps a vector of full abundances to a vector of culled abundances.
+
+size_t mapViewToFullSpeciesIndex (size_t definedSpeciesIndex) const
+ Maps a culled species index to a full species index.
+
+size_t mapViewToFullReactionIndex (size_t definedReactionIndex) const
+ Maps a culled reaction index to a full reaction index.
+
+void validateNetworkState () const
+
+void collect (const std::vector< std::string > &peNames)
+
+
+
+quill::Logger * m_logger = fourdst::logging::LogManager::getInstance().getLogger("log")
+ Active species in the defined engine.
+
+std::set< fourdst::atomic::Species > m_activeSpecies
+ Cache for the active species vector to avoid dangling references.
+
+std::optional< std::vector< fourdst::atomic::Species > > m_activeSpeciesVectorCache = std::nullopt
+ Active reactions in the defined engine.
+
+reaction::ReactionSet m_activeReactions
+ Maps indices of active species to indices in the full network.
+
+std::vector< size_t > m_speciesIndexMap
+ Maps indices of active reactions to indices in the full network.
+
+std::vector< size_t > m_reactionIndexMap
+
+
+
+
+
◆ DefinedEngineView()
+
+
+
+
+
+ gridfire::engine::DefinedEngineView::DefinedEngineView
+ (
+ const std::vector< std::string > & peNames ,
+
+
+
+
+ GraphEngine & baseEngine )
+
+
+
+
+
+
+
+
+
◆ calculateEpsDerivatives()
+
+
+
+
+
+
+
+
+ EnergyDerivatives gridfire::engine::DefinedEngineView::calculateEpsDerivatives
+ (
+ const fourdst::composition::CompositionAbstract & comp ,
+
+
+
+
+ double T9 ,
+
+
+
+
+ double rho ) const
+
+
+
+
+nodiscard override virtual
+
+
+
+
+
Calculate the derivatives of the energy generation rate with respect to T and rho.
+
Parameters
+
+ comp Composition object containing current abundances.
+ T9 Temperature in units of 10^9 K.
+ rho Density in g/cm^3.
+
+
+
+
Returns EnergyDerivatives containing dEps/dT and dEps/dRho.
+
This method computes the partial derivatives of the specific nuclear energy generation rate with respect to temperature and density for the current state.
+
+
Implements gridfire::engine::DynamicEngine .
+
+
+
+
+
◆ calculateMolarReactionFlow()
+
+
+
+
+
+
+
+
+ double gridfire::engine::DefinedEngineView::calculateMolarReactionFlow
+ (
+ const reaction::Reaction & reaction ,
+
+
+
+
+ const fourdst::composition::CompositionAbstract & comp ,
+
+
+
+
+ double T9 ,
+
+
+
+
+ double rho ) const
+
+
+
+
+nodiscard override virtual
+
+
+
+
+
Calculates the molar reaction flow for a given reaction in the active network.
+
Parameters
+
+ reaction The reaction for which to calculate the flow.
+ comp A Composition object containing the current composition of the system
+ T9 Temperature in units of 10^9 K.
+ rho Density in g/cm^3.
+
+
+
+
Returns Molar flow rate for the reaction (e.g., mol/g/s).
+
Exceptions
+
+ std::runtime_error If the view is stale or if the reaction is not in the active set.
+
+
+
+
+
Implements gridfire::engine::DynamicEngine .
+
+
+
+
+
◆ calculateRHSAndEnergy()
+
+
+
+
+
+
+
+
+ std::expected< StepDerivatives < double >, EngineStatus > gridfire::engine::DefinedEngineView::calculateRHSAndEnergy
+ (
+ const fourdst::composition::CompositionAbstract & comp ,
+
+
+
+
+ double T9 ,
+
+
+
+
+ double rho ) const
+
+
+
+
+nodiscard override virtual
+
+
+
+
+
Calculates the right-hand side (dY/dt) and energy generation for the active species.
+
Parameters
+
+ comp A Composition object containing the current composition of the system
+ T9 The temperature in units of 10^9 K.
+ rho The density in g/cm^3.
+
+
+
+
Returns A StepDerivatives struct containing the derivatives of the active species and the nuclear energy generation rate.
+
Exceptions
+
+ std::runtime_error If the view is stale (i.e., update() has not been called after setNetworkFile()).
+
+
+
+
+
Implements gridfire::engine::Engine .
+
+
+
+
+
◆ collect()
+
+
+
+
+
+
+
+
+ void gridfire::engine::DefinedEngineView::collect
+ (
+ const std::vector< std::string > & peNames )
+
+
+
+
+
+private
+
+
+
+
+
+
+
+
◆ collectComposition()
+
+
+
+
+
+
+
+
+ fourdst::composition::Composition gridfire::engine::DefinedEngineView::collectComposition
+ (
+ const fourdst::composition::CompositionAbstract & comp ,
+
+
+
+
+ double T9 ,
+
+
+
+
+ double rho ) const
+
+
+
+
+nodiscard override virtual
+
+
+
+
+
Collects a Composition object from the base engine.
+
Parameters
+
+ comp The full Composition object.
+ T9 The temperature in units of 10^9 K.
+ rho The density in g/cm^3.
+
+
+
+
Returns A composition object representing the state of the engine stack and the current view.
+
+
Implements gridfire::engine::DynamicEngine .
+
+
+
+
+
◆ constructReactionIndexMap()
+
+
+
+
+
+
+
+
+ std::vector< size_t > gridfire::engine::DefinedEngineView::constructReactionIndexMap
+ (
+ )
+ const
+
+
+
+
+nodiscard private
+
+
+
+
+
Constructs the reaction index map.
+
Returns A vector mapping defined reaction indices to full reaction indices.
+
This method creates a map from the indices of the active reactions to the indices of the corresponding reactions in the full network.
+
Exceptions
+
+ std::runtime_error If an active reaction is not found in the base engine's reaction list.
+
+
+
+
+
+
+
+
◆ constructSpeciesIndexMap()
+
+
+
+
+
+
+
+
+ std::vector< size_t > gridfire::engine::DefinedEngineView::constructSpeciesIndexMap
+ (
+ )
+ const
+
+
+
+
+nodiscard private
+
+
+
+
+
Constructs the species index map.
+
Returns A vector mapping defined species indices to full species indices.
+
This method creates a map from the indices of the active species to the indices of the corresponding species in the full network.
+
Exceptions
+
+ std::runtime_error If an active species is not found in the base engine's species list.
+
+
+
+
+
+
+
+
◆ generateJacobianMatrix() [1/3]
+
+
+
+
+
+
+
+
+ NetworkJacobian gridfire::engine::DefinedEngineView::generateJacobianMatrix
+ (
+ const fourdst::composition::CompositionAbstract & comp ,
+
+
+
+
+ double T9 ,
+
+
+
+
+ double rho ) const
+
+
+
+
+nodiscard override virtual
+
+
+
+
+
Generates the Jacobian matrix for the active species.
+
Parameters
+
+ comp A Composition object containing the current composition of the system
+ T9 The temperature in units of 10^9 K.
+ rho The density in g/cm^3.
+
+
+
+
Exceptions
+
+ std::runtime_error If the view is stale.
+
+
+
+
+
Implements gridfire::engine::DynamicEngine .
+
+
+
+
+
◆ generateJacobianMatrix() [2/3]
+
+
+
+
+
+
+
+
+ NetworkJacobian gridfire::engine::DefinedEngineView::generateJacobianMatrix
+ (
+ const fourdst::composition::CompositionAbstract & comp ,
+
+
+
+
+ double T9 ,
+
+
+
+
+ double rho ,
+
+
+
+
+ const SparsityPattern & sparsityPattern ) const
+
+
+
+
+nodiscard override virtual
+
+
+
+
+
Generates the Jacobian matrix for a given sparsity pattern.
+
Parameters
+
+ comp A Composition object containing the current composition of the system
+ T9 The temperature in units of 10^9 K.
+ rho The density in g/cm^3.
+ sparsityPattern The sparsity pattern to use for the Jacobian matrix.
+
+
+
+
Exceptions
+
+ std::runtime_error If the view is stale.
+
+
+
+
+
Implements gridfire::engine::DynamicEngine .
+
+
+
+
+
◆ generateJacobianMatrix() [3/3]
+
+
+
+
+
+
+
+
+ NetworkJacobian gridfire::engine::DefinedEngineView::generateJacobianMatrix
+ (
+ const fourdst::composition::CompositionAbstract & comp ,
+
+
+
+
+ double T9 ,
+
+
+
+
+ double rho ,
+
+
+
+
+ const std::vector< fourdst::atomic::Species > & activeSpecies ) const
+
+
+
+
+nodiscard override virtual
+
+
+
+
+
Generates the Jacobian matrix for the active species.
+
Parameters
+
+ comp A Composition object containing the current composition of the system
+ T9 The temperature in units of 10^9 K.
+ rho The density in g/cm^3.
+ activeSpecies The vector of active species to include in the Jacobian.
+
+
+
+
Exceptions
+
+ std::runtime_error If the view is stale.
+
+
+
+
+
Implements gridfire::engine::DynamicEngine .
+
+
+
+
+
◆ generateStoichiometryMatrix()
+
+
+
+
+
+
+
+
+ void gridfire::engine::DefinedEngineView::generateStoichiometryMatrix
+ (
+ )
+
+
+
+
+
+override virtual
+
+
+
+
+
Generates the stoichiometry matrix for the active reactions and species.
+
Exceptions
+
+ std::runtime_error If the view is stale.
+
+
+
+
+
Implements gridfire::engine::DynamicEngine .
+
+
+
+
+
◆ getBaseEngine()
+
+
+
+
+
+
+
+
+ const DynamicEngine & gridfire::engine::DefinedEngineView::getBaseEngine
+ (
+ )
+ const
+
+
+
+
+nodiscard override virtual
+
+
+
+
+
+
◆ getNetworkReactions()
+
+
+
+
+
+
+
+
+ const reaction::ReactionSet & gridfire::engine::DefinedEngineView::getNetworkReactions
+ (
+ )
+ const
+
+
+
+
+nodiscard override virtual
+
+
+
+
+
Gets the set of active logical reactions in the network.
+
Returns Reference to the LogicalReactionSet containing all active reactions.
+
Exceptions
+
+ std::runtime_error If the view is stale.
+
+
+
+
+
Implements gridfire::engine::DynamicEngine .
+
+
+
+
+
◆ getNetworkSpecies()
+
+
+
+
+
+
+
+
+ const std::vector< Species > & gridfire::engine::DefinedEngineView::getNetworkSpecies
+ (
+ )
+ const
+
+
+
+
+nodiscard override virtual
+
+
+
+
+
Gets the list of active species in the network defined by the file.
+
Returns A const reference to the vector of active species.
+
+
Implements gridfire::engine::Engine .
+
+
+
+
+
◆ getScreeningModel()
+
+
+
+
+
+
+
+
+
+nodiscard override virtual
+
+
+
+
+
+
◆ getSpeciesDestructionTimescales()
+
+
+
+
+
+
+
+
+ std::expected< std::unordered_map< Species, double >, EngineStatus > gridfire::engine::DefinedEngineView::getSpeciesDestructionTimescales
+ (
+ const fourdst::composition::CompositionAbstract & comp ,
+
+
+
+
+ double T9 ,
+
+
+
+
+ double rho ) const
+
+
+
+
+nodiscard override virtual
+
+
+
+
+
Computes destruction timescales for all active species in the network.
+
Parameters
+
+ comp A Composition object containing the current composition of the system
+ T9 Temperature in units of 10^9 K.
+ rho Density in g/cm^3.
+
+
+
+
Returns Map from Species to their destruction timescales (s).
+
Exceptions
+
+ std::runtime_error If the view is stale.
+
+
+
+
+
Implements gridfire::engine::DynamicEngine .
+
+
+
+
+
◆ getSpeciesIndex()
+
+
+
+
+
+
+
+
+ size_t gridfire::engine::DefinedEngineView::getSpeciesIndex
+ (
+ const fourdst::atomic::Species & species )
+ const
+
+
+
+
+nodiscard override virtual
+
+
+
+
+
Maps a species from the full network to its index in the defined active network.
+
Parameters
+
+ species The species to map.
+
+
+
+
Returns The index of the species in the active network.
+
Exceptions
+
+ std::runtime_error If the species is not in the active set.
+
+
+
+
+
Implements gridfire::engine::DynamicEngine .
+
+
+
+
+
◆ getSpeciesStatus()
+
+
+
+
+
+
+
+
+ SpeciesStatus gridfire::engine::DefinedEngineView::getSpeciesStatus
+ (
+ const fourdst::atomic::Species & species )
+ const
+
+
+
+
+nodiscard override virtual
+
+
+
+
+
Gets the status of a species in the active network.
+
Parameters
+
+ species The species for which to get the status.
+
+
+
+
Returns The SpeciesStatus indicating if the species is active, inactive, or not present.
+
+
Implements gridfire::engine::DynamicEngine .
+
+
+
+
+
◆ getSpeciesTimescales()
+
+
+
+
+
+
+
+
+ std::expected< std::unordered_map< Species, double >, EngineStatus > gridfire::engine::DefinedEngineView::getSpeciesTimescales
+ (
+ const fourdst::composition::CompositionAbstract & comp ,
+
+
+
+
+ double T9 ,
+
+
+
+
+ double rho ) const
+
+
+
+
+nodiscard override virtual
+
+
+
+
+
Computes timescales for all active species in the network.
+
Parameters
+
+ comp A Composition object containing the current composition of the system
+ T9 Temperature in units of 10^9 K.
+ rho Density in g/cm^3.
+
+
+
+
Returns Map from Species to their characteristic timescales (s).
+
Exceptions
+
+ std::runtime_error If the view is stale.
+
+
+
+
+
Implements gridfire::engine::DynamicEngine .
+
+
+
+
+
◆ getStoichiometryMatrixEntry()
+
+
+
+
+
+
+
+
+ int gridfire::engine::DefinedEngineView::getStoichiometryMatrixEntry
+ (
+ const fourdst::atomic::Species & species ,
+
+
+
+
+ const reaction::Reaction & reaction ) const
+
+
+
+
+nodiscard override virtual
+
+
+
+
+
Gets an entry from the stoichiometry matrix for the active species and reactions.
+
Parameters
+
+ species The species for which to get the stoichiometric coefficient.
+ reaction The reaction for which to get the stoichiometric coefficient.
+
+
+
+
Returns The stoichiometric coefficient for the given species and reaction.
+
Exceptions
+
+ std::runtime_error If the view is stale.
+ std::out_of_range If an index is out of bounds.
+
+
+
+
+
Implements gridfire::engine::DynamicEngine .
+
+
+
+
+
◆ isStale()
+
+
+
+
+
+
+
+
+ bool gridfire::engine::DefinedEngineView::isStale
+ (
+ const NetIn & netIn )
+
+
+
+
+
+override virtual
+
+
+
+
+
Checks if the engine view is stale.
+
Parameters
+
+ netIn The current network input (unused).
+
+
+
+
Returns True if the view is stale and needs to be updated; false otherwise.
+
+
Implements gridfire::engine::DynamicEngine .
+
+
+
+
+
◆ mapFullToView()
+
+
+
+
+
+
+
+
+ std::vector< double > gridfire::engine::DefinedEngineView::mapFullToView
+ (
+ const std::vector< double > & full )
+ const
+
+
+
+
+nodiscard private
+
+
+
+
+
Maps a vector of full abundances to a vector of culled abundances.
+
Parameters
+
+ full A vector of abundances for the full network.
+
+
+
+
Returns A vector of abundances for the active species, with the abundances of the active species copied from the full vector.
+
+
+
+
+
◆ mapNetInToMolarAbundanceVector()
+
+
+
+
+
+
+
+
+ std::vector< double > gridfire::engine::DefinedEngineView::mapNetInToMolarAbundanceVector
+ (
+ const NetIn & netIn )
+ const
+
+
+
+
+nodiscard override virtual
+
+
+
+
+
Map from a NetIn object to a vector of molar abundances for the active species.
+
Parameters
+
+ netIn The NetIn object containing the full network abundances.
+
+
+
+
Returns A vector of molar abundances for the active species.
+
+
Implements gridfire::engine::DynamicEngine .
+
+
+
+
+
◆ mapViewToFull()
+
+
+
+
+
+
+
+
+ std::vector< double > gridfire::engine::DefinedEngineView::mapViewToFull
+ (
+ const std::vector< double > & defined )
+ const
+
+
+
+
+nodiscard private
+
+
+
+
+
Maps a vector of culled abundances to a vector of full abundances.
+
Parameters
+
+ defined A vector of abundances for the active species.
+
+
+
+
Returns A vector of abundances for the full network, with the abundances of the active species copied from the defined vector.
+
+
+
+
+
◆ mapViewToFullReactionIndex()
+
+
+
+
+
+
+
+
+ size_t gridfire::engine::DefinedEngineView::mapViewToFullReactionIndex
+ (
+ size_t definedReactionIndex )
+ const
+
+
+
+
+nodiscard private
+
+
+
+
+
Maps a culled reaction index to a full reaction index.
+
Parameters
+
+ definedReactionIndex The index of the reaction in the defined reaction list.
+
+
+
+
Returns The index of the corresponding reaction in the full network.
+
Exceptions
+
+ std::out_of_range If the defined index is out of bounds for the reaction index map.
+
+
+
+
+
+
+
+
◆ mapViewToFullSpeciesIndex()
+
+
+
+
+
+
+
+
+ size_t gridfire::engine::DefinedEngineView::mapViewToFullSpeciesIndex
+ (
+ size_t definedSpeciesIndex )
+ const
+
+
+
+
+nodiscard private
+
+
+
+
+
Maps a culled species index to a full species index.
+
Parameters
+
+ definedSpeciesIndex The index of the species in the defined species list.
+
+
+
+
Returns The index of the corresponding species in the full network.
+
Exceptions
+
+ std::out_of_range If the defined index is out of bounds for the species index map.
+
+
+
+
+
+
+
+
◆ primeEngine()
+
+
+
+
+
+
+
+
+ PrimingReport gridfire::engine::DefinedEngineView::primeEngine
+ (
+ const NetIn & netIn )
+
+
+
+
+
+nodiscard override virtual
+
+
+
+
+
Prime the engine view for calculations. This will delegate to the base engine.
+
Parameters
+
+ netIn The current network input.
+
+
+
+
Returns The PrimingReport from the base engine.
+
+
Implements gridfire::engine::DynamicEngine .
+
+
+
+
+
◆ setNetworkReactions()
+
+
+
+
+
+
+
+
+ void gridfire::engine::DefinedEngineView::setNetworkReactions
+ (
+ const reaction::ReactionSet & reactions )
+
+
+
+
+
+override virtual
+
+
+
+
+
Sets the active reactions in the network.
+
Parameters
+
+ reactions The ReactionSet containing the reactions to set as active.
+
+
+
+
Postcondition The view is marked as stale and will need to be updated.
+
+
Implements gridfire::engine::DynamicEngine .
+
+
+
+
+
◆ setScreeningModel()
+
+
+
+
+
+
+
+
+
+override virtual
+
+
+
+
+
+
◆ update()
+
+
+
+
+
+
+
+
+ fourdst::composition::Composition gridfire::engine::DefinedEngineView::update
+ (
+ const NetIn & netIn )
+
+
+
+
+
+override virtual
+
+
+
+
+
Updates the engine view if it is marked as stale.
+
This method checks if the view is stale (e.g., after setNetworkFile was called). If it is, it rebuilds the active network from the currently set file. The netIn parameter is not used by this implementation but is required by the interface.
+
Parameters
+
+ netIn The current network input (unused).
+
+
+
+
Postcondition If the view was stale, it is rebuilt and is no longer stale.
+
+
Implements gridfire::engine::DynamicEngine .
+
+
+
+
+
◆ validateNetworkState()
+
+
+
+
+
+
+
+
+ void gridfire::engine::DefinedEngineView::validateNetworkState
+ (
+ )
+ const
+
+
+
+
+private
+
+
+
+
+
+
+
+
+
◆ m_activeReactions
+
+
+
+
+
Maps indices of active species to indices in the full network.
+
+
+
+
+
◆ m_activeSpecies
+
+
+
+
+
+
+
+
+ std::set<fourdst::atomic::Species> gridfire::engine::DefinedEngineView::m_activeSpecies
+
+
+
+
+private
+
+
+
+
+
Cache for the active species vector to avoid dangling references.
+
+
+
+
+
◆ m_activeSpeciesVectorCache
+
+
+
+
+
+
+
+
+ std::optional<std::vector<fourdst::atomic::Species> > gridfire::engine::DefinedEngineView::m_activeSpeciesVectorCache = std::nullopt
+
+
+
+
+mutable private
+
+
+
+
+
Active reactions in the defined engine.
+
+
+
+
+
◆ m_baseEngine
+
+
+
+
+
+
+
+
+ GraphEngine & gridfire::engine::DefinedEngineView::m_baseEngine
+
+
+
+
+protected
+
+
+
+
+
+
+
+
◆ m_isStale
+
+
+
+
+
+
+
+
+ bool gridfire::engine::DefinedEngineView::m_isStale = true
+
+
+
+
+protected
+
+
+
+
+
+
+
+
◆ m_logger
+
+
+
+
+
+
+
+
+ quill::Logger* gridfire::engine::DefinedEngineView::m_logger = fourdst::logging::LogManager::getInstance().getLogger("log")
+
+
+
+
+private
+
+
+
+
+
Active species in the defined engine.
+
Logger instance for trace and debug information.
+
+
+
+
+
◆ m_reactionIndexMap
+
+
+
+
+
+
+
+
+ std::vector<size_t> gridfire::engine::DefinedEngineView::m_reactionIndexMap
+
+
+
+
+private
+
+
+
+
+
+
+
+
◆ m_speciesIndexMap
+
+
+
+
+
+
+
+
+ std::vector<size_t> gridfire::engine::DefinedEngineView::m_speciesIndexMap
+
+
+
+
+private
+
+
+
+
+
Maps indices of active reactions to indices in the full network.
+
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_defined_engine_view.js b/docs/html/classgridfire_1_1engine_1_1_defined_engine_view.js
new file mode 100644
index 00000000..59e50dbe
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_defined_engine_view.js
@@ -0,0 +1,43 @@
+var classgridfire_1_1engine_1_1_defined_engine_view =
+[
+ [ "DefinedEngineView", "classgridfire_1_1engine_1_1_defined_engine_view.html#ada2f326789dc8ae8305617c8d700ae05", null ],
+ [ "calculateEpsDerivatives", "classgridfire_1_1engine_1_1_defined_engine_view.html#a2a866a7ba9572d36efab8efe72a063f5", null ],
+ [ "calculateMolarReactionFlow", "classgridfire_1_1engine_1_1_defined_engine_view.html#a2f0ad1febc467bce87b5c6ad29b059fb", null ],
+ [ "calculateRHSAndEnergy", "classgridfire_1_1engine_1_1_defined_engine_view.html#a82cbef591ef1aafcb9a42e01bf38fc38", null ],
+ [ "collect", "classgridfire_1_1engine_1_1_defined_engine_view.html#a38191e2b3b219d348eba0109dce271c3", null ],
+ [ "collectComposition", "classgridfire_1_1engine_1_1_defined_engine_view.html#a25dc44af1a58561b665103b16abe9bbc", null ],
+ [ "constructReactionIndexMap", "classgridfire_1_1engine_1_1_defined_engine_view.html#a8464c50142f34583201c4abc7fbcba36", null ],
+ [ "constructSpeciesIndexMap", "classgridfire_1_1engine_1_1_defined_engine_view.html#a20b54c8b13616982eddb3ae3979b842d", null ],
+ [ "generateJacobianMatrix", "classgridfire_1_1engine_1_1_defined_engine_view.html#a4d90439d99da61107d95319b970760bc", null ],
+ [ "generateJacobianMatrix", "classgridfire_1_1engine_1_1_defined_engine_view.html#a1de5867a0e633de0d0d96ac4fbb141e5", null ],
+ [ "generateJacobianMatrix", "classgridfire_1_1engine_1_1_defined_engine_view.html#a4966f8cbc859ce2a8a465516d0c0abd0", null ],
+ [ "generateStoichiometryMatrix", "classgridfire_1_1engine_1_1_defined_engine_view.html#af4049e5570bd143d41cab1d4005b6824", null ],
+ [ "getBaseEngine", "classgridfire_1_1engine_1_1_defined_engine_view.html#ab6f82ef31b99bfe8a6c4e475bcdb96f8", null ],
+ [ "getNetworkReactions", "classgridfire_1_1engine_1_1_defined_engine_view.html#a81732c1b2d08451849c1ddf833246892", null ],
+ [ "getNetworkSpecies", "classgridfire_1_1engine_1_1_defined_engine_view.html#a0af3e1ac0314a485171f1dda39929cb4", null ],
+ [ "getScreeningModel", "classgridfire_1_1engine_1_1_defined_engine_view.html#a413b111f6a643d7aecbae01dd0f82640", null ],
+ [ "getSpeciesDestructionTimescales", "classgridfire_1_1engine_1_1_defined_engine_view.html#ab051d976dbecf325747d54efe7834d04", null ],
+ [ "getSpeciesIndex", "classgridfire_1_1engine_1_1_defined_engine_view.html#afb3c67ce20746b9acb2766920b8f397b", null ],
+ [ "getSpeciesStatus", "classgridfire_1_1engine_1_1_defined_engine_view.html#a65af092785759559f4697c7e66bef2e3", null ],
+ [ "getSpeciesTimescales", "classgridfire_1_1engine_1_1_defined_engine_view.html#a1edda1a27247480660cf7a63410f5799", null ],
+ [ "getStoichiometryMatrixEntry", "classgridfire_1_1engine_1_1_defined_engine_view.html#a600dd38a6011089527024f1625130935", null ],
+ [ "isStale", "classgridfire_1_1engine_1_1_defined_engine_view.html#a6ef3052fce2d5e4fdaec6659df64c2bc", null ],
+ [ "mapFullToView", "classgridfire_1_1engine_1_1_defined_engine_view.html#a391bc4b5d946ea606cf7661955191d12", null ],
+ [ "mapNetInToMolarAbundanceVector", "classgridfire_1_1engine_1_1_defined_engine_view.html#aa053696a7885b8e42562b2d22ee32d84", null ],
+ [ "mapViewToFull", "classgridfire_1_1engine_1_1_defined_engine_view.html#aa352f3ba0e689d3f81711c17f4f67dfc", null ],
+ [ "mapViewToFullReactionIndex", "classgridfire_1_1engine_1_1_defined_engine_view.html#afa9aeb6d11645e4b9cecf56fb63b51ef", null ],
+ [ "mapViewToFullSpeciesIndex", "classgridfire_1_1engine_1_1_defined_engine_view.html#ad6986fa5cda1d9ed9d4f54f444f402e8", null ],
+ [ "primeEngine", "classgridfire_1_1engine_1_1_defined_engine_view.html#a2bc32a84c9f5372587fca92f2da77595", null ],
+ [ "setNetworkReactions", "classgridfire_1_1engine_1_1_defined_engine_view.html#ae89529e13f2b7fd2febcfa5af40d4666", null ],
+ [ "setScreeningModel", "classgridfire_1_1engine_1_1_defined_engine_view.html#a68bd0e51d3e127e5f9fd74fdb8180fd9", null ],
+ [ "update", "classgridfire_1_1engine_1_1_defined_engine_view.html#a1d99b55bf8e94bc2397715aa1f916733", null ],
+ [ "validateNetworkState", "classgridfire_1_1engine_1_1_defined_engine_view.html#a91ea88e43c17f99ff0d95a8f54b09cbf", null ],
+ [ "m_activeReactions", "classgridfire_1_1engine_1_1_defined_engine_view.html#ae8ac4dc44a6c9f3588d6dd02b39a4cc9", null ],
+ [ "m_activeSpecies", "classgridfire_1_1engine_1_1_defined_engine_view.html#aad986ed7c9602ba042999cf0a30ed70c", null ],
+ [ "m_activeSpeciesVectorCache", "classgridfire_1_1engine_1_1_defined_engine_view.html#add093054fe3ba60f99b04f7f3bda4ba3", null ],
+ [ "m_baseEngine", "classgridfire_1_1engine_1_1_defined_engine_view.html#a1e46935f049537e675fb132564d6eacd", null ],
+ [ "m_isStale", "classgridfire_1_1engine_1_1_defined_engine_view.html#a3156dfef68cd3636f8cf7a13b5388e75", null ],
+ [ "m_logger", "classgridfire_1_1engine_1_1_defined_engine_view.html#a3ba348cf85f0098071d23b0a3cea7078", null ],
+ [ "m_reactionIndexMap", "classgridfire_1_1engine_1_1_defined_engine_view.html#aa9a26262300b0982b847a72425dc373a", null ],
+ [ "m_speciesIndexMap", "classgridfire_1_1engine_1_1_defined_engine_view.html#a26af4be40216ee3ea5b7fff49fe7a00c", null ]
+];
\ No newline at end of file
diff --git a/docs/html/classgridfire_1_1engine_1_1_defined_engine_view__coll__graph.map b/docs/html/classgridfire_1_1engine_1_1_defined_engine_view__coll__graph.map
new file mode 100644
index 00000000..eb23af12
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_defined_engine_view__coll__graph.map
@@ -0,0 +1,98 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_defined_engine_view__coll__graph.md5 b/docs/html/classgridfire_1_1engine_1_1_defined_engine_view__coll__graph.md5
new file mode 100644
index 00000000..bff233cb
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_defined_engine_view__coll__graph.md5
@@ -0,0 +1 @@
+df6d4284022172f67c89a6ed8c78f895
\ No newline at end of file
diff --git a/docs/html/classgridfire_1_1engine_1_1_defined_engine_view__coll__graph.svg b/docs/html/classgridfire_1_1engine_1_1_defined_engine_view__coll__graph.svg
new file mode 100644
index 00000000..693ec0cf
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_defined_engine_view__coll__graph.svg
@@ -0,0 +1,1058 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+gridfire::engine::DefinedEngineView
+
+
+Node1
+
+
+gridfire::engine::Defined
+EngineView
+
+
+
+
+
+Node2
+
+
+gridfire::engine::Dynamic
+Engine
+
+
+
+
+
+Node2->Node1
+
+
+
+
+
+
+
+
+Node5
+
+
+gridfire::engine::GraphEngine
+
+
+
+
+
+Node2->Node5
+
+
+
+
+
+
+
+
+Node3
+
+
+gridfire::engine::Engine
+
+
+
+
+
+Node3->Node2
+
+
+
+
+
+
+
+
+Node4
+
+
+gridfire::engine::Engine
+View< DynamicEngine >
+
+
+
+
+
+Node4->Node1
+
+
+
+
+
+
+
+
+Node5->Node1
+
+
+
+
+
+ m_baseEngine
+
+
+
+Node33
+
+
+gridfire::engine::GraphEngine
+::AtomicReverseRate
+
+
+
+
+
+Node5->Node33
+
+
+
+
+
+ m_engine
+
+
+
+Node6
+
+
+std::unordered_map
+< JacobianMatrixState,
+ std::string >
+
+
+
+
+
+Node6->Node5
+
+
+
+
+
+ m_jacobianMatrixStateNameMap
+
+
+
+Node7
+
+
+std::string
+
+
+
+
+
+Node7->Node6
+
+
+
+
+
+ elements
+
+
+
+Node16
+
+
+gridfire::reaction
+::ReactionSet
+
+
+
+
+
+Node7->Node16
+
+
+
+
+
+ m_id
+
+
+
+Node20
+
+
+std::unordered_map
+< std::string, size_t >
+
+
+
+
+
+Node7->Node20
+
+
+
+
+
+ keys
+
+
+
+Node8
+
+
+std::basic_string<
+ Char >
+
+
+
+
+
+Node8->Node7
+
+
+
+
+
+
+
+
+Node9
+
+
+gridfire::engine::GraphEngine
+::constants
+
+
+
+
+
+Node9->Node5
+
+
+
+
+
+ m_constants
+
+
+
+Node10
+
+
+gridfire::rates::weak
+::WeakRateInterpolator
+
+
+
+
+
+Node10->Node5
+
+
+
+
+
+ m_weakRateInterpolator
+
+
+
+Node11
+
+
+std::unordered_map
+< uint32_t, gridfire
+::rates::weak::IsotopeGrid >
+
+
+
+
+
+Node11->Node10
+
+
+
+
+
+ m_rate_table
+
+
+
+Node12
+
+
+gridfire::rates::weak
+::IsotopeGrid
+
+
+
+
+
+Node12->Node11
+
+
+
+
+
+ elements
+
+
+
+Node13
+
+
+std::vector< double >
+
+
+
+
+
+Node13->Node12
+
+
+
+
+
+ rhoYe_axis
+t9_axis
+
+
+
+Node14
+
+
+std::vector< gridfire
+::rates::weak::WeakRatePayload >
+
+
+
+
+
+Node14->Node12
+
+
+
+
+
+ data
+
+
+
+Node15
+
+
+gridfire::rates::weak
+::WeakRatePayload
+
+
+
+
+
+Node15->Node14
+
+
+
+
+
+ elements
+
+
+
+Node16->Node1
+
+
+
+
+
+ m_activeReactions
+
+
+
+Node16->Node5
+
+
+
+
+
+ m_reactions
+
+
+
+Node17
+
+
+std::vector< std::unique
+_ptr< gridfire::reaction
+::Reaction > >
+
+
+
+
+
+Node17->Node16
+
+
+
+
+
+ m_reactions
+
+
+
+Node18
+
+
+std::unique_ptr< gridfire
+::reaction::Reaction >
+
+
+
+
+
+Node18->Node17
+
+
+
+
+
+ elements
+
+
+
+Node19
+
+
+gridfire::reaction
+::Reaction
+
+
+
+
+
+Node19->Node18
+
+
+
+
+
+ ptr
+
+
+
+Node22
+
+
+std::unordered_map
+< std::string_view,
+ gridfire::reaction::
+Reaction * >
+
+
+
+
+
+Node19->Node22
+
+
+
+
+
+ elements
+
+
+
+Node19->Node33
+
+
+
+
+
+ m_reaction
+
+
+
+Node20->Node16
+
+
+
+
+
+ m_reactionNameMap
+
+
+
+Node21
+
+
+std::unordered_set
+< size_t >
+
+
+
+
+
+Node21->Node16
+
+
+
+
+
+ m_reactionHashes
+
+
+
+Node22->Node5
+
+
+
+
+
+ m_reactionIDMap
+
+
+
+Node23
+
+
+std::string_view
+
+
+
+
+
+Node23->Node22
+
+
+
+
+
+ keys
+
+
+
+Node26
+
+
+std::unordered_map
+< std::string_view,
+ fourdst::atomic::Species >
+
+
+
+
+
+Node23->Node26
+
+
+
+
+
+ keys
+
+
+
+Node24
+
+
+std::basic_string_view
+< Char >
+
+
+
+
+
+Node24->Node23
+
+
+
+
+
+
+
+
+Node25
+
+
+std::vector< fourdst
+::atomic::Species >
+
+
+
+
+
+Node25->Node5
+
+
+
+
+
+ m_networkSpecies
+
+
+
+Node26->Node5
+
+
+
+
+
+ m_networkSpeciesMap
+
+
+
+Node27
+
+
+std::unordered_map
+< fourdst::atomic::Species,
+ size_t >
+
+
+
+
+
+Node27->Node5
+
+
+
+
+
+ m_speciesToIndexMap
+
+
+
+Node28
+
+
+std::unordered_map
+< size_t, fourdst::atomic
+::Species >
+
+
+
+
+
+Node28->Node5
+
+
+
+
+
+ m_indexToSpeciesMap
+
+
+
+Node29
+
+
+std::set< std::pair
+< size_t, size_t > >
+
+
+
+
+
+Node29->Node5
+
+
+
+
+
+ m_full_sparsity_set
+
+
+
+Node30
+
+
+std::pair< size_t,
+ size_t >
+
+
+
+
+
+Node30->Node29
+
+
+
+
+
+ keys
+
+
+
+Node31
+
+
+std::vector< std::unique
+_ptr< gridfire::engine
+::GraphEngine::AtomicReverseRate > >
+
+
+
+
+
+Node31->Node5
+
+
+
+
+
+ m_atomicReverseRates
+
+
+
+Node32
+
+
+std::unique_ptr< gridfire
+::engine::GraphEngine::
+AtomicReverseRate >
+
+
+
+
+
+Node32->Node31
+
+
+
+
+
+ elements
+
+
+
+Node33->Node32
+
+
+
+
+
+ ptr
+
+
+
+Node34
+
+
+CppAD::atomic_base
+< double >
+
+
+
+
+
+Node34->Node33
+
+
+
+
+
+
+
+
+Node35
+
+
+std::unique_ptr< gridfire
+::screening::ScreeningModel >
+
+
+
+
+
+Node35->Node5
+
+
+
+
+
+ m_screeningModel
+
+
+
+Node36
+
+
+gridfire::screening
+::ScreeningModel
+
+
+
+
+
+Node36->Node35
+
+
+
+
+
+ ptr
+
+
+
+Node37
+
+
+std::vector< gridfire
+::engine::GraphEngine
+::PrecomputedReaction >
+
+
+
+
+
+Node37->Node5
+
+
+
+
+
+ m_precomputedReactions
+
+
+
+Node38
+
+
+gridfire::engine::GraphEngine
+::PrecomputedReaction
+
+
+
+
+
+Node38->Node37
+
+
+
+
+
+ elements
+
+
+
+Node39
+
+
+std::vector< size_t >
+
+
+
+
+
+Node39->Node1
+
+
+
+
+
+ m_reactionIndexMap
+m_speciesIndexMap
+
+
+
+Node39->Node38
+
+
+
+
+
+ affected_species_indices
+unique_product_indices
+unique_reactant_indices
+
+
+
+Node40
+
+
+std::vector< int >
+
+
+
+
+
+Node40->Node38
+
+
+
+
+
+ product_powers
+reactant_powers
+stoichiometric_coefficients
+
+
+
+Node41
+
+
+std::unordered_map
+< uint64_t, size_t >
+
+
+
+
+
+Node41->Node5
+
+
+
+
+
+ m_precomputedReactionIndexMap
+
+
+
+Node42
+
+
+std::unique_ptr< gridfire
+::partition::PartitionFunction >
+
+
+
+
+
+Node42->Node5
+
+
+
+
+
+ m_partitionFunction
+
+
+
+Node43
+
+
+gridfire::partition
+::PartitionFunction
+
+
+
+
+
+Node43->Node42
+
+
+
+
+
+ ptr
+
+
+
+Node44
+
+
+std::set< fourdst::
+atomic::Species >
+
+
+
+
+
+Node44->Node1
+
+
+
+
+
+ m_activeSpecies
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_defined_engine_view__coll__graph_org.svg b/docs/html/classgridfire_1_1engine_1_1_defined_engine_view__coll__graph_org.svg
new file mode 100644
index 00000000..9b489e2c
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_defined_engine_view__coll__graph_org.svg
@@ -0,0 +1,975 @@
+
+
+
+
+
+
+gridfire::engine::DefinedEngineView
+
+
+Node1
+
+
+gridfire::engine::Defined
+EngineView
+
+
+
+
+
+Node2
+
+
+gridfire::engine::Dynamic
+Engine
+
+
+
+
+
+Node2->Node1
+
+
+
+
+
+
+
+
+Node5
+
+
+gridfire::engine::GraphEngine
+
+
+
+
+
+Node2->Node5
+
+
+
+
+
+
+
+
+Node3
+
+
+gridfire::engine::Engine
+
+
+
+
+
+Node3->Node2
+
+
+
+
+
+
+
+
+Node4
+
+
+gridfire::engine::Engine
+View< DynamicEngine >
+
+
+
+
+
+Node4->Node1
+
+
+
+
+
+
+
+
+Node5->Node1
+
+
+
+
+
+ m_baseEngine
+
+
+
+Node33
+
+
+gridfire::engine::GraphEngine
+::AtomicReverseRate
+
+
+
+
+
+Node5->Node33
+
+
+
+
+
+ m_engine
+
+
+
+Node6
+
+
+std::unordered_map
+< JacobianMatrixState,
+ std::string >
+
+
+
+
+
+Node6->Node5
+
+
+
+
+
+ m_jacobianMatrixStateNameMap
+
+
+
+Node7
+
+
+std::string
+
+
+
+
+
+Node7->Node6
+
+
+
+
+
+ elements
+
+
+
+Node16
+
+
+gridfire::reaction
+::ReactionSet
+
+
+
+
+
+Node7->Node16
+
+
+
+
+
+ m_id
+
+
+
+Node20
+
+
+std::unordered_map
+< std::string, size_t >
+
+
+
+
+
+Node7->Node20
+
+
+
+
+
+ keys
+
+
+
+Node8
+
+
+std::basic_string<
+ Char >
+
+
+
+
+
+Node8->Node7
+
+
+
+
+
+
+
+
+Node9
+
+
+gridfire::engine::GraphEngine
+::constants
+
+
+
+
+
+Node9->Node5
+
+
+
+
+
+ m_constants
+
+
+
+Node10
+
+
+gridfire::rates::weak
+::WeakRateInterpolator
+
+
+
+
+
+Node10->Node5
+
+
+
+
+
+ m_weakRateInterpolator
+
+
+
+Node11
+
+
+std::unordered_map
+< uint32_t, gridfire
+::rates::weak::IsotopeGrid >
+
+
+
+
+
+Node11->Node10
+
+
+
+
+
+ m_rate_table
+
+
+
+Node12
+
+
+gridfire::rates::weak
+::IsotopeGrid
+
+
+
+
+
+Node12->Node11
+
+
+
+
+
+ elements
+
+
+
+Node13
+
+
+std::vector< double >
+
+
+
+
+
+Node13->Node12
+
+
+
+
+
+ rhoYe_axis
+t9_axis
+
+
+
+Node14
+
+
+std::vector< gridfire
+::rates::weak::WeakRatePayload >
+
+
+
+
+
+Node14->Node12
+
+
+
+
+
+ data
+
+
+
+Node15
+
+
+gridfire::rates::weak
+::WeakRatePayload
+
+
+
+
+
+Node15->Node14
+
+
+
+
+
+ elements
+
+
+
+Node16->Node1
+
+
+
+
+
+ m_activeReactions
+
+
+
+Node16->Node5
+
+
+
+
+
+ m_reactions
+
+
+
+Node17
+
+
+std::vector< std::unique
+_ptr< gridfire::reaction
+::Reaction > >
+
+
+
+
+
+Node17->Node16
+
+
+
+
+
+ m_reactions
+
+
+
+Node18
+
+
+std::unique_ptr< gridfire
+::reaction::Reaction >
+
+
+
+
+
+Node18->Node17
+
+
+
+
+
+ elements
+
+
+
+Node19
+
+
+gridfire::reaction
+::Reaction
+
+
+
+
+
+Node19->Node18
+
+
+
+
+
+ ptr
+
+
+
+Node22
+
+
+std::unordered_map
+< std::string_view,
+ gridfire::reaction::
+Reaction * >
+
+
+
+
+
+Node19->Node22
+
+
+
+
+
+ elements
+
+
+
+Node19->Node33
+
+
+
+
+
+ m_reaction
+
+
+
+Node20->Node16
+
+
+
+
+
+ m_reactionNameMap
+
+
+
+Node21
+
+
+std::unordered_set
+< size_t >
+
+
+
+
+
+Node21->Node16
+
+
+
+
+
+ m_reactionHashes
+
+
+
+Node22->Node5
+
+
+
+
+
+ m_reactionIDMap
+
+
+
+Node23
+
+
+std::string_view
+
+
+
+
+
+Node23->Node22
+
+
+
+
+
+ keys
+
+
+
+Node26
+
+
+std::unordered_map
+< std::string_view,
+ fourdst::atomic::Species >
+
+
+
+
+
+Node23->Node26
+
+
+
+
+
+ keys
+
+
+
+Node24
+
+
+std::basic_string_view
+< Char >
+
+
+
+
+
+Node24->Node23
+
+
+
+
+
+
+
+
+Node25
+
+
+std::vector< fourdst
+::atomic::Species >
+
+
+
+
+
+Node25->Node5
+
+
+
+
+
+ m_networkSpecies
+
+
+
+Node26->Node5
+
+
+
+
+
+ m_networkSpeciesMap
+
+
+
+Node27
+
+
+std::unordered_map
+< fourdst::atomic::Species,
+ size_t >
+
+
+
+
+
+Node27->Node5
+
+
+
+
+
+ m_speciesToIndexMap
+
+
+
+Node28
+
+
+std::unordered_map
+< size_t, fourdst::atomic
+::Species >
+
+
+
+
+
+Node28->Node5
+
+
+
+
+
+ m_indexToSpeciesMap
+
+
+
+Node29
+
+
+std::set< std::pair
+< size_t, size_t > >
+
+
+
+
+
+Node29->Node5
+
+
+
+
+
+ m_full_sparsity_set
+
+
+
+Node30
+
+
+std::pair< size_t,
+ size_t >
+
+
+
+
+
+Node30->Node29
+
+
+
+
+
+ keys
+
+
+
+Node31
+
+
+std::vector< std::unique
+_ptr< gridfire::engine
+::GraphEngine::AtomicReverseRate > >
+
+
+
+
+
+Node31->Node5
+
+
+
+
+
+ m_atomicReverseRates
+
+
+
+Node32
+
+
+std::unique_ptr< gridfire
+::engine::GraphEngine::
+AtomicReverseRate >
+
+
+
+
+
+Node32->Node31
+
+
+
+
+
+ elements
+
+
+
+Node33->Node32
+
+
+
+
+
+ ptr
+
+
+
+Node34
+
+
+CppAD::atomic_base
+< double >
+
+
+
+
+
+Node34->Node33
+
+
+
+
+
+
+
+
+Node35
+
+
+std::unique_ptr< gridfire
+::screening::ScreeningModel >
+
+
+
+
+
+Node35->Node5
+
+
+
+
+
+ m_screeningModel
+
+
+
+Node36
+
+
+gridfire::screening
+::ScreeningModel
+
+
+
+
+
+Node36->Node35
+
+
+
+
+
+ ptr
+
+
+
+Node37
+
+
+std::vector< gridfire
+::engine::GraphEngine
+::PrecomputedReaction >
+
+
+
+
+
+Node37->Node5
+
+
+
+
+
+ m_precomputedReactions
+
+
+
+Node38
+
+
+gridfire::engine::GraphEngine
+::PrecomputedReaction
+
+
+
+
+
+Node38->Node37
+
+
+
+
+
+ elements
+
+
+
+Node39
+
+
+std::vector< size_t >
+
+
+
+
+
+Node39->Node1
+
+
+
+
+
+ m_reactionIndexMap
+m_speciesIndexMap
+
+
+
+Node39->Node38
+
+
+
+
+
+ affected_species_indices
+unique_product_indices
+unique_reactant_indices
+
+
+
+Node40
+
+
+std::vector< int >
+
+
+
+
+
+Node40->Node38
+
+
+
+
+
+ product_powers
+reactant_powers
+stoichiometric_coefficients
+
+
+
+Node41
+
+
+std::unordered_map
+< uint64_t, size_t >
+
+
+
+
+
+Node41->Node5
+
+
+
+
+
+ m_precomputedReactionIndexMap
+
+
+
+Node42
+
+
+std::unique_ptr< gridfire
+::partition::PartitionFunction >
+
+
+
+
+
+Node42->Node5
+
+
+
+
+
+ m_partitionFunction
+
+
+
+Node43
+
+
+gridfire::partition
+::PartitionFunction
+
+
+
+
+
+Node43->Node42
+
+
+
+
+
+ ptr
+
+
+
+Node44
+
+
+std::set< fourdst::
+atomic::Species >
+
+
+
+
+
+Node44->Node1
+
+
+
+
+
+ m_activeSpecies
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_defined_engine_view__inherit__graph.map b/docs/html/classgridfire_1_1engine_1_1_defined_engine_view__inherit__graph.map
new file mode 100644
index 00000000..7023b1d3
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_defined_engine_view__inherit__graph.map
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_defined_engine_view__inherit__graph.md5 b/docs/html/classgridfire_1_1engine_1_1_defined_engine_view__inherit__graph.md5
new file mode 100644
index 00000000..fd89d929
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_defined_engine_view__inherit__graph.md5
@@ -0,0 +1 @@
+975d19fbccf299657dd340d1c59bab11
\ No newline at end of file
diff --git a/docs/html/classgridfire_1_1engine_1_1_defined_engine_view__inherit__graph.svg b/docs/html/classgridfire_1_1engine_1_1_defined_engine_view__inherit__graph.svg
new file mode 100644
index 00000000..4104e6fe
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_defined_engine_view__inherit__graph.svg
@@ -0,0 +1,199 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+gridfire::engine::DefinedEngineView
+
+
+Node1
+
+
+gridfire::engine::Defined
+EngineView
+
+
+
+
+
+Node5
+
+
+gridfire::engine::FileDefined
+EngineView
+
+
+
+
+
+Node1->Node5
+
+
+
+
+
+
+
+
+Node6
+
+
+gridfire::engine::Network
+PrimingEngineView
+
+
+
+
+
+Node1->Node6
+
+
+
+
+
+
+
+
+Node2
+
+
+gridfire::engine::Dynamic
+Engine
+
+
+
+
+
+Node2->Node1
+
+
+
+
+
+
+
+
+Node3
+
+
+gridfire::engine::Engine
+
+
+
+
+
+Node3->Node2
+
+
+
+
+
+
+
+
+Node4
+
+
+gridfire::engine::Engine
+View< DynamicEngine >
+
+
+
+
+
+Node4->Node1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_defined_engine_view__inherit__graph_org.svg b/docs/html/classgridfire_1_1engine_1_1_defined_engine_view__inherit__graph_org.svg
new file mode 100644
index 00000000..edbba7fa
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_defined_engine_view__inherit__graph_org.svg
@@ -0,0 +1,116 @@
+
+
+
+
+
+
+gridfire::engine::DefinedEngineView
+
+
+Node1
+
+
+gridfire::engine::Defined
+EngineView
+
+
+
+
+
+Node5
+
+
+gridfire::engine::FileDefined
+EngineView
+
+
+
+
+
+Node1->Node5
+
+
+
+
+
+
+
+
+Node6
+
+
+gridfire::engine::Network
+PrimingEngineView
+
+
+
+
+
+Node1->Node6
+
+
+
+
+
+
+
+
+Node2
+
+
+gridfire::engine::Dynamic
+Engine
+
+
+
+
+
+Node2->Node1
+
+
+
+
+
+
+
+
+Node3
+
+
+gridfire::engine::Engine
+
+
+
+
+
+Node3->Node2
+
+
+
+
+
+
+
+
+Node4
+
+
+gridfire::engine::Engine
+View< DynamicEngine >
+
+
+
+
+
+Node4->Node1
+
+
+
+
+
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_dynamic_engine-members.html b/docs/html/classgridfire_1_1engine_1_1_dynamic_engine-members.html
new file mode 100644
index 00000000..ef7219c4
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_dynamic_engine-members.html
@@ -0,0 +1,142 @@
+
+
+
+
+
+
+
+
GridFire: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GridFire v0.7.0-alpha
+
+ General Purpose Nuclear Network
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
This is the complete list of members for gridfire::engine::DynamicEngine , including all inherited members.
+
+ calculateEpsDerivatives (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const =0gridfire::engine::DynamicEngine pure virtual
+ calculateMolarReactionFlow (const reaction::Reaction &reaction, const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const =0gridfire::engine::DynamicEngine pure virtual
+ calculateRHSAndEnergy (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const =0gridfire::engine::Engine pure virtual
+ collectComposition (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const =0gridfire::engine::DynamicEngine pure virtual
+ generateJacobianMatrix (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const =0gridfire::engine::DynamicEngine pure virtual
+ generateJacobianMatrix (const fourdst::composition::CompositionAbstract &comp, double T9, double rho, const std::vector< fourdst::atomic::Species > &activeSpecies) const =0gridfire::engine::DynamicEngine pure virtual
+ generateJacobianMatrix (const fourdst::composition::CompositionAbstract &comp, double T9, double rho, const SparsityPattern &sparsityPattern) const =0gridfire::engine::DynamicEngine pure virtual
+ generateStoichiometryMatrix ()=0gridfire::engine::DynamicEngine pure virtual
+ getDepth () constgridfire::engine::DynamicEngine inline virtual
+ getNetworkReactions () const =0gridfire::engine::DynamicEngine pure virtual
+ getNetworkSpecies () const =0gridfire::engine::Engine pure virtual
+ getScreeningModel () const =0gridfire::engine::DynamicEngine pure virtual
+ getSpeciesDestructionTimescales (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const =0gridfire::engine::DynamicEngine pure virtual
+ getSpeciesIndex (const fourdst::atomic::Species &species) const =0gridfire::engine::DynamicEngine pure virtual
+ getSpeciesStatus (const fourdst::atomic::Species &species) const =0gridfire::engine::DynamicEngine pure virtual
+ getSpeciesTimescales (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const =0gridfire::engine::DynamicEngine pure virtual
+ getStoichiometryMatrixEntry (const fourdst::atomic::Species &species, const reaction::Reaction &reaction) const =0gridfire::engine::DynamicEngine pure virtual
+ isStale (const NetIn &netIn)=0gridfire::engine::DynamicEngine pure virtual
+ mapNetInToMolarAbundanceVector (const NetIn &netIn) const =0gridfire::engine::DynamicEngine pure virtual
+ primeEngine (const NetIn &netIn)=0gridfire::engine::DynamicEngine pure virtual
+ rebuild (const fourdst::composition::CompositionAbstract &comp, BuildDepthType depth)gridfire::engine::DynamicEngine inline virtual
+ setNetworkReactions (const reaction::ReactionSet &reactions)=0gridfire::engine::DynamicEngine pure virtual
+ setScreeningModel (screening::ScreeningType model)=0gridfire::engine::DynamicEngine pure virtual
+ update (const NetIn &netIn)=0gridfire::engine::DynamicEngine pure virtual
+ ~Engine ()=defaultgridfire::engine::Engine virtual
+
+
+
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_dynamic_engine.html b/docs/html/classgridfire_1_1engine_1_1_dynamic_engine.html
new file mode 100644
index 00000000..86c772ee
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_dynamic_engine.html
@@ -0,0 +1,1142 @@
+
+
+
+
+
+
+
+
GridFire: gridfire::engine::DynamicEngine Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GridFire v0.7.0-alpha
+
+ General Purpose Nuclear Network
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
Abstract class for engines supporting Jacobian and stoichiometry operations.
+ More...
+
+
#include <engine_abstract.h>
+
+
+
+
+
+
+virtual NetworkJacobian generateJacobianMatrix (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const =0
+ Generate the Jacobian matrix for the current state.
+
+virtual NetworkJacobian generateJacobianMatrix (const fourdst::composition::CompositionAbstract &comp, double T9, double rho, const std::vector< fourdst::atomic::Species > &activeSpecies) const =0
+ Generate the Jacobian matrix for the current state using a subset of active species.
+
+virtual NetworkJacobian generateJacobianMatrix (const fourdst::composition::CompositionAbstract &comp, double T9, double rho, const SparsityPattern &sparsityPattern) const =0
+ Generate the Jacobian matrix for the current state with a specified sparsity pattern.
+
+virtual void generateStoichiometryMatrix ()=0
+ Generate the stoichiometry matrix for the network.
+
+virtual int getStoichiometryMatrixEntry (const fourdst::atomic::Species &species, const reaction::Reaction &reaction) const =0
+ Get an entry from the stoichiometry matrix.
+
+virtual double calculateMolarReactionFlow (const reaction::Reaction &reaction, const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const =0
+ Calculate the molar reaction flow for a given reaction.
+
+virtual EnergyDerivatives calculateEpsDerivatives (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const =0
+ Calculate the derivatives of the energy generation rate with respect to T and rho.
+
+virtual const reaction::ReactionSet & getNetworkReactions () const =0
+ Get the set of logical reactions in the network.
+
+virtual void setNetworkReactions (const reaction::ReactionSet &reactions)=0
+ Set the reactions for the network.
+
+virtual std::expected< std::unordered_map< fourdst::atomic::Species, double >, EngineStatus > getSpeciesTimescales (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const =0
+ Compute timescales for all species in the network.
+
+virtual std::expected< std::unordered_map< fourdst::atomic::Species, double >, EngineStatus > getSpeciesDestructionTimescales (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const =0
+ Compute destruction timescales for all species in the network.
+
+virtual fourdst::composition::Composition update (const NetIn &netIn)=0
+ Update the internal state of the engine.
+
+virtual bool isStale (const NetIn &netIn)=0
+ Check if the engine's internal state is stale.
+
+virtual void setScreeningModel (screening::ScreeningType model)=0
+ Set the electron screening model.
+
+virtual screening::ScreeningType getScreeningModel () const =0
+ Get the current electron screening model.
+
+virtual size_t getSpeciesIndex (const fourdst::atomic::Species &species) const =0
+ Get the index of a species in the network.
+
+virtual std::vector< double > mapNetInToMolarAbundanceVector (const NetIn &netIn) const =0
+ Map a NetIn object to a vector of molar abundances.
+
+virtual PrimingReport primeEngine (const NetIn &netIn)=0
+ Prime the engine with initial conditions.
+
+virtual BuildDepthType getDepth () const
+ Get the depth of the network.
+
+virtual void rebuild (const fourdst::composition::CompositionAbstract &comp, BuildDepthType depth)
+ Rebuild the network with a specified depth.
+
+virtual fourdst::composition::Composition collectComposition (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const =0
+ Recursively collect composition from current engine and any sub engines if they exist.
+
+virtual SpeciesStatus getSpeciesStatus (const fourdst::atomic::Species &species) const =0
+ Get the status of a species in the network.
+
+
+virtual ~Engine ()=default
+ Virtual destructor.
+
+virtual const std::vector< fourdst::atomic::Species > & getNetworkSpecies () const =0
+ Get the list of species in the network.
+
+virtual std::expected< StepDerivatives < double >, EngineStatus > calculateRHSAndEnergy (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const =0
+ Calculate the right-hand side (dY/dt) and energy generation.
+
+
+
+
Abstract class for engines supporting Jacobian and stoichiometry operations.
+
Extends Engine with additional methods for:
+Generating and accessing the Jacobian matrix (for implicit solvers).
+Generating and accessing the stoichiometry matrix.
+Calculating molar reaction flows for individual reactions.
+Accessing the set of logical reactions in the network.
+Computing timescales for each species.
+
+
Intended usage: Derive from this class to implement engines that support advanced solver features such as implicit integration, sensitivity analysis, QSE (Quasi-Steady-State Equilibrium) handling, and more. Generally this will be the main engine type
+
+
+
◆ calculateEpsDerivatives()
+
+
+
+
+
+
+
+
+ virtual EnergyDerivatives gridfire::engine::DynamicEngine::calculateEpsDerivatives
+ (
+ const fourdst::composition::CompositionAbstract & comp ,
+
+
+
+
+ double T9 ,
+
+
+
+
+ double rho ) const
+
+
+
+
+nodiscard pure virtual
+
+
+
+
+
+
◆ calculateMolarReactionFlow()
+
+
+
+
+
+
+
+
+ virtual double gridfire::engine::DynamicEngine::calculateMolarReactionFlow
+ (
+ const reaction::Reaction & reaction ,
+
+
+
+
+ const fourdst::composition::CompositionAbstract & comp ,
+
+
+
+
+ double T9 ,
+
+
+
+
+ double rho ) const
+
+
+
+
+nodiscard pure virtual
+
+
+
+
+
+
◆ collectComposition()
+
+
+
+
+
+
+
+
+ virtual fourdst::composition::Composition gridfire::engine::DynamicEngine::collectComposition
+ (
+ const fourdst::composition::CompositionAbstract & comp ,
+
+
+
+
+ double T9 ,
+
+
+
+
+ double rho ) const
+
+
+
+
+pure virtual
+
+
+
+
+
Recursively collect composition from current engine and any sub engines if they exist.
+
If species i is defined in comp and in any sub engine or self composition then the molar abundance of species i in the returned composition will be that defined in comp. If there are species defined in sub engine compositions which are not defined in comp then their molar abundances will be based on the reported values from each sub engine.
Note It is up to each engine to decide how to handle filling in the return composition.
+
+These methods return an unfinalized composition which must then be finalized by the caller
+
Parameters
+
+ comp Input composition to "normalize".
+ T9
+ rho
+
+
+
+
Returns An updated composition which is a superset of comp. This may contain species which were culled, for example, by either QSE partitioning or reaction flow rate culling
+
+
Implemented in gridfire::engine::AdaptiveEngineView , gridfire::engine::DefinedEngineView , gridfire::engine::GraphEngine , and gridfire::engine::MultiscalePartitioningEngineView .
+
+
+
+
+
◆ generateJacobianMatrix() [1/3]
+
+
+
+
+
+
+
+
+ virtual NetworkJacobian gridfire::engine::DynamicEngine::generateJacobianMatrix
+ (
+ const fourdst::composition::CompositionAbstract & comp ,
+
+
+
+
+ double T9 ,
+
+
+
+
+ double rho ) const
+
+
+
+
+nodiscard pure virtual
+
+
+
+
+
+
◆ generateJacobianMatrix() [2/3]
+
+
+
+
+
+
+
+
+ virtual NetworkJacobian gridfire::engine::DynamicEngine::generateJacobianMatrix
+ (
+ const fourdst::composition::CompositionAbstract & comp ,
+
+
+
+
+ double T9 ,
+
+
+
+
+ double rho ,
+
+
+
+
+ const SparsityPattern & sparsityPattern ) const
+
+
+
+
+nodiscard pure virtual
+
+
+
+
+
Generate the Jacobian matrix for the current state with a specified sparsity pattern.
+
Parameters
+
+ comp Composition object containing current abundances.
+ T9 Temperature in units of 10^9 K.
+ rho Density in g/cm^3.
+ sparsityPattern The sparsity pattern to use for the Jacobian matrix.
+
+
+
+
This method must compute and store the Jacobian matrix (∂(dY/dt)_i/∂Y_j) for the current state using automatic differentiation, taking into account the provided sparsity pattern. The matrix can then be accessed via getJacobianMatrixEntry().
+
See also getJacobianMatrixEntry()
+
+
Implemented in gridfire::engine::AdaptiveEngineView , gridfire::engine::DefinedEngineView , gridfire::engine::GraphEngine , and gridfire::engine::MultiscalePartitioningEngineView .
+
+
+
+
+
◆ generateJacobianMatrix() [3/3]
+
+
+
+
+
+
+
+
+ virtual NetworkJacobian gridfire::engine::DynamicEngine::generateJacobianMatrix
+ (
+ const fourdst::composition::CompositionAbstract & comp ,
+
+
+
+
+ double T9 ,
+
+
+
+
+ double rho ,
+
+
+
+
+ const std::vector< fourdst::atomic::Species > & activeSpecies ) const
+
+
+
+
+nodiscard pure virtual
+
+
+
+
+
+
◆ generateStoichiometryMatrix()
+
+
+
+
+
+
+
+
+ virtual void gridfire::engine::DynamicEngine::generateStoichiometryMatrix
+ (
+ )
+
+
+
+
+
+pure virtual
+
+
+
+
+
+
◆ getDepth()
+
+
+
+
+
+
+
+
+ virtual BuildDepthType gridfire::engine::DynamicEngine::getDepth
+ (
+ )
+ const
+
+
+
+
+inline nodiscard virtual
+
+
+
+
+
Get the depth of the network.
+
Returns The depth of the network, which may indicate the level of detail or complexity in the reaction network.
+
This method is intended to provide information about the network's structure, such as how many layers of reactions or species are present. It can be useful for diagnostics and understanding the network's complexity.
+
+
Reimplemented in gridfire::engine::GraphEngine .
+
+
+
+
+
◆ getNetworkReactions()
+
+
+
+
+
+
+
+
+ virtual const reaction::ReactionSet & gridfire::engine::DynamicEngine::getNetworkReactions
+ (
+ )
+ const
+
+
+
+
+nodiscard pure virtual
+
+
+
+
+
+
◆ getScreeningModel()
+
+
+
+
+
+
+
+
+
+nodiscard pure virtual
+
+
+
+
+
+
◆ getSpeciesDestructionTimescales()
+
+
+
+
+
+
+
+
+ virtual std::expected< std::unordered_map< fourdst::atomic::Species, double >, EngineStatus > gridfire::engine::DynamicEngine::getSpeciesDestructionTimescales
+ (
+ const fourdst::composition::CompositionAbstract & comp ,
+
+
+
+
+ double T9 ,
+
+
+
+
+ double rho ) const
+
+
+
+
+nodiscard pure virtual
+
+
+
+
+
+
◆ getSpeciesIndex()
+
+
+
+
+
+
+
+
+ virtual size_t gridfire::engine::DynamicEngine::getSpeciesIndex
+ (
+ const fourdst::atomic::Species & species )
+ const
+
+
+
+
+nodiscard pure virtual
+
+
+
+
+
+
◆ getSpeciesStatus()
+
+
+
+
+
+
+
+
+ virtual SpeciesStatus gridfire::engine::DynamicEngine::getSpeciesStatus
+ (
+ const fourdst::atomic::Species & species )
+ const
+
+
+
+
+nodiscard pure virtual
+
+
+
+
+
+
◆ getSpeciesTimescales()
+
+
+
+
+
+
+
+
+ virtual std::expected< std::unordered_map< fourdst::atomic::Species, double >, EngineStatus > gridfire::engine::DynamicEngine::getSpeciesTimescales
+ (
+ const fourdst::composition::CompositionAbstract & comp ,
+
+
+
+
+ double T9 ,
+
+
+
+
+ double rho ) const
+
+
+
+
+nodiscard pure virtual
+
+
+
+
+
+
◆ getStoichiometryMatrixEntry()
+
+
+
+
+
+
+
+
+ virtual int gridfire::engine::DynamicEngine::getStoichiometryMatrixEntry
+ (
+ const fourdst::atomic::Species & species ,
+
+
+
+
+ const reaction::Reaction & reaction ) const
+
+
+
+
+nodiscard pure virtual
+
+
+
+
+
+
◆ isStale()
+
+
+
+
+
+
+
+
+ virtual bool gridfire::engine::DynamicEngine::isStale
+ (
+ const NetIn & netIn )
+
+
+
+
+
+nodiscard pure virtual
+
+
+
+
+
+
◆ mapNetInToMolarAbundanceVector()
+
+
+
+
+
+
+
+
+ virtual std::vector< double > gridfire::engine::DynamicEngine::mapNetInToMolarAbundanceVector
+ (
+ const NetIn & netIn )
+ const
+
+
+
+
+nodiscard pure virtual
+
+
+
+
+
+
◆ primeEngine()
+
+
+
+
+
+
+
+
+ virtual PrimingReport gridfire::engine::DynamicEngine::primeEngine
+ (
+ const NetIn & netIn )
+
+
+
+
+
+nodiscard pure virtual
+
+
+
+
+
+
◆ rebuild()
+
+
+
+
+
+
+
+
+ virtual void gridfire::engine::DynamicEngine::rebuild
+ (
+ const fourdst::composition::CompositionAbstract & comp ,
+
+
+
+
+ BuildDepthType depth )
+
+
+
+
+inline virtual
+
+
+
+
+
Rebuild the network with a specified depth.
+
Parameters
+
+ comp The composition to rebuild the network with.
+ depth The desired depth of the network.
+
+
+
+
This method is intended to allow dynamic adjustment of the network's depth, which may involve adding or removing species and reactions based on the specified depth. However, not all engines support this operation.
+
+
Reimplemented in gridfire::engine::GraphEngine .
+
+
+
+
+
◆ setNetworkReactions()
+
+
+
+
+
+
+
+
+ virtual void gridfire::engine::DynamicEngine::setNetworkReactions
+ (
+ const reaction::ReactionSet & reactions )
+
+
+
+
+
+pure virtual
+
+
+
+
+
+
◆ setScreeningModel()
+
+
+
+
+
+
+
+
+
+pure virtual
+
+
+
+
+
+
◆ update()
+
+
+
+
+
+
+
+
+ virtual fourdst::composition::Composition gridfire::engine::DynamicEngine::update
+ (
+ const NetIn & netIn )
+
+
+
+
+
+pure virtual
+
+
+
+
+
Update the internal state of the engine.
+
Parameters
+
+ netIn A struct containing the current network input, such as temperature, density, and composition.
+
+
+
+
This method is intended to be implemented by derived classes to update their internal state based on the provided network conditions. For example, an adaptive engine might use this to re-evaluate which reactions and species are active. For other engines that do not support manually updating, this method might do nothing.
+
Usage Example:
+
myEngine.update(input);
+
+
Postcondition The internal state of the engine is updated to reflect the new conditions.
+
+
Implemented in gridfire::engine::AdaptiveEngineView , gridfire::engine::DefinedEngineView , gridfire::engine::GraphEngine , and gridfire::engine::MultiscalePartitioningEngineView .
+
+
+
+
The documentation for this class was generated from the following file:
+
+
+
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_dynamic_engine.js b/docs/html/classgridfire_1_1engine_1_1_dynamic_engine.js
new file mode 100644
index 00000000..a383c08b
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_dynamic_engine.js
@@ -0,0 +1,25 @@
+var classgridfire_1_1engine_1_1_dynamic_engine =
+[
+ [ "calculateEpsDerivatives", "classgridfire_1_1engine_1_1_dynamic_engine.html#ada6a1295a92c2aede841672ecae0cede", null ],
+ [ "calculateMolarReactionFlow", "classgridfire_1_1engine_1_1_dynamic_engine.html#aa57fa5e58b98a03fba31bcddda8001d4", null ],
+ [ "collectComposition", "classgridfire_1_1engine_1_1_dynamic_engine.html#a41877719ae5e8de53c1692c7cf9bfbfc", null ],
+ [ "generateJacobianMatrix", "classgridfire_1_1engine_1_1_dynamic_engine.html#a53276f09346b531f8676db355e1219eb", null ],
+ [ "generateJacobianMatrix", "classgridfire_1_1engine_1_1_dynamic_engine.html#a51d55a21be28e372021b2b8e5ecdc551", null ],
+ [ "generateJacobianMatrix", "classgridfire_1_1engine_1_1_dynamic_engine.html#a15d53dac8b622a3b7d0f928a3995dbde", null ],
+ [ "generateStoichiometryMatrix", "classgridfire_1_1engine_1_1_dynamic_engine.html#a5e2c45a3e415b53e41def8f743f93464", null ],
+ [ "getDepth", "classgridfire_1_1engine_1_1_dynamic_engine.html#ac5a0def6b6af0bd93bf9057c25f048ff", null ],
+ [ "getNetworkReactions", "classgridfire_1_1engine_1_1_dynamic_engine.html#a26b59a4c7622bf820c0eeec6a7522aa8", null ],
+ [ "getScreeningModel", "classgridfire_1_1engine_1_1_dynamic_engine.html#a24103027a38e02d4342161164554d332", null ],
+ [ "getSpeciesDestructionTimescales", "classgridfire_1_1engine_1_1_dynamic_engine.html#aefc5d0f7842b27a108ba1e4ca346e9a0", null ],
+ [ "getSpeciesIndex", "classgridfire_1_1engine_1_1_dynamic_engine.html#ac0f40017603e8e6887b75dc7360d7c5e", null ],
+ [ "getSpeciesStatus", "classgridfire_1_1engine_1_1_dynamic_engine.html#a8aebefad50c1aa34207e118e92d7ccf0", null ],
+ [ "getSpeciesTimescales", "classgridfire_1_1engine_1_1_dynamic_engine.html#aef6ed91d922c0b1733fd7835e99d0efe", null ],
+ [ "getStoichiometryMatrixEntry", "classgridfire_1_1engine_1_1_dynamic_engine.html#a5ce6ff370e3f0964c6b2688fb3f4bb7e", null ],
+ [ "isStale", "classgridfire_1_1engine_1_1_dynamic_engine.html#a79423b9f67b4cac702547b4f1d8bd14c", null ],
+ [ "mapNetInToMolarAbundanceVector", "classgridfire_1_1engine_1_1_dynamic_engine.html#aa9d55b81c1963113aad86aa60c19676f", null ],
+ [ "primeEngine", "classgridfire_1_1engine_1_1_dynamic_engine.html#a70e270bb50910c0055a75575c1ef1e95", null ],
+ [ "rebuild", "classgridfire_1_1engine_1_1_dynamic_engine.html#a2444b9ed3bc61920ce23c546444269e4", null ],
+ [ "setNetworkReactions", "classgridfire_1_1engine_1_1_dynamic_engine.html#ab321170954bffc53b1bedaf54f6976be", null ],
+ [ "setScreeningModel", "classgridfire_1_1engine_1_1_dynamic_engine.html#a50e76977d0dc3cc23d52b51842d35003", null ],
+ [ "update", "classgridfire_1_1engine_1_1_dynamic_engine.html#a8dd85442ec54f20d91743c72364e36ff", null ]
+];
\ No newline at end of file
diff --git a/docs/html/classgridfire_1_1engine_1_1_dynamic_engine__coll__graph.map b/docs/html/classgridfire_1_1engine_1_1_dynamic_engine__coll__graph.map
new file mode 100644
index 00000000..6e4e0acb
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_dynamic_engine__coll__graph.map
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_dynamic_engine__coll__graph.md5 b/docs/html/classgridfire_1_1engine_1_1_dynamic_engine__coll__graph.md5
new file mode 100644
index 00000000..9f12c8ad
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_dynamic_engine__coll__graph.md5
@@ -0,0 +1 @@
+67c3fd76dd42fbfe1d5f7688bd9d9aed
\ No newline at end of file
diff --git a/docs/html/classgridfire_1_1engine_1_1_dynamic_engine__coll__graph.svg b/docs/html/classgridfire_1_1engine_1_1_dynamic_engine__coll__graph.svg
new file mode 100644
index 00000000..9ffcec75
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_dynamic_engine__coll__graph.svg
@@ -0,0 +1,66 @@
+
+
+
+
+
+
+
+
+
+
+
+
+gridfire::engine::DynamicEngine
+
+
+Node1
+
+
+gridfire::engine::Dynamic
+Engine
+
+
+
+
+
+Node2
+
+
+gridfire::engine::Engine
+
+
+
+
+
+Node2->Node1
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_dynamic_engine__coll__graph_org.svg b/docs/html/classgridfire_1_1engine_1_1_dynamic_engine__coll__graph_org.svg
new file mode 100644
index 00000000..93d055b4
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_dynamic_engine__coll__graph_org.svg
@@ -0,0 +1,40 @@
+
+
+
+
+
+
+gridfire::engine::DynamicEngine
+
+
+Node1
+
+
+gridfire::engine::Dynamic
+Engine
+
+
+
+
+
+Node2
+
+
+gridfire::engine::Engine
+
+
+
+
+
+Node2->Node1
+
+
+
+
+
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_dynamic_engine__inherit__graph.map b/docs/html/classgridfire_1_1engine_1_1_dynamic_engine__inherit__graph.map
new file mode 100644
index 00000000..4170d9bd
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_dynamic_engine__inherit__graph.map
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_dynamic_engine__inherit__graph.md5 b/docs/html/classgridfire_1_1engine_1_1_dynamic_engine__inherit__graph.md5
new file mode 100644
index 00000000..a6351bdb
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_dynamic_engine__inherit__graph.md5
@@ -0,0 +1 @@
+892bac6eed12e83ad78674a2e4159049
\ No newline at end of file
diff --git a/docs/html/classgridfire_1_1engine_1_1_dynamic_engine__inherit__graph.svg b/docs/html/classgridfire_1_1engine_1_1_dynamic_engine__inherit__graph.svg
new file mode 100644
index 00000000..7273c07a
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_dynamic_engine__inherit__graph.svg
@@ -0,0 +1,236 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+gridfire::engine::DynamicEngine
+
+
+Node1
+
+
+gridfire::engine::Dynamic
+Engine
+
+
+
+
+
+Node3
+
+
+gridfire::engine::Adaptive
+EngineView
+
+
+
+
+
+Node1->Node3
+
+
+
+
+
+
+
+
+Node4
+
+
+gridfire::engine::Defined
+EngineView
+
+
+
+
+
+Node1->Node4
+
+
+
+
+
+
+
+
+Node7
+
+
+gridfire::engine::GraphEngine
+
+
+
+
+
+Node1->Node7
+
+
+
+
+
+
+
+
+Node8
+
+
+gridfire::engine::Multiscale
+PartitioningEngineView
+
+
+
+
+
+Node1->Node8
+
+
+
+
+
+
+
+
+Node2
+
+
+gridfire::engine::Engine
+
+
+
+
+
+Node2->Node1
+
+
+
+
+
+
+
+
+Node5
+
+
+gridfire::engine::FileDefined
+EngineView
+
+
+
+
+
+Node4->Node5
+
+
+
+
+
+
+
+
+Node6
+
+
+gridfire::engine::Network
+PrimingEngineView
+
+
+
+
+
+Node4->Node6
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_dynamic_engine__inherit__graph_org.svg b/docs/html/classgridfire_1_1engine_1_1_dynamic_engine__inherit__graph_org.svg
new file mode 100644
index 00000000..02de52f1
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_dynamic_engine__inherit__graph_org.svg
@@ -0,0 +1,153 @@
+
+
+
+
+
+
+gridfire::engine::DynamicEngine
+
+
+Node1
+
+
+gridfire::engine::Dynamic
+Engine
+
+
+
+
+
+Node3
+
+
+gridfire::engine::Adaptive
+EngineView
+
+
+
+
+
+Node1->Node3
+
+
+
+
+
+
+
+
+Node4
+
+
+gridfire::engine::Defined
+EngineView
+
+
+
+
+
+Node1->Node4
+
+
+
+
+
+
+
+
+Node7
+
+
+gridfire::engine::GraphEngine
+
+
+
+
+
+Node1->Node7
+
+
+
+
+
+
+
+
+Node8
+
+
+gridfire::engine::Multiscale
+PartitioningEngineView
+
+
+
+
+
+Node1->Node8
+
+
+
+
+
+
+
+
+Node2
+
+
+gridfire::engine::Engine
+
+
+
+
+
+Node2->Node1
+
+
+
+
+
+
+
+
+Node5
+
+
+gridfire::engine::FileDefined
+EngineView
+
+
+
+
+
+Node4->Node5
+
+
+
+
+
+
+
+
+Node6
+
+
+gridfire::engine::Network
+PrimingEngineView
+
+
+
+
+
+Node4->Node6
+
+
+
+
+
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_engine-members.html b/docs/html/classgridfire_1_1engine_1_1_engine-members.html
new file mode 100644
index 00000000..019ffded
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_engine-members.html
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
GridFire: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GridFire v0.7.0-alpha
+
+ General Purpose Nuclear Network
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
This is the complete list of members for gridfire::engine::Engine , including all inherited members.
+
+
+
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_engine.html b/docs/html/classgridfire_1_1engine_1_1_engine.html
new file mode 100644
index 00000000..b3f8e82b
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_engine.html
@@ -0,0 +1,258 @@
+
+
+
+
+
+
+
+
GridFire: gridfire::engine::Engine Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GridFire v0.7.0-alpha
+
+ General Purpose Nuclear Network
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
Abstract base class for a reaction network engine.
+ More...
+
+
#include <engine_abstract.h>
+
+
+
+
+virtual ~Engine ()=default
+ Virtual destructor.
+
+virtual const std::vector< fourdst::atomic::Species > & getNetworkSpecies () const =0
+ Get the list of species in the network.
+
+virtual std::expected< StepDerivatives < double >, EngineStatus > calculateRHSAndEnergy (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const =0
+ Calculate the right-hand side (dY/dt) and energy generation.
+
+
+
+
Abstract base class for a reaction network engine.
+
This class defines the minimal interface for a reaction network engine, which is responsible for evaluating the right-hand side (dY/dt) and energy generation for a given set of abundances, temperature, and density.
+
Intended usage: Derive from this class to implement a concrete engine for a specific network or integration method.
+
Example:
class MyEngine : public gridfire::Engine {
+
+
};
+
+
+
◆ ~Engine()
+
+
+
+
+
+
+
+
+ virtual gridfire::engine::Engine::~Engine
+ (
+ )
+
+
+
+
+
+virtual default
+
+
+
+
+
Virtual destructor.
+
+
+
+
+
+
◆ calculateRHSAndEnergy()
+
+
+
+
+
+
+
+
+ virtual std::expected< StepDerivatives < double >, EngineStatus > gridfire::engine::Engine::calculateRHSAndEnergy
+ (
+ const fourdst::composition::CompositionAbstract & comp ,
+
+
+
+
+ double T9 ,
+
+
+
+
+ double rho ) const
+
+
+
+
+nodiscard pure virtual
+
+
+
+
+
+
◆ getNetworkSpecies()
+
+
+
+
+
+
+
+
+ virtual const std::vector< fourdst::atomic::Species > & gridfire::engine::Engine::getNetworkSpecies
+ (
+ )
+ const
+
+
+
+
+nodiscard pure virtual
+
+
+
+
+
The documentation for this class was generated from the following file:
+
+
+
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_engine.js b/docs/html/classgridfire_1_1engine_1_1_engine.js
new file mode 100644
index 00000000..4b8a57e8
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_engine.js
@@ -0,0 +1,6 @@
+var classgridfire_1_1engine_1_1_engine =
+[
+ [ "~Engine", "classgridfire_1_1engine_1_1_engine.html#af0ea99416c28933d364a872fc6aff556", null ],
+ [ "calculateRHSAndEnergy", "classgridfire_1_1engine_1_1_engine.html#a764fc091c72c12c8529105d7c96badb2", null ],
+ [ "getNetworkSpecies", "classgridfire_1_1engine_1_1_engine.html#a3263c3fde2509d5d8ec4da3b6e946c48", null ]
+];
\ No newline at end of file
diff --git a/docs/html/classgridfire_1_1engine_1_1_engine__inherit__graph.map b/docs/html/classgridfire_1_1engine_1_1_engine__inherit__graph.map
new file mode 100644
index 00000000..8ce5d01b
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_engine__inherit__graph.map
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_engine__inherit__graph.md5 b/docs/html/classgridfire_1_1engine_1_1_engine__inherit__graph.md5
new file mode 100644
index 00000000..01fd1edc
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_engine__inherit__graph.md5
@@ -0,0 +1 @@
+e0ea503a9be7cbc38dd0a93ae65d34ac
\ No newline at end of file
diff --git a/docs/html/classgridfire_1_1engine_1_1_engine__inherit__graph.svg b/docs/html/classgridfire_1_1engine_1_1_engine__inherit__graph.svg
new file mode 100644
index 00000000..5e406e54
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_engine__inherit__graph.svg
@@ -0,0 +1,236 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+gridfire::engine::Engine
+
+
+Node1
+
+
+gridfire::engine::Engine
+
+
+
+
+
+Node2
+
+
+gridfire::engine::Dynamic
+Engine
+
+
+
+
+
+Node1->Node2
+
+
+
+
+
+
+
+
+Node3
+
+
+gridfire::engine::Adaptive
+EngineView
+
+
+
+
+
+Node2->Node3
+
+
+
+
+
+
+
+
+Node4
+
+
+gridfire::engine::Defined
+EngineView
+
+
+
+
+
+Node2->Node4
+
+
+
+
+
+
+
+
+Node7
+
+
+gridfire::engine::GraphEngine
+
+
+
+
+
+Node2->Node7
+
+
+
+
+
+
+
+
+Node8
+
+
+gridfire::engine::Multiscale
+PartitioningEngineView
+
+
+
+
+
+Node2->Node8
+
+
+
+
+
+
+
+
+Node5
+
+
+gridfire::engine::FileDefined
+EngineView
+
+
+
+
+
+Node4->Node5
+
+
+
+
+
+
+
+
+Node6
+
+
+gridfire::engine::Network
+PrimingEngineView
+
+
+
+
+
+Node4->Node6
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_engine__inherit__graph_org.svg b/docs/html/classgridfire_1_1engine_1_1_engine__inherit__graph_org.svg
new file mode 100644
index 00000000..3d878d52
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_engine__inherit__graph_org.svg
@@ -0,0 +1,153 @@
+
+
+
+
+
+
+gridfire::engine::Engine
+
+
+Node1
+
+
+gridfire::engine::Engine
+
+
+
+
+
+Node2
+
+
+gridfire::engine::Dynamic
+Engine
+
+
+
+
+
+Node1->Node2
+
+
+
+
+
+
+
+
+Node3
+
+
+gridfire::engine::Adaptive
+EngineView
+
+
+
+
+
+Node2->Node3
+
+
+
+
+
+
+
+
+Node4
+
+
+gridfire::engine::Defined
+EngineView
+
+
+
+
+
+Node2->Node4
+
+
+
+
+
+
+
+
+Node7
+
+
+gridfire::engine::GraphEngine
+
+
+
+
+
+Node2->Node7
+
+
+
+
+
+
+
+
+Node8
+
+
+gridfire::engine::Multiscale
+PartitioningEngineView
+
+
+
+
+
+Node2->Node8
+
+
+
+
+
+
+
+
+Node5
+
+
+gridfire::engine::FileDefined
+EngineView
+
+
+
+
+
+Node4->Node5
+
+
+
+
+
+
+
+
+Node6
+
+
+gridfire::engine::Network
+PrimingEngineView
+
+
+
+
+
+Node4->Node6
+
+
+
+
+
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_engine_view-members.html b/docs/html/classgridfire_1_1engine_1_1_engine_view-members.html
new file mode 100644
index 00000000..4243db61
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_engine_view-members.html
@@ -0,0 +1,119 @@
+
+
+
+
+
+
+
+
GridFire: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GridFire v0.7.0-alpha
+
+ General Purpose Nuclear Network
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
This is the complete list of members for gridfire::engine::EngineView< EngineT > , including all inherited members.
+
+
+
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_engine_view.html b/docs/html/classgridfire_1_1engine_1_1_engine_view.html
new file mode 100644
index 00000000..f792e81d
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_engine_view.html
@@ -0,0 +1,223 @@
+
+
+
+
+
+
+
+
GridFire: gridfire::engine::EngineView< EngineT > Class Template Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GridFire v0.7.0-alpha
+
+ General Purpose Nuclear Network
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
Abstract base class for a "view" of a reaction network engine.
+ More...
+
+
#include <engine_view_abstract.h>
+
+
+virtual ~EngineView ()=default
+ Virtual destructor.
+
+virtual const EngineT & getBaseEngine () const =0
+ Access the underlying engine instance.
+
+
+
+
template<EngineType EngineT>
+class gridfire::engine::EngineView< EngineT >
Abstract base class for a "view" of a reaction network engine.
+
Template Parameters
+
+ EngineT The engine type being viewed (must satisfy EngineType ).
+
+
+
+
EngineView provides an interface for accessing an underlying engine instance, while presenting a potentially modified or reduced network structure to the user. This enables dynamic or adaptive network topologies (e.g., culling, masking, or remapping of species and reactions) without altering the core physics engine.
+
Intended usage: Derive from this class to implement a custom view or wrapper that manages a dynamic or adaptive network structure, delegating core calculations to the base engine. The contract is that getBaseEngine() must return a reference to the underlying engine instance, which remains responsible for the full physics.
+
Example (see also AdaptiveEngineView ):
class MyAdaptiveView : public gridfire::EngineView<DynamicEngine> {
+
public :
+
+
const DynamicEngine & getBaseEngine()
const override {
return engine_; }
+
+
private :
+
DynamicEngine& engine_;
+
};
+
Abstract class for engines supporting Jacobian and stoichiometry operations.
Definition engine_abstract.h:172
+
Definition dynamic_engine_diagnostics.h:38
+
See also gridfire::AdaptiveEngineView for a concrete example of dynamic culling.
+
+
+
◆ ~EngineView()
+
+
+
+
+template<EngineType EngineT>
+
+
+
+
+
+
+virtual default
+
+
+
+
+
Virtual destructor.
+
+
+
+
+
+
◆ getBaseEngine()
+
+
+
+
+template<EngineType EngineT>
+
+
+
+
+
+
+pure virtual
+
+
+
+
+
The documentation for this class was generated from the following file:
+
+
+
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_engine_view.js b/docs/html/classgridfire_1_1engine_1_1_engine_view.js
new file mode 100644
index 00000000..87931824
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_engine_view.js
@@ -0,0 +1,5 @@
+var classgridfire_1_1engine_1_1_engine_view =
+[
+ [ "~EngineView", "classgridfire_1_1engine_1_1_engine_view.html#a17d63e853d6efca31064e9147c80d497", null ],
+ [ "getBaseEngine", "classgridfire_1_1engine_1_1_engine_view.html#a7884ea8e5618e295e64150f3ecf2c6b5", null ]
+];
\ No newline at end of file
diff --git a/docs/html/classgridfire_1_1engine_1_1_file_defined_engine_view-members.html b/docs/html/classgridfire_1_1engine_1_1_file_defined_engine_view-members.html
new file mode 100644
index 00000000..e24eb92e
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_file_defined_engine_view-members.html
@@ -0,0 +1,169 @@
+
+
+
+
+
+
+
+
GridFire: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GridFire v0.7.0-alpha
+
+ General Purpose Nuclear Network
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
This is the complete list of members for gridfire::engine::FileDefinedEngineView , including all inherited members.
+
+ calculateEpsDerivatives (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const overridegridfire::engine::DefinedEngineView virtual
+ calculateMolarReactionFlow (const reaction::Reaction &reaction, const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const overridegridfire::engine::DefinedEngineView virtual
+ calculateRHSAndEnergy (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const overridegridfire::engine::DefinedEngineView virtual
+ collect (const std::vector< std::string > &peNames)gridfire::engine::DefinedEngineView private
+ collectComposition (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const overridegridfire::engine::DefinedEngineView virtual
+ Config typedefgridfire::engine::FileDefinedEngineView private
+ constructReactionIndexMap () constgridfire::engine::DefinedEngineView private
+ constructSpeciesIndexMap () constgridfire::engine::DefinedEngineView private
+ DefinedEngineView (const std::vector< std::string > &peNames, GraphEngine &baseEngine)gridfire::engine::DefinedEngineView
+ FileDefinedEngineView (GraphEngine &baseEngine, const std::string &fileName, const io::NetworkFileParser &parser)gridfire::engine::FileDefinedEngineView explicit
+ generateJacobianMatrix (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const overridegridfire::engine::DefinedEngineView virtual
+ generateJacobianMatrix (const fourdst::composition::CompositionAbstract &comp, double T9, double rho, const std::vector< fourdst::atomic::Species > &activeSpecies) const overridegridfire::engine::DefinedEngineView virtual
+ generateJacobianMatrix (const fourdst::composition::CompositionAbstract &comp, double T9, double rho, const SparsityPattern &sparsityPattern) const overridegridfire::engine::DefinedEngineView virtual
+ generateStoichiometryMatrix () overridegridfire::engine::DefinedEngineView virtual
+ getBaseEngine () const overridegridfire::engine::DefinedEngineView virtual
+ getDepth () constgridfire::engine::DynamicEngine inline virtual
+ getNetworkFile () constgridfire::engine::FileDefinedEngineView inline
+ getNetworkReactions () const overridegridfire::engine::DefinedEngineView virtual
+ getNetworkSpecies () const overridegridfire::engine::DefinedEngineView virtual
+ getParser () constgridfire::engine::FileDefinedEngineView inline
+ getScreeningModel () const overridegridfire::engine::DefinedEngineView virtual
+ getSpeciesDestructionTimescales (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const overridegridfire::engine::DefinedEngineView virtual
+ getSpeciesIndex (const fourdst::atomic::Species &species) const overridegridfire::engine::DefinedEngineView virtual
+ getSpeciesStatus (const fourdst::atomic::Species &species) const overridegridfire::engine::DefinedEngineView virtual
+ getSpeciesTimescales (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const overridegridfire::engine::DefinedEngineView virtual
+ getStoichiometryMatrixEntry (const fourdst::atomic::Species &species, const reaction::Reaction &reaction) const overridegridfire::engine::DefinedEngineView virtual
+ isStale (const NetIn &netIn) overridegridfire::engine::DefinedEngineView virtual
+ LogManager typedefgridfire::engine::FileDefinedEngineView private
+ m_activeReactions gridfire::engine::DefinedEngineView private
+ m_activeSpecies gridfire::engine::DefinedEngineView private
+ m_activeSpeciesVectorCache gridfire::engine::DefinedEngineView mutable private
+ m_baseEngine gridfire::engine::DefinedEngineView protected
+ m_config gridfire::engine::FileDefinedEngineView private
+ m_fileName gridfire::engine::FileDefinedEngineView private
+ m_isStale gridfire::engine::DefinedEngineView protected
+ m_logger gridfire::engine::FileDefinedEngineView private
+ m_parser gridfire::engine::FileDefinedEngineView private
+ m_reactionIndexMap gridfire::engine::DefinedEngineView private
+ m_speciesIndexMap gridfire::engine::DefinedEngineView private
+ mapFullToView (const std::vector< double > &full) constgridfire::engine::DefinedEngineView private
+ mapNetInToMolarAbundanceVector (const NetIn &netIn) const overridegridfire::engine::DefinedEngineView virtual
+ mapViewToFull (const std::vector< double > &defined) constgridfire::engine::DefinedEngineView private
+ mapViewToFullReactionIndex (size_t definedReactionIndex) constgridfire::engine::DefinedEngineView private
+ mapViewToFullSpeciesIndex (size_t definedSpeciesIndex) constgridfire::engine::DefinedEngineView private
+ primeEngine (const NetIn &netIn) overridegridfire::engine::DefinedEngineView virtual
+ rebuild (const fourdst::composition::CompositionAbstract &comp, BuildDepthType depth)gridfire::engine::DynamicEngine inline virtual
+ setNetworkReactions (const reaction::ReactionSet &reactions) overridegridfire::engine::DefinedEngineView virtual
+ setScreeningModel (screening::ScreeningType model) overridegridfire::engine::DefinedEngineView virtual
+ update (const NetIn &netIn) overridegridfire::engine::DefinedEngineView virtual
+ validateNetworkState () constgridfire::engine::DefinedEngineView private
+ ~Engine ()=defaultgridfire::engine::Engine virtual
+ ~EngineView ()=defaultgridfire::engine::EngineView< DynamicEngine > virtual
+
+
+
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_file_defined_engine_view.html b/docs/html/classgridfire_1_1engine_1_1_file_defined_engine_view.html
new file mode 100644
index 00000000..4b8c3f0e
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_file_defined_engine_view.html
@@ -0,0 +1,485 @@
+
+
+
+
+
+
+
+
GridFire: gridfire::engine::FileDefinedEngineView Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GridFire v0.7.0-alpha
+
+ General Purpose Nuclear Network
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
#include <engine_defined.h>
+
+
+
+
+
+
+ FileDefinedEngineView (GraphEngine &baseEngine, const std::string &fileName, const io::NetworkFileParser &parser)
+ FileDefinedEngineView Implementation ///.
+
+std::string getNetworkFile () const
+
+const io::NetworkFileParser & getParser () const
+
+
+ DefinedEngineView (const std::vector< std::string > &peNames, GraphEngine &baseEngine)
+
+const DynamicEngine & getBaseEngine () const override
+ Get the base engine associated with this defined engine view.
+
+const std::vector< fourdst::atomic::Species > & getNetworkSpecies () const override
+ Gets the list of active species in the network defined by the file.
+
+std::expected< StepDerivatives < double >, engine::EngineStatus > calculateRHSAndEnergy (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const override
+ Calculates the right-hand side (dY/dt) and energy generation for the active species.
+
+EnergyDerivatives calculateEpsDerivatives (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const override
+ Calculate the derivatives of the energy generation rate with respect to T and rho.
+
+NetworkJacobian generateJacobianMatrix (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const override
+ Generates the Jacobian matrix for the active species.
+
+NetworkJacobian generateJacobianMatrix (const fourdst::composition::CompositionAbstract &comp, double T9, double rho, const std::vector< fourdst::atomic::Species > &activeSpecies) const override
+ Generates the Jacobian matrix for the active species.
+
+NetworkJacobian generateJacobianMatrix (const fourdst::composition::CompositionAbstract &comp, double T9, double rho, const SparsityPattern &sparsityPattern) const override
+ Generates the Jacobian matrix for a given sparsity pattern.
+
+void generateStoichiometryMatrix () override
+ Generates the stoichiometry matrix for the active reactions and species.
+
+int getStoichiometryMatrixEntry (const fourdst::atomic::Species &species, const reaction::Reaction &reaction) const override
+ Gets an entry from the stoichiometry matrix for the active species and reactions.
+
+double calculateMolarReactionFlow (const reaction::Reaction &reaction, const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const override
+ Calculates the molar reaction flow for a given reaction in the active network.
+
+const reaction::ReactionSet & getNetworkReactions () const override
+ Gets the set of active logical reactions in the network.
+
+void setNetworkReactions (const reaction::ReactionSet &reactions) override
+ Sets the active reactions in the network.
+
+std::expected< std::unordered_map< fourdst::atomic::Species, double >, engine::EngineStatus > getSpeciesTimescales (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const override
+ Computes timescales for all active species in the network.
+
+std::expected< std::unordered_map< fourdst::atomic::Species, double >, engine::EngineStatus > getSpeciesDestructionTimescales (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const override
+ Computes destruction timescales for all active species in the network.
+
+fourdst::composition::Composition update (const NetIn &netIn) override
+ Updates the engine view if it is marked as stale.
+
+bool isStale (const NetIn &netIn) override
+ Checks if the engine view is stale.
+
+void setScreeningModel (screening::ScreeningType model) override
+ Sets the screening model for the base engine.
+
+screening::ScreeningType getScreeningModel () const override
+ Gets the screening model from the base engine.
+
+size_t getSpeciesIndex (const fourdst::atomic::Species &species) const override
+ Maps a species from the full network to its index in the defined active network.
+
+std::vector< double > mapNetInToMolarAbundanceVector (const NetIn &netIn) const override
+ Map from a NetIn object to a vector of molar abundances for the active species.
+
+PrimingReport primeEngine (const NetIn &netIn) override
+ Prime the engine view for calculations. This will delegate to the base engine.
+
+fourdst::composition::Composition collectComposition (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const override
+ Collects a Composition object from the base engine.
+
+SpeciesStatus getSpeciesStatus (const fourdst::atomic::Species &species) const override
+ Gets the status of a species in the active network.
+
+
+virtual BuildDepthType getDepth () const
+ Get the depth of the network.
+
+virtual void rebuild (const fourdst::composition::CompositionAbstract &comp, BuildDepthType depth)
+ Rebuild the network with a specified depth.
+
+
+virtual ~Engine ()=default
+ Virtual destructor.
+
+
+virtual ~EngineView ()=default
+ Virtual destructor.
+
+
+
+using Config = fourdst::config::Config
+
+using LogManager = fourdst::logging::LogManager
+
+
+
+
+
◆ Config
+
+
+
+
◆ LogManager
+
+
+
+
+
◆ FileDefinedEngineView()
+
+
+
+
+
+
+
+
+ gridfire::engine::FileDefinedEngineView::FileDefinedEngineView
+ (
+ GraphEngine & baseEngine ,
+
+
+
+
+ const std::string & fileName ,
+
+
+
+
+ const io::NetworkFileParser & parser )
+
+
+
+
+explicit
+
+
+
+
+
+
+
◆ getNetworkFile()
+
+
+
+
+
+
+
+
+ std::string gridfire::engine::FileDefinedEngineView::getNetworkFile
+ (
+ )
+ const
+
+
+
+
+inline nodiscard
+
+
+
+
+
+
+
+
◆ getParser()
+
+
+
+
+
+
+
+
+
+inline nodiscard
+
+
+
+
+
+
+
+
+
◆ m_config
+
+
+
+
+
+
+
+
+ Config & gridfire::engine::FileDefinedEngineView::m_config = Config::getInstance()
+
+
+
+
+private
+
+
+
+
+
+
+
+
◆ m_fileName
+
+
+
+
+
+
+
+
+ std::string gridfire::engine::FileDefinedEngineView::m_fileName
+
+
+
+
+private
+
+
+
+
+
Parser for the network file.
+
+
+
+
+
◆ m_logger
+
+
+
+
+
+
+
+
+ quill::Logger* gridfire::engine::FileDefinedEngineView::m_logger = LogManager::getInstance().getLogger("log")
+
+
+
+
+private
+
+
+
+
+
+
+
+
◆ m_parser
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_file_defined_engine_view.js b/docs/html/classgridfire_1_1engine_1_1_file_defined_engine_view.js
new file mode 100644
index 00000000..be377857
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_file_defined_engine_view.js
@@ -0,0 +1,12 @@
+var classgridfire_1_1engine_1_1_file_defined_engine_view =
+[
+ [ "Config", "classgridfire_1_1engine_1_1_file_defined_engine_view.html#a8d066e95f4cc201cbda90c2aec5d98c4", null ],
+ [ "LogManager", "classgridfire_1_1engine_1_1_file_defined_engine_view.html#af2183aba50db8f91055042425fb84766", null ],
+ [ "FileDefinedEngineView", "classgridfire_1_1engine_1_1_file_defined_engine_view.html#a2ac3834f2d8b916db40fe71c0f070a00", null ],
+ [ "getNetworkFile", "classgridfire_1_1engine_1_1_file_defined_engine_view.html#a73fc090d69db6a99d7694c1de8ff46db", null ],
+ [ "getParser", "classgridfire_1_1engine_1_1_file_defined_engine_view.html#a6f2b445d16ea375ce00d7bd3318fed77", null ],
+ [ "m_config", "classgridfire_1_1engine_1_1_file_defined_engine_view.html#a6a664b568caf7ec207a10be6a56e52f1", null ],
+ [ "m_fileName", "classgridfire_1_1engine_1_1_file_defined_engine_view.html#a94b66aa4396d98aa78900c2b6bcf0526", null ],
+ [ "m_logger", "classgridfire_1_1engine_1_1_file_defined_engine_view.html#af8e65c1eee99938437aa649675182a06", null ],
+ [ "m_parser", "classgridfire_1_1engine_1_1_file_defined_engine_view.html#a3c438706106a7f1bf27f3015e2a64205", null ]
+];
\ No newline at end of file
diff --git a/docs/html/classgridfire_1_1engine_1_1_file_defined_engine_view__coll__graph.map b/docs/html/classgridfire_1_1engine_1_1_file_defined_engine_view__coll__graph.map
new file mode 100644
index 00000000..89ce348c
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_file_defined_engine_view__coll__graph.map
@@ -0,0 +1,103 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_file_defined_engine_view__coll__graph.md5 b/docs/html/classgridfire_1_1engine_1_1_file_defined_engine_view__coll__graph.md5
new file mode 100644
index 00000000..67267a72
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_file_defined_engine_view__coll__graph.md5
@@ -0,0 +1 @@
+0be9e31d0dbc8c289bead5ccc0fd4649
\ No newline at end of file
diff --git a/docs/html/classgridfire_1_1engine_1_1_file_defined_engine_view__coll__graph.svg b/docs/html/classgridfire_1_1engine_1_1_file_defined_engine_view__coll__graph.svg
new file mode 100644
index 00000000..dffa91b7
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_file_defined_engine_view__coll__graph.svg
@@ -0,0 +1,1107 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+gridfire::engine::FileDefinedEngineView
+
+
+Node1
+
+
+gridfire::engine::FileDefined
+EngineView
+
+
+
+
+
+Node2
+
+
+gridfire::engine::Defined
+EngineView
+
+
+
+
+
+Node2->Node1
+
+
+
+
+
+
+
+
+Node3
+
+
+gridfire::engine::Dynamic
+Engine
+
+
+
+
+
+Node3->Node2
+
+
+
+
+
+
+
+
+Node6
+
+
+gridfire::engine::GraphEngine
+
+
+
+
+
+Node3->Node6
+
+
+
+
+
+
+
+
+Node4
+
+
+gridfire::engine::Engine
+
+
+
+
+
+Node4->Node3
+
+
+
+
+
+
+
+
+Node5
+
+
+gridfire::engine::Engine
+View< DynamicEngine >
+
+
+
+
+
+Node5->Node2
+
+
+
+
+
+
+
+
+Node6->Node2
+
+
+
+
+
+ m_baseEngine
+
+
+
+Node34
+
+
+gridfire::engine::GraphEngine
+::AtomicReverseRate
+
+
+
+
+
+Node6->Node34
+
+
+
+
+
+ m_engine
+
+
+
+Node7
+
+
+std::unordered_map
+< JacobianMatrixState,
+ std::string >
+
+
+
+
+
+Node7->Node6
+
+
+
+
+
+ m_jacobianMatrixStateNameMap
+
+
+
+Node8
+
+
+std::string
+
+
+
+
+
+Node8->Node1
+
+
+
+
+
+ m_fileName
+
+
+
+Node8->Node7
+
+
+
+
+
+ elements
+
+
+
+Node17
+
+
+gridfire::reaction
+::ReactionSet
+
+
+
+
+
+Node8->Node17
+
+
+
+
+
+ m_id
+
+
+
+Node21
+
+
+std::unordered_map
+< std::string, size_t >
+
+
+
+
+
+Node8->Node21
+
+
+
+
+
+ keys
+
+
+
+Node9
+
+
+std::basic_string<
+ Char >
+
+
+
+
+
+Node9->Node8
+
+
+
+
+
+
+
+
+Node10
+
+
+gridfire::engine::GraphEngine
+::constants
+
+
+
+
+
+Node10->Node6
+
+
+
+
+
+ m_constants
+
+
+
+Node11
+
+
+gridfire::rates::weak
+::WeakRateInterpolator
+
+
+
+
+
+Node11->Node6
+
+
+
+
+
+ m_weakRateInterpolator
+
+
+
+Node12
+
+
+std::unordered_map
+< uint32_t, gridfire
+::rates::weak::IsotopeGrid >
+
+
+
+
+
+Node12->Node11
+
+
+
+
+
+ m_rate_table
+
+
+
+Node13
+
+
+gridfire::rates::weak
+::IsotopeGrid
+
+
+
+
+
+Node13->Node12
+
+
+
+
+
+ elements
+
+
+
+Node14
+
+
+std::vector< double >
+
+
+
+
+
+Node14->Node13
+
+
+
+
+
+ rhoYe_axis
+t9_axis
+
+
+
+Node15
+
+
+std::vector< gridfire
+::rates::weak::WeakRatePayload >
+
+
+
+
+
+Node15->Node13
+
+
+
+
+
+ data
+
+
+
+Node16
+
+
+gridfire::rates::weak
+::WeakRatePayload
+
+
+
+
+
+Node16->Node15
+
+
+
+
+
+ elements
+
+
+
+Node17->Node2
+
+
+
+
+
+ m_activeReactions
+
+
+
+Node17->Node6
+
+
+
+
+
+ m_reactions
+
+
+
+Node18
+
+
+std::vector< std::unique
+_ptr< gridfire::reaction
+::Reaction > >
+
+
+
+
+
+Node18->Node17
+
+
+
+
+
+ m_reactions
+
+
+
+Node19
+
+
+std::unique_ptr< gridfire
+::reaction::Reaction >
+
+
+
+
+
+Node19->Node18
+
+
+
+
+
+ elements
+
+
+
+Node20
+
+
+gridfire::reaction
+::Reaction
+
+
+
+
+
+Node20->Node19
+
+
+
+
+
+ ptr
+
+
+
+Node23
+
+
+std::unordered_map
+< std::string_view,
+ gridfire::reaction::
+Reaction * >
+
+
+
+
+
+Node20->Node23
+
+
+
+
+
+ elements
+
+
+
+Node20->Node34
+
+
+
+
+
+ m_reaction
+
+
+
+Node21->Node17
+
+
+
+
+
+ m_reactionNameMap
+
+
+
+Node22
+
+
+std::unordered_set
+< size_t >
+
+
+
+
+
+Node22->Node17
+
+
+
+
+
+ m_reactionHashes
+
+
+
+Node23->Node6
+
+
+
+
+
+ m_reactionIDMap
+
+
+
+Node24
+
+
+std::string_view
+
+
+
+
+
+Node24->Node23
+
+
+
+
+
+ keys
+
+
+
+Node27
+
+
+std::unordered_map
+< std::string_view,
+ fourdst::atomic::Species >
+
+
+
+
+
+Node24->Node27
+
+
+
+
+
+ keys
+
+
+
+Node25
+
+
+std::basic_string_view
+< Char >
+
+
+
+
+
+Node25->Node24
+
+
+
+
+
+
+
+
+Node26
+
+
+std::vector< fourdst
+::atomic::Species >
+
+
+
+
+
+Node26->Node6
+
+
+
+
+
+ m_networkSpecies
+
+
+
+Node27->Node6
+
+
+
+
+
+ m_networkSpeciesMap
+
+
+
+Node28
+
+
+std::unordered_map
+< fourdst::atomic::Species,
+ size_t >
+
+
+
+
+
+Node28->Node6
+
+
+
+
+
+ m_speciesToIndexMap
+
+
+
+Node29
+
+
+std::unordered_map
+< size_t, fourdst::atomic
+::Species >
+
+
+
+
+
+Node29->Node6
+
+
+
+
+
+ m_indexToSpeciesMap
+
+
+
+Node30
+
+
+std::set< std::pair
+< size_t, size_t > >
+
+
+
+
+
+Node30->Node6
+
+
+
+
+
+ m_full_sparsity_set
+
+
+
+Node31
+
+
+std::pair< size_t,
+ size_t >
+
+
+
+
+
+Node31->Node30
+
+
+
+
+
+ keys
+
+
+
+Node32
+
+
+std::vector< std::unique
+_ptr< gridfire::engine
+::GraphEngine::AtomicReverseRate > >
+
+
+
+
+
+Node32->Node6
+
+
+
+
+
+ m_atomicReverseRates
+
+
+
+Node33
+
+
+std::unique_ptr< gridfire
+::engine::GraphEngine::
+AtomicReverseRate >
+
+
+
+
+
+Node33->Node32
+
+
+
+
+
+ elements
+
+
+
+Node34->Node33
+
+
+
+
+
+ ptr
+
+
+
+Node35
+
+
+CppAD::atomic_base
+< double >
+
+
+
+
+
+Node35->Node34
+
+
+
+
+
+
+
+
+Node36
+
+
+std::unique_ptr< gridfire
+::screening::ScreeningModel >
+
+
+
+
+
+Node36->Node6
+
+
+
+
+
+ m_screeningModel
+
+
+
+Node37
+
+
+gridfire::screening
+::ScreeningModel
+
+
+
+
+
+Node37->Node36
+
+
+
+
+
+ ptr
+
+
+
+Node38
+
+
+std::vector< gridfire
+::engine::GraphEngine
+::PrecomputedReaction >
+
+
+
+
+
+Node38->Node6
+
+
+
+
+
+ m_precomputedReactions
+
+
+
+Node39
+
+
+gridfire::engine::GraphEngine
+::PrecomputedReaction
+
+
+
+
+
+Node39->Node38
+
+
+
+
+
+ elements
+
+
+
+Node40
+
+
+std::vector< size_t >
+
+
+
+
+
+Node40->Node2
+
+
+
+
+
+ m_reactionIndexMap
+m_speciesIndexMap
+
+
+
+Node40->Node39
+
+
+
+
+
+ affected_species_indices
+unique_product_indices
+unique_reactant_indices
+
+
+
+Node41
+
+
+std::vector< int >
+
+
+
+
+
+Node41->Node39
+
+
+
+
+
+ product_powers
+reactant_powers
+stoichiometric_coefficients
+
+
+
+Node42
+
+
+std::unordered_map
+< uint64_t, size_t >
+
+
+
+
+
+Node42->Node6
+
+
+
+
+
+ m_precomputedReactionIndexMap
+
+
+
+Node43
+
+
+std::unique_ptr< gridfire
+::partition::PartitionFunction >
+
+
+
+
+
+Node43->Node6
+
+
+
+
+
+ m_partitionFunction
+
+
+
+Node44
+
+
+gridfire::partition
+::PartitionFunction
+
+
+
+
+
+Node44->Node43
+
+
+
+
+
+ ptr
+
+
+
+Node45
+
+
+std::set< fourdst::
+atomic::Species >
+
+
+
+
+
+Node45->Node2
+
+
+
+
+
+ m_activeSpecies
+
+
+
+Node46
+
+
+gridfire::io::NetworkFile
+Parser
+
+
+
+
+
+Node46->Node1
+
+
+
+
+
+ m_parser
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_file_defined_engine_view__coll__graph_org.svg b/docs/html/classgridfire_1_1engine_1_1_file_defined_engine_view__coll__graph_org.svg
new file mode 100644
index 00000000..05283e29
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_file_defined_engine_view__coll__graph_org.svg
@@ -0,0 +1,1024 @@
+
+
+
+
+
+
+gridfire::engine::FileDefinedEngineView
+
+
+Node1
+
+
+gridfire::engine::FileDefined
+EngineView
+
+
+
+
+
+Node2
+
+
+gridfire::engine::Defined
+EngineView
+
+
+
+
+
+Node2->Node1
+
+
+
+
+
+
+
+
+Node3
+
+
+gridfire::engine::Dynamic
+Engine
+
+
+
+
+
+Node3->Node2
+
+
+
+
+
+
+
+
+Node6
+
+
+gridfire::engine::GraphEngine
+
+
+
+
+
+Node3->Node6
+
+
+
+
+
+
+
+
+Node4
+
+
+gridfire::engine::Engine
+
+
+
+
+
+Node4->Node3
+
+
+
+
+
+
+
+
+Node5
+
+
+gridfire::engine::Engine
+View< DynamicEngine >
+
+
+
+
+
+Node5->Node2
+
+
+
+
+
+
+
+
+Node6->Node2
+
+
+
+
+
+ m_baseEngine
+
+
+
+Node34
+
+
+gridfire::engine::GraphEngine
+::AtomicReverseRate
+
+
+
+
+
+Node6->Node34
+
+
+
+
+
+ m_engine
+
+
+
+Node7
+
+
+std::unordered_map
+< JacobianMatrixState,
+ std::string >
+
+
+
+
+
+Node7->Node6
+
+
+
+
+
+ m_jacobianMatrixStateNameMap
+
+
+
+Node8
+
+
+std::string
+
+
+
+
+
+Node8->Node1
+
+
+
+
+
+ m_fileName
+
+
+
+Node8->Node7
+
+
+
+
+
+ elements
+
+
+
+Node17
+
+
+gridfire::reaction
+::ReactionSet
+
+
+
+
+
+Node8->Node17
+
+
+
+
+
+ m_id
+
+
+
+Node21
+
+
+std::unordered_map
+< std::string, size_t >
+
+
+
+
+
+Node8->Node21
+
+
+
+
+
+ keys
+
+
+
+Node9
+
+
+std::basic_string<
+ Char >
+
+
+
+
+
+Node9->Node8
+
+
+
+
+
+
+
+
+Node10
+
+
+gridfire::engine::GraphEngine
+::constants
+
+
+
+
+
+Node10->Node6
+
+
+
+
+
+ m_constants
+
+
+
+Node11
+
+
+gridfire::rates::weak
+::WeakRateInterpolator
+
+
+
+
+
+Node11->Node6
+
+
+
+
+
+ m_weakRateInterpolator
+
+
+
+Node12
+
+
+std::unordered_map
+< uint32_t, gridfire
+::rates::weak::IsotopeGrid >
+
+
+
+
+
+Node12->Node11
+
+
+
+
+
+ m_rate_table
+
+
+
+Node13
+
+
+gridfire::rates::weak
+::IsotopeGrid
+
+
+
+
+
+Node13->Node12
+
+
+
+
+
+ elements
+
+
+
+Node14
+
+
+std::vector< double >
+
+
+
+
+
+Node14->Node13
+
+
+
+
+
+ rhoYe_axis
+t9_axis
+
+
+
+Node15
+
+
+std::vector< gridfire
+::rates::weak::WeakRatePayload >
+
+
+
+
+
+Node15->Node13
+
+
+
+
+
+ data
+
+
+
+Node16
+
+
+gridfire::rates::weak
+::WeakRatePayload
+
+
+
+
+
+Node16->Node15
+
+
+
+
+
+ elements
+
+
+
+Node17->Node2
+
+
+
+
+
+ m_activeReactions
+
+
+
+Node17->Node6
+
+
+
+
+
+ m_reactions
+
+
+
+Node18
+
+
+std::vector< std::unique
+_ptr< gridfire::reaction
+::Reaction > >
+
+
+
+
+
+Node18->Node17
+
+
+
+
+
+ m_reactions
+
+
+
+Node19
+
+
+std::unique_ptr< gridfire
+::reaction::Reaction >
+
+
+
+
+
+Node19->Node18
+
+
+
+
+
+ elements
+
+
+
+Node20
+
+
+gridfire::reaction
+::Reaction
+
+
+
+
+
+Node20->Node19
+
+
+
+
+
+ ptr
+
+
+
+Node23
+
+
+std::unordered_map
+< std::string_view,
+ gridfire::reaction::
+Reaction * >
+
+
+
+
+
+Node20->Node23
+
+
+
+
+
+ elements
+
+
+
+Node20->Node34
+
+
+
+
+
+ m_reaction
+
+
+
+Node21->Node17
+
+
+
+
+
+ m_reactionNameMap
+
+
+
+Node22
+
+
+std::unordered_set
+< size_t >
+
+
+
+
+
+Node22->Node17
+
+
+
+
+
+ m_reactionHashes
+
+
+
+Node23->Node6
+
+
+
+
+
+ m_reactionIDMap
+
+
+
+Node24
+
+
+std::string_view
+
+
+
+
+
+Node24->Node23
+
+
+
+
+
+ keys
+
+
+
+Node27
+
+
+std::unordered_map
+< std::string_view,
+ fourdst::atomic::Species >
+
+
+
+
+
+Node24->Node27
+
+
+
+
+
+ keys
+
+
+
+Node25
+
+
+std::basic_string_view
+< Char >
+
+
+
+
+
+Node25->Node24
+
+
+
+
+
+
+
+
+Node26
+
+
+std::vector< fourdst
+::atomic::Species >
+
+
+
+
+
+Node26->Node6
+
+
+
+
+
+ m_networkSpecies
+
+
+
+Node27->Node6
+
+
+
+
+
+ m_networkSpeciesMap
+
+
+
+Node28
+
+
+std::unordered_map
+< fourdst::atomic::Species,
+ size_t >
+
+
+
+
+
+Node28->Node6
+
+
+
+
+
+ m_speciesToIndexMap
+
+
+
+Node29
+
+
+std::unordered_map
+< size_t, fourdst::atomic
+::Species >
+
+
+
+
+
+Node29->Node6
+
+
+
+
+
+ m_indexToSpeciesMap
+
+
+
+Node30
+
+
+std::set< std::pair
+< size_t, size_t > >
+
+
+
+
+
+Node30->Node6
+
+
+
+
+
+ m_full_sparsity_set
+
+
+
+Node31
+
+
+std::pair< size_t,
+ size_t >
+
+
+
+
+
+Node31->Node30
+
+
+
+
+
+ keys
+
+
+
+Node32
+
+
+std::vector< std::unique
+_ptr< gridfire::engine
+::GraphEngine::AtomicReverseRate > >
+
+
+
+
+
+Node32->Node6
+
+
+
+
+
+ m_atomicReverseRates
+
+
+
+Node33
+
+
+std::unique_ptr< gridfire
+::engine::GraphEngine::
+AtomicReverseRate >
+
+
+
+
+
+Node33->Node32
+
+
+
+
+
+ elements
+
+
+
+Node34->Node33
+
+
+
+
+
+ ptr
+
+
+
+Node35
+
+
+CppAD::atomic_base
+< double >
+
+
+
+
+
+Node35->Node34
+
+
+
+
+
+
+
+
+Node36
+
+
+std::unique_ptr< gridfire
+::screening::ScreeningModel >
+
+
+
+
+
+Node36->Node6
+
+
+
+
+
+ m_screeningModel
+
+
+
+Node37
+
+
+gridfire::screening
+::ScreeningModel
+
+
+
+
+
+Node37->Node36
+
+
+
+
+
+ ptr
+
+
+
+Node38
+
+
+std::vector< gridfire
+::engine::GraphEngine
+::PrecomputedReaction >
+
+
+
+
+
+Node38->Node6
+
+
+
+
+
+ m_precomputedReactions
+
+
+
+Node39
+
+
+gridfire::engine::GraphEngine
+::PrecomputedReaction
+
+
+
+
+
+Node39->Node38
+
+
+
+
+
+ elements
+
+
+
+Node40
+
+
+std::vector< size_t >
+
+
+
+
+
+Node40->Node2
+
+
+
+
+
+ m_reactionIndexMap
+m_speciesIndexMap
+
+
+
+Node40->Node39
+
+
+
+
+
+ affected_species_indices
+unique_product_indices
+unique_reactant_indices
+
+
+
+Node41
+
+
+std::vector< int >
+
+
+
+
+
+Node41->Node39
+
+
+
+
+
+ product_powers
+reactant_powers
+stoichiometric_coefficients
+
+
+
+Node42
+
+
+std::unordered_map
+< uint64_t, size_t >
+
+
+
+
+
+Node42->Node6
+
+
+
+
+
+ m_precomputedReactionIndexMap
+
+
+
+Node43
+
+
+std::unique_ptr< gridfire
+::partition::PartitionFunction >
+
+
+
+
+
+Node43->Node6
+
+
+
+
+
+ m_partitionFunction
+
+
+
+Node44
+
+
+gridfire::partition
+::PartitionFunction
+
+
+
+
+
+Node44->Node43
+
+
+
+
+
+ ptr
+
+
+
+Node45
+
+
+std::set< fourdst::
+atomic::Species >
+
+
+
+
+
+Node45->Node2
+
+
+
+
+
+ m_activeSpecies
+
+
+
+Node46
+
+
+gridfire::io::NetworkFile
+Parser
+
+
+
+
+
+Node46->Node1
+
+
+
+
+
+ m_parser
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_file_defined_engine_view__inherit__graph.map b/docs/html/classgridfire_1_1engine_1_1_file_defined_engine_view__inherit__graph.map
new file mode 100644
index 00000000..adcb6fb0
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_file_defined_engine_view__inherit__graph.map
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_file_defined_engine_view__inherit__graph.md5 b/docs/html/classgridfire_1_1engine_1_1_file_defined_engine_view__inherit__graph.md5
new file mode 100644
index 00000000..7d7f9e73
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_file_defined_engine_view__inherit__graph.md5
@@ -0,0 +1 @@
+442362528368806ba1e5a29bd2f5b344
\ No newline at end of file
diff --git a/docs/html/classgridfire_1_1engine_1_1_file_defined_engine_view__inherit__graph.svg b/docs/html/classgridfire_1_1engine_1_1_file_defined_engine_view__inherit__graph.svg
new file mode 100644
index 00000000..4decd37f
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_file_defined_engine_view__inherit__graph.svg
@@ -0,0 +1,123 @@
+
+
+
+
+
+
+
+
+
+
+
+
+gridfire::engine::FileDefinedEngineView
+
+
+Node1
+
+
+gridfire::engine::FileDefined
+EngineView
+
+
+
+
+
+Node2
+
+
+gridfire::engine::Defined
+EngineView
+
+
+
+
+
+Node2->Node1
+
+
+
+
+
+
+
+
+Node3
+
+
+gridfire::engine::Dynamic
+Engine
+
+
+
+
+
+Node3->Node2
+
+
+
+
+
+
+
+
+Node4
+
+
+gridfire::engine::Engine
+
+
+
+
+
+Node4->Node3
+
+
+
+
+
+
+
+
+Node5
+
+
+gridfire::engine::Engine
+View< DynamicEngine >
+
+
+
+
+
+Node5->Node2
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_file_defined_engine_view__inherit__graph_org.svg b/docs/html/classgridfire_1_1engine_1_1_file_defined_engine_view__inherit__graph_org.svg
new file mode 100644
index 00000000..1762eb53
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_file_defined_engine_view__inherit__graph_org.svg
@@ -0,0 +1,97 @@
+
+
+
+
+
+
+gridfire::engine::FileDefinedEngineView
+
+
+Node1
+
+
+gridfire::engine::FileDefined
+EngineView
+
+
+
+
+
+Node2
+
+
+gridfire::engine::Defined
+EngineView
+
+
+
+
+
+Node2->Node1
+
+
+
+
+
+
+
+
+Node3
+
+
+gridfire::engine::Dynamic
+Engine
+
+
+
+
+
+Node3->Node2
+
+
+
+
+
+
+
+
+Node4
+
+
+gridfire::engine::Engine
+
+
+
+
+
+Node4->Node3
+
+
+
+
+
+
+
+
+Node5
+
+
+gridfire::engine::Engine
+View< DynamicEngine >
+
+
+
+
+
+Node5->Node2
+
+
+
+
+
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_graph_engine-members.html b/docs/html/classgridfire_1_1engine_1_1_graph_engine-members.html
new file mode 100644
index 00000000..f93f12d1
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_graph_engine-members.html
@@ -0,0 +1,203 @@
+
+
+
+
+
+
+
+
GridFire: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GridFire v0.7.0-alpha
+
+ General Purpose Nuclear Network
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
This is the complete list of members for gridfire::engine::GraphEngine , including all inherited members.
+
+ calculateAllDerivatives (const std::vector< T > &Y_in, T T9, T rho, T Ye, T mue, std::function< std::optional< size_t >(const fourdst::atomic::Species &)> speciesLookup, const std::function< bool(const reaction::Reaction &)> &reactionLookup) constgridfire::engine::GraphEngine private
+ calculateAllDerivatives (const std::vector< T > &Y_in, const T T9, const T rho, const T Ye, const T mue, const std::function< std::optional< size_t >(const fourdst::atomic::Species &)> speciesLookup, const std::function< bool(const reaction::Reaction &)> &reactionLookup) constgridfire::engine::GraphEngine
+ calculateAllDerivativesUsingPrecomputation (const fourdst::composition::CompositionAbstract &comp, const std::vector< double > &bare_rates, const std::vector< double > &bare_reverse_rates, double T9, double rho, const reaction::ReactionSet &activeReactions) constgridfire::engine::GraphEngine private
+ calculateEpsDerivatives (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const overridegridfire::engine::GraphEngine virtual
+ calculateEpsDerivatives (const fourdst::composition::CompositionAbstract &comp, double T9, double rho, const reaction::ReactionSet &activeReactions) constgridfire::engine::GraphEngine
+ calculateMolarReactionFlow (const reaction::Reaction &reaction, const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const overridegridfire::engine::GraphEngine virtual
+ calculateMolarReactionFlow (const reaction::Reaction &reaction, const std::vector< T > &Y, T T9, T rho, T Ye, T mue, const std::function< std::optional< size_t >(const fourdst::atomic::Species &)> &speciesIDLookup) constgridfire::engine::GraphEngine private
+ calculateReverseMolarReactionFlow (T T9, T rho, std::vector< T > screeningFactors, const std::vector< T > &Y, size_t reactionIndex, const reaction::Reaction &reaction) constgridfire::engine::GraphEngine private
+ calculateReverseRate (const reaction::Reaction &reaction, double T9, double rho, const fourdst::composition::CompositionAbstract &comp) constgridfire::engine::GraphEngine
+ calculateReverseRateTwoBody (const reaction::Reaction &reaction, double T9, double forwardRate, double expFactor) constgridfire::engine::GraphEngine
+ calculateReverseRateTwoBodyDerivative (const reaction::Reaction &reaction, double T9, double rho, const fourdst::composition::Composition &comp, double reverseRate) constgridfire::engine::GraphEngine
+ calculateRHSAndEnergy (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const overridegridfire::engine::GraphEngine virtual
+ calculateRHSAndEnergy (const fourdst::composition::CompositionAbstract &comp, double T9, double rho, const reaction::ReactionSet &activeReactions) constgridfire::engine::GraphEngine
+ collectAtomicReverseRateAtomicBases ()gridfire::engine::GraphEngine private
+ collectComposition (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const overridegridfire::engine::GraphEngine virtual
+ collectNetworkSpecies ()gridfire::engine::GraphEngine private
+ exportToCSV (const std::string &filename) constgridfire::engine::GraphEngine
+ exportToDot (const std::string &filename) constgridfire::engine::GraphEngine
+ generateJacobianMatrix (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const overridegridfire::engine::GraphEngine virtual
+ generateJacobianMatrix (const fourdst::composition::CompositionAbstract &comp, double T9, double rho, const std::vector< fourdst::atomic::Species > &activeSpecies) const overridegridfire::engine::GraphEngine virtual
+ generateJacobianMatrix (const fourdst::composition::CompositionAbstract &comp, double T9, double rho, const SparsityPattern &sparsityPattern) const overridegridfire::engine::GraphEngine virtual
+ generateStoichiometryMatrix () overridegridfire::engine::GraphEngine virtual
+ getDepth () const overridegridfire::engine::GraphEngine virtual
+ getNetReactionStoichiometry (const reaction::Reaction &reaction)gridfire::engine::GraphEngine static
+ getNetworkReactions () const overridegridfire::engine::GraphEngine virtual
+ getNetworkSpecies () const overridegridfire::engine::GraphEngine virtual
+ getPartitionFunction () constgridfire::engine::GraphEngine
+ getScreeningModel () const overridegridfire::engine::GraphEngine virtual
+ getSpeciesDestructionTimescales (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const overridegridfire::engine::GraphEngine virtual
+ getSpeciesDestructionTimescales (const fourdst::composition::CompositionAbstract &comp, double T9, double rho, const reaction::ReactionSet &activeReactions) constgridfire::engine::GraphEngine
+ getSpeciesIndex (const fourdst::atomic::Species &species) const overridegridfire::engine::GraphEngine virtual
+ getSpeciesStatus (const fourdst::atomic::Species &species) const overridegridfire::engine::GraphEngine virtual
+ getSpeciesTimescales (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const overridegridfire::engine::GraphEngine virtual
+ getSpeciesTimescales (const fourdst::composition::CompositionAbstract &comp, double T9, double rho, const reaction::ReactionSet &activeReactions) constgridfire::engine::GraphEngine
+ getStoichiometryMatrixEntry (const fourdst::atomic::Species &species, const reaction::Reaction &reaction) const overridegridfire::engine::GraphEngine virtual
+ GraphEngine (const fourdst::composition::Composition &composition, BuildDepthType=NetworkBuildDepth::Full)gridfire::engine::GraphEngine explicit
+ GraphEngine (const fourdst::composition::Composition &composition, const partition::PartitionFunction &partitionFunction, BuildDepthType buildDepth=NetworkBuildDepth::Full)gridfire::engine::GraphEngine explicit
+ GraphEngine (const fourdst::composition::Composition &composition, const partition::PartitionFunction &partitionFunction, BuildDepthType buildDepth, NetworkConstructionFlags reactionTypes)gridfire::engine::GraphEngine explicit
+ GraphEngine (const reaction::ReactionSet &reactions)gridfire::engine::GraphEngine explicit
+ involvesSpecies (const fourdst::atomic::Species &species) constgridfire::engine::GraphEngine
+ isPrecomputationEnabled () constgridfire::engine::GraphEngine
+ isStale (const NetIn &netIn) overridegridfire::engine::GraphEngine virtual
+ isUsingReverseReactions () constgridfire::engine::GraphEngine
+ JacobianMatrixState enum namegridfire::engine::GraphEngine private
+ m_atomicReverseRates gridfire::engine::GraphEngine private
+ m_config gridfire::engine::GraphEngine private
+ m_constants gridfire::engine::GraphEngine private
+ m_depth gridfire::engine::GraphEngine private
+ m_epsADFun gridfire::engine::GraphEngine mutable private
+ m_full_jacobian_sparsity_pattern gridfire::engine::GraphEngine private
+ m_full_sparsity_set gridfire::engine::GraphEngine private
+ m_has_been_primed gridfire::engine::GraphEngine private
+ m_indexToSpeciesMap gridfire::engine::GraphEngine private
+ m_jac_work gridfire::engine::GraphEngine mutable private
+ m_jacobianMatrixStateNameMap gridfire::engine::GraphEngine private
+ m_logger gridfire::engine::GraphEngine private
+ m_networkSpecies gridfire::engine::GraphEngine private
+ m_networkSpeciesMap gridfire::engine::GraphEngine private
+ m_partitionFunction gridfire::engine::GraphEngine private
+ m_precomputedReactionIndexMap gridfire::engine::GraphEngine private
+ m_precomputedReactions gridfire::engine::GraphEngine private
+ m_reactionIDMap gridfire::engine::GraphEngine private
+ m_reactions gridfire::engine::GraphEngine private
+ m_rhsADFun gridfire::engine::GraphEngine mutable private
+ m_screeningModel gridfire::engine::GraphEngine private
+ m_screeningType gridfire::engine::GraphEngine private
+ m_speciesToIndexMap gridfire::engine::GraphEngine private
+ m_stoichiometryMatrix gridfire::engine::GraphEngine private
+ m_usePrecomputation gridfire::engine::GraphEngine private
+ m_useReverseReactions gridfire::engine::GraphEngine private
+ m_weakRateInterpolator gridfire::engine::GraphEngine private
+ mapNetInToMolarAbundanceVector (const NetIn &netIn) const overridegridfire::engine::GraphEngine virtual
+ populateReactionIDMap ()gridfire::engine::GraphEngine private
+ populateSpeciesToIndexMap ()gridfire::engine::GraphEngine private
+ precomputeNetwork ()gridfire::engine::GraphEngine private
+ primeEngine (const NetIn &netIn) overridegridfire::engine::GraphEngine virtual
+ rebuild (const fourdst::composition::CompositionAbstract &comp, BuildDepthType depth) overridegridfire::engine::GraphEngine virtual
+ recordADTape () constgridfire::engine::GraphEngine private
+ setNetworkReactions (const reaction::ReactionSet &reactions) overridegridfire::engine::GraphEngine virtual
+ setPrecomputation (bool precompute)gridfire::engine::GraphEngine
+ setScreeningModel (screening::ScreeningType model) overridegridfire::engine::GraphEngine virtual
+ setUseReverseReactions (bool useReverse)gridfire::engine::GraphEngine
+ syncInternalMaps ()gridfire::engine::GraphEngine private
+ update (const NetIn &netIn) overridegridfire::engine::GraphEngine virtual
+ validateConservation () constgridfire::engine::GraphEngine private
+ ~Engine ()=defaultgridfire::engine::Engine virtual
+
+
+
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_graph_engine.html b/docs/html/classgridfire_1_1engine_1_1_graph_engine.html
new file mode 100644
index 00000000..225b4d45
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_graph_engine.html
@@ -0,0 +1,3425 @@
+
+
+
+
+
+
+
+
GridFire: gridfire::engine::GraphEngine Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GridFire v0.7.0-alpha
+
+ General Purpose Nuclear Network
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
A reaction network engine that uses a graph-based representation.
+ More...
+
+
#include <engine_graph.h>
+
+
+
+
+
+
+ GraphEngine (const fourdst::composition::Composition &composition, BuildDepthType =NetworkBuildDepth::Full )
+ Constructs a GraphEngine from a composition.
+
+ GraphEngine (const fourdst::composition::Composition &composition, const partition::PartitionFunction &partitionFunction, BuildDepthType buildDepth=NetworkBuildDepth::Full )
+
+ GraphEngine (const fourdst::composition::Composition &composition, const partition::PartitionFunction &partitionFunction, BuildDepthType buildDepth, NetworkConstructionFlags reactionTypes)
+
+ GraphEngine (const reaction::ReactionSet &reactions)
+ Constructs a GraphEngine from a set of reactions.
+
+std::expected< StepDerivatives < double >, engine::EngineStatus > calculateRHSAndEnergy (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const override
+ Calculates the right-hand side (dY/dt) and energy generation rate.
+
+std::expected< StepDerivatives < double >, EngineStatus > calculateRHSAndEnergy (const fourdst::composition::CompositionAbstract &comp, double T9, double rho, const reaction::ReactionSet &activeReactions) const
+ Calculates the right-hand side (dY/dt) and energy generation rate for a subset of reactions.
+
+EnergyDerivatives calculateEpsDerivatives (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const override
+ Calculates the derivatives of the energy generation rate with respect to temperature and density.
+
+EnergyDerivatives calculateEpsDerivatives (const fourdst::composition::CompositionAbstract &comp, double T9, double rho, const reaction::ReactionSet &activeReactions) const
+ Calculates the derivatives of the energy generation rate with respect to temperature and density for a subset of reactions.
+
+NetworkJacobian generateJacobianMatrix (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const override
+ Generates the Jacobian matrix for the current state.
+
+NetworkJacobian generateJacobianMatrix (const fourdst::composition::CompositionAbstract &comp, double T9, double rho, const std::vector< fourdst::atomic::Species > &activeSpecies) const override
+ Generates the Jacobian matrix for the current state with a specified set of active species. generally this will be much faster than the full matrix generation. Here we use forward mode to generate the Jacobian only for the active species.
+
+NetworkJacobian generateJacobianMatrix (const fourdst::composition::CompositionAbstract &comp, double T9, double rho, const SparsityPattern &sparsityPattern) const override
+ Generates the Jacobian matrix for the current state with a specified sparsity pattern.
+
+void generateStoichiometryMatrix () override
+ Generates the stoichiometry matrix for the network.
+
+double calculateMolarReactionFlow (const reaction::Reaction &reaction, const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const override
+ Calculates the molar reaction flow for a given reaction.
+
+const std::vector< fourdst::atomic::Species > & getNetworkSpecies () const override
+ Gets the list of species in the network.
+
+const reaction::ReactionSet & getNetworkReactions () const override
+ Gets the set of logical reactions in the network.
+
+void setNetworkReactions (const reaction::ReactionSet &reactions) override
+ Sets the reactions for the network.
+
+int getStoichiometryMatrixEntry (const fourdst::atomic::Species &species, const reaction::Reaction &reaction) const override
+ Gets an entry from the stoichiometry matrix.
+
+std::expected< std::unordered_map< fourdst::atomic::Species, double >, engine::EngineStatus > getSpeciesTimescales (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const override
+ Computes timescales for all species in the network.
+
+std::expected< std::unordered_map< fourdst::atomic::Species, double >, EngineStatus > getSpeciesTimescales (const fourdst::composition::CompositionAbstract &comp, double T9, double rho, const reaction::ReactionSet &activeReactions) const
+ Computes timescales for all species in the network considering a subset of reactions.
+
+std::expected< std::unordered_map< fourdst::atomic::Species, double >, engine::EngineStatus > getSpeciesDestructionTimescales (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const override
+ Computes destruction timescales for all species in the network.
+
+std::expected< std::unordered_map< fourdst::atomic::Species, double >, EngineStatus > getSpeciesDestructionTimescales (const fourdst::composition::CompositionAbstract &comp, double T9, double rho, const reaction::ReactionSet &activeReactions) const
+ Computes destruction timescales for all species in the network considering a subset of reactions.
+
+fourdst::composition::Composition update (const NetIn &netIn) override
+ Updates the state of the network and the composition to be usable for the current network.
+
+bool isStale (const NetIn &netIn) override
+ Checks if the engine view is stale and needs to be updated.
+
+bool involvesSpecies (const fourdst::atomic::Species &species) const
+ Checks if a given species is involved in the network.
+
+void exportToDot (const std::string &filename) const
+ Exports the network to a DOT file for visualization.
+
+void exportToCSV (const std::string &filename) const
+ Exports the network to a CSV file for analysis.
+
+void setScreeningModel (screening::ScreeningType model) override
+ Sets the electron screening model for reaction rate calculations.
+
+screening::ScreeningType getScreeningModel () const override
+ Gets the current electron screening model.
+
+void setPrecomputation (bool precompute)
+ Sets whether to precompute reaction rates.
+
+bool isPrecomputationEnabled () const
+ Checks if precomputation of reaction rates is enabled.
+
+const partition::PartitionFunction & getPartitionFunction () const
+ Gets the partition function used for reaction rate calculations.
+
+double calculateReverseRate (const reaction::Reaction &reaction, double T9, double rho, const fourdst::composition::CompositionAbstract &comp) const
+ Calculates the reverse rate for a given reaction.
+
+double calculateReverseRateTwoBody (const reaction::Reaction &reaction, double T9, double forwardRate, double expFactor) const
+ Calculates the reverse rate for a two-body reaction.
+
+double calculateReverseRateTwoBodyDerivative (const reaction::Reaction &reaction, double T9, double rho, const fourdst::composition::Composition &comp, double reverseRate) const
+ Calculates the derivative of the reverse rate for a two-body reaction with respect to temperature.
+
+bool isUsingReverseReactions () const
+ Checks if reverse reactions are enabled.
+
+void setUseReverseReactions (bool useReverse)
+ Sets whether to use reverse reactions in the engine.
+
+size_t getSpeciesIndex (const fourdst::atomic::Species &species) const override
+ Gets the index of a species in the network.
+
+std::vector< double > mapNetInToMolarAbundanceVector (const NetIn &netIn) const override
+ Maps the NetIn object to a vector of molar abundances.
+
+PrimingReport primeEngine (const NetIn &netIn) override
+ Prepares the engine for calculations with initial conditions.
+
+BuildDepthType getDepth () const override
+ Gets the depth of the network.
+
+void rebuild (const fourdst::composition::CompositionAbstract &comp, BuildDepthType depth) override
+ Rebuilds the reaction network based on a new composition.
+
+fourdst::composition::Composition collectComposition (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const override
+ This will return the input comp with the molar abundances of any species not registered in that but registered in the engine active species set to 0.0.
+
+SpeciesStatus getSpeciesStatus (const fourdst::atomic::Species &species) const override
+ Gets the status of a species in the network.
+
+template<IsArithmeticOrAD T>
+StepDerivatives < T > calculateAllDerivatives (const std::vector< T > &Y_in, const T T9, const T rho, const T Ye, const T mue, const std::function< std::optional< size_t >(const fourdst::atomic::Species &)> speciesLookup, const std::function< bool(const reaction::Reaction &)> &reactionLookup) const
+
+
+virtual ~Engine ()=default
+ Virtual destructor.
+
+
+
+void syncInternalMaps ()
+ Synchronizes the internal maps.
+
+void collectNetworkSpecies ()
+ Collects the unique species in the network.
+
+void populateReactionIDMap ()
+ Populates the reaction ID map.
+
+void populateSpeciesToIndexMap ()
+ Populates the species-to-index map.
+
+void recordADTape () const
+ Records the AD tape for the right-hand side of the ODE.
+
+void collectAtomicReverseRateAtomicBases ()
+
+void precomputeNetwork ()
+
+bool validateConservation () const
+ Validates mass and charge conservation across all reactions.
+
+StepDerivatives < double > calculateAllDerivativesUsingPrecomputation (const fourdst::composition::CompositionAbstract &comp, const std::vector< double > &bare_rates, const std::vector< double > &bare_reverse_rates, double T9, double rho, const reaction::ReactionSet &activeReactions) const
+
+template<IsArithmeticOrAD T>
+T calculateMolarReactionFlow (const reaction::Reaction &reaction, const std::vector< T > &Y, T T9, T rho, T Ye, T mue, const std::function< std::optional< size_t >(const fourdst::atomic::Species &)> &speciesIDLookup) const
+ Calculates the molar reaction flow for a given reaction.
+
+template<IsArithmeticOrAD T>
+T calculateReverseMolarReactionFlow (T T9, T rho, std::vector< T > screeningFactors, const std::vector< T > &Y, size_t reactionIndex, const reaction::Reaction &reaction) const
+
+template<IsArithmeticOrAD T>
+StepDerivatives < T > calculateAllDerivatives (const std::vector< T > &Y_in, T T9, T rho, T Ye, T mue, std::function< std::optional< size_t >(const fourdst::atomic::Species &)> speciesLookup, const std::function< bool(const reaction::Reaction &)> &reactionLookup) const
+ Calculates all derivatives (dY/dt) and the energy generation rate.
+
+
+
+
A reaction network engine that uses a graph-based representation.
+
The GraphEngine class implements the DynamicEngine interface using a graph-based representation of the reaction network. It uses sparse matrices for efficient storage and computation of the stoichiometry and Jacobian matrices. Automatic differentiation (AD) is used to calculate the Jacobian matrix.
+
The engine supports:
+Calculation of the right-hand side (dY/dt) and energy generation rate.
+Generation and access to the Jacobian matrix.
+Generation and access to the stoichiometry matrix.
+Calculation of molar reaction flows.
+Access to the set of logical reactions in the network.
+Computation of timescales for each species.
+Exporting the network to DOT and CSV formats for visualization and analysis.
+
+
See also engine_abstract.h
+
+
+
◆ JacobianMatrixState
+
+
+
+
+
+
+
+
+
+strong private
+
+
+
+
+Enumerator UNINITIALIZED
+ STALE
+ READY_DENSE
+ READY_SPARSE
+
+
+
+
+
+
+
◆ GraphEngine() [1/4]
+
+
+
+
+
Constructs a GraphEngine from a composition.
+
Parameters
+
+ composition The composition of the material.
+
+
+
+
This constructor builds the reaction network from the given composition using the build_reaclib_nuclear_network function.
+
See also build_reaclib_nuclear_network
+
+
+
+
+
◆ GraphEngine() [2/4]
+
+
+
+
◆ GraphEngine() [3/4]
+
+
+
+
◆ GraphEngine() [4/4]
+
+
+
+
+
Constructs a GraphEngine from a set of reactions.
+
Parameters
+
+ reactions The set of reactions to use in the network.
+
+
+
+
This constructor uses the given set of reactions to construct the reaction network.
+
+
+
+
+
+
◆ calculateAllDerivatives() [1/2]
+
+
+
+
+template<IsArithmeticOrAD T>
+
+
+ StepDerivatives < T > gridfire::engine::GraphEngine::calculateAllDerivatives
+ (
+ const std::vector< T > & Y_in ,
+
+
+
+
+ const T T9 ,
+
+
+
+
+ const T rho ,
+
+
+
+
+ const T Ye ,
+
+
+
+
+ const T mue ,
+
+
+
+
+ const std::function< std::optional< size_t >(const fourdst::atomic::Species &)> speciesLookup ,
+
+
+
+
+ const std::function< bool(const reaction::Reaction &)> & reactionLookup ) const
+
+
+
+
+
+
+
+
◆ calculateAllDerivatives() [2/2]
+
+
+
+
+template<IsArithmeticOrAD T>
+
+
+
+
+
+ StepDerivatives < T > gridfire::engine::GraphEngine::calculateAllDerivatives
+ (
+ const std::vector< T > & Y_in ,
+
+
+
+
+ T T9 ,
+
+
+
+
+ T rho ,
+
+
+
+
+ T Ye ,
+
+
+
+
+ T mue ,
+
+
+
+
+ std::function< std::optional< size_t >(const fourdst::atomic::Species &)> speciesLookup ,
+
+
+
+
+ const std::function< bool(const reaction::Reaction &)> & reactionLookup ) const
+
+
+
+
+nodiscard private
+
+
+
+
+
Calculates all derivatives (dY/dt) and the energy generation rate.
+
Template Parameters
+
+ T The numeric type to use for the calculation.
+
+
+
+
Parameters
+
+ Y_in Vector of molar abundances for all species in the network.
+ T9 Temperature in units of 10^9 K.
+ rho Density in g/cm^3.
+ Ye
+ mue
+ speciesLookup
+ reactionLookup
+
+
+
+
Returns StepDerivatives<T> containing dY/dt and energy generation rate.
+
This method calculates the time derivatives of all species and the specific nuclear energy generation rate for the current state.
+
+
+
+
+
◆ calculateAllDerivativesUsingPrecomputation()
+
+
+
+
+
+
+
+
+ StepDerivatives < double > gridfire::engine::GraphEngine::calculateAllDerivativesUsingPrecomputation
+ (
+ const fourdst::composition::CompositionAbstract & comp ,
+
+
+
+
+ const std::vector< double > & bare_rates ,
+
+
+
+
+ const std::vector< double > & bare_reverse_rates ,
+
+
+
+
+ double T9 ,
+
+
+
+
+ double rho ,
+
+
+
+
+ const reaction::ReactionSet & activeReactions ) const
+
+
+
+
+nodiscard private
+
+
+
+
+
+
+
+
◆ calculateEpsDerivatives() [1/2]
+
+
+
+
+
+
+
+
+ EnergyDerivatives gridfire::engine::GraphEngine::calculateEpsDerivatives
+ (
+ const fourdst::composition::CompositionAbstract & comp ,
+
+
+
+
+ double T9 ,
+
+
+
+
+ double rho ) const
+
+
+
+
+nodiscard override virtual
+
+
+
+
+
Calculates the derivatives of the energy generation rate with respect to temperature and density.
+
Parameters
+
+ comp Composition object containing current abundances.
+ T9 Temperature in units of 10^9 K.
+ rho Density in g/cm^3.
+
+
+
+
Returns EnergyDerivatives struct containing the derivatives.
+
This method computes the partial derivatives of the specific nuclear energy generation rate with respect to temperature (∂ε/∂T) and density (∂ε/∂ρ)
+
See also EnergyDerivatives
+
+
Implements gridfire::engine::DynamicEngine .
+
+
+
+
+
◆ calculateEpsDerivatives() [2/2]
+
+
+
+
+
+
+
+
+ EnergyDerivatives gridfire::engine::GraphEngine::calculateEpsDerivatives
+ (
+ const fourdst::composition::CompositionAbstract & comp ,
+
+
+
+
+ double T9 ,
+
+
+
+
+ double rho ,
+
+
+
+
+ const reaction::ReactionSet & activeReactions ) const
+
+
+
+
+nodiscard
+
+
+
+
+
Calculates the derivatives of the energy generation rate with respect to temperature and density for a subset of reactions.
+
Parameters
+
+ comp Composition object containing current abundances.
+ T9 Temperature in units of 10^9 K.
+ rho Density in g/cm^3.
+ activeReactions The set of reactions to include in the calculation.
+
+
+
+
Returns EnergyDerivatives struct containing the derivatives.
+
This method computes the partial derivatives of the specific nuclear energy generation rate with respect to temperature (∂ε/∂T) and density (∂ε/∂ρ) considering only the specified subset of reactions. This allows for flexible calculations with different reaction sets without modifying the engine's internal state.
+
See also EnergyDerivatives
+
+
+
+
+
◆ calculateMolarReactionFlow() [1/2]
+
+
+
+
+
+
+
+
+ double gridfire::engine::GraphEngine::calculateMolarReactionFlow
+ (
+ const reaction::Reaction & reaction ,
+
+
+
+
+ const fourdst::composition::CompositionAbstract & comp ,
+
+
+
+
+ double T9 ,
+
+
+
+
+ double rho ) const
+
+
+
+
+nodiscard override virtual
+
+
+
+
+
Calculates the molar reaction flow for a given reaction.
+
Parameters
+
+ reaction The reaction for which to calculate the flow.
+ comp Composition object containing current abundances.
+ T9 Temperature in units of 10^9 K.
+ rho Density in g/cm^3.
+
+
+
+
Returns Molar flow rate for the reaction (e.g., mol/g/s).
+
This method computes the net rate at which the given reaction proceeds under the current state.
+
+
Implements gridfire::engine::DynamicEngine .
+
+
+
+
+
◆ calculateMolarReactionFlow() [2/2]
+
+
+
+
+template<IsArithmeticOrAD T>
+
+
+
+
+
+ T gridfire::engine::GraphEngine::calculateMolarReactionFlow
+ (
+ const reaction::Reaction & reaction ,
+
+
+
+
+ const std::vector< T > & Y ,
+
+
+
+
+ T T9 ,
+
+
+
+
+ T rho ,
+
+
+
+
+ T Ye ,
+
+
+
+
+ T mue ,
+
+
+
+
+ const std::function< std::optional< size_t >(const fourdst::atomic::Species &)> & speciesIDLookup ) const
+
+
+
+
+private
+
+
+
+
+
Calculates the molar reaction flow for a given reaction.
+
Template Parameters
+
+ T The numeric type to use for the calculation.
+
+
+
+
Parameters
+
+ reaction The reaction for which to calculate the flow.
+ Y Vector of molar abundances for all species in the network.
+ T9 Temperature in units of 10^9 K.
+ rho Density in g/cm^3.
+ Ye
+ mue
+ speciesIDLookup
+
+
+
+
Returns Molar flow rate for the reaction (e.g., mol/g/s).
+
This method computes the net rate at which the given reaction proceeds under the current state.
+
+
+
+
+
◆ calculateReverseMolarReactionFlow()
+
+
+
+
+template<IsArithmeticOrAD T>
+
+
+
+
+
+ T gridfire::engine::GraphEngine::calculateReverseMolarReactionFlow
+ (
+ T T9 ,
+
+
+
+
+ T rho ,
+
+
+
+
+ std::vector< T > screeningFactors ,
+
+
+
+
+ const std::vector< T > & Y ,
+
+
+
+
+ size_t reactionIndex ,
+
+
+
+
+ const reaction::Reaction & reaction ) const
+
+
+
+
+private
+
+
+
+
+
+
+
+
◆ calculateReverseRate()
+
+
+
+
+
+
+
+
+ double gridfire::engine::GraphEngine::calculateReverseRate
+ (
+ const reaction::Reaction & reaction ,
+
+
+
+
+ double T9 ,
+
+
+
+
+ double rho ,
+
+
+
+
+ const fourdst::composition::CompositionAbstract & comp ) const
+
+
+
+
+nodiscard
+
+
+
+
+
Calculates the reverse rate for a given reaction.
+
Parameters
+
+ reaction The reaction for which to calculate the reverse rate.
+ T9 Temperature in units of 10^9 K.
+ rho
+ comp Composition object containing current abundances.
+
+
+
+
Returns Reverse rate for the reaction (e.g., mol/g/s).
+
This method computes the reverse rate based on the forward rate and thermodynamic properties of the reaction.
+
+
+
+
+
◆ calculateReverseRateTwoBody()
+
+
+
+
+
+
+
+
+ double gridfire::engine::GraphEngine::calculateReverseRateTwoBody
+ (
+ const reaction::Reaction & reaction ,
+
+
+
+
+ double T9 ,
+
+
+
+
+ double forwardRate ,
+
+
+
+
+ double expFactor ) const
+
+
+
+
+nodiscard
+
+
+
+
+
Calculates the reverse rate for a two-body reaction.
+
Parameters
+
+ reaction The reaction for which to calculate the reverse rate.
+ T9 Temperature in units of 10^9 K.
+ forwardRate The forward rate of the reaction.
+ expFactor Exponential factor for the reaction.
+
+
+
+
Returns Reverse rate for the two-body reaction (e.g., mol/g/s).
+
This method computes the reverse rate using the forward rate and thermodynamic properties of the reaction.
+
+
+
+
+
◆ calculateReverseRateTwoBodyDerivative()
+
+
+
+
+
+
+
+
+ double gridfire::engine::GraphEngine::calculateReverseRateTwoBodyDerivative
+ (
+ const reaction::Reaction & reaction ,
+
+
+
+
+ double T9 ,
+
+
+
+
+ double rho ,
+
+
+
+
+ const fourdst::composition::Composition & comp ,
+
+
+
+
+ double reverseRate ) const
+
+
+
+
+nodiscard
+
+
+
+
+
Calculates the derivative of the reverse rate for a two-body reaction with respect to temperature.
+
Parameters
+
+ reaction The reaction for which to calculate the derivative.
+ T9 Temperature in units of 10^9 K.
+ rho Density in g/cm^3.
+ comp Composition object containing current abundances.
+ reverseRate The reverse rate of the reaction.
+
+
+
+
Returns Derivative of the reverse rate with respect to temperature.
+
This method computes the derivative of the reverse rate using automatic differentiation.
+
+
+
+
+
◆ calculateRHSAndEnergy() [1/2]
+
+
+
+
+
+
+
+
+ std::expected< StepDerivatives < double >, EngineStatus > gridfire::engine::GraphEngine::calculateRHSAndEnergy
+ (
+ const fourdst::composition::CompositionAbstract & comp ,
+
+
+
+
+ double T9 ,
+
+
+
+
+ double rho ) const
+
+
+
+
+nodiscard override virtual
+
+
+
+
+
Calculates the right-hand side (dY/dt) and energy generation rate.
+
Parameters
+
+ comp Composition object containing current abundances.
+ T9 Temperature in units of 10^9 K.
+ rho Density in g/cm^3.
+
+
+
+
Returns StepDerivatives<double> containing dY/dt and energy generation rate.
+
This method calculates the time derivatives of all species and the specific nuclear energy generation rate for the current state.
+
See also StepDerivatives
+
+
Implements gridfire::engine::Engine .
+
+
+
+
+
◆ calculateRHSAndEnergy() [2/2]
+
+
+
+
+
+
+
+
+ std::expected< StepDerivatives < double >, EngineStatus > gridfire::engine::GraphEngine::calculateRHSAndEnergy
+ (
+ const fourdst::composition::CompositionAbstract & comp ,
+
+
+
+
+ double T9 ,
+
+
+
+
+ double rho ,
+
+
+
+
+ const reaction::ReactionSet & activeReactions ) const
+
+
+
+
+nodiscard
+
+
+
+
+
Calculates the right-hand side (dY/dt) and energy generation rate for a subset of reactions.
+
Parameters
+
+ comp Composition object containing current abundances.
+ T9 Temperature in units of 10^9 K.
+ rho Density in g/cm^3.
+ activeReactions The set of reactions to include in the calculation.
+
+
+
+
Returns StepDerivatives<double> containing dY/dt and energy generation rate.
+
This method calculates the time derivatives of all species and the specific nuclear energy generation rate considering only the specified subset of reactions. This allows for flexible calculations with different reaction sets without modifying the engine's internal state.
+
See also StepDerivatives
+
+
+
+
+
◆ collectAtomicReverseRateAtomicBases()
+
+
+
+
+
+
+
+
+ void gridfire::engine::GraphEngine::collectAtomicReverseRateAtomicBases
+ (
+ )
+
+
+
+
+
+private
+
+
+
+
+
+
+
+
◆ collectComposition()
+
+
+
+
+
+
+
+
+ fourdst::composition::Composition gridfire::engine::GraphEngine::collectComposition
+ (
+ const fourdst::composition::CompositionAbstract & comp ,
+
+
+
+
+ double T9 ,
+
+
+
+
+ double rho ) const
+
+
+
+
+override virtual
+
+
+
+
+
This will return the input comp with the molar abundances of any species not registered in that but registered in the engine active species set to 0.0.
+
Note Effectively this method does not change input composition; rather it ensures that all species which can be tracked by an instance of GraphEngine are registered in the composition object.
+
+If a species is in the input comp but not in the network
+
Parameters
+
+ comp Input Composition
+ T9
+ rho
+ T9
+ rho
+
+
+
+
Returns A new composition where all members of the active species set are registered. And any members not in comp have a molar abundance set to 0.
+
Exceptions
+
+ BadCollectionError If the input composition contains species not present in the network species set
+
+
+
+
+
Implements gridfire::engine::DynamicEngine .
+
+
+
+
+
◆ collectNetworkSpecies()
+
+
+
+
+
+
+
+
+ void gridfire::engine::GraphEngine::collectNetworkSpecies
+ (
+ )
+
+
+
+
+
+private
+
+
+
+
+
Collects the unique species in the network.
+
This method collects the unique species in the network from the reactants and products of all reactions.
+
+
+
+
+
◆ exportToCSV()
+
+
+
+
+
+ void gridfire::engine::GraphEngine::exportToCSV
+ (
+ const std::string & filename )
+ const
+
+
+
+
+
Exports the network to a CSV file for analysis.
+
Parameters
+
+ filename The name of the CSV file to create.
+
+
+
+
This method generates a CSV file containing information about the reactions in the network, including the reactants, products, Q-value, and reaction rate coefficients.
+
Exceptions
+
+ std::runtime_error If the file cannot be opened for writing.
+
+
+
+
Example usage:
engine .exportToCSV(
"network.csv" );
+
Definition dynamic_engine_diagnostics.h:38
+
+
+
+
+
◆ exportToDot()
+
+
+
+
+
+ void gridfire::engine::GraphEngine::exportToDot
+ (
+ const std::string & filename )
+ const
+
+
+
+
+
Exports the network to a DOT file for visualization.
+
Parameters
+
+ filename The name of the DOT file to create.
+
+
+
+
This method generates a DOT file that can be used to visualize the reaction network as a graph. The DOT file can be converted to a graphical image using Graphviz.
+
Exceptions
+
+ std::runtime_error If the file cannot be opened for writing.
+
+
+
+
Example usage:
engine .exportToDot(
"network.dot" );
+
+
+
+
+
◆ generateJacobianMatrix() [1/3]
+
+
+
+
+
+
+
+
+ NetworkJacobian gridfire::engine::GraphEngine::generateJacobianMatrix
+ (
+ const fourdst::composition::CompositionAbstract & comp ,
+
+
+
+
+ double T9 ,
+
+
+
+
+ double rho ) const
+
+
+
+
+nodiscard override virtual
+
+
+
+
+
Generates the Jacobian matrix for the current state.
+
Parameters
+
+ comp Composition object containing current abundances.
+ T9 Temperature in units of 10^9 K.
+ rho Density in g/cm^3.
+
+
+
+
This method computes and stores the Jacobian matrix (∂(dY/dt)_i/∂Y_j) for the current state using automatic differentiation. The matrix can then be accessed via getJacobianMatrixEntry().
+
See also getJacobianMatrixEntry()
+
+
Implements gridfire::engine::DynamicEngine .
+
+
+
+
+
◆ generateJacobianMatrix() [2/3]
+
+
+
+
+
+
+
+
+ NetworkJacobian gridfire::engine::GraphEngine::generateJacobianMatrix
+ (
+ const fourdst::composition::CompositionAbstract & comp ,
+
+
+
+
+ double T9 ,
+
+
+
+
+ double rho ,
+
+
+
+
+ const SparsityPattern & sparsityPattern ) const
+
+
+
+
+nodiscard override virtual
+
+
+
+
+
Generates the Jacobian matrix for the current state with a specified sparsity pattern.
+
Parameters
+
+ comp Composition object containing current abundances.
+ T9 Temperature in units of 10^9 K.
+ rho Density in g/cm^3.
+ sparsityPattern The sparsity pattern to use for the Jacobian matrix.
+
+
+
+
This method computes and stores the Jacobian matrix (∂(dY/dt)_i/∂Y_j) for the current state using automatic differentiation, taking into account the provided sparsity pattern. The matrix can then be accessed via getJacobianMatrixEntry().
+
See also getJacobianMatrixEntry()
+
+
Implements gridfire::engine::DynamicEngine .
+
+
+
+
+
◆ generateJacobianMatrix() [3/3]
+
+
+
+
+
+
+
+
+ NetworkJacobian gridfire::engine::GraphEngine::generateJacobianMatrix
+ (
+ const fourdst::composition::CompositionAbstract & comp ,
+
+
+
+
+ double T9 ,
+
+
+
+
+ double rho ,
+
+
+
+
+ const std::vector< fourdst::atomic::Species > & activeSpecies ) const
+
+
+
+
+nodiscard override virtual
+
+
+
+
+
Generates the Jacobian matrix for the current state with a specified set of active species. generally this will be much faster than the full matrix generation. Here we use forward mode to generate the Jacobian only for the active species.
+
Parameters
+
+ comp The Composition object containing current abundances.
+ T9 The temperature in units of 10^9 K.
+ rho The density in g/cm^3.
+ activeSpecies A vector of Species objects representing the active species.
+
+
+
+
See also getJacobianMatrixEntry()
+
+generateJacobianMatrix()
+
+
Implements gridfire::engine::DynamicEngine .
+
+
+
+
+
◆ generateStoichiometryMatrix()
+
+
+
+
+
+
+
+
+ void gridfire::engine::GraphEngine::generateStoichiometryMatrix
+ (
+ )
+
+
+
+
+
+override virtual
+
+
+
+
+
Generates the stoichiometry matrix for the network.
+
This method computes and stores the stoichiometry matrix, which encodes the net change of each species in each reaction.
+
+
Implements gridfire::engine::DynamicEngine .
+
+
+
+
+
◆ getDepth()
+
+
+
+
+
+
+
+
+ BuildDepthType gridfire::engine::GraphEngine::getDepth
+ (
+ )
+ const
+
+
+
+
+nodiscard override virtual
+
+
+
+
+
Gets the depth of the network.
+
Returns The build depth of the network.
+
This method returns the current build depth of the reaction network, which indicates how many levels of reactions are included in the network.
+
+
Reimplemented from gridfire::engine::DynamicEngine .
+
+
+
+
+
◆ getNetReactionStoichiometry()
+
+
+
+
+
+
+
+
+ std::unordered_map< fourdst::atomic::Species, int > gridfire::engine::GraphEngine::getNetReactionStoichiometry
+ (
+ const reaction::Reaction & reaction )
+
+
+
+
+
+static nodiscard
+
+
+
+
+
Gets the net stoichiometry for a given reaction.
+
Parameters
+
+ reaction The reaction for which to get the stoichiometry.
+
+
+
+
Returns Map of species to their stoichiometric coefficients.
+
+
+
+
+
◆ getNetworkReactions()
+
+
+
+
+
+
+
+
+
+nodiscard override virtual
+
+
+
+
+
Gets the set of logical reactions in the network.
+
Returns Reference to the LogicalReactionSet containing all reactions.
+
+
Implements gridfire::engine::DynamicEngine .
+
+
+
+
+
◆ getNetworkSpecies()
+
+
+
+
+
+
+
+
+ const std::vector< fourdst::atomic::Species > & gridfire::engine::GraphEngine::getNetworkSpecies
+ (
+ )
+ const
+
+
+
+
+nodiscard override virtual
+
+
+
+
+
Gets the list of species in the network.
+
Returns Vector of Species objects representing all network species.
+
+
Implements gridfire::engine::Engine .
+
+
+
+
+
◆ getPartitionFunction()
+
+
+
+
+
Gets the partition function used for reaction rate calculations.
+
Returns Reference to the PartitionFunction object.
+
This method provides access to the partition function used in the engine, which is essential for calculating thermodynamic properties and reaction rates.
+
+
+
+
+
◆ getScreeningModel()
+
+
+
+
+
+
+
+
+
+nodiscard override virtual
+
+
+
+
+
Gets the current electron screening model.
+
Returns The currently active screening model type.
+
Example usage:
+
ScreeningType
Enumerates the available plasma screening models.
Definition screening_types.h:15
+
+
Implements gridfire::engine::DynamicEngine .
+
+
+
+
+
◆ getSpeciesDestructionTimescales() [1/2]
+
+
+
+
+
+
+
+
+ std::expected< std::unordered_map< fourdst::atomic::Species, double >, EngineStatus > gridfire::engine::GraphEngine::getSpeciesDestructionTimescales
+ (
+ const fourdst::composition::CompositionAbstract & comp ,
+
+
+
+
+ double T9 ,
+
+
+
+
+ double rho ) const
+
+
+
+
+nodiscard override virtual
+
+
+
+
+
Computes destruction timescales for all species in the network.
+
Parameters
+
+ comp Composition object containing current abundances.
+ T9 Temperature in units of 10^9 K.
+ rho Density in g/cm^3.
+
+
+
+
Returns Map from Species to their destruction timescales (s).
+
This method estimates the destruction timescale for each species, which can be useful for understanding reaction flows and equilibrium states.
+
+
Implements gridfire::engine::DynamicEngine .
+
+
+
+
+
◆ getSpeciesDestructionTimescales() [2/2]
+
+
+
+
+
+
+
+
+ std::expected< std::unordered_map< fourdst::atomic::Species, double >, EngineStatus > gridfire::engine::GraphEngine::getSpeciesDestructionTimescales
+ (
+ const fourdst::composition::CompositionAbstract & comp ,
+
+
+
+
+ double T9 ,
+
+
+
+
+ double rho ,
+
+
+
+
+ const reaction::ReactionSet & activeReactions ) const
+
+
+
+
+nodiscard
+
+
+
+
+
Computes destruction timescales for all species in the network considering a subset of reactions.
+
Parameters
+
+ comp Composition object containing current abundances.
+ T9 Temperature in units of 10^9 K.
+ rho Density in g/cm^3.
+ activeReactions The set of reactions to include in the calculation.
+
+
+
+
Returns Map from Species to their destruction timescales (s).
+
This method estimates the destruction timescale for each species, considering only the specified subset of reactions. This allows for flexible calculations with different reaction sets without modifying the engine's internal state.
+
+
+
+
+
◆ getSpeciesIndex()
+
+
+
+
+
+
+
+
+ size_t gridfire::engine::GraphEngine::getSpeciesIndex
+ (
+ const fourdst::atomic::Species & species )
+ const
+
+
+
+
+nodiscard override virtual
+
+
+
+
+
Gets the index of a species in the network.
+
Parameters
+
+ species The species for which to get the index.
+
+
+
+
Returns Index of the species in the network, or -1 if not found.
+
This method returns the index of the given species in the network's species vector. If the species is not found, it returns -1.
+
+
Implements gridfire::engine::DynamicEngine .
+
+
+
+
+
◆ getSpeciesStatus()
+
+
+
+
+
+
+
+
+ SpeciesStatus gridfire::engine::GraphEngine::getSpeciesStatus
+ (
+ const fourdst::atomic::Species & species )
+ const
+
+
+
+
+nodiscard override virtual
+
+
+
+
+
Gets the status of a species in the network.
+
Parameters
+
+ species The species for which to get the status.
+
+
+
+
Returns SpeciesStatus indicating the status of the species.
+
This method checks if the given species is part of the network and returns its status (e.g., Active, Inactive, NotFound).
+
+
Implements gridfire::engine::DynamicEngine .
+
+
+
+
+
◆ getSpeciesTimescales() [1/2]
+
+
+
+
+
+
+
+
+ std::expected< std::unordered_map< fourdst::atomic::Species, double >, EngineStatus > gridfire::engine::GraphEngine::getSpeciesTimescales
+ (
+ const fourdst::composition::CompositionAbstract & comp ,
+
+
+
+
+ double T9 ,
+
+
+
+
+ double rho ) const
+
+
+
+
+nodiscard override virtual
+
+
+
+
+
Computes timescales for all species in the network.
+
Parameters
+
+ comp Composition object containing current abundances.
+ T9 Temperature in units of 10^9 K.
+ rho Density in g/cm^3.
+
+
+
+
Returns Map from Species to their characteristic timescales (s).
+
This method estimates the timescale for abundance change of each species, which can be used for timestep control or diagnostics.
+
+
Implements gridfire::engine::DynamicEngine .
+
+
+
+
+
◆ getSpeciesTimescales() [2/2]
+
+
+
+
+
+
+
+
+ std::expected< std::unordered_map< fourdst::atomic::Species, double >, EngineStatus > gridfire::engine::GraphEngine::getSpeciesTimescales
+ (
+ const fourdst::composition::CompositionAbstract & comp ,
+
+
+
+
+ double T9 ,
+
+
+
+
+ double rho ,
+
+
+
+
+ const reaction::ReactionSet & activeReactions ) const
+
+
+
+
+nodiscard
+
+
+
+
+
Computes timescales for all species in the network considering a subset of reactions.
+
Parameters
+
+ comp Composition object containing current abundances.
+ T9 Temperature in units of 10^9 K.
+ rho Density in g/cm^3.
+ activeReactions The set of reactions to include in the calculation.
+
+
+
+
Returns Map from Species to their characteristic timescales (s).
+
This method estimates the timescale for abundance change of each species, considering only the specified subset of reactions. This allows for flexible calculations with different reaction sets without modifying the engine's internal state.
+
+
+
+
+
◆ getStoichiometryMatrixEntry()
+
+
+
+
+
+
+
+
+ int gridfire::engine::GraphEngine::getStoichiometryMatrixEntry
+ (
+ const fourdst::atomic::Species & species ,
+
+
+
+
+ const reaction::Reaction & reaction ) const
+
+
+
+
+nodiscard override virtual
+
+
+
+
+
+
◆ involvesSpecies()
+
+
+
+
+
+
+
+
+ bool gridfire::engine::GraphEngine::involvesSpecies
+ (
+ const fourdst::atomic::Species & species )
+ const
+
+
+
+
+nodiscard
+
+
+
+
+
Checks if a given species is involved in the network.
+
Parameters
+
+ species The species to check.
+
+
+
+
Returns True if the species is involved in the network, false otherwise.
+
+
+
+
+
◆ isPrecomputationEnabled()
+
+
+
+
+
+
+
+
+ bool gridfire::engine::GraphEngine::isPrecomputationEnabled
+ (
+ )
+ const
+
+
+
+
+nodiscard
+
+
+
+
+
Checks if precomputation of reaction rates is enabled.
+
Returns True if precomputation is enabled, false otherwise.
+
This method allows checking the current state of precomputation for reaction rates in the engine.
+
+
+
+
+
◆ isStale()
+
+
+
+
+
+
+
+
+ bool gridfire::engine::GraphEngine::isStale
+ (
+ const NetIn & netIn )
+
+
+
+
+
+override virtual
+
+
+
+
+
Checks if the engine view is stale and needs to be updated.
+
Parameters
+
+ netIn The current network input (unused).
+
+
+
+
Returns True if the view is stale, false otherwise.
+
Deprecated This method is deprecated and will be removed in future versions. Stale states are returned as part of the results of methods that require the ability to report them.
+
+
Implements gridfire::engine::DynamicEngine .
+
+
+
+
+
◆ isUsingReverseReactions()
+
+
+
+
+
+
+
+
+ bool gridfire::engine::GraphEngine::isUsingReverseReactions
+ (
+ )
+ const
+
+
+
+
+nodiscard
+
+
+
+
+
Checks if reverse reactions are enabled.
+
Returns True if reverse reactions are enabled, false otherwise.
+
This method allows checking whether the engine is configured to use reverse reactions in its calculations.
+
+
+
+
+
◆ mapNetInToMolarAbundanceVector()
+
+
+
+
+
+
+
+
+ std::vector< double > gridfire::engine::GraphEngine::mapNetInToMolarAbundanceVector
+ (
+ const NetIn & netIn )
+ const
+
+
+
+
+nodiscard override virtual
+
+
+
+
+
Maps the NetIn object to a vector of molar abundances.
+
Parameters
+
+ netIn The NetIn object containing the input conditions.
+
+
+
+
Returns Vector of molar abundances corresponding to the species in the network.
+
This method converts the NetIn object into a vector of molar abundances for each species in the network, which can be used for further calculations.
+
+
Implements gridfire::engine::DynamicEngine .
+
+
+
+
+
◆ populateReactionIDMap()
+
+
+
+
+
+
+
+
+ void gridfire::engine::GraphEngine::populateReactionIDMap
+ (
+ )
+
+
+
+
+
+private
+
+
+
+
+
Populates the reaction ID map.
+
This method populates the reaction ID map, which maps reaction IDs to REACLIBReaction objects.
+
+
+
+
+
◆ populateSpeciesToIndexMap()
+
+
+
+
+
+
+
+
+ void gridfire::engine::GraphEngine::populateSpeciesToIndexMap
+ (
+ )
+
+
+
+
+
+private
+
+
+
+
+
Populates the species-to-index map.
+
This method populates the species-to-index map, which maps species to their index in the stoichiometry matrix.
+
+
+
+
+
◆ precomputeNetwork()
+
+
+
+
+
+
+
+
+ void gridfire::engine::GraphEngine::precomputeNetwork
+ (
+ )
+
+
+
+
+
+private
+
+
+
+
+
+
+
+
◆ primeEngine()
+
+
+
+
+
+
+
+
+ PrimingReport gridfire::engine::GraphEngine::primeEngine
+ (
+ const NetIn & netIn )
+
+
+
+
+
+nodiscard override virtual
+
+
+
+
+
Prepares the engine for calculations with initial conditions.
+
Parameters
+
+ netIn The input conditions for the network.
+
+
+
+
Returns PrimingReport containing information about the priming process.
+
This method initializes the engine with the provided input conditions, setting up reactions, species, and precomputing necessary data.
+
+
Implements gridfire::engine::DynamicEngine .
+
+
+
+
+
◆ rebuild()
+
+
+
+
+
+
+
+
+ void gridfire::engine::GraphEngine::rebuild
+ (
+ const fourdst::composition::CompositionAbstract & comp ,
+
+
+
+
+ BuildDepthType depth )
+
+
+
+
+override virtual
+
+
+
+
+
Rebuilds the reaction network based on a new composition.
+
Parameters
+
+ comp The new composition to use for rebuilding the network.
+ depth The build depth to use for the network.
+
+
+
+
This method rebuilds the reaction network using the provided composition and build depth. It updates all internal data structures accordingly.
+
+
Reimplemented from gridfire::engine::DynamicEngine .
+
+
+
+
+
◆ recordADTape()
+
+
+
+
+
+
+
+
+ void gridfire::engine::GraphEngine::recordADTape
+ (
+ )
+ const
+
+
+
+
+private
+
+
+
+
+
Records the AD tape for the right-hand side of the ODE.
+
This method records the AD tape for the right-hand side of the ODE, which is used to calculate the Jacobian matrix using automatic differentiation.
+
Exceptions
+
+ std::runtime_error If there are no species in the network.
+
+
+
+
+
+
+
+
◆ setNetworkReactions()
+
+
+
+
+
+
+
+
+ void gridfire::engine::GraphEngine::setNetworkReactions
+ (
+ const reaction::ReactionSet & reactions )
+
+
+
+
+
+override virtual
+
+
+
+
+
Sets the reactions for the network.
+
Parameters
+
+ reactions The set of reactions to use in the network.
+
+
+
+
This method replaces the current set of reactions in the network with the provided set. It marks the engine as stale, requiring regeneration of matrices and recalculation of rates.
+
+
Implements gridfire::engine::DynamicEngine .
+
+
+
+
+
◆ setPrecomputation()
+
+
+
+
+
+ void gridfire::engine::GraphEngine::setPrecomputation
+ (
+ bool precompute )
+
+
+
+
+
+
Sets whether to precompute reaction rates.
+
Parameters
+
+ precompute True to enable precomputation, false to disable.
+
+
+
+
This method allows enabling or disabling precomputation of reaction rates for performance optimization. When enabled, reaction rates are computed once and stored for later use.
+
Postcondition If precomputation is enabled, reaction rates will be precomputed and cached. If disabled, reaction rates will be computed on-the-fly as needed.
+
+
+
+
+
◆ setScreeningModel()
+
+
+
+
+
+
+
+
+
+override virtual
+
+
+
+
+
Sets the electron screening model for reaction rate calculations.
+
Parameters
+
+ model The type of screening model to use.
+
+
+
+
This method allows changing the screening model at runtime. Screening corrections account for the electrostatic shielding of nuclei by electrons, which affects reaction rates in dense stellar plasmas.
+
+
Implements gridfire::engine::DynamicEngine .
+
+
+
+
+
◆ setUseReverseReactions()
+
+
+
+
+
+ void gridfire::engine::GraphEngine::setUseReverseReactions
+ (
+ bool useReverse )
+
+
+
+
+
+
Sets whether to use reverse reactions in the engine.
+
Parameters
+
+ useReverse True to enable reverse reactions, false to disable.
+
+
+
+
This method allows enabling or disabling reverse reactions in the engine. If disabled, only forward reactions will be considered in calculations.
+
Postcondition If reverse reactions are enabled, the engine will consider both forward and reverse reactions in its calculations. If disabled, only forward reactions will be considered.
+
+
+
+
+
◆ syncInternalMaps()
+
+
+
+
+
+
+
+
+ void gridfire::engine::GraphEngine::syncInternalMaps
+ (
+ )
+
+
+
+
+
+private
+
+
+
+
+
Synchronizes the internal maps.
+
This method synchronizes the internal maps used by the engine, including the species map, reaction ID map, and species-to-index map. It also generates the stoichiometry matrix and records the AD tape.
+
+
+
+
+
◆ update()
+
+
+
+
+
+
+
+
+ fourdst::composition::Composition gridfire::engine::GraphEngine::update
+ (
+ const NetIn & netIn )
+
+
+
+
+
+override virtual
+
+
+
+
+
Updates the state of the network and the composition to be usable for the current network.
+
For graph engine all this does is ensure that the returned composition has all the species in the network registered. if a species was already in the composition is will keep its abundance, otherwise it will be added with zero abundance.
+
Parameters
+
+ netIn The input netIn to use, this includes the composition, temperature, and density
+
+
+
+
Returns The updated composition that includes all species in the network.
+
+
Implements gridfire::engine::DynamicEngine .
+
+
+
+
+
◆ validateConservation()
+
+
+
+
+
+
+
+
+ bool gridfire::engine::GraphEngine::validateConservation
+ (
+ )
+ const
+
+
+
+
+nodiscard private
+
+
+
+
+
Validates mass and charge conservation across all reactions.
+
Returns True if all reactions conserve mass and charge, false otherwise.
+
This method checks that all reactions in the network conserve mass and charge. If any reaction does not conserve mass or charge, an error message is logged and false is returned.
+
+
+
+
+
+
◆ m_atomicReverseRates
+
+
+
+
+
+
+
+
+ std::vector<std::unique_ptr<AtomicReverseRate > > gridfire::engine::GraphEngine::m_atomicReverseRates
+
+
+
+
+private
+
+
+
+
+
+
+
+
◆ m_config
+
+
+
+
+
+
+
+
+ Config& gridfire::engine::GraphEngine::m_config = Config::getInstance()
+
+
+
+
+private
+
+
+
+
+
+
+
+
◆ m_constants
+
+
+
+
+
+
+
+
+ constants gridfire::engine::GraphEngine::m_constants
+
+
+
+
+private
+
+
+
+
+
+
+
+
◆ m_depth
+
+
+
+
◆ m_epsADFun
+
+
+
+
+
+
+
+
+ CppAD::ADFun<double> gridfire::engine::GraphEngine::m_epsADFun
+
+
+
+
+mutable private
+
+
+
+
+
CppAD function for the energy generation rate.
+
+
+
+
+
◆ m_full_jacobian_sparsity_pattern
+
+
+
+
+
+
+
+
+ CppAD::sparse_rc<std::vector<size_t> > gridfire::engine::GraphEngine::m_full_jacobian_sparsity_pattern
+
+
+
+
+private
+
+
+
+
+
Full sparsity pattern for the Jacobian matrix.
+
+
+
+
+
◆ m_full_sparsity_set
+
+
+
+
+
+
+
+
+ std::set<std::pair<size_t, size_t> > gridfire::engine::GraphEngine::m_full_sparsity_set
+
+
+
+
+private
+
+
+
+
+
For quick lookups of the base sparsity pattern.
+
+
+
+
+
◆ m_has_been_primed
+
+
+
+
+
+
+
+
+ bool gridfire::engine::GraphEngine::m_has_been_primed = false
+
+
+
+
+private
+
+
+
+
+
Flag indicating if the engine has been primed.
+
+
+
+
+
◆ m_indexToSpeciesMap
+
+
+
+
+
+
+
+
+ std::unordered_map<size_t, fourdst::atomic::Species> gridfire::engine::GraphEngine::m_indexToSpeciesMap
+
+
+
+
+private
+
+
+
+
+
Map from index to species in the stoichiometry matrix.
+
+
+
+
+
◆ m_jac_work
+
+
+
+
+
+
+
+
+ CppAD::sparse_jac_work gridfire::engine::GraphEngine::m_jac_work
+
+
+
+
+mutable private
+
+
+
+
+
Work object for sparse Jacobian calculations.
+
+
+
+
+
◆ m_jacobianMatrixStateNameMap
+
+
+
+
+
+
+
+
+ std::unordered_map<JacobianMatrixState , std::string> gridfire::engine::GraphEngine::m_jacobianMatrixStateNameMap
+
+
+
+
+private
+
+
+
+
Initial value: = {
+
+
+
+
+
}
+
@ READY_DENSE
Definition engine_graph.h:786
+
@ STALE
Definition engine_graph.h:785
+
@ READY_SPARSE
Definition engine_graph.h:787
+
@ UNINITIALIZED
Definition engine_graph.h:784
+
+
+
+
+
◆ m_logger
+
+
+
+
+
+
+
+
+ quill::Logger* gridfire::engine::GraphEngine::m_logger = LogManager::getInstance().getLogger("log")
+
+
+
+
+private
+
+
+
+
+
+
+
+
◆ m_networkSpecies
+
+
+
+
+
+
+
+
+ std::vector<fourdst::atomic::Species> gridfire::engine::GraphEngine::m_networkSpecies
+
+
+
+
+private
+
+
+
+
+
Vector of unique species in the network.
+
+
+
+
+
◆ m_networkSpeciesMap
+
+
+
+
+
+
+
+
+ std::unordered_map<std::string_view, fourdst::atomic::Species> gridfire::engine::GraphEngine::m_networkSpeciesMap
+
+
+
+
+private
+
+
+
+
+
Map from species name to Species object.
+
+
+
+
+
◆ m_partitionFunction
+
+
+
+
+
Partition function for the network.
+
+
+
+
+
◆ m_precomputedReactionIndexMap
+
+
+
+
+
+
+
+
+ std::unordered_map<uint64_t, size_t> gridfire::engine::GraphEngine::m_precomputedReactionIndexMap
+
+
+
+
+private
+
+
+
+
+
Set of hashed precomputed reactions for quick lookup.
+
+
+
+
+
◆ m_precomputedReactions
+
+
+
+
+
Precomputed reactions for efficiency.
+
+
+
+
+
◆ m_reactionIDMap
+
+
+
+
+
+
+
+
+ std::unordered_map<std::string_view, reaction::Reaction *> gridfire::engine::GraphEngine::m_reactionIDMap
+
+
+
+
+private
+
+
+
+
+
Map from reaction ID to REACLIBReaction. //PERF: This makes copies of REACLIBReaction and could be a performance bottleneck.
+
+
+
+
+
◆ m_reactions
+
+
+
+
+
Set of REACLIB reactions in the network.
+
+
+
+
+
◆ m_rhsADFun
+
+
+
+
+
+
+
+
+ CppAD::ADFun<double> gridfire::engine::GraphEngine::m_rhsADFun
+
+
+
+
+mutable private
+
+
+
+
+
CppAD function for the right-hand side of the ODE.
+
+
+
+
+
◆ m_screeningModel
+
+
+
+
◆ m_screeningType
+
+
+
+
+
Screening type for the reaction network. Default to no screening.
+
+
+
+
+
◆ m_speciesToIndexMap
+
+
+
+
+
+
+
+
+ std::unordered_map<fourdst::atomic::Species, size_t> gridfire::engine::GraphEngine::m_speciesToIndexMap
+
+
+
+
+private
+
+
+
+
+
Map from species to their index in the stoichiometry matrix.
+
+
+
+
+
◆ m_stoichiometryMatrix
+
+
+
+
+
+
+
+
+ boost::numeric::ublas::compressed_matrix<int> gridfire::engine::GraphEngine::m_stoichiometryMatrix
+
+
+
+
+private
+
+
+
+
+
Stoichiometry matrix (species x reactions).
+
+
+
+
+
◆ m_usePrecomputation
+
+
+
+
+
+
+
+
+ bool gridfire::engine::GraphEngine::m_usePrecomputation = true
+
+
+
+
+private
+
+
+
+
+
Flag to enable or disable using precomputed reactions for efficiency. Mathematically, this should not change the results. Generally end users should not need to change this.
+
+
+
+
+
◆ m_useReverseReactions
+
+
+
+
+
+
+
+
+ bool gridfire::engine::GraphEngine::m_useReverseReactions = true
+
+
+
+
+private
+
+
+
+
+
Flag to enable or disable reverse reactions. If false, only forward reactions are considered.
+
+
+
+
+
◆ m_weakRateInterpolator
+
+
+
+
+
Interpolator for weak reaction rates.
+
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_graph_engine.js b/docs/html/classgridfire_1_1engine_1_1_graph_engine.js
new file mode 100644
index 00000000..1f7145e9
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_graph_engine.js
@@ -0,0 +1,96 @@
+var classgridfire_1_1engine_1_1_graph_engine =
+[
+ [ "AtomicReverseRate", "classgridfire_1_1engine_1_1_graph_engine_1_1_atomic_reverse_rate.html", "classgridfire_1_1engine_1_1_graph_engine_1_1_atomic_reverse_rate" ],
+ [ "constants", "structgridfire_1_1engine_1_1_graph_engine_1_1constants.html", "structgridfire_1_1engine_1_1_graph_engine_1_1constants" ],
+ [ "PrecomputedReaction", "structgridfire_1_1engine_1_1_graph_engine_1_1_precomputed_reaction.html", "structgridfire_1_1engine_1_1_graph_engine_1_1_precomputed_reaction" ],
+ [ "JacobianMatrixState", "classgridfire_1_1engine_1_1_graph_engine.html#a19305dc4affde99bb84056c9eeda9f1e", [
+ [ "UNINITIALIZED", "classgridfire_1_1engine_1_1_graph_engine.html#a19305dc4affde99bb84056c9eeda9f1eadd652546039b18970b8dcf2cff824268", null ],
+ [ "STALE", "classgridfire_1_1engine_1_1_graph_engine.html#a19305dc4affde99bb84056c9eeda9f1ea4d855a061b3066dc14a3b12ed26b5456", null ],
+ [ "READY_DENSE", "classgridfire_1_1engine_1_1_graph_engine.html#a19305dc4affde99bb84056c9eeda9f1ea162cb379760275c9685281ee27025cdb", null ],
+ [ "READY_SPARSE", "classgridfire_1_1engine_1_1_graph_engine.html#a19305dc4affde99bb84056c9eeda9f1eabf43af1b1ac8bc6cb42296815a429ae3", null ]
+ ] ],
+ [ "GraphEngine", "classgridfire_1_1engine_1_1_graph_engine.html#a530a5563c5a7a76650edb1657868a289", null ],
+ [ "GraphEngine", "classgridfire_1_1engine_1_1_graph_engine.html#a885887bc4ff09c810e79eb68b79e7e2a", null ],
+ [ "GraphEngine", "classgridfire_1_1engine_1_1_graph_engine.html#ad73fec5f24f5ee74020ca70cdaa104e3", null ],
+ [ "GraphEngine", "classgridfire_1_1engine_1_1_graph_engine.html#a00f8aafa14ae665d8e556b35a7934587", null ],
+ [ "calculateAllDerivatives", "classgridfire_1_1engine_1_1_graph_engine.html#a23187ad3ee504de46f59e1644c715c9f", null ],
+ [ "calculateAllDerivatives", "classgridfire_1_1engine_1_1_graph_engine.html#a5970c97be4c7b5b764ce1155b5c7f870", null ],
+ [ "calculateAllDerivativesUsingPrecomputation", "classgridfire_1_1engine_1_1_graph_engine.html#abdd3ea788cbe3448b11969c7bbe09546", null ],
+ [ "calculateEpsDerivatives", "classgridfire_1_1engine_1_1_graph_engine.html#ac7e4624ed6eee72e7a8df42381d098bb", null ],
+ [ "calculateEpsDerivatives", "classgridfire_1_1engine_1_1_graph_engine.html#a194b03e287ec31348583f8d2078d4906", null ],
+ [ "calculateMolarReactionFlow", "classgridfire_1_1engine_1_1_graph_engine.html#aaff9cdc04ca01e7c927d36476bcf5da4", null ],
+ [ "calculateMolarReactionFlow", "classgridfire_1_1engine_1_1_graph_engine.html#aab80f2ab29ad9c7867e75e499148aa1f", null ],
+ [ "calculateReverseMolarReactionFlow", "classgridfire_1_1engine_1_1_graph_engine.html#a2e7012382ee44473478ebc37ac36695c", null ],
+ [ "calculateReverseRate", "classgridfire_1_1engine_1_1_graph_engine.html#a4dd5733c77e9a7ad8b5e541c187fabae", null ],
+ [ "calculateReverseRateTwoBody", "classgridfire_1_1engine_1_1_graph_engine.html#aa6b07108beeab1bc75c3099c25be7833", null ],
+ [ "calculateReverseRateTwoBodyDerivative", "classgridfire_1_1engine_1_1_graph_engine.html#a83ef40080c62d667b3fee71237efd2e0", null ],
+ [ "calculateRHSAndEnergy", "classgridfire_1_1engine_1_1_graph_engine.html#aee098a65f5cecded199d2c00422b398d", null ],
+ [ "calculateRHSAndEnergy", "classgridfire_1_1engine_1_1_graph_engine.html#ac77d4150b3b070a095fb65346968e51b", null ],
+ [ "collectAtomicReverseRateAtomicBases", "classgridfire_1_1engine_1_1_graph_engine.html#a5fadd1bb2692e1527ce24295c77cfc72", null ],
+ [ "collectComposition", "classgridfire_1_1engine_1_1_graph_engine.html#ae9d4d99c791876c012697fe5a0ba06c8", null ],
+ [ "collectNetworkSpecies", "classgridfire_1_1engine_1_1_graph_engine.html#a8f29c77e777fdc6517f2c7778537ba6f", null ],
+ [ "exportToCSV", "classgridfire_1_1engine_1_1_graph_engine.html#a2c0c50ba51537a2f565183e2f47eef69", null ],
+ [ "exportToDot", "classgridfire_1_1engine_1_1_graph_engine.html#a77d9755e68c81279316c96e6bb160ee4", null ],
+ [ "generateJacobianMatrix", "classgridfire_1_1engine_1_1_graph_engine.html#a9ca013f203d7a3ef9d1b9ee4b2982cb0", null ],
+ [ "generateJacobianMatrix", "classgridfire_1_1engine_1_1_graph_engine.html#ac4f9cd4e2304f681dd9af0f7b751cb81", null ],
+ [ "generateJacobianMatrix", "classgridfire_1_1engine_1_1_graph_engine.html#acc28ff627d46d8d4066a1acf830cbe27", null ],
+ [ "generateStoichiometryMatrix", "classgridfire_1_1engine_1_1_graph_engine.html#a2221feee40542efa1c07f01225bd3828", null ],
+ [ "getDepth", "classgridfire_1_1engine_1_1_graph_engine.html#ab29d6c4a7c789cf3d75767833c80c658", null ],
+ [ "getNetReactionStoichiometry", "classgridfire_1_1engine_1_1_graph_engine.html#a663fd2bd0eda255bc242c1dc6338bc11", null ],
+ [ "getNetworkReactions", "classgridfire_1_1engine_1_1_graph_engine.html#a749cc482a707cb3a38bdd5de894716e2", null ],
+ [ "getNetworkSpecies", "classgridfire_1_1engine_1_1_graph_engine.html#a8f5099bfda5f6d6e1494788beff9b7c8", null ],
+ [ "getPartitionFunction", "classgridfire_1_1engine_1_1_graph_engine.html#a4247cf6a551a7cbc951a733d3c31c325", null ],
+ [ "getScreeningModel", "classgridfire_1_1engine_1_1_graph_engine.html#a62c6f3bebe931bcd412fb492deb634a5", null ],
+ [ "getSpeciesDestructionTimescales", "classgridfire_1_1engine_1_1_graph_engine.html#ae026bc87dc8b24fd78d412ac7e58b148", null ],
+ [ "getSpeciesDestructionTimescales", "classgridfire_1_1engine_1_1_graph_engine.html#a0ea1eedfd79ccbd3d44241eadd65065b", null ],
+ [ "getSpeciesIndex", "classgridfire_1_1engine_1_1_graph_engine.html#ad67b0022cc783e63ae1954a04c4a68e1", null ],
+ [ "getSpeciesStatus", "classgridfire_1_1engine_1_1_graph_engine.html#afe93df16c69e7e10658c82874759dd2f", null ],
+ [ "getSpeciesTimescales", "classgridfire_1_1engine_1_1_graph_engine.html#a3c9b57d2842b6b5535313be845ca6175", null ],
+ [ "getSpeciesTimescales", "classgridfire_1_1engine_1_1_graph_engine.html#a2f196db621e81082430be117c72fa9d0", null ],
+ [ "getStoichiometryMatrixEntry", "classgridfire_1_1engine_1_1_graph_engine.html#aec867f0b43e74c8157f7d5085b55bb96", null ],
+ [ "involvesSpecies", "classgridfire_1_1engine_1_1_graph_engine.html#a147917aef40c3ec2751d742d3f862c70", null ],
+ [ "isPrecomputationEnabled", "classgridfire_1_1engine_1_1_graph_engine.html#ad031cc7869394bd37c0bb65d86153469", null ],
+ [ "isStale", "classgridfire_1_1engine_1_1_graph_engine.html#a07acc57c1015903ce3d1b0d0b7f09358", null ],
+ [ "isUsingReverseReactions", "classgridfire_1_1engine_1_1_graph_engine.html#a177a29cbdd8bae5a313cc391932a3cdd", null ],
+ [ "mapNetInToMolarAbundanceVector", "classgridfire_1_1engine_1_1_graph_engine.html#a915602acb18a69f34076bea401ffb49d", null ],
+ [ "populateReactionIDMap", "classgridfire_1_1engine_1_1_graph_engine.html#a6ccfb1813ce5b5c9568434f47e06726a", null ],
+ [ "populateSpeciesToIndexMap", "classgridfire_1_1engine_1_1_graph_engine.html#a7e5c8d9b996e5bc7fc130d34dd196a4b", null ],
+ [ "precomputeNetwork", "classgridfire_1_1engine_1_1_graph_engine.html#ac7814b9922c7fee4c5a2649127dcdadc", null ],
+ [ "primeEngine", "classgridfire_1_1engine_1_1_graph_engine.html#acc7f7fb7f0ef96135e7bda4bb532792e", null ],
+ [ "rebuild", "classgridfire_1_1engine_1_1_graph_engine.html#a6c5245a27da1b45e10fb410518b79d4e", null ],
+ [ "recordADTape", "classgridfire_1_1engine_1_1_graph_engine.html#a727ae752bcf5d6266a1cf3dedacf50fa", null ],
+ [ "setNetworkReactions", "classgridfire_1_1engine_1_1_graph_engine.html#a90251650123d0d8ce0281e18c4476f45", null ],
+ [ "setPrecomputation", "classgridfire_1_1engine_1_1_graph_engine.html#a0e0650a14247a7f43623d58de8eedb19", null ],
+ [ "setScreeningModel", "classgridfire_1_1engine_1_1_graph_engine.html#af842981deaf84a698b6cbfa66abcb715", null ],
+ [ "setUseReverseReactions", "classgridfire_1_1engine_1_1_graph_engine.html#a959928abbef89fd0a20264ef8b79c111", null ],
+ [ "syncInternalMaps", "classgridfire_1_1engine_1_1_graph_engine.html#a9af928bf8a5327d3cb45254c0e59f914", null ],
+ [ "update", "classgridfire_1_1engine_1_1_graph_engine.html#a7f6d98a9a4f22f1bbc015b1cbb8198e3", null ],
+ [ "validateConservation", "classgridfire_1_1engine_1_1_graph_engine.html#a87bf3a33fc21f7da2a26173ebdfa69f7", null ],
+ [ "m_atomicReverseRates", "classgridfire_1_1engine_1_1_graph_engine.html#ac02ff3a8828e281209013f5c564083d0", null ],
+ [ "m_config", "classgridfire_1_1engine_1_1_graph_engine.html#a903c99fc607b3e36f434ec2070c7344d", null ],
+ [ "m_constants", "classgridfire_1_1engine_1_1_graph_engine.html#aab2701ed1d1262071072175647674b43", null ],
+ [ "m_depth", "classgridfire_1_1engine_1_1_graph_engine.html#ae2fef545142356c7f2f2f5ae3cba6d90", null ],
+ [ "m_epsADFun", "classgridfire_1_1engine_1_1_graph_engine.html#a9087124f3e15614e76754a65d441ca08", null ],
+ [ "m_full_jacobian_sparsity_pattern", "classgridfire_1_1engine_1_1_graph_engine.html#a636caa7f8085153424e17dc6e343a326", null ],
+ [ "m_full_sparsity_set", "classgridfire_1_1engine_1_1_graph_engine.html#af68112da3edc1a8c88289b8e7242180e", null ],
+ [ "m_has_been_primed", "classgridfire_1_1engine_1_1_graph_engine.html#af794d0c7e7b78aebfbbf05381e3531a6", null ],
+ [ "m_indexToSpeciesMap", "classgridfire_1_1engine_1_1_graph_engine.html#aac9f28dd58bc0d40a643885c95c2ab52", null ],
+ [ "m_jac_work", "classgridfire_1_1engine_1_1_graph_engine.html#a81628fd98da5681396daab00ac573c6c", null ],
+ [ "m_jacobianMatrixStateNameMap", "classgridfire_1_1engine_1_1_graph_engine.html#a0a8d12341ecf52446faef9dd8c7dc81e", null ],
+ [ "m_logger", "classgridfire_1_1engine_1_1_graph_engine.html#a8a121839fe3a7a35e4214fd20e753f9f", null ],
+ [ "m_networkSpecies", "classgridfire_1_1engine_1_1_graph_engine.html#a544299e2495c6cac339b767e932e37b3", null ],
+ [ "m_networkSpeciesMap", "classgridfire_1_1engine_1_1_graph_engine.html#a3413c72ee010534a510160e38c3b2a0c", null ],
+ [ "m_partitionFunction", "classgridfire_1_1engine_1_1_graph_engine.html#a9f0e38be889a964d0b6e62934a1220db", null ],
+ [ "m_precomputedReactionIndexMap", "classgridfire_1_1engine_1_1_graph_engine.html#a6b4fe179421269045712cb417aa19eca", null ],
+ [ "m_precomputedReactions", "classgridfire_1_1engine_1_1_graph_engine.html#a08deff0296d504a23056e6f0382dc664", null ],
+ [ "m_reactionIDMap", "classgridfire_1_1engine_1_1_graph_engine.html#af7dab9063bb92aac64b6dfa755074739", null ],
+ [ "m_reactions", "classgridfire_1_1engine_1_1_graph_engine.html#a249a9237865b0cf6906b360e4cb7c1ec", null ],
+ [ "m_rhsADFun", "classgridfire_1_1engine_1_1_graph_engine.html#aac2420a91b43e1a949a48768e6f3b4f2", null ],
+ [ "m_screeningModel", "classgridfire_1_1engine_1_1_graph_engine.html#a3e91570fbffc48748ad352e4554a728b", null ],
+ [ "m_screeningType", "classgridfire_1_1engine_1_1_graph_engine.html#abdff5b7eeb73ed327ba6b758038ef776", null ],
+ [ "m_speciesToIndexMap", "classgridfire_1_1engine_1_1_graph_engine.html#a2421bbbdcc9fb02d9cb6e584da393c83", null ],
+ [ "m_stoichiometryMatrix", "classgridfire_1_1engine_1_1_graph_engine.html#abf6a17a17dbe9a33e3e33de91159f493", null ],
+ [ "m_usePrecomputation", "classgridfire_1_1engine_1_1_graph_engine.html#a1f4e11a70ce65d544e9800d552a65cc8", null ],
+ [ "m_useReverseReactions", "classgridfire_1_1engine_1_1_graph_engine.html#ac9a0d4d0eec32145bf8f2b688a1d988d", null ],
+ [ "m_weakRateInterpolator", "classgridfire_1_1engine_1_1_graph_engine.html#a4fd4daf4f4ef658e7c0617223a74d824", null ]
+];
\ No newline at end of file
diff --git a/docs/html/classgridfire_1_1engine_1_1_graph_engine_1_1_atomic_reverse_rate-members.html b/docs/html/classgridfire_1_1engine_1_1_graph_engine_1_1_atomic_reverse_rate-members.html
new file mode 100644
index 00000000..82414076
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_graph_engine_1_1_atomic_reverse_rate-members.html
@@ -0,0 +1,126 @@
+
+
+
+
+
+
+
+
GridFire: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GridFire v0.7.0-alpha
+
+ General Purpose Nuclear Network
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
This is the complete list of members for gridfire::engine::GraphEngine::AtomicReverseRate , including all inherited members.
+
+ AtomicReverseRate (const reaction::Reaction &reaction, const GraphEngine &engine)gridfire::engine::GraphEngine::AtomicReverseRate inline
+ for_sparse_jac (size_t q, const CppAD::vector< std::set< size_t > > &r, CppAD::vector< std::set< size_t > > &s) overridegridfire::engine::GraphEngine::AtomicReverseRate
+ for_sparse_jac (size_t q, const CppAD::vector< bool > &r, CppAD::vector< bool > &s, const CppAD::vector< double > &x) overridegridfire::engine::GraphEngine::AtomicReverseRate
+ forward (size_t p, size_t q, const CppAD::vector< bool > &vx, CppAD::vector< bool > &vy, const CppAD::vector< double > &tx, CppAD::vector< double > &ty) overridegridfire::engine::GraphEngine::AtomicReverseRate
+ m_engine gridfire::engine::GraphEngine::AtomicReverseRate private
+ m_reaction gridfire::engine::GraphEngine::AtomicReverseRate private
+ rev_sparse_jac (size_t q, const CppAD::vector< std::set< size_t > > &rt, CppAD::vector< std::set< size_t > > &st) overridegridfire::engine::GraphEngine::AtomicReverseRate
+ rev_sparse_jac (size_t q, const CppAD::vector< bool > &rt, CppAD::vector< bool > &st, const CppAD::vector< double > &x) overridegridfire::engine::GraphEngine::AtomicReverseRate
+ reverse (size_t q, const CppAD::vector< double > &tx, const CppAD::vector< double > &ty, CppAD::vector< double > &px, const CppAD::vector< double > &py) overridegridfire::engine::GraphEngine::AtomicReverseRate
+
+
+
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_graph_engine_1_1_atomic_reverse_rate.html b/docs/html/classgridfire_1_1engine_1_1_graph_engine_1_1_atomic_reverse_rate.html
new file mode 100644
index 00000000..62260afd
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_graph_engine_1_1_atomic_reverse_rate.html
@@ -0,0 +1,473 @@
+
+
+
+
+
+
+
+
GridFire: gridfire::engine::GraphEngine::AtomicReverseRate Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GridFire v0.7.0-alpha
+
+ General Purpose Nuclear Network
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+
+
+
+
+ AtomicReverseRate (const reaction::Reaction &reaction, const GraphEngine &engine)
+
+bool forward (size_t p, size_t q, const CppAD::vector< bool > &vx, CppAD::vector< bool > &vy, const CppAD::vector< double > &tx, CppAD::vector< double > &ty) override
+
+bool reverse (size_t q, const CppAD::vector< double > &tx, const CppAD::vector< double > &ty, CppAD::vector< double > &px, const CppAD::vector< double > &py) override
+
+bool for_sparse_jac (size_t q, const CppAD::vector< std::set< size_t > > &r, CppAD::vector< std::set< size_t > > &s) override
+
+bool rev_sparse_jac (size_t q, const CppAD::vector< std::set< size_t > > &rt, CppAD::vector< std::set< size_t > > &st) override
+
+bool for_sparse_jac (size_t q, const CppAD::vector< bool > &r, CppAD::vector< bool > &s, const CppAD::vector< double > &x) override
+
+bool rev_sparse_jac (size_t q, const CppAD::vector< bool > &rt, CppAD::vector< bool > &st, const CppAD::vector< double > &x) override
+
+
+
+
+
◆ AtomicReverseRate()
+
+
+
+
+
+
+
+
+ gridfire::engine::GraphEngine::AtomicReverseRate::AtomicReverseRate
+ (
+ const reaction::Reaction & reaction ,
+
+
+
+
+ const GraphEngine & engine )
+
+
+
+
+inline
+
+
+
+
+
+
+
+
+
◆ for_sparse_jac() [1/2]
+
+
+
+
+
+
+
+
+ bool gridfire::engine::GraphEngine::AtomicReverseRate::for_sparse_jac
+ (
+ size_t q ,
+
+
+
+
+ const CppAD::vector< bool > & r ,
+
+
+
+
+ CppAD::vector< bool > & s ,
+
+
+
+
+ const CppAD::vector< double > & x )
+
+
+
+
+override
+
+
+
+
+
+
+
+
◆ for_sparse_jac() [2/2]
+
+
+
+
+
+
+
+
+ bool gridfire::engine::GraphEngine::AtomicReverseRate::for_sparse_jac
+ (
+ size_t q ,
+
+
+
+
+ const CppAD::vector< std::set< size_t > > & r ,
+
+
+
+
+ CppAD::vector< std::set< size_t > > & s )
+
+
+
+
+override
+
+
+
+
+
+
+
+
◆ forward()
+
+
+
+
+
+
+
+
+ bool gridfire::engine::GraphEngine::AtomicReverseRate::forward
+ (
+ size_t p ,
+
+
+
+
+ size_t q ,
+
+
+
+
+ const CppAD::vector< bool > & vx ,
+
+
+
+
+ CppAD::vector< bool > & vy ,
+
+
+
+
+ const CppAD::vector< double > & tx ,
+
+
+
+
+ CppAD::vector< double > & ty )
+
+
+
+
+override
+
+
+
+
+
+
+
+
◆ rev_sparse_jac() [1/2]
+
+
+
+
+
+
+
+
+ bool gridfire::engine::GraphEngine::AtomicReverseRate::rev_sparse_jac
+ (
+ size_t q ,
+
+
+
+
+ const CppAD::vector< bool > & rt ,
+
+
+
+
+ CppAD::vector< bool > & st ,
+
+
+
+
+ const CppAD::vector< double > & x )
+
+
+
+
+override
+
+
+
+
+
+
+
+
◆ rev_sparse_jac() [2/2]
+
+
+
+
+
+
+
+
+ bool gridfire::engine::GraphEngine::AtomicReverseRate::rev_sparse_jac
+ (
+ size_t q ,
+
+
+
+
+ const CppAD::vector< std::set< size_t > > & rt ,
+
+
+
+
+ CppAD::vector< std::set< size_t > > & st )
+
+
+
+
+override
+
+
+
+
+
+
+
+
◆ reverse()
+
+
+
+
+
+
+
+
+ bool gridfire::engine::GraphEngine::AtomicReverseRate::reverse
+ (
+ size_t q ,
+
+
+
+
+ const CppAD::vector< double > & tx ,
+
+
+
+
+ const CppAD::vector< double > & ty ,
+
+
+
+
+ CppAD::vector< double > & px ,
+
+
+
+
+ const CppAD::vector< double > & py )
+
+
+
+
+override
+
+
+
+
+
+
+
+
+
◆ m_engine
+
+
+
+
+
+
+
+
+ const GraphEngine & gridfire::engine::GraphEngine::AtomicReverseRate::m_engine
+
+
+
+
+private
+
+
+
+
+
+
+
+
◆ m_reaction
+
+
+
+
+
+
+
+
+ const reaction::Reaction & gridfire::engine::GraphEngine::AtomicReverseRate::m_reaction
+
+
+
+
+private
+
+
+
+
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_graph_engine_1_1_atomic_reverse_rate.js b/docs/html/classgridfire_1_1engine_1_1_graph_engine_1_1_atomic_reverse_rate.js
new file mode 100644
index 00000000..76faa71a
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_graph_engine_1_1_atomic_reverse_rate.js
@@ -0,0 +1,12 @@
+var classgridfire_1_1engine_1_1_graph_engine_1_1_atomic_reverse_rate =
+[
+ [ "AtomicReverseRate", "classgridfire_1_1engine_1_1_graph_engine_1_1_atomic_reverse_rate.html#a29639c336e8a6786ec2edea98915c0a4", null ],
+ [ "for_sparse_jac", "classgridfire_1_1engine_1_1_graph_engine_1_1_atomic_reverse_rate.html#a2726876d934a53364e205dbc00a17cc9", null ],
+ [ "for_sparse_jac", "classgridfire_1_1engine_1_1_graph_engine_1_1_atomic_reverse_rate.html#a706c7a9a7c74333bb77a99c1ada8dc65", null ],
+ [ "forward", "classgridfire_1_1engine_1_1_graph_engine_1_1_atomic_reverse_rate.html#a9bd23c85ea5e8ad14a0175931852640d", null ],
+ [ "rev_sparse_jac", "classgridfire_1_1engine_1_1_graph_engine_1_1_atomic_reverse_rate.html#abaa48f3861797a4721ab8841424854d3", null ],
+ [ "rev_sparse_jac", "classgridfire_1_1engine_1_1_graph_engine_1_1_atomic_reverse_rate.html#af5b5eff42682cf278fa4559e50c47eed", null ],
+ [ "reverse", "classgridfire_1_1engine_1_1_graph_engine_1_1_atomic_reverse_rate.html#a23aed1727ab0cbba996561421e754018", null ],
+ [ "m_engine", "classgridfire_1_1engine_1_1_graph_engine_1_1_atomic_reverse_rate.html#ac4e9b5a30752c13dcf872a1eeec3734c", null ],
+ [ "m_reaction", "classgridfire_1_1engine_1_1_graph_engine_1_1_atomic_reverse_rate.html#a826f3f139f3767c72828990cd40dd415", null ]
+];
\ No newline at end of file
diff --git a/docs/html/classgridfire_1_1engine_1_1_graph_engine_1_1_atomic_reverse_rate__coll__graph.map b/docs/html/classgridfire_1_1engine_1_1_graph_engine_1_1_atomic_reverse_rate__coll__graph.map
new file mode 100644
index 00000000..af0ba629
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_graph_engine_1_1_atomic_reverse_rate__coll__graph.map
@@ -0,0 +1,89 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_graph_engine_1_1_atomic_reverse_rate__coll__graph.md5 b/docs/html/classgridfire_1_1engine_1_1_graph_engine_1_1_atomic_reverse_rate__coll__graph.md5
new file mode 100644
index 00000000..6ad41fb7
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_graph_engine_1_1_atomic_reverse_rate__coll__graph.md5
@@ -0,0 +1 @@
+b8998b3d513c4caac3106d3e2806b85e
\ No newline at end of file
diff --git a/docs/html/classgridfire_1_1engine_1_1_graph_engine_1_1_atomic_reverse_rate__coll__graph.svg b/docs/html/classgridfire_1_1engine_1_1_graph_engine_1_1_atomic_reverse_rate__coll__graph.svg
new file mode 100644
index 00000000..6732c4a5
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_graph_engine_1_1_atomic_reverse_rate__coll__graph.svg
@@ -0,0 +1,969 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+gridfire::engine::GraphEngine::AtomicReverseRate
+
+
+Node1
+
+
+gridfire::engine::GraphEngine
+::AtomicReverseRate
+
+
+
+
+
+Node32
+
+
+std::unique_ptr< gridfire
+::engine::GraphEngine::
+AtomicReverseRate >
+
+
+
+
+
+Node1->Node32
+
+
+
+
+
+ ptr
+
+
+
+Node2
+
+
+CppAD::atomic_base
+< double >
+
+
+
+
+
+Node2->Node1
+
+
+
+
+
+
+
+
+Node3
+
+
+gridfire::reaction
+::Reaction
+
+
+
+
+
+Node3->Node1
+
+
+
+
+
+ m_reaction
+
+
+
+Node19
+
+
+std::unique_ptr< gridfire
+::reaction::Reaction >
+
+
+
+
+
+Node3->Node19
+
+
+
+
+
+ ptr
+
+
+
+Node22
+
+
+std::unordered_map
+< std::string_view,
+ gridfire::reaction::
+Reaction * >
+
+
+
+
+
+Node3->Node22
+
+
+
+
+
+ elements
+
+
+
+Node4
+
+
+gridfire::engine::GraphEngine
+
+
+
+
+
+Node4->Node1
+
+
+
+
+
+ m_engine
+
+
+
+Node5
+
+
+gridfire::engine::Dynamic
+Engine
+
+
+
+
+
+Node5->Node4
+
+
+
+
+
+
+
+
+Node6
+
+
+gridfire::engine::Engine
+
+
+
+
+
+Node6->Node5
+
+
+
+
+
+
+
+
+Node7
+
+
+std::unordered_map
+< JacobianMatrixState,
+ std::string >
+
+
+
+
+
+Node7->Node4
+
+
+
+
+
+ m_jacobianMatrixStateNameMap
+
+
+
+Node8
+
+
+std::string
+
+
+
+
+
+Node8->Node7
+
+
+
+
+
+ elements
+
+
+
+Node17
+
+
+gridfire::reaction
+::ReactionSet
+
+
+
+
+
+Node8->Node17
+
+
+
+
+
+ m_id
+
+
+
+Node20
+
+
+std::unordered_map
+< std::string, size_t >
+
+
+
+
+
+Node8->Node20
+
+
+
+
+
+ keys
+
+
+
+Node9
+
+
+std::basic_string<
+ Char >
+
+
+
+
+
+Node9->Node8
+
+
+
+
+
+
+
+
+Node10
+
+
+gridfire::engine::GraphEngine
+::constants
+
+
+
+
+
+Node10->Node4
+
+
+
+
+
+ m_constants
+
+
+
+Node11
+
+
+gridfire::rates::weak
+::WeakRateInterpolator
+
+
+
+
+
+Node11->Node4
+
+
+
+
+
+ m_weakRateInterpolator
+
+
+
+Node12
+
+
+std::unordered_map
+< uint32_t, gridfire
+::rates::weak::IsotopeGrid >
+
+
+
+
+
+Node12->Node11
+
+
+
+
+
+ m_rate_table
+
+
+
+Node13
+
+
+gridfire::rates::weak
+::IsotopeGrid
+
+
+
+
+
+Node13->Node12
+
+
+
+
+
+ elements
+
+
+
+Node14
+
+
+std::vector< double >
+
+
+
+
+
+Node14->Node13
+
+
+
+
+
+ rhoYe_axis
+t9_axis
+
+
+
+Node15
+
+
+std::vector< gridfire
+::rates::weak::WeakRatePayload >
+
+
+
+
+
+Node15->Node13
+
+
+
+
+
+ data
+
+
+
+Node16
+
+
+gridfire::rates::weak
+::WeakRatePayload
+
+
+
+
+
+Node16->Node15
+
+
+
+
+
+ elements
+
+
+
+Node17->Node4
+
+
+
+
+
+ m_reactions
+
+
+
+Node18
+
+
+std::vector< std::unique
+_ptr< gridfire::reaction
+::Reaction > >
+
+
+
+
+
+Node18->Node17
+
+
+
+
+
+ m_reactions
+
+
+
+Node19->Node18
+
+
+
+
+
+ elements
+
+
+
+Node20->Node17
+
+
+
+
+
+ m_reactionNameMap
+
+
+
+Node21
+
+
+std::unordered_set
+< size_t >
+
+
+
+
+
+Node21->Node17
+
+
+
+
+
+ m_reactionHashes
+
+
+
+Node22->Node4
+
+
+
+
+
+ m_reactionIDMap
+
+
+
+Node23
+
+
+std::string_view
+
+
+
+
+
+Node23->Node22
+
+
+
+
+
+ keys
+
+
+
+Node26
+
+
+std::unordered_map
+< std::string_view,
+ fourdst::atomic::Species >
+
+
+
+
+
+Node23->Node26
+
+
+
+
+
+ keys
+
+
+
+Node24
+
+
+std::basic_string_view
+< Char >
+
+
+
+
+
+Node24->Node23
+
+
+
+
+
+
+
+
+Node25
+
+
+std::vector< fourdst
+::atomic::Species >
+
+
+
+
+
+Node25->Node4
+
+
+
+
+
+ m_networkSpecies
+
+
+
+Node26->Node4
+
+
+
+
+
+ m_networkSpeciesMap
+
+
+
+Node27
+
+
+std::unordered_map
+< fourdst::atomic::Species,
+ size_t >
+
+
+
+
+
+Node27->Node4
+
+
+
+
+
+ m_speciesToIndexMap
+
+
+
+Node28
+
+
+std::unordered_map
+< size_t, fourdst::atomic
+::Species >
+
+
+
+
+
+Node28->Node4
+
+
+
+
+
+ m_indexToSpeciesMap
+
+
+
+Node29
+
+
+std::set< std::pair
+< size_t, size_t > >
+
+
+
+
+
+Node29->Node4
+
+
+
+
+
+ m_full_sparsity_set
+
+
+
+Node30
+
+
+std::pair< size_t,
+ size_t >
+
+
+
+
+
+Node30->Node29
+
+
+
+
+
+ keys
+
+
+
+Node31
+
+
+std::vector< std::unique
+_ptr< gridfire::engine
+::GraphEngine::AtomicReverseRate > >
+
+
+
+
+
+Node31->Node4
+
+
+
+
+
+ m_atomicReverseRates
+
+
+
+Node32->Node31
+
+
+
+
+
+ elements
+
+
+
+Node33
+
+
+std::unique_ptr< gridfire
+::screening::ScreeningModel >
+
+
+
+
+
+Node33->Node4
+
+
+
+
+
+ m_screeningModel
+
+
+
+Node34
+
+
+gridfire::screening
+::ScreeningModel
+
+
+
+
+
+Node34->Node33
+
+
+
+
+
+ ptr
+
+
+
+Node35
+
+
+std::vector< gridfire
+::engine::GraphEngine
+::PrecomputedReaction >
+
+
+
+
+
+Node35->Node4
+
+
+
+
+
+ m_precomputedReactions
+
+
+
+Node36
+
+
+gridfire::engine::GraphEngine
+::PrecomputedReaction
+
+
+
+
+
+Node36->Node35
+
+
+
+
+
+ elements
+
+
+
+Node37
+
+
+std::vector< size_t >
+
+
+
+
+
+Node37->Node36
+
+
+
+
+
+ affected_species_indices
+unique_product_indices
+unique_reactant_indices
+
+
+
+Node38
+
+
+std::vector< int >
+
+
+
+
+
+Node38->Node36
+
+
+
+
+
+ product_powers
+reactant_powers
+stoichiometric_coefficients
+
+
+
+Node39
+
+
+std::unordered_map
+< uint64_t, size_t >
+
+
+
+
+
+Node39->Node4
+
+
+
+
+
+ m_precomputedReactionIndexMap
+
+
+
+Node40
+
+
+std::unique_ptr< gridfire
+::partition::PartitionFunction >
+
+
+
+
+
+Node40->Node4
+
+
+
+
+
+ m_partitionFunction
+
+
+
+Node41
+
+
+gridfire::partition
+::PartitionFunction
+
+
+
+
+
+Node41->Node40
+
+
+
+
+
+ ptr
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_graph_engine_1_1_atomic_reverse_rate__coll__graph_org.svg b/docs/html/classgridfire_1_1engine_1_1_graph_engine_1_1_atomic_reverse_rate__coll__graph_org.svg
new file mode 100644
index 00000000..119f6c76
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_graph_engine_1_1_atomic_reverse_rate__coll__graph_org.svg
@@ -0,0 +1,886 @@
+
+
+
+
+
+
+gridfire::engine::GraphEngine::AtomicReverseRate
+
+
+Node1
+
+
+gridfire::engine::GraphEngine
+::AtomicReverseRate
+
+
+
+
+
+Node32
+
+
+std::unique_ptr< gridfire
+::engine::GraphEngine::
+AtomicReverseRate >
+
+
+
+
+
+Node1->Node32
+
+
+
+
+
+ ptr
+
+
+
+Node2
+
+
+CppAD::atomic_base
+< double >
+
+
+
+
+
+Node2->Node1
+
+
+
+
+
+
+
+
+Node3
+
+
+gridfire::reaction
+::Reaction
+
+
+
+
+
+Node3->Node1
+
+
+
+
+
+ m_reaction
+
+
+
+Node19
+
+
+std::unique_ptr< gridfire
+::reaction::Reaction >
+
+
+
+
+
+Node3->Node19
+
+
+
+
+
+ ptr
+
+
+
+Node22
+
+
+std::unordered_map
+< std::string_view,
+ gridfire::reaction::
+Reaction * >
+
+
+
+
+
+Node3->Node22
+
+
+
+
+
+ elements
+
+
+
+Node4
+
+
+gridfire::engine::GraphEngine
+
+
+
+
+
+Node4->Node1
+
+
+
+
+
+ m_engine
+
+
+
+Node5
+
+
+gridfire::engine::Dynamic
+Engine
+
+
+
+
+
+Node5->Node4
+
+
+
+
+
+
+
+
+Node6
+
+
+gridfire::engine::Engine
+
+
+
+
+
+Node6->Node5
+
+
+
+
+
+
+
+
+Node7
+
+
+std::unordered_map
+< JacobianMatrixState,
+ std::string >
+
+
+
+
+
+Node7->Node4
+
+
+
+
+
+ m_jacobianMatrixStateNameMap
+
+
+
+Node8
+
+
+std::string
+
+
+
+
+
+Node8->Node7
+
+
+
+
+
+ elements
+
+
+
+Node17
+
+
+gridfire::reaction
+::ReactionSet
+
+
+
+
+
+Node8->Node17
+
+
+
+
+
+ m_id
+
+
+
+Node20
+
+
+std::unordered_map
+< std::string, size_t >
+
+
+
+
+
+Node8->Node20
+
+
+
+
+
+ keys
+
+
+
+Node9
+
+
+std::basic_string<
+ Char >
+
+
+
+
+
+Node9->Node8
+
+
+
+
+
+
+
+
+Node10
+
+
+gridfire::engine::GraphEngine
+::constants
+
+
+
+
+
+Node10->Node4
+
+
+
+
+
+ m_constants
+
+
+
+Node11
+
+
+gridfire::rates::weak
+::WeakRateInterpolator
+
+
+
+
+
+Node11->Node4
+
+
+
+
+
+ m_weakRateInterpolator
+
+
+
+Node12
+
+
+std::unordered_map
+< uint32_t, gridfire
+::rates::weak::IsotopeGrid >
+
+
+
+
+
+Node12->Node11
+
+
+
+
+
+ m_rate_table
+
+
+
+Node13
+
+
+gridfire::rates::weak
+::IsotopeGrid
+
+
+
+
+
+Node13->Node12
+
+
+
+
+
+ elements
+
+
+
+Node14
+
+
+std::vector< double >
+
+
+
+
+
+Node14->Node13
+
+
+
+
+
+ rhoYe_axis
+t9_axis
+
+
+
+Node15
+
+
+std::vector< gridfire
+::rates::weak::WeakRatePayload >
+
+
+
+
+
+Node15->Node13
+
+
+
+
+
+ data
+
+
+
+Node16
+
+
+gridfire::rates::weak
+::WeakRatePayload
+
+
+
+
+
+Node16->Node15
+
+
+
+
+
+ elements
+
+
+
+Node17->Node4
+
+
+
+
+
+ m_reactions
+
+
+
+Node18
+
+
+std::vector< std::unique
+_ptr< gridfire::reaction
+::Reaction > >
+
+
+
+
+
+Node18->Node17
+
+
+
+
+
+ m_reactions
+
+
+
+Node19->Node18
+
+
+
+
+
+ elements
+
+
+
+Node20->Node17
+
+
+
+
+
+ m_reactionNameMap
+
+
+
+Node21
+
+
+std::unordered_set
+< size_t >
+
+
+
+
+
+Node21->Node17
+
+
+
+
+
+ m_reactionHashes
+
+
+
+Node22->Node4
+
+
+
+
+
+ m_reactionIDMap
+
+
+
+Node23
+
+
+std::string_view
+
+
+
+
+
+Node23->Node22
+
+
+
+
+
+ keys
+
+
+
+Node26
+
+
+std::unordered_map
+< std::string_view,
+ fourdst::atomic::Species >
+
+
+
+
+
+Node23->Node26
+
+
+
+
+
+ keys
+
+
+
+Node24
+
+
+std::basic_string_view
+< Char >
+
+
+
+
+
+Node24->Node23
+
+
+
+
+
+
+
+
+Node25
+
+
+std::vector< fourdst
+::atomic::Species >
+
+
+
+
+
+Node25->Node4
+
+
+
+
+
+ m_networkSpecies
+
+
+
+Node26->Node4
+
+
+
+
+
+ m_networkSpeciesMap
+
+
+
+Node27
+
+
+std::unordered_map
+< fourdst::atomic::Species,
+ size_t >
+
+
+
+
+
+Node27->Node4
+
+
+
+
+
+ m_speciesToIndexMap
+
+
+
+Node28
+
+
+std::unordered_map
+< size_t, fourdst::atomic
+::Species >
+
+
+
+
+
+Node28->Node4
+
+
+
+
+
+ m_indexToSpeciesMap
+
+
+
+Node29
+
+
+std::set< std::pair
+< size_t, size_t > >
+
+
+
+
+
+Node29->Node4
+
+
+
+
+
+ m_full_sparsity_set
+
+
+
+Node30
+
+
+std::pair< size_t,
+ size_t >
+
+
+
+
+
+Node30->Node29
+
+
+
+
+
+ keys
+
+
+
+Node31
+
+
+std::vector< std::unique
+_ptr< gridfire::engine
+::GraphEngine::AtomicReverseRate > >
+
+
+
+
+
+Node31->Node4
+
+
+
+
+
+ m_atomicReverseRates
+
+
+
+Node32->Node31
+
+
+
+
+
+ elements
+
+
+
+Node33
+
+
+std::unique_ptr< gridfire
+::screening::ScreeningModel >
+
+
+
+
+
+Node33->Node4
+
+
+
+
+
+ m_screeningModel
+
+
+
+Node34
+
+
+gridfire::screening
+::ScreeningModel
+
+
+
+
+
+Node34->Node33
+
+
+
+
+
+ ptr
+
+
+
+Node35
+
+
+std::vector< gridfire
+::engine::GraphEngine
+::PrecomputedReaction >
+
+
+
+
+
+Node35->Node4
+
+
+
+
+
+ m_precomputedReactions
+
+
+
+Node36
+
+
+gridfire::engine::GraphEngine
+::PrecomputedReaction
+
+
+
+
+
+Node36->Node35
+
+
+
+
+
+ elements
+
+
+
+Node37
+
+
+std::vector< size_t >
+
+
+
+
+
+Node37->Node36
+
+
+
+
+
+ affected_species_indices
+unique_product_indices
+unique_reactant_indices
+
+
+
+Node38
+
+
+std::vector< int >
+
+
+
+
+
+Node38->Node36
+
+
+
+
+
+ product_powers
+reactant_powers
+stoichiometric_coefficients
+
+
+
+Node39
+
+
+std::unordered_map
+< uint64_t, size_t >
+
+
+
+
+
+Node39->Node4
+
+
+
+
+
+ m_precomputedReactionIndexMap
+
+
+
+Node40
+
+
+std::unique_ptr< gridfire
+::partition::PartitionFunction >
+
+
+
+
+
+Node40->Node4
+
+
+
+
+
+ m_partitionFunction
+
+
+
+Node41
+
+
+gridfire::partition
+::PartitionFunction
+
+
+
+
+
+Node41->Node40
+
+
+
+
+
+ ptr
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_graph_engine_1_1_atomic_reverse_rate__inherit__graph.map b/docs/html/classgridfire_1_1engine_1_1_graph_engine_1_1_atomic_reverse_rate__inherit__graph.map
new file mode 100644
index 00000000..02301191
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_graph_engine_1_1_atomic_reverse_rate__inherit__graph.map
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_graph_engine_1_1_atomic_reverse_rate__inherit__graph.md5 b/docs/html/classgridfire_1_1engine_1_1_graph_engine_1_1_atomic_reverse_rate__inherit__graph.md5
new file mode 100644
index 00000000..e792fbdf
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_graph_engine_1_1_atomic_reverse_rate__inherit__graph.md5
@@ -0,0 +1 @@
+d62dcee147836c04573f0ae1d90d1245
\ No newline at end of file
diff --git a/docs/html/classgridfire_1_1engine_1_1_graph_engine_1_1_atomic_reverse_rate__inherit__graph.svg b/docs/html/classgridfire_1_1engine_1_1_graph_engine_1_1_atomic_reverse_rate__inherit__graph.svg
new file mode 100644
index 00000000..7af68a00
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_graph_engine_1_1_atomic_reverse_rate__inherit__graph.svg
@@ -0,0 +1,67 @@
+
+
+
+
+
+
+
+
+
+
+
+
+gridfire::engine::GraphEngine::AtomicReverseRate
+
+
+Node1
+
+
+gridfire::engine::GraphEngine
+::AtomicReverseRate
+
+
+
+
+
+Node2
+
+
+CppAD::atomic_base
+< double >
+
+
+
+
+
+Node2->Node1
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_graph_engine_1_1_atomic_reverse_rate__inherit__graph_org.svg b/docs/html/classgridfire_1_1engine_1_1_graph_engine_1_1_atomic_reverse_rate__inherit__graph_org.svg
new file mode 100644
index 00000000..634e047f
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_graph_engine_1_1_atomic_reverse_rate__inherit__graph_org.svg
@@ -0,0 +1,41 @@
+
+
+
+
+
+
+gridfire::engine::GraphEngine::AtomicReverseRate
+
+
+Node1
+
+
+gridfire::engine::GraphEngine
+::AtomicReverseRate
+
+
+
+
+
+Node2
+
+
+CppAD::atomic_base
+< double >
+
+
+
+
+
+Node2->Node1
+
+
+
+
+
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_graph_engine__coll__graph.map b/docs/html/classgridfire_1_1engine_1_1_graph_engine__coll__graph.map
new file mode 100644
index 00000000..f9d8ea47
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_graph_engine__coll__graph.map
@@ -0,0 +1,89 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_graph_engine__coll__graph.md5 b/docs/html/classgridfire_1_1engine_1_1_graph_engine__coll__graph.md5
new file mode 100644
index 00000000..559c5213
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_graph_engine__coll__graph.md5
@@ -0,0 +1 @@
+5ca3396df86e480c0cb60889d6b29e8a
\ No newline at end of file
diff --git a/docs/html/classgridfire_1_1engine_1_1_graph_engine__coll__graph.svg b/docs/html/classgridfire_1_1engine_1_1_graph_engine__coll__graph.svg
new file mode 100644
index 00000000..b94aa525
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_graph_engine__coll__graph.svg
@@ -0,0 +1,969 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+gridfire::engine::GraphEngine
+
+
+Node1
+
+
+gridfire::engine::GraphEngine
+
+
+
+
+
+Node31
+
+
+gridfire::engine::GraphEngine
+::AtomicReverseRate
+
+
+
+
+
+Node1->Node31
+
+
+
+
+
+ m_engine
+
+
+
+Node2
+
+
+gridfire::engine::Dynamic
+Engine
+
+
+
+
+
+Node2->Node1
+
+
+
+
+
+
+
+
+Node3
+
+
+gridfire::engine::Engine
+
+
+
+
+
+Node3->Node2
+
+
+
+
+
+
+
+
+Node4
+
+
+std::unordered_map
+< JacobianMatrixState,
+ std::string >
+
+
+
+
+
+Node4->Node1
+
+
+
+
+
+ m_jacobianMatrixStateNameMap
+
+
+
+Node5
+
+
+std::string
+
+
+
+
+
+Node5->Node4
+
+
+
+
+
+ elements
+
+
+
+Node14
+
+
+gridfire::reaction
+::ReactionSet
+
+
+
+
+
+Node5->Node14
+
+
+
+
+
+ m_id
+
+
+
+Node18
+
+
+std::unordered_map
+< std::string, size_t >
+
+
+
+
+
+Node5->Node18
+
+
+
+
+
+ keys
+
+
+
+Node6
+
+
+std::basic_string<
+ Char >
+
+
+
+
+
+Node6->Node5
+
+
+
+
+
+
+
+
+Node7
+
+
+gridfire::engine::GraphEngine
+::constants
+
+
+
+
+
+Node7->Node1
+
+
+
+
+
+ m_constants
+
+
+
+Node8
+
+
+gridfire::rates::weak
+::WeakRateInterpolator
+
+
+
+
+
+Node8->Node1
+
+
+
+
+
+ m_weakRateInterpolator
+
+
+
+Node9
+
+
+std::unordered_map
+< uint32_t, gridfire
+::rates::weak::IsotopeGrid >
+
+
+
+
+
+Node9->Node8
+
+
+
+
+
+ m_rate_table
+
+
+
+Node10
+
+
+gridfire::rates::weak
+::IsotopeGrid
+
+
+
+
+
+Node10->Node9
+
+
+
+
+
+ elements
+
+
+
+Node11
+
+
+std::vector< double >
+
+
+
+
+
+Node11->Node10
+
+
+
+
+
+ rhoYe_axis
+t9_axis
+
+
+
+Node12
+
+
+std::vector< gridfire
+::rates::weak::WeakRatePayload >
+
+
+
+
+
+Node12->Node10
+
+
+
+
+
+ data
+
+
+
+Node13
+
+
+gridfire::rates::weak
+::WeakRatePayload
+
+
+
+
+
+Node13->Node12
+
+
+
+
+
+ elements
+
+
+
+Node14->Node1
+
+
+
+
+
+ m_reactions
+
+
+
+Node15
+
+
+std::vector< std::unique
+_ptr< gridfire::reaction
+::Reaction > >
+
+
+
+
+
+Node15->Node14
+
+
+
+
+
+ m_reactions
+
+
+
+Node16
+
+
+std::unique_ptr< gridfire
+::reaction::Reaction >
+
+
+
+
+
+Node16->Node15
+
+
+
+
+
+ elements
+
+
+
+Node17
+
+
+gridfire::reaction
+::Reaction
+
+
+
+
+
+Node17->Node16
+
+
+
+
+
+ ptr
+
+
+
+Node20
+
+
+std::unordered_map
+< std::string_view,
+ gridfire::reaction::
+Reaction * >
+
+
+
+
+
+Node17->Node20
+
+
+
+
+
+ elements
+
+
+
+Node17->Node31
+
+
+
+
+
+ m_reaction
+
+
+
+Node18->Node14
+
+
+
+
+
+ m_reactionNameMap
+
+
+
+Node19
+
+
+std::unordered_set
+< size_t >
+
+
+
+
+
+Node19->Node14
+
+
+
+
+
+ m_reactionHashes
+
+
+
+Node20->Node1
+
+
+
+
+
+ m_reactionIDMap
+
+
+
+Node21
+
+
+std::string_view
+
+
+
+
+
+Node21->Node20
+
+
+
+
+
+ keys
+
+
+
+Node24
+
+
+std::unordered_map
+< std::string_view,
+ fourdst::atomic::Species >
+
+
+
+
+
+Node21->Node24
+
+
+
+
+
+ keys
+
+
+
+Node22
+
+
+std::basic_string_view
+< Char >
+
+
+
+
+
+Node22->Node21
+
+
+
+
+
+
+
+
+Node23
+
+
+std::vector< fourdst
+::atomic::Species >
+
+
+
+
+
+Node23->Node1
+
+
+
+
+
+ m_networkSpecies
+
+
+
+Node24->Node1
+
+
+
+
+
+ m_networkSpeciesMap
+
+
+
+Node25
+
+
+std::unordered_map
+< fourdst::atomic::Species,
+ size_t >
+
+
+
+
+
+Node25->Node1
+
+
+
+
+
+ m_speciesToIndexMap
+
+
+
+Node26
+
+
+std::unordered_map
+< size_t, fourdst::atomic
+::Species >
+
+
+
+
+
+Node26->Node1
+
+
+
+
+
+ m_indexToSpeciesMap
+
+
+
+Node27
+
+
+std::set< std::pair
+< size_t, size_t > >
+
+
+
+
+
+Node27->Node1
+
+
+
+
+
+ m_full_sparsity_set
+
+
+
+Node28
+
+
+std::pair< size_t,
+ size_t >
+
+
+
+
+
+Node28->Node27
+
+
+
+
+
+ keys
+
+
+
+Node29
+
+
+std::vector< std::unique
+_ptr< gridfire::engine
+::GraphEngine::AtomicReverseRate > >
+
+
+
+
+
+Node29->Node1
+
+
+
+
+
+ m_atomicReverseRates
+
+
+
+Node30
+
+
+std::unique_ptr< gridfire
+::engine::GraphEngine::
+AtomicReverseRate >
+
+
+
+
+
+Node30->Node29
+
+
+
+
+
+ elements
+
+
+
+Node31->Node30
+
+
+
+
+
+ ptr
+
+
+
+Node32
+
+
+CppAD::atomic_base
+< double >
+
+
+
+
+
+Node32->Node31
+
+
+
+
+
+
+
+
+Node33
+
+
+std::unique_ptr< gridfire
+::screening::ScreeningModel >
+
+
+
+
+
+Node33->Node1
+
+
+
+
+
+ m_screeningModel
+
+
+
+Node34
+
+
+gridfire::screening
+::ScreeningModel
+
+
+
+
+
+Node34->Node33
+
+
+
+
+
+ ptr
+
+
+
+Node35
+
+
+std::vector< gridfire
+::engine::GraphEngine
+::PrecomputedReaction >
+
+
+
+
+
+Node35->Node1
+
+
+
+
+
+ m_precomputedReactions
+
+
+
+Node36
+
+
+gridfire::engine::GraphEngine
+::PrecomputedReaction
+
+
+
+
+
+Node36->Node35
+
+
+
+
+
+ elements
+
+
+
+Node37
+
+
+std::vector< size_t >
+
+
+
+
+
+Node37->Node36
+
+
+
+
+
+ affected_species_indices
+unique_product_indices
+unique_reactant_indices
+
+
+
+Node38
+
+
+std::vector< int >
+
+
+
+
+
+Node38->Node36
+
+
+
+
+
+ product_powers
+reactant_powers
+stoichiometric_coefficients
+
+
+
+Node39
+
+
+std::unordered_map
+< uint64_t, size_t >
+
+
+
+
+
+Node39->Node1
+
+
+
+
+
+ m_precomputedReactionIndexMap
+
+
+
+Node40
+
+
+std::unique_ptr< gridfire
+::partition::PartitionFunction >
+
+
+
+
+
+Node40->Node1
+
+
+
+
+
+ m_partitionFunction
+
+
+
+Node41
+
+
+gridfire::partition
+::PartitionFunction
+
+
+
+
+
+Node41->Node40
+
+
+
+
+
+ ptr
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_graph_engine__coll__graph_org.svg b/docs/html/classgridfire_1_1engine_1_1_graph_engine__coll__graph_org.svg
new file mode 100644
index 00000000..9f7b30a3
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_graph_engine__coll__graph_org.svg
@@ -0,0 +1,886 @@
+
+
+
+
+
+
+gridfire::engine::GraphEngine
+
+
+Node1
+
+
+gridfire::engine::GraphEngine
+
+
+
+
+
+Node31
+
+
+gridfire::engine::GraphEngine
+::AtomicReverseRate
+
+
+
+
+
+Node1->Node31
+
+
+
+
+
+ m_engine
+
+
+
+Node2
+
+
+gridfire::engine::Dynamic
+Engine
+
+
+
+
+
+Node2->Node1
+
+
+
+
+
+
+
+
+Node3
+
+
+gridfire::engine::Engine
+
+
+
+
+
+Node3->Node2
+
+
+
+
+
+
+
+
+Node4
+
+
+std::unordered_map
+< JacobianMatrixState,
+ std::string >
+
+
+
+
+
+Node4->Node1
+
+
+
+
+
+ m_jacobianMatrixStateNameMap
+
+
+
+Node5
+
+
+std::string
+
+
+
+
+
+Node5->Node4
+
+
+
+
+
+ elements
+
+
+
+Node14
+
+
+gridfire::reaction
+::ReactionSet
+
+
+
+
+
+Node5->Node14
+
+
+
+
+
+ m_id
+
+
+
+Node18
+
+
+std::unordered_map
+< std::string, size_t >
+
+
+
+
+
+Node5->Node18
+
+
+
+
+
+ keys
+
+
+
+Node6
+
+
+std::basic_string<
+ Char >
+
+
+
+
+
+Node6->Node5
+
+
+
+
+
+
+
+
+Node7
+
+
+gridfire::engine::GraphEngine
+::constants
+
+
+
+
+
+Node7->Node1
+
+
+
+
+
+ m_constants
+
+
+
+Node8
+
+
+gridfire::rates::weak
+::WeakRateInterpolator
+
+
+
+
+
+Node8->Node1
+
+
+
+
+
+ m_weakRateInterpolator
+
+
+
+Node9
+
+
+std::unordered_map
+< uint32_t, gridfire
+::rates::weak::IsotopeGrid >
+
+
+
+
+
+Node9->Node8
+
+
+
+
+
+ m_rate_table
+
+
+
+Node10
+
+
+gridfire::rates::weak
+::IsotopeGrid
+
+
+
+
+
+Node10->Node9
+
+
+
+
+
+ elements
+
+
+
+Node11
+
+
+std::vector< double >
+
+
+
+
+
+Node11->Node10
+
+
+
+
+
+ rhoYe_axis
+t9_axis
+
+
+
+Node12
+
+
+std::vector< gridfire
+::rates::weak::WeakRatePayload >
+
+
+
+
+
+Node12->Node10
+
+
+
+
+
+ data
+
+
+
+Node13
+
+
+gridfire::rates::weak
+::WeakRatePayload
+
+
+
+
+
+Node13->Node12
+
+
+
+
+
+ elements
+
+
+
+Node14->Node1
+
+
+
+
+
+ m_reactions
+
+
+
+Node15
+
+
+std::vector< std::unique
+_ptr< gridfire::reaction
+::Reaction > >
+
+
+
+
+
+Node15->Node14
+
+
+
+
+
+ m_reactions
+
+
+
+Node16
+
+
+std::unique_ptr< gridfire
+::reaction::Reaction >
+
+
+
+
+
+Node16->Node15
+
+
+
+
+
+ elements
+
+
+
+Node17
+
+
+gridfire::reaction
+::Reaction
+
+
+
+
+
+Node17->Node16
+
+
+
+
+
+ ptr
+
+
+
+Node20
+
+
+std::unordered_map
+< std::string_view,
+ gridfire::reaction::
+Reaction * >
+
+
+
+
+
+Node17->Node20
+
+
+
+
+
+ elements
+
+
+
+Node17->Node31
+
+
+
+
+
+ m_reaction
+
+
+
+Node18->Node14
+
+
+
+
+
+ m_reactionNameMap
+
+
+
+Node19
+
+
+std::unordered_set
+< size_t >
+
+
+
+
+
+Node19->Node14
+
+
+
+
+
+ m_reactionHashes
+
+
+
+Node20->Node1
+
+
+
+
+
+ m_reactionIDMap
+
+
+
+Node21
+
+
+std::string_view
+
+
+
+
+
+Node21->Node20
+
+
+
+
+
+ keys
+
+
+
+Node24
+
+
+std::unordered_map
+< std::string_view,
+ fourdst::atomic::Species >
+
+
+
+
+
+Node21->Node24
+
+
+
+
+
+ keys
+
+
+
+Node22
+
+
+std::basic_string_view
+< Char >
+
+
+
+
+
+Node22->Node21
+
+
+
+
+
+
+
+
+Node23
+
+
+std::vector< fourdst
+::atomic::Species >
+
+
+
+
+
+Node23->Node1
+
+
+
+
+
+ m_networkSpecies
+
+
+
+Node24->Node1
+
+
+
+
+
+ m_networkSpeciesMap
+
+
+
+Node25
+
+
+std::unordered_map
+< fourdst::atomic::Species,
+ size_t >
+
+
+
+
+
+Node25->Node1
+
+
+
+
+
+ m_speciesToIndexMap
+
+
+
+Node26
+
+
+std::unordered_map
+< size_t, fourdst::atomic
+::Species >
+
+
+
+
+
+Node26->Node1
+
+
+
+
+
+ m_indexToSpeciesMap
+
+
+
+Node27
+
+
+std::set< std::pair
+< size_t, size_t > >
+
+
+
+
+
+Node27->Node1
+
+
+
+
+
+ m_full_sparsity_set
+
+
+
+Node28
+
+
+std::pair< size_t,
+ size_t >
+
+
+
+
+
+Node28->Node27
+
+
+
+
+
+ keys
+
+
+
+Node29
+
+
+std::vector< std::unique
+_ptr< gridfire::engine
+::GraphEngine::AtomicReverseRate > >
+
+
+
+
+
+Node29->Node1
+
+
+
+
+
+ m_atomicReverseRates
+
+
+
+Node30
+
+
+std::unique_ptr< gridfire
+::engine::GraphEngine::
+AtomicReverseRate >
+
+
+
+
+
+Node30->Node29
+
+
+
+
+
+ elements
+
+
+
+Node31->Node30
+
+
+
+
+
+ ptr
+
+
+
+Node32
+
+
+CppAD::atomic_base
+< double >
+
+
+
+
+
+Node32->Node31
+
+
+
+
+
+
+
+
+Node33
+
+
+std::unique_ptr< gridfire
+::screening::ScreeningModel >
+
+
+
+
+
+Node33->Node1
+
+
+
+
+
+ m_screeningModel
+
+
+
+Node34
+
+
+gridfire::screening
+::ScreeningModel
+
+
+
+
+
+Node34->Node33
+
+
+
+
+
+ ptr
+
+
+
+Node35
+
+
+std::vector< gridfire
+::engine::GraphEngine
+::PrecomputedReaction >
+
+
+
+
+
+Node35->Node1
+
+
+
+
+
+ m_precomputedReactions
+
+
+
+Node36
+
+
+gridfire::engine::GraphEngine
+::PrecomputedReaction
+
+
+
+
+
+Node36->Node35
+
+
+
+
+
+ elements
+
+
+
+Node37
+
+
+std::vector< size_t >
+
+
+
+
+
+Node37->Node36
+
+
+
+
+
+ affected_species_indices
+unique_product_indices
+unique_reactant_indices
+
+
+
+Node38
+
+
+std::vector< int >
+
+
+
+
+
+Node38->Node36
+
+
+
+
+
+ product_powers
+reactant_powers
+stoichiometric_coefficients
+
+
+
+Node39
+
+
+std::unordered_map
+< uint64_t, size_t >
+
+
+
+
+
+Node39->Node1
+
+
+
+
+
+ m_precomputedReactionIndexMap
+
+
+
+Node40
+
+
+std::unique_ptr< gridfire
+::partition::PartitionFunction >
+
+
+
+
+
+Node40->Node1
+
+
+
+
+
+ m_partitionFunction
+
+
+
+Node41
+
+
+gridfire::partition
+::PartitionFunction
+
+
+
+
+
+Node41->Node40
+
+
+
+
+
+ ptr
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_graph_engine__inherit__graph.map b/docs/html/classgridfire_1_1engine_1_1_graph_engine__inherit__graph.map
new file mode 100644
index 00000000..ababdfb6
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_graph_engine__inherit__graph.map
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_graph_engine__inherit__graph.md5 b/docs/html/classgridfire_1_1engine_1_1_graph_engine__inherit__graph.md5
new file mode 100644
index 00000000..594ef164
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_graph_engine__inherit__graph.md5
@@ -0,0 +1 @@
+9ec5c736bd04823ea6ea4f7f5845fe4b
\ No newline at end of file
diff --git a/docs/html/classgridfire_1_1engine_1_1_graph_engine__inherit__graph.svg b/docs/html/classgridfire_1_1engine_1_1_graph_engine__inherit__graph.svg
new file mode 100644
index 00000000..effbcd5d
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_graph_engine__inherit__graph.svg
@@ -0,0 +1,84 @@
+
+
+
+
+
+
+
+
+
+
+
+
+gridfire::engine::GraphEngine
+
+
+Node1
+
+
+gridfire::engine::GraphEngine
+
+
+
+
+
+Node2
+
+
+gridfire::engine::Dynamic
+Engine
+
+
+
+
+
+Node2->Node1
+
+
+
+
+
+
+
+
+Node3
+
+
+gridfire::engine::Engine
+
+
+
+
+
+Node3->Node2
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_graph_engine__inherit__graph_org.svg b/docs/html/classgridfire_1_1engine_1_1_graph_engine__inherit__graph_org.svg
new file mode 100644
index 00000000..3f0d2b86
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_graph_engine__inherit__graph_org.svg
@@ -0,0 +1,58 @@
+
+
+
+
+
+
+gridfire::engine::GraphEngine
+
+
+Node1
+
+
+gridfire::engine::GraphEngine
+
+
+
+
+
+Node2
+
+
+gridfire::engine::Dynamic
+Engine
+
+
+
+
+
+Node2->Node1
+
+
+
+
+
+
+
+
+Node3
+
+
+gridfire::engine::Engine
+
+
+
+
+
+Node3->Node2
+
+
+
+
+
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view-members.html b/docs/html/classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view-members.html
new file mode 100644
index 00000000..a9974668
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view-members.html
@@ -0,0 +1,176 @@
+
+
+
+
+
+
+
+
GridFire: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GridFire v0.7.0-alpha
+
+ General Purpose Nuclear Network
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
This is the complete list of members for gridfire::engine::MultiscalePartitioningEngineView , including all inherited members.
+
+ analyzeTimescalePoolConnectivity (const std::vector< std::vector< fourdst::atomic::Species > > ×cale_pools) constgridfire::engine::MultiscalePartitioningEngineView private
+ buildConnectivityGraph (const std::vector< fourdst::atomic::Species > &species_pool) constgridfire::engine::MultiscalePartitioningEngineView private
+ calculateEpsDerivatives (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const overridegridfire::engine::MultiscalePartitioningEngineView virtual
+ calculateMolarReactionFlow (const reaction::Reaction &reaction, const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const overridegridfire::engine::MultiscalePartitioningEngineView virtual
+ calculateRHSAndEnergy (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const overridegridfire::engine::MultiscalePartitioningEngineView virtual
+ collectComposition (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const overridegridfire::engine::MultiscalePartitioningEngineView virtual
+ constructCandidateGroups (const std::vector< std::vector< fourdst::atomic::Species > > &candidate_pools, const fourdst::composition::Composition &comp, double T9, double rho) constgridfire::engine::MultiscalePartitioningEngineView private
+ exportToDot (const std::string &filename, const fourdst::composition::Composition &comp, double T9, double rho) constgridfire::engine::MultiscalePartitioningEngineView
+ generateJacobianMatrix (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const overridegridfire::engine::MultiscalePartitioningEngineView virtual
+ generateJacobianMatrix (const fourdst::composition::CompositionAbstract &comp, double T9, double rho, const std::vector< fourdst::atomic::Species > &activeSpecies) const overridegridfire::engine::MultiscalePartitioningEngineView virtual
+ generateJacobianMatrix (const fourdst::composition::CompositionAbstract &comp, double T9, double rho, const SparsityPattern &sparsityPattern) const overridegridfire::engine::MultiscalePartitioningEngineView virtual
+ generateStoichiometryMatrix () overridegridfire::engine::MultiscalePartitioningEngineView virtual
+ getBaseEngine () const overridegridfire::engine::MultiscalePartitioningEngineView virtual
+ getDepth () constgridfire::engine::DynamicEngine inline virtual
+ getDynamicSpecies () constgridfire::engine::MultiscalePartitioningEngineView
+ getFastSpecies () constgridfire::engine::MultiscalePartitioningEngineView
+ getNetworkReactions () const overridegridfire::engine::MultiscalePartitioningEngineView virtual
+ getNetworkSpecies () const overridegridfire::engine::MultiscalePartitioningEngineView virtual
+ getNormalizedEquilibratedComposition (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) constgridfire::engine::MultiscalePartitioningEngineView
+ getScreeningModel () const overridegridfire::engine::MultiscalePartitioningEngineView virtual
+ getSpeciesDestructionTimescales (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const overridegridfire::engine::MultiscalePartitioningEngineView virtual
+ getSpeciesIndex (const fourdst::atomic::Species &species) const overridegridfire::engine::MultiscalePartitioningEngineView virtual
+ getSpeciesStatus (const fourdst::atomic::Species &species) const overridegridfire::engine::MultiscalePartitioningEngineView virtual
+ getSpeciesTimescales (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const overridegridfire::engine::MultiscalePartitioningEngineView virtual
+ getStoichiometryMatrixEntry (const fourdst::atomic::Species &species, const reaction::Reaction &reaction) const overridegridfire::engine::MultiscalePartitioningEngineView virtual
+ group_is_a_qse_cluster (const fourdst::composition::Composition &comp, double T9, double rho, const QSEGroup &group) constgridfire::engine::MultiscalePartitioningEngineView private
+ group_is_a_qse_pipeline (const fourdst::composition::Composition &comp, double T9, double rho, const QSEGroup &group) constgridfire::engine::MultiscalePartitioningEngineView private
+ identifyMeanSlowestPool (const std::vector< std::vector< fourdst::atomic::Species > > &pools, const fourdst::composition::Composition &comp, double T9, double rho) constgridfire::engine::MultiscalePartitioningEngineView private
+ involvesSpecies (const fourdst::atomic::Species &species) constgridfire::engine::MultiscalePartitioningEngineView
+ involvesSpeciesInDynamic (const fourdst::atomic::Species &species) constgridfire::engine::MultiscalePartitioningEngineView
+ involvesSpeciesInQSE (const fourdst::atomic::Species &species) constgridfire::engine::MultiscalePartitioningEngineView
+ isStale (const NetIn &netIn) overridegridfire::engine::MultiscalePartitioningEngineView virtual
+ m_activeReactionIndices gridfire::engine::MultiscalePartitioningEngineView private
+ m_activeSpeciesIndices gridfire::engine::MultiscalePartitioningEngineView private
+ m_algebraic_abundances gridfire::engine::MultiscalePartitioningEngineView private
+ m_algebraic_species gridfire::engine::MultiscalePartitioningEngineView private
+ m_baseEngine gridfire::engine::MultiscalePartitioningEngineView private
+ m_composition_cache gridfire::engine::MultiscalePartitioningEngineView mutable private
+ m_dynamic_species gridfire::engine::MultiscalePartitioningEngineView private
+ m_logger gridfire::engine::MultiscalePartitioningEngineView private
+ m_qse_groups gridfire::engine::MultiscalePartitioningEngineView private
+ m_qse_solvers gridfire::engine::MultiscalePartitioningEngineView private
+ m_sun_ctx gridfire::engine::MultiscalePartitioningEngineView private
+ mapNetInToMolarAbundanceVector (const NetIn &netIn) const overridegridfire::engine::MultiscalePartitioningEngineView virtual
+ MultiscalePartitioningEngineView (DynamicEngine &baseEngine)gridfire::engine::MultiscalePartitioningEngineView explicit
+ partitionByTimescale (const fourdst::composition::Composition &comp, double T9, double rho) constgridfire::engine::MultiscalePartitioningEngineView private
+ partitionNetwork (const NetIn &netIn)gridfire::engine::MultiscalePartitioningEngineView
+ primeEngine (const NetIn &netIn) overridegridfire::engine::MultiscalePartitioningEngineView virtual
+ pruneValidatedGroups (const std::vector< QSEGroup > &groups, const std::vector< reaction::ReactionSet > &groupReactions, const fourdst::composition::Composition &comp, double T9, double rho) constgridfire::engine::MultiscalePartitioningEngineView private
+ QSEPartition typedefgridfire::engine::MultiscalePartitioningEngineView private
+ rebuild (const fourdst::composition::CompositionAbstract &comp, BuildDepthType depth)gridfire::engine::DynamicEngine inline virtual
+ setNetworkReactions (const reaction::ReactionSet &reactions) overridegridfire::engine::MultiscalePartitioningEngineView virtual
+ setScreeningModel (screening::ScreeningType model) overridegridfire::engine::MultiscalePartitioningEngineView virtual
+ solveQSEAbundances (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) constgridfire::engine::MultiscalePartitioningEngineView private
+ update (const NetIn &netIn) overridegridfire::engine::MultiscalePartitioningEngineView virtual
+ validateGroupsWithFluxAnalysis (const std::vector< QSEGroup > &candidate_groups, const fourdst::composition::Composition &comp, double T9, double rho) constgridfire::engine::MultiscalePartitioningEngineView private
+ ~Engine ()=defaultgridfire::engine::Engine virtual
+ ~EngineView ()=defaultgridfire::engine::EngineView< DynamicEngine > virtual
+ ~MultiscalePartitioningEngineView () overridegridfire::engine::MultiscalePartitioningEngineView
+
+
+
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view.html b/docs/html/classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view.html
new file mode 100644
index 00000000..5f644e7c
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view.html
@@ -0,0 +1,2447 @@
+
+
+
+
+
+
+
+
GridFire: gridfire::engine::MultiscalePartitioningEngineView Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GridFire v0.7.0-alpha
+
+ General Purpose Nuclear Network
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
An engine view that partitions the reaction network into multiple groups based on timescales.
+ More...
+
+
#include <engine_multiscale.h>
+
+
+
+
+
+
+ MultiscalePartitioningEngineView (DynamicEngine &baseEngine)
+ Constructs a MultiscalePartitioningEngineView .
+
+ ~MultiscalePartitioningEngineView () override
+
+const std::vector< fourdst::atomic::Species > & getNetworkSpecies () const override
+ Gets the list of species in the network.
+
+std::expected< StepDerivatives < double >, engine::EngineStatus > calculateRHSAndEnergy (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const override
+ Calculates the right-hand side (dY/dt) and energy generation.
+
+EnergyDerivatives calculateEpsDerivatives (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const override
+ Calculates the energy generation rate derivatives with respect to abundances.
+
+NetworkJacobian generateJacobianMatrix (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const override
+ Generates the Jacobian matrix for the current state.
+
+NetworkJacobian generateJacobianMatrix (const fourdst::composition::CompositionAbstract &comp, double T9, double rho, const std::vector< fourdst::atomic::Species > &activeSpecies) const override
+ Generates the Jacobian matrix for a subset of active species.
+
+NetworkJacobian generateJacobianMatrix (const fourdst::composition::CompositionAbstract &comp, double T9, double rho, const SparsityPattern &sparsityPattern) const override
+ Generates the Jacobian matrix using a sparsity pattern.
+
+void generateStoichiometryMatrix () override
+ Generates the stoichiometry matrix for the network.
+
+int getStoichiometryMatrixEntry (const fourdst::atomic::Species &species, const reaction::Reaction &reaction) const override
+ Gets an entry from the stoichiometry matrix.
+
+double calculateMolarReactionFlow (const reaction::Reaction &reaction, const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const override
+ Calculates the molar reaction flow for a given reaction.
+
+const reaction::ReactionSet & getNetworkReactions () const override
+ Gets the set of logical reactions in the network.
+
+void setNetworkReactions (const reaction::ReactionSet &reactions) override
+ Sets the set of logical reactions in the network.
+
+std::expected< std::unordered_map< fourdst::atomic::Species, double >, engine::EngineStatus > getSpeciesTimescales (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const override
+ Computes timescales for all species in the network.
+
+std::expected< std::unordered_map< fourdst::atomic::Species, double >, engine::EngineStatus > getSpeciesDestructionTimescales (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const override
+ Computes destruction timescales for all species in the network.
+
+fourdst::composition::Composition update (const NetIn &netIn) override
+ Updates the internal state of the engine, performing partitioning and QSE equilibration.
+
+bool isStale (const NetIn &netIn) override
+ Checks if the engine's internal state is stale relative to the provided conditions.
+
+void setScreeningModel (screening::ScreeningType model) override
+ Sets the electron screening model.
+
+screening::ScreeningType getScreeningModel () const override
+ Gets the current electron screening model.
+
+const DynamicEngine & getBaseEngine () const override
+ Gets the base engine.
+
+fourdst::composition::Composition partitionNetwork (const NetIn &netIn)
+ Partitions the network based on timescales from a NetIn struct.
+
+void exportToDot (const std::string &filename, const fourdst::composition::Composition &comp, double T9, double rho) const
+ Exports the network to a DOT file for visualization.
+
+size_t getSpeciesIndex (const fourdst::atomic::Species &species) const override
+ Gets the index of a species in the full network.
+
+std::vector< double > mapNetInToMolarAbundanceVector (const NetIn &netIn) const override
+ Maps a NetIn struct to a molar abundance vector for the full network.
+
+PrimingReport primeEngine (const NetIn &netIn) override
+ Primes the engine with a specific species.
+
+std::vector< fourdst::atomic::Species > getFastSpecies () const
+ Gets the fast species in the network.
+
+const std::vector< fourdst::atomic::Species > & getDynamicSpecies () const
+ Gets the dynamic species in the network.
+
+bool involvesSpecies (const fourdst::atomic::Species &species) const
+ Checks if a species is involved in the partitioned network.
+
+bool involvesSpeciesInQSE (const fourdst::atomic::Species &species) const
+ Check if a species is involved in the QSE (algebraic) set.
+
+bool involvesSpeciesInDynamic (const fourdst::atomic::Species &species) const
+ Check if a species is involved in the dynamic set.
+
+fourdst::composition::Composition getNormalizedEquilibratedComposition (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const
+ Gets a normalized composition with QSE species equilibrated.
+
+fourdst::composition::Composition collectComposition (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const override
+ Collect the composition from this and sub engines.
+
+SpeciesStatus getSpeciesStatus (const fourdst::atomic::Species &species) const override
+ Gets the status of a species in the network.
+
+
+virtual BuildDepthType getDepth () const
+ Get the depth of the network.
+
+virtual void rebuild (const fourdst::composition::CompositionAbstract &comp, BuildDepthType depth)
+ Rebuild the network with a specified depth.
+
+
+virtual ~Engine ()=default
+ Virtual destructor.
+
+
+virtual ~EngineView ()=default
+ Virtual destructor.
+
+
+
+typedef std::tuple< std::vector< fourdst::atomic::Species >, std::vector< size_t >, std::vector< fourdst::atomic::Species >, std::vector< size_t > > QSEPartition
+ Type alias for a QSE partition.
+
+
+
+std::vector< std::vector< fourdst::atomic::Species > > partitionByTimescale (const fourdst::composition::Composition &comp, double T9, double rho) const
+ Partitions the network by timescale.
+
+std::pair< bool, reaction::ReactionSet > group_is_a_qse_cluster (const fourdst::composition::Composition &comp, double T9, double rho, const QSEGroup &group) const
+
+bool group_is_a_qse_pipeline (const fourdst::composition::Composition &comp, double T9, double rho, const QSEGroup &group) const
+
+FluxValidationResult validateGroupsWithFluxAnalysis (const std::vector< QSEGroup > &candidate_groups, const fourdst::composition::Composition &comp, double T9, double rho) const
+ Validates candidate QSE groups using flux analysis.
+
+fourdst::composition::Composition solveQSEAbundances (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const
+ Solves for the QSE abundances of the algebraic species in a given state.
+
+size_t identifyMeanSlowestPool (const std::vector< std::vector< fourdst::atomic::Species > > &pools, const fourdst::composition::Composition &comp, double T9, double rho) const
+ Identifies the pool with the slowest mean timescale.
+
+std::unordered_map< fourdst::atomic::Species, std::vector< fourdst::atomic::Species > > buildConnectivityGraph (const std::vector< fourdst::atomic::Species > &species_pool) const
+ Builds a connectivity graph from a species pool.
+
+std::vector< QSEGroup > constructCandidateGroups (const std::vector< std::vector< fourdst::atomic::Species > > &candidate_pools, const fourdst::composition::Composition &comp, double T9, double rho) const
+ Constructs candidate QSE groups from connected timescale pools.
+
+std::vector< std::vector< fourdst::atomic::Species > > analyzeTimescalePoolConnectivity (const std::vector< std::vector< fourdst::atomic::Species > > ×cale_pools) const
+ Analyzes the connectivity of timescale pools.
+
+std::vector< QSEGroup > pruneValidatedGroups (const std::vector< QSEGroup > &groups, const std::vector< reaction::ReactionSet > &groupReactions, const fourdst::composition::Composition &comp, double T9, double rho) const
+
+
+
+quill::Logger * m_logger = LogManager::getInstance().getLogger("log")
+ Logger instance for logging messages.
+
+DynamicEngine & m_baseEngine
+ The base engine to which this view delegates calculations.
+
+std::vector< QSEGroup > m_qse_groups
+ The list of identified equilibrium groups.
+
+std::vector< std::unique_ptr< QSESolver > > m_qse_solvers
+ A set of solvers, one for each QSE group.
+
+std::vector< fourdst::atomic::Species > m_dynamic_species
+ The simplified set of species presented to the solver (the "slow" species).
+
+std::vector< fourdst::atomic::Species > m_algebraic_species
+ Species that are treated as algebraic (in QSE) in the QSE groups.
+
+std::unordered_map< fourdst::atomic::Species, double > m_algebraic_abundances
+ Map from species to their calculated abundances in the QSE state.
+
+std::vector< size_t > m_activeSpeciesIndices
+ Indices of all species considered active in the current partition (dynamic + algebraic).
+
+std::vector< size_t > m_activeReactionIndices
+ Indices of all reactions involving only active species.
+
+std::unordered_map< uint64_t, fourdst::composition::Composition > m_composition_cache
+
+SUNContext m_sun_ctx = nullptr
+
+
+
+
An engine view that partitions the reaction network into multiple groups based on timescales.
+
Purpose This class is designed to accelerate the integration of stiff nuclear reaction networks. It identifies species that react on very short timescales ("fast" species) and treats them as being in Quasi-Steady-State Equilibrium (QSE). Their abundances are solved for algebraically, removing their stiff differential equations from the system. The remaining "slow" or "dynamic" species are integrated normally. This significantly improves the stability and performance of the solver.
+
How The core logic resides in the partitionNetwork() and equilibrateNetwork() methods. The partitioning process involves:
+Timescale Analysis: Using getSpeciesDestructionTimescales from the base engine, all species are sorted by their characteristic timescales.
+Gap Detection: The sorted list of timescales is scanned for large gaps (e.g., several orders of magnitude) to create distinct "timescale pools".
+Connectivity Analysis: Each pool is analyzed for internal reaction connectivity to form cohesive groups.
+Flux Validation: Candidate QSE groups are validated by comparing the total reaction flux within the group to the flux leaving the group. A high internal-to-external flux ratio indicates a valid QSE group.
+QSE Solve: For valid QSE groups, solveQSEAbundances uses a Levenberg-Marquardt nonlinear solver (Eigen::LevenbergMarquardt) to find the equilibrium abundances of the "algebraic" species, holding the "seed" species constant.
+
+
+
All calculations are cached using QSECacheKey to avoid re-partitioning and re-solving for similar thermodynamic conditions.
+
Usage Example:
+
gridfire::GraphEngine baseEngine(composition);
+
+
+
gridfire::MultiscalePartitioningEngineView multiscaleEngine(baseEngine);
+
+
+
+
NetIn initialConditions = { .composition = composition, .temperature = 1e8, .density = 1e3 };
+
fourdst::composition::Composition equilibratedComp = multiscaleEngine.update(initialConditions);
+
+
+
+
auto Y_initial = multiscaleEngine.mapNetInToMolarAbundanceVector({equilibratedComp, ...});
+
auto derivatives = multiscaleEngine.calculateRHSAndEnergy(Y_initial, T9, rho);
+
+
+
<DynamicEngine>
+
+
+
◆ QSEPartition
+
+
+
+
+
Type alias for a QSE partition.
+
A QSE partition is a tuple containing the fast species, their indices, the slow species, and their indices.
+
+
+
+
+
+
◆ MultiscalePartitioningEngineView()
+
+
+
+
+
+
+
+
+ gridfire::engine::MultiscalePartitioningEngineView::MultiscalePartitioningEngineView
+ (
+ DynamicEngine & baseEngine )
+
+
+
+
+
+explicit
+
+
+
+
+
+
◆ ~MultiscalePartitioningEngineView()
+
+
+
+
+
+
+
+
+ gridfire::engine::MultiscalePartitioningEngineView::~MultiscalePartitioningEngineView
+ (
+ )
+
+
+
+
+
+override
+
+
+
+
+
+
+
+
+
◆ analyzeTimescalePoolConnectivity()
+
+
+
+
+
+
+
+
+ std::vector< std::vector< Species > > gridfire::engine::MultiscalePartitioningEngineView::analyzeTimescalePoolConnectivity
+ (
+ const std::vector< std::vector< fourdst::atomic::Species > > & timescale_pools )
+ const
+
+
+
+
+private
+
+
+
+
+
Analyzes the connectivity of timescale pools.
+
Parameters
+
+ timescale_pools A vector of vectors of species indices, where each inner vector represents a timescale pool.
+
+
+
+
Returns A vector of vectors of species indices, where each inner vector represents a single connected component.
+
Purpose To merge timescale pools that are strongly connected by reactions, forming cohesive groups for QSE analysis.
+
How For each pool, it builds a reaction connectivity graph using buildConnectivityGraph. It then finds the connected components within that graph using a Breadth-First Search (BFS). The resulting components from all pools are collected and returned.
+
+
+
+
+
◆ buildConnectivityGraph()
+
+
+
+
+
+
+
+
+ std::unordered_map< Species, std::vector< Species > > gridfire::engine::MultiscalePartitioningEngineView::buildConnectivityGraph
+ (
+ const std::vector< fourdst::atomic::Species > & species_pool )
+ const
+
+
+
+
+private
+
+
+
+
+
Builds a connectivity graph from a species pool.
+
Parameters
+
+ species_pool A vector of species indices representing a species pool.
+
+
+
+
Returns An unordered map representing the adjacency list of the connectivity graph.
+
Purpose To find reaction connections within a specific group of species.
+
How It iterates through all reactions in the base engine. If a reaction involves at least two distinct species from the input species_pool (one as a reactant and one as a product), it adds edges between all reactants and products from that reaction that are also in the pool.
+
+
+
+
+
◆ calculateEpsDerivatives()
+
+
+
+
+
+
+
+
+ EnergyDerivatives gridfire::engine::MultiscalePartitioningEngineView::calculateEpsDerivatives
+ (
+ const fourdst::composition::CompositionAbstract & comp ,
+
+
+
+
+ double T9 ,
+
+
+
+
+ double rho ) const
+
+
+
+
+nodiscard override virtual
+
+
+
+
+
Calculates the energy generation rate derivatives with respect to abundances.
+
Parameters
+
+ comp The current composition.
+ T9 The temperature in units of 10^9 K.
+ rho The density in g/cm^3.
+
+
+
+
Returns The energy generation rate derivatives (dEps/dT and dEps/drho).
+
+
Implements gridfire::engine::DynamicEngine .
+
+
+
+
+
◆ calculateMolarReactionFlow()
+
+
+
+
+
+
+
+
+ double gridfire::engine::MultiscalePartitioningEngineView::calculateMolarReactionFlow
+ (
+ const reaction::Reaction & reaction ,
+
+
+
+
+ const fourdst::composition::CompositionAbstract & comp ,
+
+
+
+
+ double T9 ,
+
+
+
+
+ double rho ) const
+
+
+
+
+nodiscard override virtual
+
+
+
+
+
Calculates the molar reaction flow for a given reaction.
+
Parameters
+
+ reaction The reaction for which to calculate the flow.
+ comp The current composition.
+ T9 Temperature in units of 10^9 K.
+ rho Density in g/cm^3.
+
+
+
+
Returns Molar flow rate for the reaction (e.g., mol/g/s).
+
Purpose To compute the net rate of a single reaction.
+
How It first checks the QSE cache. On a hit, it retrieves the cached equilibrium abundances for the algebraic species. It creates a mutable copy of Y_full, overwrites the algebraic species abundances with the cached equilibrium values, and then calls the base engine's calculateMolarReactionFlow with this modified abundance vector.
+
Precondition The engine must have a valid QSE cache entry for the given state.
+
Exceptions
+
+ StaleEngineError If the QSE cache misses.
+
+
+
+
+
Implements gridfire::engine::DynamicEngine .
+
+
+
+
+
◆ calculateRHSAndEnergy()
+
+
+
+
+
+
+
+
+ std::expected< StepDerivatives < double >, EngineStatus > gridfire::engine::MultiscalePartitioningEngineView::calculateRHSAndEnergy
+ (
+ const fourdst::composition::CompositionAbstract & comp ,
+
+
+
+
+ double T9 ,
+
+
+
+
+ double rho ) const
+
+
+
+
+nodiscard override virtual
+
+
+
+
+
Calculates the right-hand side (dY/dt) and energy generation.
+
Parameters
+
+ comp The current composition.
+ T9 Temperature in units of 10^9 K.
+ rho Density in g/cm^3.
+
+
+
+
Returns A std::expected containing StepDerivatives <double> on success, or a StaleEngineError if the engine's QSE cache does not contain a solution for the given state.
+
Purpose To compute the time derivatives for the ODE solver. This implementation modifies the derivatives from the base engine to enforce the QSE condition.
+
How It first performs a lookup in the QSE abundance cache (m_qse_abundance_cache). If a cache hit occurs, it calls the base engine's calculateRHSAndEnergy. It then manually sets the time derivatives (dydt) of all identified algebraic species to zero, effectively removing their differential equations from the system being solved.
+
Precondition The engine must have been updated via update() or equilibrateNetwork() for the current thermodynamic conditions, so that a valid entry exists in the QSE cache.
+
Postcondition The returned derivatives will have dydt=0 for all algebraic species.
+
Exceptions
+
+ StaleEngineError If the QSE cache does not contain an entry for the given (T9, rho, Y_full). This indicates update() was not called recently enough.
+
+
+
+
+
Implements gridfire::engine::Engine .
+
+
+
+
+
◆ collectComposition()
+
+
+
+
+
+
+
+
+ fourdst::composition::Composition gridfire::engine::MultiscalePartitioningEngineView::collectComposition
+ (
+ const fourdst::composition::CompositionAbstract & comp ,
+
+
+
+
+ double T9 ,
+
+
+
+
+ double rho ) const
+
+
+
+
+override virtual
+
+
+
+
+
Collect the composition from this and sub engines.
+
This method operates by injecting the current equilibrium abundances for algebraic species into the composition object so that they can be bubbled up to the caller.
Parameters
+
+ comp Input Composition
+ T9
+ rho
+
+
+
+
Returns New composition which is comp + any edits from lower levels + the equilibrium abundances of all algebraic species.
+
Exceptions
+
+ BadCollectionError if there is a species in the algebraic species set which does not show up in the reported composition from the base engine.:w
+
+
+
+
+
Implements gridfire::engine::DynamicEngine .
+
+
+
+
+
◆ constructCandidateGroups()
+
+
+
+
+
+
+
+
+ std::vector< MultiscalePartitioningEngineView::QSEGroup > gridfire::engine::MultiscalePartitioningEngineView::constructCandidateGroups
+ (
+ const std::vector< std::vector< fourdst::atomic::Species > > & candidate_pools ,
+
+
+
+
+ const fourdst::composition::Composition & comp ,
+
+
+
+
+ double T9 ,
+
+
+
+
+ double rho ) const
+
+
+
+
+private
+
+
+
+
+
Constructs candidate QSE groups from connected timescale pools.
+
Parameters
+
+ candidate_pools A vector of vectors of species indices, where each inner vector represents a connected pool of species with similar fast timescales.
+ comp Vector of current molar abundances.
+ T9 Temperature in units of 10^9 K.
+ rho Density in g/cm^3.
+
+
+
+
Returns A vector of QSEGroup structs, ready for flux validation.
+
How For each input pool, it identifies "bridge" reactions that connect the pool to species outside the pool. The reactants of these bridge reactions that are not in the pool are identified as "seed" species. The original pool members are the "algebraic" species. It then bundles the seed and algebraic species into a QSEGroup struct.
+
Precondition The candidate_pools should be connected components from analyzeTimescalePoolConnectivity.
+
Postcondition A list of candidate QSEGroup objects is returned.
+
+
+
+
+
◆ exportToDot()
+
+
+
+
+
+ void gridfire::engine::MultiscalePartitioningEngineView::exportToDot
+ (
+ const std::string & filename ,
+
+
+
+
+ const fourdst::composition::Composition & comp ,
+
+
+
+
+ double T9 ,
+
+
+
+
+ double rho ) const
+
+
+
+
+
Exports the network to a DOT file for visualization.
+
Parameters
+
+ filename The name of the DOT file to create.
+ comp Composition object
+ T9 Temperature in units of 10^9 K.
+ rho Density in g/cm^3.
+
+
+
+
Purpose To visualize the partitioned network graph.
+
How This method delegates the DOT file export to the base engine. It does not currently add any partitioning information to the output graph.
+
+
+
+
+
◆ generateJacobianMatrix() [1/3]
+
+
+
+
+
+
+
+
+ NetworkJacobian gridfire::engine::MultiscalePartitioningEngineView::generateJacobianMatrix
+ (
+ const fourdst::composition::CompositionAbstract & comp ,
+
+
+
+
+ double T9 ,
+
+
+
+
+ double rho ) const
+
+
+
+
+nodiscard override virtual
+
+
+
+
+
Generates the Jacobian matrix for the current state.
+
Parameters
+
+ comp The current composition.
+ T9 Temperature in units of 10^9 K.
+ rho Density in g/cm^3.
+
+
+
+
Purpose To compute the Jacobian matrix required by implicit ODE solvers.
+
How It first performs a QSE cache lookup. On a hit, it delegates the full Jacobian calculation to the base engine. While this view could theoretically return a modified, sparser Jacobian reflecting the QSE constraints, the current implementation returns the full Jacobian from the base engine. The solver is expected to handle the algebraic constraints (e.g., via dydt=0 from calculateRHSAndEnergy).
+
Precondition The engine must have a valid QSE cache entry for the given state.
+
Postcondition The base engine's internal Jacobian is updated.
+
Exceptions
+
+ exceptions::StaleEngineError If the QSE cache misses, as it cannot proceed without a valid partition.
+
+
+
+
+
Implements gridfire::engine::DynamicEngine .
+
+
+
+
+
◆ generateJacobianMatrix() [2/3]
+
+
+
+
+
+
+
+
+ NetworkJacobian gridfire::engine::MultiscalePartitioningEngineView::generateJacobianMatrix
+ (
+ const fourdst::composition::CompositionAbstract & comp ,
+
+
+
+
+ double T9 ,
+
+
+
+
+ double rho ,
+
+
+
+
+ const SparsityPattern & sparsityPattern ) const
+
+
+
+
+nodiscard override virtual
+
+
+
+
+
Generates the Jacobian matrix using a sparsity pattern.
+
Parameters
+
+ comp The current composition.
+ T9 Temperature in units of 10^9 K.
+ rho Density in g/cm^3.
+ sparsityPattern The sparsity pattern to use for the Jacobian.
+
+
+
+
Purpose To compute the Jacobian matrix while leveraging a known sparsity pattern for efficiency. This is effectively a lower level version of the active species method.
+
How It first checks the QSE cache. On a hit, it delegates to the base engine's generateJacobianMatrix method with the provided sparsity pattern.
+
Precondition The engine must have a valid QSE cache entry for the given state.
+
Postcondition The base engine's internal Jacobian is updated according to the sparsity pattern.
+
Exceptions
+
+ exceptions::StaleEngineError If the QSE cache misses.
+
+
+
+
+
Implements gridfire::engine::DynamicEngine .
+
+
+
+
+
◆ generateJacobianMatrix() [3/3]
+
+
+
+
+
+
+
+
+ NetworkJacobian gridfire::engine::MultiscalePartitioningEngineView::generateJacobianMatrix
+ (
+ const fourdst::composition::CompositionAbstract & comp ,
+
+
+
+
+ double T9 ,
+
+
+
+
+ double rho ,
+
+
+
+
+ const std::vector< fourdst::atomic::Species > & activeSpecies ) const
+
+
+
+
+nodiscard override virtual
+
+
+
+
+
Generates the Jacobian matrix for a subset of active species.
+
Parameters
+
+ comp The current composition.
+ T9 Temperature in units of 10^9 K.
+ rho Density in g/cm^3.
+ activeSpecies The subset of species to include in the Jacobian.
+
+
+
+
Purpose To compute a reduced Jacobian matrix for implicit solvers that only consider a subset of species.
+
How Similar to the full Jacobian generation, it first checks the QSE cache. On a hit, it calls the base engine's generateJacobianMatrix with the specified active species. The returned Jacobian still reflects the full network, but only for the active species subset.
+
Precondition The engine must have a valid QSE cache entry for the given state.
+
Postcondition The base engine's internal Jacobian is updated for the active species.
+
Exceptions
+
+ exceptions::StaleEngineError If the QSE cache misses.
+
+
+
+
+
Implements gridfire::engine::DynamicEngine .
+
+
+
+
+
◆ generateStoichiometryMatrix()
+
+
+
+
+
+
+
+
+ void gridfire::engine::MultiscalePartitioningEngineView::generateStoichiometryMatrix
+ (
+ )
+
+
+
+
+
+override virtual
+
+
+
+
+
Generates the stoichiometry matrix for the network.
+
Purpose To prepare the stoichiometry matrix for later queries.
+
How This method delegates directly to the base engine's generateStoichiometryMatrix() . The stoichiometry is based on the full, unpartitioned network.
+
+
Implements gridfire::engine::DynamicEngine .
+
+
+
+
+
◆ getBaseEngine()
+
+
+
+
+
+
+
+
+ const DynamicEngine & gridfire::engine::MultiscalePartitioningEngineView::getBaseEngine
+ (
+ )
+ const
+
+
+
+
+override virtual
+
+
+
+
+
+
◆ getDynamicSpecies()
+
+
+
+
+
+
+
+
+ const std::vector< Species > & gridfire::engine::MultiscalePartitioningEngineView::getDynamicSpecies
+ (
+ )
+ const
+
+
+
+
+nodiscard
+
+
+
+
+
Gets the dynamic species in the network.
+
Returns A const reference to the vector of species identified as "dynamic" or "slow".
+
Purpose To allow external queries of the partitioning results.
+
How It returns a const reference to the m_dynamic_species member vector.
+
Precondition partitionNetwork() must have been called.
+
+
+
+
+
◆ getFastSpecies()
+
+
+
+
+
+
+
+
+ std::vector< Species > gridfire::engine::MultiscalePartitioningEngineView::getFastSpecies
+ (
+ )
+ const
+
+
+
+
+nodiscard
+
+
+
+
+
Gets the fast species in the network.
+
Returns A vector of species identified as "fast" or "algebraic" by the partitioning.
+
Purpose To allow external queries of the partitioning results.
+
How It returns a copy of the m_algebraic_species member vector.
+
Precondition partitionNetwork() must have been called.
+
+
+
+
+
◆ getNetworkReactions()
+
+
+
+
+
+
+
+
+ const reaction::ReactionSet & gridfire::engine::MultiscalePartitioningEngineView::getNetworkReactions
+ (
+ )
+ const
+
+
+
+
+nodiscard override virtual
+
+
+
+
+
Gets the set of logical reactions in the network.
+
Returns A const reference to the LogicalReactionSet from the base engine, containing all reactions in the full network.
+
+
Implements gridfire::engine::DynamicEngine .
+
+
+
+
+
◆ getNetworkSpecies()
+
+
+
+
+
+
+
+
+ const std::vector< Species > & gridfire::engine::MultiscalePartitioningEngineView::getNetworkSpecies
+ (
+ )
+ const
+
+
+
+
+nodiscard override virtual
+
+
+
+
+
Gets the list of species in the network.
+
Returns A const reference to the vector of Species objects representing all species in the underlying base engine. This view does not alter the species list itself, only how their abundances are evolved.
+
+
Implements gridfire::engine::Engine .
+
+
+
+
+
◆ getNormalizedEquilibratedComposition()
+
+
+
+
+
+ fourdst::composition::Composition gridfire::engine::MultiscalePartitioningEngineView::getNormalizedEquilibratedComposition
+ (
+ const fourdst::composition::CompositionAbstract & comp ,
+
+
+
+
+ double T9 ,
+
+
+
+
+ double rho ) const
+
+
+
+
+
Gets a normalized composition with QSE species equilibrated.
+
Parameters
+
+ comp The input composition.
+ T9 Temperature in units of 10^9 K.
+ rho Density in g/cm^3.
+
+
+
+
Returns A new Composition object with algebraic species set to their equilibrium values.
+
Purpose To provide a way to get the equilibrated composition without modifying the internal state.
+
How It calls solveQSEAbundances() to compute the equilibrium abundances for the algebraic species, then constructs a new Composition object reflecting these values.
+
Precondition The engine must have a valid QSE partition for the given state.
+
Exceptions
+
+ StaleEngineError If the QSE cache misses.
+
+
+
+
+
+
+
+
◆ getScreeningModel()
+
+
+
+
+
+
+
+
+
+nodiscard override virtual
+
+
+
+
+
+
◆ getSpeciesDestructionTimescales()
+
+
+
+
+
+
+
+
+ std::expected< std::unordered_map< Species, double >, EngineStatus > gridfire::engine::MultiscalePartitioningEngineView::getSpeciesDestructionTimescales
+ (
+ const fourdst::composition::CompositionAbstract & comp ,
+
+
+
+
+ double T9 ,
+
+
+
+
+ double rho ) const
+
+
+
+
+nodiscard override virtual
+
+
+
+
+
Computes destruction timescales for all species in the network.
+
Parameters
+
+ comp The current composition.
+ T9 Temperature in units of 10^9 K.
+ rho Density in g/cm^3.
+
+
+
+
Returns A std::expected containing a map from Species to their characteristic destruction timescales (s) on success, or a StaleEngineError on failure.
+
Purpose To get the timescale for species destruction, which is used as the primary metric for network partitioning.
+
How It delegates the calculation to the base engine. For any species identified as algebraic (in QSE), it manually sets their timescale to 0.0.
+
Precondition The engine must have a valid QSE cache entry for the given state.
+
Exceptions
+
+ StaleEngineError If the QSE cache misses.
+
+
+
+
+
Implements gridfire::engine::DynamicEngine .
+
+
+
+
+
◆ getSpeciesIndex()
+
+
+
+
+
+
+
+
+ size_t gridfire::engine::MultiscalePartitioningEngineView::getSpeciesIndex
+ (
+ const fourdst::atomic::Species & species )
+ const
+
+
+
+
+nodiscard override virtual
+
+
+
+
+
Gets the index of a species in the full network.
+
Parameters
+
+ species The species to get the index of.
+
+
+
+
Returns The index of the species in the base engine's network.
+
How This method delegates directly to the base engine's getSpeciesIndex() .
+
+
Implements gridfire::engine::DynamicEngine .
+
+
+
+
+
◆ getSpeciesStatus()
+
+
+
+
+
+
+
+
+ SpeciesStatus gridfire::engine::MultiscalePartitioningEngineView::getSpeciesStatus
+ (
+ const fourdst::atomic::Species & species )
+ const
+
+
+
+
+override virtual
+
+
+
+
+
Gets the status of a species in the network.
+
Parameters
+
+ species The species to query.
+
+
+
+
Returns The SpeciesStatus indicating if the species is dynamic, algebraic, or not involved.
+
Purpose To allow external queries about the role of a species in the partitioned network.
+
How It checks for membership in m_dynamic_species and m_algebraic_species to determine the appropriate status.
+
Precondition partitionNetwork() must have been called.
+
+
Implements gridfire::engine::DynamicEngine .
+
+
+
+
+
◆ getSpeciesTimescales()
+
+
+
+
+
+
+
+
+ std::expected< std::unordered_map< Species, double >, EngineStatus > gridfire::engine::MultiscalePartitioningEngineView::getSpeciesTimescales
+ (
+ const fourdst::composition::CompositionAbstract & comp ,
+
+
+
+
+ double T9 ,
+
+
+
+
+ double rho ) const
+
+
+
+
+nodiscard override virtual
+
+
+
+
+
Computes timescales for all species in the network.
+
Parameters
+
+ comp The current composition.
+ T9 Temperature in units of 10^9 K.
+ rho Density in g/cm^3.
+
+
+
+
Returns A std::expected containing a map from Species to their characteristic timescales (s) on success, or a StaleEngineError on failure.
+
Purpose To get the characteristic timescale Y / (dY/dt) for each species.
+
How It delegates the calculation to the base engine. For any species identified as algebraic (in QSE), it manually sets their timescale to 0.0 to signify that they equilibrate instantaneously on the timescale of the solver.
+
Precondition The engine must have a valid QSE cache entry for the given state.
+
Exceptions
+
+ StaleEngineError If the QSE cache misses.
+
+
+
+
+
Implements gridfire::engine::DynamicEngine .
+
+
+
+
+
◆ getStoichiometryMatrixEntry()
+
+
+
+
+
+
+
+
+ int gridfire::engine::MultiscalePartitioningEngineView::getStoichiometryMatrixEntry
+ (
+ const fourdst::atomic::Species & species ,
+
+
+
+
+ const reaction::Reaction & reaction ) const
+
+
+
+
+nodiscard override virtual
+
+
+
+
+
Gets an entry from the stoichiometry matrix.
+
Parameters
+
+ species Species to look up stoichiometry for.
+ reaction Reaction to find.
+
+
+
+
Returns Stoichiometric coefficient for the species in the reaction.
+
Purpose To query the stoichiometric relationship between a species and a reaction.
+
How This method delegates directly to the base engine's getStoichiometryMatrixEntry() .
+
Precondition generateStoichiometryMatrix() must have been called.
+
+
Implements gridfire::engine::DynamicEngine .
+
+
+
+
+
◆ group_is_a_qse_cluster()
+
+
+
+
+
+
+
+
+ std::pair< bool, reaction::ReactionSet > gridfire::engine::MultiscalePartitioningEngineView::group_is_a_qse_cluster
+ (
+ const fourdst::composition::Composition & comp ,
+
+
+
+
+ double T9 ,
+
+
+
+
+ double rho ,
+
+
+
+
+ const QSEGroup & group ) const
+
+
+
+
+private
+
+
+
+
+
+
+
+
◆ group_is_a_qse_pipeline()
+
+
+
+
+
+
+
+
+ bool gridfire::engine::MultiscalePartitioningEngineView::group_is_a_qse_pipeline
+ (
+ const fourdst::composition::Composition & comp ,
+
+
+
+
+ double T9 ,
+
+
+
+
+ double rho ,
+
+
+
+
+ const QSEGroup & group ) const
+
+
+
+
+private
+
+
+
+
+
+
+
+
◆ identifyMeanSlowestPool()
+
+
+
+
+
+
+
+
+ size_t gridfire::engine::MultiscalePartitioningEngineView::identifyMeanSlowestPool
+ (
+ const std::vector< std::vector< fourdst::atomic::Species > > & pools ,
+
+
+
+
+ const fourdst::composition::Composition & comp ,
+
+
+
+
+ double T9 ,
+
+
+
+
+ double rho ) const
+
+
+
+
+private
+
+
+
+
+
Identifies the pool with the slowest mean timescale.
+
Parameters
+
+ pools A vector of vectors of species indices, where each inner vector represents a timescale pool.
+ comp Vector of current molar abundances for the full network.
+ T9 Temperature in units of 10^9 K.
+ rho Density in g/cm^3.
+
+
+
+
Returns The index of the pool with the largest (slowest) mean destruction timescale.
+
Purpose To identify the core set of dynamic species that will not be part of any QSE group.
+
How It calculates the geometric mean of the destruction timescales for all species in each pool and returns the index of the pool with the maximum mean timescale.
+
+
+
+
+
◆ involvesSpecies()
+
+
+
+
+
+ bool gridfire::engine::MultiscalePartitioningEngineView::involvesSpecies
+ (
+ const fourdst::atomic::Species & species )
+ const
+
+
+
+
+
Checks if a species is involved in the partitioned network.
+
Parameters
+
+ species The species to check.
+
+
+
+
Returns true if the species is in either the dynamic or algebraic sets, false otherwise.
+
Purpose To allow external queries about species involvement in the partitioned network.
+
How It checks for membership in both m_dynamic_species and m_algebraic_species.
+
Precondition partitionNetwork() must have been called.
+
+
+
+
+
◆ involvesSpeciesInDynamic()
+
+
+
+
+
+ bool gridfire::engine::MultiscalePartitioningEngineView::involvesSpeciesInDynamic
+ (
+ const fourdst::atomic::Species & species )
+ const
+
+
+
+
+
Check if a species is involved in the dynamic set.
+
Parameters
+
+ species The species to check.
+
+
+
+
Returns Boolean indicating if the species is in the dynamic set.
+
+
+
+
+
◆ involvesSpeciesInQSE()
+
+
+
+
+
+ bool gridfire::engine::MultiscalePartitioningEngineView::involvesSpeciesInQSE
+ (
+ const fourdst::atomic::Species & species )
+ const
+
+
+
+
+
Check if a species is involved in the QSE (algebraic) set.
+
Parameters
+
+ species The species to check.
+
+
+
+
Returns Boolean indicating if the species is in the algebraic set.
+
+
+
+
+
◆ isStale()
+
+
+
+
+
+
+
+
+ bool gridfire::engine::MultiscalePartitioningEngineView::isStale
+ (
+ const NetIn & netIn )
+
+
+
+
+
+override virtual
+
+
+
+
+
Checks if the engine's internal state is stale relative to the provided conditions.
+
Parameters
+
+ netIn A struct containing the current network input.
+
+
+
+
Returns true if the engine is stale, false otherwise.
+
Purpose To determine if update() needs to be called.
+
How It creates a QSECacheKey from the netIn data and checks for its existence in the m_qse_abundance_cache. A cache miss indicates the engine is stale because it does not have a valid QSE partition for the current conditions. It also queries the base engine's isStale() method.
+
+
Implements gridfire::engine::DynamicEngine .
+
+
+
+
+
◆ mapNetInToMolarAbundanceVector()
+
+
+
+
+
+
+
+
+ std::vector< double > gridfire::engine::MultiscalePartitioningEngineView::mapNetInToMolarAbundanceVector
+ (
+ const NetIn & netIn )
+ const
+
+
+
+
+nodiscard override virtual
+
+
+
+
+
Maps a NetIn struct to a molar abundance vector for the full network.
+
Parameters
+
+ netIn A struct containing the current network input.
+
+
+
+
Returns A vector of molar abundances corresponding to the species order in the base engine.
+
How This method delegates directly to the base engine's mapNetInToMolarAbundanceVector() .
+
+
Implements gridfire::engine::DynamicEngine .
+
+
+
+
+
◆ partitionByTimescale()
+
+
+
+
+
+
+
+
+ std::vector< std::vector< Species > > gridfire::engine::MultiscalePartitioningEngineView::partitionByTimescale
+ (
+ const fourdst::composition::Composition & comp ,
+
+
+
+
+ double T9 ,
+
+
+
+
+ double rho ) const
+
+
+
+
+private
+
+
+
+
+
Partitions the network by timescale.
+
Parameters
+
+ comp Vector of current molar abundances for all species.
+ T9 Temperature in units of 10^9 K.
+ rho Density in g/cm^3.
+
+
+
+
Returns A vector of vectors of species indices, where each inner vector represents a timescale pool.
+
Purpose To group species into "pools" based on their destruction timescales.
+
How It retrieves all species destruction timescales from the base engine, sorts them, and then iterates through the sorted list, creating a new pool whenever it detects a gap between consecutive timescales that is larger than a predefined threshold (e.g., a factor of 100).
+
+
+
+
+
◆ partitionNetwork()
+
+
+
+
+
+ fourdst::composition::Composition gridfire::engine::MultiscalePartitioningEngineView::partitionNetwork
+ (
+ const NetIn & netIn )
+
+
+
+
+
+
Partitions the network based on timescales from a NetIn struct.
+
Parameters
+
+ netIn A struct containing the current network input.
+
+
+
+
Purpose A convenience overload for partitionNetwork.
+
How It unpacks the netIn struct into Y, T9, and rho and then calls the primary partitionNetwork method.
+
+
+
+
+
◆ primeEngine()
+
+
+
+
+
+
+
+
+ PrimingReport gridfire::engine::MultiscalePartitioningEngineView::primeEngine
+ (
+ const NetIn & netIn )
+
+
+
+
+
+nodiscard override virtual
+
+
+
+
+
Primes the engine with a specific species.
+
Parameters
+
+ netIn A struct containing the current network input.
+
+
+
+
Returns A PrimingReport struct containing information about the priming process.
+
Purpose To prepare the network for ignition or specific pathway studies.
+
How This method delegates directly to the base engine's primeEngine() . The multiscale view does not currently interact with the priming process.
+
+
Implements gridfire::engine::DynamicEngine .
+
+
+
+
+
◆ pruneValidatedGroups()
+
+
+
+
+
+
+
+
+ std::vector< MultiscalePartitioningEngineView::QSEGroup > gridfire::engine::MultiscalePartitioningEngineView::pruneValidatedGroups
+ (
+ const std::vector< QSEGroup > & groups ,
+
+
+
+
+ const std::vector< reaction::ReactionSet > & groupReactions ,
+
+
+
+
+ const fourdst::composition::Composition & comp ,
+
+
+
+
+ double T9 ,
+
+
+
+
+ double rho ) const
+
+
+
+
+private
+
+
+
+
+
+
+
+
◆ setNetworkReactions()
+
+
+
+
+
+
+
+
+ void gridfire::engine::MultiscalePartitioningEngineView::setNetworkReactions
+ (
+ const reaction::ReactionSet & reactions )
+
+
+
+
+
+override virtual
+
+
+
+
+
Sets the set of logical reactions in the network.
+
Parameters
+
+ reactions The set of logical reactions to use.
+
+
+
+
Purpose To modify the reaction network.
+
How This operation is not supported by the MultiscalePartitioningEngineView as it would invalidate the partitioning logic. It logs a critical error and throws an exception. Network modifications should be done on the base engine before it is wrapped by this view.
+
Exceptions
+
+
+
+
+
Implements gridfire::engine::DynamicEngine .
+
+
+
+
+
◆ setScreeningModel()
+
+
+
+
+
+
+
+
+ void gridfire::engine::MultiscalePartitioningEngineView::setScreeningModel
+ (
+ screening::ScreeningType model )
+
+
+
+
+
+override virtual
+
+
+
+
+
Sets the electron screening model.
+
Parameters
+
+ model The type of screening model to use for reaction rate calculations.
+
+
+
+
How This method delegates directly to the base engine's setScreeningModel() .
+
+
Implements gridfire::engine::DynamicEngine .
+
+
+
+
+
◆ solveQSEAbundances()
+
+
+
+
+
+
+
+
+ fourdst::composition::Composition gridfire::engine::MultiscalePartitioningEngineView::solveQSEAbundances
+ (
+ const fourdst::composition::CompositionAbstract & comp ,
+
+
+
+
+ double T9 ,
+
+
+
+
+ double rho ) const
+
+
+
+
+private
+
+
+
+
+
Solves for the QSE abundances of the algebraic species in a given state.
+
Parameters
+
+ comp Vector of current molar abundances for all species in the base engine.
+ T9 Temperature in units of 10^9 K.
+ rho Density in g/cm^3.
+
+
+
+
Returns A vector of molar abundances for the algebraic species.
+
Purpose To find the equilibrium abundances of the algebraic species that satisfy the QSE conditions.
+
How It uses the Levenberg-Marquardt algorithm via Eigen's LevenbergMarquardt class. The problem is defined by the EigenFunctor which computes the residuals and Jacobian for the QSE equations.
+
Precondition The input state (Y_full, T9, rho) must be a valid physical state.
+
Postcondition The algebraic species in the QSE cache are updated with the new equilibrium abundances.
+
+
+
+
+
◆ update()
+
+
+
+
+
+
+
+
+ fourdst::composition::Composition gridfire::engine::MultiscalePartitioningEngineView::update
+ (
+ const NetIn & netIn )
+
+
+
+
+
+override virtual
+
+
+
+
+
Updates the internal state of the engine, performing partitioning and QSE equilibration.
+
Parameters
+
+ netIn A struct containing the current network input: temperature, density, and composition.
+
+
+
+
Returns The new composition after QSE species have been brought to equilibrium.
+
Purpose This is the main entry point for preparing the multiscale engine for use. It triggers the network partitioning and solves for the initial QSE abundances, caching the result.
+
@how
+It first checks the QSE cache. If a valid entry already exists for the input state, it returns the input composition, as no work is needed.
+If the cache misses, it calls equilibrateNetwork().
+equilibrateNetwork() in turn calls partitionNetwork() to define the dynamic and algebraic species sets.
+It then calls solveQSEAbundances() to compute the equilibrium abundances.
+The resulting equilibrium abundances for the algebraic species are stored in the m_qse_abundance_cache.
+A new fourdst::composition::Composition object reflecting the equilibrated state is created and returned.
+
+
Precondition The netIn struct should contain a valid physical state.
+
Postcondition The engine is partitioned (m_dynamic_species, m_algebraic_species, etc. are populated). The m_qse_abundance_cache is populated with the QSE solution for the given state. The returned composition reflects the new equilibrium.
+
+
Implements gridfire::engine::DynamicEngine .
+
+
+
+
+
◆ validateGroupsWithFluxAnalysis()
+
+
+
+
+
Validates candidate QSE groups using flux analysis.
+
Parameters
+
+ candidate_groups A vector of candidate QSE groups.
+ comp Vector of current molar abundances for the full network.
+ T9 Temperature in units of 10^9 K.
+ rho Density in g/cm^3.
+
+
+
+
Returns A vector of validated QSE groups that meet the flux criteria.
+
Purpose To ensure that a candidate QSE group is truly in equilibrium by checking that the reaction fluxes within the group are much larger than the fluxes leaving the group.
+
How For each candidate group, it calculates the sum of all internal reaction fluxes and the sum of all external (bridge) reaction fluxes. If the ratio of internal to external flux exceeds a configurable threshold, the group is considered valid and is added to the returned vector.
+
+
+
+
+
+
◆ m_activeReactionIndices
+
+
+
+
+
+
+
+
+ std::vector<size_t> gridfire::engine::MultiscalePartitioningEngineView::m_activeReactionIndices
+
+
+
+
+private
+
+
+
+
+
Indices of all reactions involving only active species.
+
+
+
+
+
◆ m_activeSpeciesIndices
+
+
+
+
+
+
+
+
+ std::vector<size_t> gridfire::engine::MultiscalePartitioningEngineView::m_activeSpeciesIndices
+
+
+
+
+private
+
+
+
+
+
Indices of all species considered active in the current partition (dynamic + algebraic).
+
+
+
+
+
◆ m_algebraic_abundances
+
+
+
+
+
+
+
+
+ std::unordered_map<fourdst::atomic::Species, double> gridfire::engine::MultiscalePartitioningEngineView::m_algebraic_abundances
+
+
+
+
+private
+
+
+
+
+
Map from species to their calculated abundances in the QSE state.
+
+
+
+
+
◆ m_algebraic_species
+
+
+
+
+
+
+
+
+ std::vector<fourdst::atomic::Species> gridfire::engine::MultiscalePartitioningEngineView::m_algebraic_species
+
+
+
+
+private
+
+
+
+
+
Species that are treated as algebraic (in QSE) in the QSE groups.
+
+
+
+
+
◆ m_baseEngine
+
+
+
+
+
+
+
+
+ DynamicEngine & gridfire::engine::MultiscalePartitioningEngineView::m_baseEngine
+
+
+
+
+private
+
+
+
+
+
The base engine to which this view delegates calculations.
+
+
+
+
+
◆ m_composition_cache
+
+
+
+
+
+
+
+
+ std::unordered_map<uint64_t, fourdst::composition::Composition> gridfire::engine::MultiscalePartitioningEngineView::m_composition_cache
+
+
+
+
+mutable private
+
+
+
+
+
+
+
+
◆ m_dynamic_species
+
+
+
+
+
+
+
+
+ std::vector<fourdst::atomic::Species> gridfire::engine::MultiscalePartitioningEngineView::m_dynamic_species
+
+
+
+
+private
+
+
+
+
+
The simplified set of species presented to the solver (the "slow" species).
+
+
+
+
+
◆ m_logger
+
+
+
+
+
+
+
+
+ quill::Logger* gridfire::engine::MultiscalePartitioningEngineView::m_logger = LogManager::getInstance().getLogger("log")
+
+
+
+
+private
+
+
+
+
+
Logger instance for logging messages.
+
+
+
+
+
◆ m_qse_groups
+
+
+
+
+
+
+
+
+ std::vector<QSEGroup > gridfire::engine::MultiscalePartitioningEngineView::m_qse_groups
+
+
+
+
+private
+
+
+
+
+
The list of identified equilibrium groups.
+
+
+
+
+
◆ m_qse_solvers
+
+
+
+
+
+
+
+
+ std::vector<std::unique_ptr<QSESolver > > gridfire::engine::MultiscalePartitioningEngineView::m_qse_solvers
+
+
+
+
+private
+
+
+
+
+
A set of solvers, one for each QSE group.
+
+
+
+
+
◆ m_sun_ctx
+
+
+
+
+
+
+
+
+ SUNContext gridfire::engine::MultiscalePartitioningEngineView::m_sun_ctx = nullptr
+
+
+
+
+private
+
+
+
+
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view.js b/docs/html/classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view.js
new file mode 100644
index 00000000..e4af9dc6
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view.js
@@ -0,0 +1,61 @@
+var classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view =
+[
+ [ "FluxValidationResult", "structgridfire_1_1engine_1_1_multiscale_partitioning_engine_view_1_1_flux_validation_result.html", "structgridfire_1_1engine_1_1_multiscale_partitioning_engine_view_1_1_flux_validation_result" ],
+ [ "QSEGroup", "structgridfire_1_1engine_1_1_multiscale_partitioning_engine_view_1_1_q_s_e_group.html", "structgridfire_1_1engine_1_1_multiscale_partitioning_engine_view_1_1_q_s_e_group" ],
+ [ "QSESolver", "classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view_1_1_q_s_e_solver.html", "classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view_1_1_q_s_e_solver" ],
+ [ "QSEPartition", "classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view.html#a892741542388166db4dc55631567ee0a", null ],
+ [ "MultiscalePartitioningEngineView", "classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view.html#a0a500b19283ad3dd654ca4c4646b2604", null ],
+ [ "~MultiscalePartitioningEngineView", "classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view.html#ae553a4d590c0cfae5591bcd8bbe6f9d3", null ],
+ [ "analyzeTimescalePoolConnectivity", "classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view.html#a1a4ac556bd76c188f225e0c9b7c8f2db", null ],
+ [ "buildConnectivityGraph", "classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view.html#a4bc6979b21b2384678f49c989c631417", null ],
+ [ "calculateEpsDerivatives", "classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view.html#ac720fcea2f0304c3d7e7ba8a6dfb84da", null ],
+ [ "calculateMolarReactionFlow", "classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view.html#af030c9bd6a95686a09429b4619ad188c", null ],
+ [ "calculateRHSAndEnergy", "classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view.html#aa960005503d18066015aef280680d616", null ],
+ [ "collectComposition", "classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view.html#a97d9616558f681ad010ee452394f3519", null ],
+ [ "constructCandidateGroups", "classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view.html#a28502c9e8fc0a40211fd3717c2b67214", null ],
+ [ "exportToDot", "classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view.html#accbf5a67f126627833a4169a81f1be01", null ],
+ [ "generateJacobianMatrix", "classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view.html#a8950fb9c0c36684538805de4f0acf82e", null ],
+ [ "generateJacobianMatrix", "classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view.html#a64b6e7e5794cc42edf72899d348d15af", null ],
+ [ "generateJacobianMatrix", "classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view.html#aae6c00cff4f7a992513d1e9481436f8f", null ],
+ [ "generateStoichiometryMatrix", "classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view.html#a552fa7e1f4e066fa577c55500e782014", null ],
+ [ "getBaseEngine", "classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view.html#ad80faf5bea2153480cbfb323ed805686", null ],
+ [ "getDynamicSpecies", "classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view.html#a7d2f445ae7b75d4cd879afb6e960e0f7", null ],
+ [ "getFastSpecies", "classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view.html#aebb0977daa8c6a9c496f0f989f950fae", null ],
+ [ "getNetworkReactions", "classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view.html#a9dc9de4359beb704b94024f159ae619d", null ],
+ [ "getNetworkSpecies", "classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view.html#aa7aa38cf054988d050c04c59f28efdaa", null ],
+ [ "getNormalizedEquilibratedComposition", "classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view.html#a6fc4cb156a287f579cb0f0c5d88d74d0", null ],
+ [ "getScreeningModel", "classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view.html#accdd09720d44cc5efb1ee267706f0500", null ],
+ [ "getSpeciesDestructionTimescales", "classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view.html#a27d68f2e6c4572445cd94dc472470a01", null ],
+ [ "getSpeciesIndex", "classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view.html#ae0c02c830cf45568a7c4d35d4ed15e95", null ],
+ [ "getSpeciesStatus", "classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view.html#aec5ebaccf625e39d0fa6c1330855d008", null ],
+ [ "getSpeciesTimescales", "classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view.html#a86390e410db48addfe8dbd094743c38e", null ],
+ [ "getStoichiometryMatrixEntry", "classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view.html#a1372e7a823841c819f6c1a15d38217a6", null ],
+ [ "group_is_a_qse_cluster", "classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view.html#ae7f2939150a5ed84e51028c8ebd83d17", null ],
+ [ "group_is_a_qse_pipeline", "classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view.html#a6adac01afdd51cb3660e38731afbd265", null ],
+ [ "identifyMeanSlowestPool", "classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view.html#a72d813f71b378dfd6f632e6b9adf1cc5", null ],
+ [ "involvesSpecies", "classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view.html#ad8615cd1f4b78ec1c1448c96c54913e4", null ],
+ [ "involvesSpeciesInDynamic", "classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view.html#aa55fe8b346dca4a06027acac9a2547a3", null ],
+ [ "involvesSpeciesInQSE", "classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view.html#a4476e65dd6ce8700f5163ff7b29185e4", null ],
+ [ "isStale", "classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view.html#a10dd189ba40dbb604fdf55746b5d4b79", null ],
+ [ "mapNetInToMolarAbundanceVector", "classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view.html#aa839c3893ff9fb8e5a4187224dac7b47", null ],
+ [ "partitionByTimescale", "classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view.html#aaba92340dd44399c48bc219ec63f94e2", null ],
+ [ "partitionNetwork", "classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view.html#a7629f98050d71160fc34e5c7c0b3e959", null ],
+ [ "primeEngine", "classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view.html#afabb6222bd6cbe3277b6c8639203be25", null ],
+ [ "pruneValidatedGroups", "classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view.html#a601a4fb916f003c9ff7cf000a8006bab", null ],
+ [ "setNetworkReactions", "classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view.html#aa378d0e0fa6018b989d83945daa47952", null ],
+ [ "setScreeningModel", "classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view.html#ad11aa1e168ec03d0c3ed90eeddcefe52", null ],
+ [ "solveQSEAbundances", "classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view.html#a6c785a6334e5fd9593d3e279bafee592", null ],
+ [ "update", "classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view.html#a28c8ac1ec594cf55a297e3f9586e214a", null ],
+ [ "validateGroupsWithFluxAnalysis", "classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view.html#acf5cfbd18ebb2566f637cb176f861423", null ],
+ [ "m_activeReactionIndices", "classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view.html#ab6c4cddda054dfa35f6e0a083015dc9d", null ],
+ [ "m_activeSpeciesIndices", "classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view.html#a40ddd53c7f5482237e4bad38525ee100", null ],
+ [ "m_algebraic_abundances", "classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view.html#abcf6a7ba929fe4c45e2a4deeb2bfca82", null ],
+ [ "m_algebraic_species", "classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view.html#aac8ac0afe8fd443b661d849e9b1b5e72", null ],
+ [ "m_baseEngine", "classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view.html#a460e8e46d38b81efa510714a3375f674", null ],
+ [ "m_composition_cache", "classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view.html#a38b0eb7e7e454e001254aa823b1ec3f7", null ],
+ [ "m_dynamic_species", "classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view.html#a69baf327ba82f923859c569bc4d76ee8", null ],
+ [ "m_logger", "classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view.html#add096961cacfa9206ae5227d4f3a3c36", null ],
+ [ "m_qse_groups", "classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view.html#a36ccf1d3b4cefba461acddcb238f27a5", null ],
+ [ "m_qse_solvers", "classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view.html#a3d0cde126563adc97b998bade1132603", null ],
+ [ "m_sun_ctx", "classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view.html#a76c2ce886f8774f56a2ee9e0ae1b9893", null ]
+];
\ No newline at end of file
diff --git a/docs/html/classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view_1_1_q_s_e_solver-members.html b/docs/html/classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view_1_1_q_s_e_solver-members.html
new file mode 100644
index 00000000..410f6909
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view_1_1_q_s_e_solver-members.html
@@ -0,0 +1,142 @@
+
+
+
+
+
+
+
+
GridFire: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GridFire v0.7.0-alpha
+
+ General Purpose Nuclear Network
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
This is the complete list of members for gridfire::engine::MultiscalePartitioningEngineView::QSESolver , including all inherited members.
+
+ getLogger ()gridfire::engine::MultiscalePartitioningEngineView::QSESolver inline private static
+ log_diagnostics (const QSEGroup &group, const fourdst::composition::Composition &comp) constgridfire::engine::MultiscalePartitioningEngineView::QSESolver
+ m_constraints gridfire::engine::MultiscalePartitioningEngineView::QSESolver private
+ m_engine gridfire::engine::MultiscalePartitioningEngineView::QSESolver private
+ m_f_scale gridfire::engine::MultiscalePartitioningEngineView::QSESolver private
+ m_func_tmpl gridfire::engine::MultiscalePartitioningEngineView::QSESolver private
+ m_has_jacobian gridfire::engine::MultiscalePartitioningEngineView::QSESolver mutable private
+ m_J gridfire::engine::MultiscalePartitioningEngineView::QSESolver private
+ m_kinsol_mem gridfire::engine::MultiscalePartitioningEngineView::QSESolver private
+ m_LS gridfire::engine::MultiscalePartitioningEngineView::QSESolver private
+ m_N gridfire::engine::MultiscalePartitioningEngineView::QSESolver private
+ m_scale gridfire::engine::MultiscalePartitioningEngineView::QSESolver private
+ m_solves gridfire::engine::MultiscalePartitioningEngineView::QSESolver mutable private
+ m_species gridfire::engine::MultiscalePartitioningEngineView::QSESolver private
+ m_speciesMap gridfire::engine::MultiscalePartitioningEngineView::QSESolver private
+ m_sun_ctx gridfire::engine::MultiscalePartitioningEngineView::QSESolver private
+ m_Y gridfire::engine::MultiscalePartitioningEngineView::QSESolver private
+ operator= (const QSESolver &other)=deletegridfire::engine::MultiscalePartitioningEngineView::QSESolver
+ QSESolver (const std::vector< fourdst::atomic::Species > &species, const DynamicEngine &engine, SUNContext sun_ctx)gridfire::engine::MultiscalePartitioningEngineView::QSESolver
+ QSESolver (const QSESolver &other)=deletegridfire::engine::MultiscalePartitioningEngineView::QSESolver
+ solve (const fourdst::composition::Composition &comp, double T9, double rho) constgridfire::engine::MultiscalePartitioningEngineView::QSESolver
+ solves () constgridfire::engine::MultiscalePartitioningEngineView::QSESolver
+ sys_func (N_Vector y, N_Vector f, void *user_data)gridfire::engine::MultiscalePartitioningEngineView::QSESolver private static
+ sys_jac (N_Vector y, N_Vector fy, SUNMatrix J, void *user_data, N_Vector tmp1, N_Vector tmp2)gridfire::engine::MultiscalePartitioningEngineView::QSESolver private static
+ ~QSESolver ()gridfire::engine::MultiscalePartitioningEngineView::QSESolver
+
+
+
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view_1_1_q_s_e_solver.html b/docs/html/classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view_1_1_q_s_e_solver.html
new file mode 100644
index 00000000..c6d8727d
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view_1_1_q_s_e_solver.html
@@ -0,0 +1,793 @@
+
+
+
+
+
+
+
+
GridFire: gridfire::engine::MultiscalePartitioningEngineView::QSESolver Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GridFire v0.7.0-alpha
+
+ General Purpose Nuclear Network
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+
+
+static int sys_func (N_Vector y, N_Vector f, void *user_data)
+
+static int sys_jac (N_Vector y, N_Vector fy, SUNMatrix J, void *user_data, N_Vector tmp1, N_Vector tmp2)
+
+static quill::Logger * getLogger ()
+
+
+
+
+
◆ QSESolver() [1/2]
+
+
+
+
+
+ gridfire::engine::MultiscalePartitioningEngineView::QSESolver::QSESolver
+ (
+ const std::vector< fourdst::atomic::Species > & species ,
+
+
+
+
+ const DynamicEngine & engine ,
+
+
+
+
+ SUNContext sun_ctx )
+
+
+
+
+
+
+
+
◆ QSESolver() [2/2]
+
+
+
+
+
+
+
+
+ gridfire::engine::MultiscalePartitioningEngineView::QSESolver::QSESolver
+ (
+ const QSESolver & other )
+
+
+
+
+
+delete
+
+
+
+
+
+
+
+
◆ ~QSESolver()
+
+
+
+
+
+ gridfire::engine::MultiscalePartitioningEngineView::QSESolver::~QSESolver
+ (
+ )
+
+
+
+
+
+
+
+
+
+
◆ getLogger()
+
+
+
+
+
+
+
+
+ static quill::Logger * gridfire::engine::MultiscalePartitioningEngineView::QSESolver::getLogger
+ (
+ )
+
+
+
+
+
+inline static private
+
+
+
+
+
+
+
+
◆ log_diagnostics()
+
+
+
+
+
+ void gridfire::engine::MultiscalePartitioningEngineView::QSESolver::log_diagnostics
+ (
+ const QSEGroup & group ,
+
+
+
+
+ const fourdst::composition::Composition & comp ) const
+
+
+
+
+
+
+
+
◆ operator=()
+
+
+
+
+
+
+
+
+ QSESolver & gridfire::engine::MultiscalePartitioningEngineView::QSESolver::operator=
+ (
+ const QSESolver & other )
+
+
+
+
+
+delete
+
+
+
+
+
+
+
+
◆ solve()
+
+
+
+
+
+ fourdst::composition::Composition gridfire::engine::MultiscalePartitioningEngineView::QSESolver::solve
+ (
+ const fourdst::composition::Composition & comp ,
+
+
+
+
+ double T9 ,
+
+
+
+
+ double rho ) const
+
+
+
+
+
+
+
+
◆ solves()
+
+
+
+
+
+ size_t gridfire::engine::MultiscalePartitioningEngineView::QSESolver::solves
+ (
+ )
+ const
+
+
+
+
+
+
+
+
◆ sys_func()
+
+
+
+
+
+
+
+
+ int gridfire::engine::MultiscalePartitioningEngineView::QSESolver::sys_func
+ (
+ N_Vector y ,
+
+
+
+
+ N_Vector f ,
+
+
+
+
+ void * user_data )
+
+
+
+
+static private
+
+
+
+
+
+
+
+
◆ sys_jac()
+
+
+
+
+
+
+
+
+ int gridfire::engine::MultiscalePartitioningEngineView::QSESolver::sys_jac
+ (
+ N_Vector y ,
+
+
+
+
+ N_Vector fy ,
+
+
+
+
+ SUNMatrix J ,
+
+
+
+
+ void * user_data ,
+
+
+
+
+ N_Vector tmp1 ,
+
+
+
+
+ N_Vector tmp2 )
+
+
+
+
+static private
+
+
+
+
+
+
+
+
+
◆ m_constraints
+
+
+
+
+
+
+
+
+ N_Vector gridfire::engine::MultiscalePartitioningEngineView::QSESolver::m_constraints = nullptr
+
+
+
+
+private
+
+
+
+
+
+
+
+
◆ m_engine
+
+
+
+
+
+
+
+
+ const DynamicEngine & gridfire::engine::MultiscalePartitioningEngineView::QSESolver::m_engine
+
+
+
+
+private
+
+
+
+
+
+
+
+
◆ m_f_scale
+
+
+
+
+
+
+
+
+ N_Vector gridfire::engine::MultiscalePartitioningEngineView::QSESolver::m_f_scale = nullptr
+
+
+
+
+private
+
+
+
+
+
+
+
+
◆ m_func_tmpl
+
+
+
+
+
+
+
+
+ N_Vector gridfire::engine::MultiscalePartitioningEngineView::QSESolver::m_func_tmpl = nullptr
+
+
+
+
+private
+
+
+
+
+
+
+
+
◆ m_has_jacobian
+
+
+
+
+
+
+
+
+ bool gridfire::engine::MultiscalePartitioningEngineView::QSESolver::m_has_jacobian = false
+
+
+
+
+mutable private
+
+
+
+
+
+
+
+
◆ m_J
+
+
+
+
+
+
+
+
+ SUNMatrix gridfire::engine::MultiscalePartitioningEngineView::QSESolver::m_J = nullptr
+
+
+
+
+private
+
+
+
+
+
+
+
+
◆ m_kinsol_mem
+
+
+
+
+
+
+
+
+ void* gridfire::engine::MultiscalePartitioningEngineView::QSESolver::m_kinsol_mem = nullptr
+
+
+
+
+private
+
+
+
+
+
+
+
+
◆ m_LS
+
+
+
+
+
+
+
+
+ SUNLinearSolver gridfire::engine::MultiscalePartitioningEngineView::QSESolver::m_LS = nullptr
+
+
+
+
+private
+
+
+
+
+
+
+
+
◆ m_N
+
+
+
+
+
+
+
+
+ size_t gridfire::engine::MultiscalePartitioningEngineView::QSESolver::m_N
+
+
+
+
+private
+
+
+
+
+
+
+
+
◆ m_scale
+
+
+
+
+
+
+
+
+ N_Vector gridfire::engine::MultiscalePartitioningEngineView::QSESolver::m_scale = nullptr
+
+
+
+
+private
+
+
+
+
+
+
+
+
◆ m_solves
+
+
+
+
+
+
+
+
+ size_t gridfire::engine::MultiscalePartitioningEngineView::QSESolver::m_solves = 0
+
+
+
+
+mutable private
+
+
+
+
+
+
+
+
◆ m_species
+
+
+
+
+
+
+
+
+ std::vector<fourdst::atomic::Species> gridfire::engine::MultiscalePartitioningEngineView::QSESolver::m_species
+
+
+
+
+private
+
+
+
+
+
+
+
+
◆ m_speciesMap
+
+
+
+
+
+
+
+
+ std::unordered_map<fourdst::atomic::Species, size_t> gridfire::engine::MultiscalePartitioningEngineView::QSESolver::m_speciesMap
+
+
+
+
+private
+
+
+
+
+
+
+
+
◆ m_sun_ctx
+
+
+
+
+
+
+
+
+ SUNContext gridfire::engine::MultiscalePartitioningEngineView::QSESolver::m_sun_ctx = nullptr
+
+
+
+
+private
+
+
+
+
+
+
+
+
◆ m_Y
+
+
+
+
+
+
+
+
+ N_Vector gridfire::engine::MultiscalePartitioningEngineView::QSESolver::m_Y = nullptr
+
+
+
+
+private
+
+
+
+
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view_1_1_q_s_e_solver.js b/docs/html/classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view_1_1_q_s_e_solver.js
new file mode 100644
index 00000000..6a939057
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view_1_1_q_s_e_solver.js
@@ -0,0 +1,29 @@
+var classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view_1_1_q_s_e_solver =
+[
+ [ "UserData", "structgridfire_1_1engine_1_1_multiscale_partitioning_engine_view_1_1_q_s_e_solver_1_1_user_data.html", "structgridfire_1_1engine_1_1_multiscale_partitioning_engine_view_1_1_q_s_e_solver_1_1_user_data" ],
+ [ "QSESolver", "classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view_1_1_q_s_e_solver.html#a953520d6b705533fbdea699a50e31d54", null ],
+ [ "QSESolver", "classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view_1_1_q_s_e_solver.html#a37c03744aea2c7e16b977c2f6a19691a", null ],
+ [ "~QSESolver", "classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view_1_1_q_s_e_solver.html#a308ee7b77cde2658ea0c1e43827cea49", null ],
+ [ "getLogger", "classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view_1_1_q_s_e_solver.html#a8759a711c25a587877fbccdebdb9ecd9", null ],
+ [ "log_diagnostics", "classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view_1_1_q_s_e_solver.html#a616b818685cc51e0c1926a46435cbb68", null ],
+ [ "operator=", "classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view_1_1_q_s_e_solver.html#a338cd55e34af1286f0f4593b04be7508", null ],
+ [ "solve", "classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view_1_1_q_s_e_solver.html#aa6f28cf2f5759efad7d428f6794cc151", null ],
+ [ "solves", "classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view_1_1_q_s_e_solver.html#a420ca8991dd60fac7a9d18fae0eda0c1", null ],
+ [ "sys_func", "classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view_1_1_q_s_e_solver.html#a58b7b2ac01c40084cc839309267e400e", null ],
+ [ "sys_jac", "classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view_1_1_q_s_e_solver.html#a9a34e36baa074c1b39b230e0b5010a82", null ],
+ [ "m_constraints", "classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view_1_1_q_s_e_solver.html#a4ca611a4c787c2f79ecd3b900547fac6", null ],
+ [ "m_engine", "classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view_1_1_q_s_e_solver.html#abea3337e56ce71edf783506ef47a9f50", null ],
+ [ "m_f_scale", "classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view_1_1_q_s_e_solver.html#a219705d977e7593574e6e5c30fcc417a", null ],
+ [ "m_func_tmpl", "classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view_1_1_q_s_e_solver.html#ae7a185c468a5aa89fc634564cbad11fb", null ],
+ [ "m_has_jacobian", "classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view_1_1_q_s_e_solver.html#a4015ddf2c8e43f67a92a3f7eb99d7ea8", null ],
+ [ "m_J", "classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view_1_1_q_s_e_solver.html#af1f5e08da10ac14cf89ca6cceaf5a107", null ],
+ [ "m_kinsol_mem", "classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view_1_1_q_s_e_solver.html#a3bdbe052602fbe5ef4c5e55234fabc3e", null ],
+ [ "m_LS", "classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view_1_1_q_s_e_solver.html#a4da5ce19b4dd8f09d57a21feb002c29e", null ],
+ [ "m_N", "classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view_1_1_q_s_e_solver.html#a5da604d8ef9f677e8eda68bda5755274", null ],
+ [ "m_scale", "classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view_1_1_q_s_e_solver.html#ac545aed391b0396e73dfbef6719d3887", null ],
+ [ "m_solves", "classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view_1_1_q_s_e_solver.html#ae23a4066b2300223c4d52242c19c2200", null ],
+ [ "m_species", "classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view_1_1_q_s_e_solver.html#a6cd6dd07a046bac3d177126be421b723", null ],
+ [ "m_speciesMap", "classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view_1_1_q_s_e_solver.html#ae214780e957d7dd0f17c7cacc604dd7e", null ],
+ [ "m_sun_ctx", "classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view_1_1_q_s_e_solver.html#a9c69bae124936b4843876306e9d03860", null ],
+ [ "m_Y", "classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view_1_1_q_s_e_solver.html#ad5d00b0dfeb9dd9ba54f75e8c80f62ab", null ]
+];
\ No newline at end of file
diff --git a/docs/html/classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view_1_1_q_s_e_solver__coll__graph.map b/docs/html/classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view_1_1_q_s_e_solver__coll__graph.map
new file mode 100644
index 00000000..aae43421
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view_1_1_q_s_e_solver__coll__graph.map
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view_1_1_q_s_e_solver__coll__graph.md5 b/docs/html/classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view_1_1_q_s_e_solver__coll__graph.md5
new file mode 100644
index 00000000..ac3d309f
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view_1_1_q_s_e_solver__coll__graph.md5
@@ -0,0 +1 @@
+933a554fd9a2f6821b63f66623d4aa61
\ No newline at end of file
diff --git a/docs/html/classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view_1_1_q_s_e_solver__coll__graph.svg b/docs/html/classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view_1_1_q_s_e_solver__coll__graph.svg
new file mode 100644
index 00000000..8d353889
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view_1_1_q_s_e_solver__coll__graph.svg
@@ -0,0 +1,185 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+gridfire::engine::MultiscalePartitioningEngineView::QSESolver
+
+
+Node1
+
+
+gridfire::engine::Multiscale
+PartitioningEngineView::
+QSESolver
+
+
+
+
+
+Node2
+
+
+gridfire::engine::Dynamic
+Engine
+
+
+
+
+
+Node2->Node1
+
+
+
+
+
+ m_engine
+
+
+
+Node3
+
+
+gridfire::engine::Engine
+
+
+
+
+
+Node3->Node2
+
+
+
+
+
+
+
+
+Node4
+
+
+std::vector< fourdst
+::atomic::Species >
+
+
+
+
+
+Node4->Node1
+
+
+
+
+
+ m_species
+
+
+
+Node5
+
+
+std::unordered_map
+< fourdst::atomic::Species,
+ size_t >
+
+
+
+
+
+Node5->Node1
+
+
+
+
+
+ m_speciesMap
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view_1_1_q_s_e_solver__coll__graph_org.svg b/docs/html/classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view_1_1_q_s_e_solver__coll__graph_org.svg
new file mode 100644
index 00000000..26187542
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view_1_1_q_s_e_solver__coll__graph_org.svg
@@ -0,0 +1,102 @@
+
+
+
+
+
+
+gridfire::engine::MultiscalePartitioningEngineView::QSESolver
+
+
+Node1
+
+
+gridfire::engine::Multiscale
+PartitioningEngineView::
+QSESolver
+
+
+
+
+
+Node2
+
+
+gridfire::engine::Dynamic
+Engine
+
+
+
+
+
+Node2->Node1
+
+
+
+
+
+ m_engine
+
+
+
+Node3
+
+
+gridfire::engine::Engine
+
+
+
+
+
+Node3->Node2
+
+
+
+
+
+
+
+
+Node4
+
+
+std::vector< fourdst
+::atomic::Species >
+
+
+
+
+
+Node4->Node1
+
+
+
+
+
+ m_species
+
+
+
+Node5
+
+
+std::unordered_map
+< fourdst::atomic::Species,
+ size_t >
+
+
+
+
+
+Node5->Node1
+
+
+
+
+
+ m_speciesMap
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view__coll__graph.map b/docs/html/classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view__coll__graph.map
new file mode 100644
index 00000000..b6435526
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view__coll__graph.map
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view__coll__graph.md5 b/docs/html/classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view__coll__graph.md5
new file mode 100644
index 00000000..c9e83602
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view__coll__graph.md5
@@ -0,0 +1 @@
+dc296c2070c112699b617366980dd866
\ No newline at end of file
diff --git a/docs/html/classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view__coll__graph.svg b/docs/html/classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view__coll__graph.svg
new file mode 100644
index 00000000..b3e228f7
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view__coll__graph.svg
@@ -0,0 +1,422 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+gridfire::engine::MultiscalePartitioningEngineView
+
+
+Node1
+
+
+gridfire::engine::Multiscale
+PartitioningEngineView
+
+
+
+
+
+Node2
+
+
+gridfire::engine::Dynamic
+Engine
+
+
+
+
+
+Node2->Node1
+
+
+
+
+
+
+
+
+Node2->Node1
+
+
+
+
+
+ m_baseEngine
+
+
+
+Node10
+
+
+gridfire::engine::Multiscale
+PartitioningEngineView::
+QSESolver
+
+
+
+
+
+Node2->Node10
+
+
+
+
+
+ m_engine
+
+
+
+Node3
+
+
+gridfire::engine::Engine
+
+
+
+
+
+Node3->Node2
+
+
+
+
+
+
+
+
+Node4
+
+
+gridfire::engine::Engine
+View< DynamicEngine >
+
+
+
+
+
+Node4->Node1
+
+
+
+
+
+
+
+
+Node5
+
+
+std::vector< gridfire
+::engine::MultiscalePartitioning
+EngineView::QSEGroup >
+
+
+
+
+
+Node5->Node1
+
+
+
+
+
+ m_qse_groups
+
+
+
+Node6
+
+
+gridfire::engine::Multiscale
+PartitioningEngineView::
+QSEGroup
+
+
+
+
+
+Node6->Node5
+
+
+
+
+
+ elements
+
+
+
+Node7
+
+
+std::set< fourdst::
+atomic::Species >
+
+
+
+
+
+Node7->Node6
+
+
+
+
+
+ algebraic_species
+seed_species
+
+
+
+Node8
+
+
+std::vector< std::unique
+_ptr< gridfire::engine
+::MultiscalePartitioningEngineView
+::QSESolver > >
+
+
+
+
+
+Node8->Node1
+
+
+
+
+
+ m_qse_solvers
+
+
+
+Node9
+
+
+std::unique_ptr< gridfire
+::engine::MultiscalePartitioning
+EngineView::QSESolver >
+
+
+
+
+
+Node9->Node8
+
+
+
+
+
+ elements
+
+
+
+Node10->Node9
+
+
+
+
+
+ ptr
+
+
+
+Node11
+
+
+std::vector< fourdst
+::atomic::Species >
+
+
+
+
+
+Node11->Node1
+
+
+
+
+
+ m_algebraic_species
+m_dynamic_species
+
+
+
+Node11->Node10
+
+
+
+
+
+ m_species
+
+
+
+Node12
+
+
+std::unordered_map
+< fourdst::atomic::Species,
+ size_t >
+
+
+
+
+
+Node12->Node10
+
+
+
+
+
+ m_speciesMap
+
+
+
+Node13
+
+
+std::unordered_map
+< fourdst::atomic::Species,
+ double >
+
+
+
+
+
+Node13->Node1
+
+
+
+
+
+ m_algebraic_abundances
+
+
+
+Node14
+
+
+std::vector< size_t >
+
+
+
+
+
+Node14->Node1
+
+
+
+
+
+ m_activeReactionIndices
+m_activeSpeciesIndices
+
+
+
+Node15
+
+
+std::unordered_map
+< uint64_t, fourdst
+::composition::Composition >
+
+
+
+
+
+Node15->Node1
+
+
+
+
+
+ m_composition_cache
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view__coll__graph_org.svg b/docs/html/classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view__coll__graph_org.svg
new file mode 100644
index 00000000..20d45ba2
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view__coll__graph_org.svg
@@ -0,0 +1,339 @@
+
+
+
+
+
+
+gridfire::engine::MultiscalePartitioningEngineView
+
+
+Node1
+
+
+gridfire::engine::Multiscale
+PartitioningEngineView
+
+
+
+
+
+Node2
+
+
+gridfire::engine::Dynamic
+Engine
+
+
+
+
+
+Node2->Node1
+
+
+
+
+
+
+
+
+Node2->Node1
+
+
+
+
+
+ m_baseEngine
+
+
+
+Node10
+
+
+gridfire::engine::Multiscale
+PartitioningEngineView::
+QSESolver
+
+
+
+
+
+Node2->Node10
+
+
+
+
+
+ m_engine
+
+
+
+Node3
+
+
+gridfire::engine::Engine
+
+
+
+
+
+Node3->Node2
+
+
+
+
+
+
+
+
+Node4
+
+
+gridfire::engine::Engine
+View< DynamicEngine >
+
+
+
+
+
+Node4->Node1
+
+
+
+
+
+
+
+
+Node5
+
+
+std::vector< gridfire
+::engine::MultiscalePartitioning
+EngineView::QSEGroup >
+
+
+
+
+
+Node5->Node1
+
+
+
+
+
+ m_qse_groups
+
+
+
+Node6
+
+
+gridfire::engine::Multiscale
+PartitioningEngineView::
+QSEGroup
+
+
+
+
+
+Node6->Node5
+
+
+
+
+
+ elements
+
+
+
+Node7
+
+
+std::set< fourdst::
+atomic::Species >
+
+
+
+
+
+Node7->Node6
+
+
+
+
+
+ algebraic_species
+seed_species
+
+
+
+Node8
+
+
+std::vector< std::unique
+_ptr< gridfire::engine
+::MultiscalePartitioningEngineView
+::QSESolver > >
+
+
+
+
+
+Node8->Node1
+
+
+
+
+
+ m_qse_solvers
+
+
+
+Node9
+
+
+std::unique_ptr< gridfire
+::engine::MultiscalePartitioning
+EngineView::QSESolver >
+
+
+
+
+
+Node9->Node8
+
+
+
+
+
+ elements
+
+
+
+Node10->Node9
+
+
+
+
+
+ ptr
+
+
+
+Node11
+
+
+std::vector< fourdst
+::atomic::Species >
+
+
+
+
+
+Node11->Node1
+
+
+
+
+
+ m_algebraic_species
+m_dynamic_species
+
+
+
+Node11->Node10
+
+
+
+
+
+ m_species
+
+
+
+Node12
+
+
+std::unordered_map
+< fourdst::atomic::Species,
+ size_t >
+
+
+
+
+
+Node12->Node10
+
+
+
+
+
+ m_speciesMap
+
+
+
+Node13
+
+
+std::unordered_map
+< fourdst::atomic::Species,
+ double >
+
+
+
+
+
+Node13->Node1
+
+
+
+
+
+ m_algebraic_abundances
+
+
+
+Node14
+
+
+std::vector< size_t >
+
+
+
+
+
+Node14->Node1
+
+
+
+
+
+ m_activeReactionIndices
+m_activeSpeciesIndices
+
+
+
+Node15
+
+
+std::unordered_map
+< uint64_t, fourdst
+::composition::Composition >
+
+
+
+
+
+Node15->Node1
+
+
+
+
+
+ m_composition_cache
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view__inherit__graph.map b/docs/html/classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view__inherit__graph.map
new file mode 100644
index 00000000..ba053ce6
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view__inherit__graph.map
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view__inherit__graph.md5 b/docs/html/classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view__inherit__graph.md5
new file mode 100644
index 00000000..bd98a492
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view__inherit__graph.md5
@@ -0,0 +1 @@
+e0b1c717e6f6e7a8e2bd7406d246cc65
\ No newline at end of file
diff --git a/docs/html/classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view__inherit__graph.svg b/docs/html/classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view__inherit__graph.svg
new file mode 100644
index 00000000..d74f4862
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view__inherit__graph.svg
@@ -0,0 +1,104 @@
+
+
+
+
+
+
+
+
+
+
+
+
+gridfire::engine::MultiscalePartitioningEngineView
+
+
+Node1
+
+
+gridfire::engine::Multiscale
+PartitioningEngineView
+
+
+
+
+
+Node2
+
+
+gridfire::engine::Dynamic
+Engine
+
+
+
+
+
+Node2->Node1
+
+
+
+
+
+
+
+
+Node3
+
+
+gridfire::engine::Engine
+
+
+
+
+
+Node3->Node2
+
+
+
+
+
+
+
+
+Node4
+
+
+gridfire::engine::Engine
+View< DynamicEngine >
+
+
+
+
+
+Node4->Node1
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view__inherit__graph_org.svg b/docs/html/classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view__inherit__graph_org.svg
new file mode 100644
index 00000000..3fcee10e
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_multiscale_partitioning_engine_view__inherit__graph_org.svg
@@ -0,0 +1,78 @@
+
+
+
+
+
+
+gridfire::engine::MultiscalePartitioningEngineView
+
+
+Node1
+
+
+gridfire::engine::Multiscale
+PartitioningEngineView
+
+
+
+
+
+Node2
+
+
+gridfire::engine::Dynamic
+Engine
+
+
+
+
+
+Node2->Node1
+
+
+
+
+
+
+
+
+Node3
+
+
+gridfire::engine::Engine
+
+
+
+
+
+Node3->Node2
+
+
+
+
+
+
+
+
+Node4
+
+
+gridfire::engine::Engine
+View< DynamicEngine >
+
+
+
+
+
+Node4->Node1
+
+
+
+
+
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_network_jacobian-members.html b/docs/html/classgridfire_1_1engine_1_1_network_jacobian-members.html
new file mode 100644
index 00000000..e34cb04b
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_network_jacobian-members.html
@@ -0,0 +1,138 @@
+
+
+
+
+
+
+
+
GridFire: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GridFire v0.7.0-alpha
+
+ General Purpose Nuclear Network
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
This is the complete list of members for gridfire::engine::NetworkJacobian , including all inherited members.
+
+
+
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_network_jacobian.html b/docs/html/classgridfire_1_1engine_1_1_network_jacobian.html
new file mode 100644
index 00000000..9c2190a2
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_network_jacobian.html
@@ -0,0 +1,780 @@
+
+
+
+
+
+
+
+
GridFire: gridfire::engine::NetworkJacobian Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GridFire v0.7.0-alpha
+
+ General Purpose Nuclear Network
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
A wrapper class for handling the network Jacobian matrix.
+ More...
+
+
#include <jacobian.h>
+
+
+
+
+ NetworkJacobian (const Eigen::SparseMatrix< double > &jacobianMatrix, const std::function< fourdst::atomic::Species(size_t)> &indexToSpeciesFunc)
+ Constructs a NetworkJacobian with the given sparse matrix and species index mapping function.
+
+ NetworkJacobian (const NetworkJacobian &jacobian)
+ Copy constructor for NetworkJacobian .
+
+ NetworkJacobian (NetworkJacobian &&jacobian) noexcept
+ Copy assignment operator for NetworkJacobian .
+
+NetworkJacobian & operator= (NetworkJacobian &&jacobian) noexcept
+ Move constructor for NetworkJacobian .
+
+double operator() (const fourdst::atomic::Species &row, const fourdst::atomic::Species &col) const
+ Accesses the value at the specified row and column corresponding to the given species.
+
+double operator() (size_t i, size_t j) const
+ Accesses the value at the specified row and column indices.
+
+void set (const fourdst::atomic::Species &row, const fourdst::atomic::Species &col, double value)
+ Sets the value at the specified row and column corresponding to the given species.
+
+void set (size_t i, size_t j, double value)
+ Sets the value at the specified row and column indices.
+
+void set (const JacobianEntry &entry)
+ Sets the value in the Jacobian matrix based on a JacobianEntry .
+
+std::tuple< size_t, size_t > shape () const
+ Retrieves the shape of the Jacobian matrix as a tuple (rows, columns).
+
+size_t rank () const
+ Retrieves the rank of the Jacobian matrix.
+
+size_t nnz () const
+ Get the number of non-zero entries in the Jacobian matrix.
+
+bool singular () const
+ Checks if the Jacobian matrix is singular.
+
+std::vector< JacobianEntry > infs () const
+ Retrieves all entries in the Jacobian matrix that are infinite.
+
+std::vector< JacobianEntry > nans () const
+ Retrieves all entries in the Jacobian matrix that are NaN (Not a Number).
+
+Eigen::SparseMatrix< double > data () const
+ Provides access to the underlying sparse matrix data.
+
+const std::unordered_map< fourdst::atomic::Species, size_t > & mapping () const
+ Provides access to the species-to-index mapping.
+
+void to_csv (const std::string &filename) const
+ Exports the Jacobian matrix to a CSV file.
+
+
+
+
A wrapper class for handling the network Jacobian matrix.
+
This class encapsulates an Eigen::SparseMatrix to represent the Jacobian matrix of a reaction network. It provides methods for accessing and modifying matrix entries using species identifiers, as well as utility functions for analyzing the matrix (e.g., checking for singularity, counting non-zero entries).
+
+
+
◆ NetworkJacobian() [1/3]
+
+
+
+
+
+
+
+
+ gridfire::engine::NetworkJacobian::NetworkJacobian
+ (
+ const Eigen::SparseMatrix< double > & jacobianMatrix ,
+
+
+
+
+ const std::function< fourdst::atomic::Species(size_t)> & indexToSpeciesFunc )
+
+
+
+
+explicit
+
+
+
+
+
Constructs a NetworkJacobian with the given sparse matrix and species index mapping function.
+
Parameters
+
+ jacobianMatrix The sparse matrix representing the Jacobian.
+ indexToSpeciesFunc A function that maps matrix indices to species identifiers.
+
+
+
+
+
+
+
+
◆ NetworkJacobian() [2/3]
+
+
+
+
+
+ gridfire::engine::NetworkJacobian::NetworkJacobian
+ (
+ const NetworkJacobian & jacobian )
+
+
+
+
+
+
+
◆ NetworkJacobian() [3/3]
+
+
+
+
+
+
+
+
+ gridfire::engine::NetworkJacobian::NetworkJacobian
+ (
+ NetworkJacobian && jacobian )
+
+
+
+
+
+noexcept
+
+
+
+
+
+
+
◆ data()
+
+
+
+
+
+
+
+
+ Eigen::SparseMatrix< double > gridfire::engine::NetworkJacobian::data
+ (
+ )
+ const
+
+
+
+
+nodiscard
+
+
+
+
+
Provides access to the underlying sparse matrix data.
+
Returns The Eigen::SparseMatrix representing the Jacobian.
+
+
+
+
+
◆ infs()
+
+
+
+
+
+
+
+
+ std::vector< JacobianEntry > gridfire::engine::NetworkJacobian::infs
+ (
+ )
+ const
+
+
+
+
+nodiscard
+
+
+
+
+
Retrieves all entries in the Jacobian matrix that are infinite.
+
Returns A vector of JacobianEntry representing infinite entries.
+
+
+
+
+
◆ mapping()
+
+
+
+
+
+
+
+
+ const std::unordered_map< fourdst::atomic::Species, size_t > & gridfire::engine::NetworkJacobian::mapping
+ (
+ )
+ const
+
+
+
+
+nodiscard
+
+
+
+
+
Provides access to the species-to-index mapping.
+
Returns A constant reference to the species-to-index mapping.
+
+
+
+
+
◆ nans()
+
+
+
+
+
+
+
+
+ std::vector< JacobianEntry > gridfire::engine::NetworkJacobian::nans
+ (
+ )
+ const
+
+
+
+
+nodiscard
+
+
+
+
+
Retrieves all entries in the Jacobian matrix that are NaN (Not a Number).
+
Returns A vector of JacobianEntry representing NaN entries.
+
+
+
+
+
◆ nnz()
+
+
+
+
+
+ size_t gridfire::engine::NetworkJacobian::nnz
+ (
+ )
+ const
+
+
+
+
+
Get the number of non-zero entries in the Jacobian matrix.
+
Returns The number of non-zero entries.
+
+
+
+
+
◆ operator()() [1/2]
+
+
+
+
+
+ double gridfire::engine::NetworkJacobian::operator()
+ (
+ const fourdst::atomic::Species & row ,
+
+
+
+
+ const fourdst::atomic::Species & col ) const
+
+
+
+
+
Accesses the value at the specified row and column corresponding to the given species.
+
Parameters
+
+ row Species for the row
+ col Species for the column
+
+
+
+
Returns value at the specified position
+
+
+
+
+
◆ operator()() [2/2]
+
+
+
+
+
+ double gridfire::engine::NetworkJacobian::operator()
+ (
+ size_t i ,
+
+
+
+
+ size_t j ) const
+
+
+
+
+
Accesses the value at the specified row and column indices.
+
Parameters
+
+ i Row index
+ j Column index
+
+
+
+
Returns value at the specified position
+
+
+
+
+
◆ operator=()
+
+
+
+
◆ rank()
+
+
+
+
+
+ size_t gridfire::engine::NetworkJacobian::rank
+ (
+ )
+ const
+
+
+
+
+
Retrieves the rank of the Jacobian matrix.
+
Returns The rank of the matrix.
+
Note Rank is computed using QR decomposition and cached for efficiency. The rank is computed the first time this method is called and stored for subsequent calls. If any set operation is performed on the matrix, the cached rank is invalidated.
+
+
+
+
+
◆ set() [1/3]
+
+
+
+
+
+ void gridfire::engine::NetworkJacobian::set
+ (
+ const fourdst::atomic::Species & row ,
+
+
+
+
+ const fourdst::atomic::Species & col ,
+
+
+
+
+ double value )
+
+
+
+
+
Sets the value at the specified row and column corresponding to the given species.
+
Parameters
+
+ row Row species
+ col Column species
+ value Value to set
+
+
+
+
+
+
+
+
◆ set() [2/3]
+
+
+
+
+
+ void gridfire::engine::NetworkJacobian::set
+ (
+ const JacobianEntry & entry )
+
+
+
+
+
+
Sets the value in the Jacobian matrix based on a JacobianEntry .
+
Parameters
+
+ entry The JacobianEntry containing row species, column species, and value.
+
+
+
+
+
+
+
+
◆ set() [3/3]
+
+
+
+
+
+ void gridfire::engine::NetworkJacobian::set
+ (
+ size_t i ,
+
+
+
+
+ size_t j ,
+
+
+
+
+ double value )
+
+
+
+
+
Sets the value at the specified row and column indices.
+
Parameters
+
+ i Row index
+ j Column index
+ value Value to set
+
+
+
+
+
+
+
+
◆ shape()
+
+
+
+
+
+ std::tuple< size_t, size_t > gridfire::engine::NetworkJacobian::shape
+ (
+ )
+ const
+
+
+
+
+
Retrieves the shape of the Jacobian matrix as a tuple (rows, columns).
+
Returns A tuple containing the number of rows and columns.
+
+
+
+
+
◆ singular()
+
+
+
+
+
+ bool gridfire::engine::NetworkJacobian::singular
+ (
+ )
+ const
+
+
+
+
+
Checks if the Jacobian matrix is singular.
+
Returns True if the matrix is singular, false otherwise.
+
+
+
+
+
◆ to_csv()
+
+
+
+
+
+ void gridfire::engine::NetworkJacobian::to_csv
+ (
+ const std::string & filename )
+ const
+
+
+
+
+
Exports the Jacobian matrix to a CSV file.
+
Parameters
+
+ filename The name of the CSV file to export to.
+
+
+
+
+
+
+
+
+
◆ m_jacobianMatrix
+
+
+
+
+
+
+
+
+ Eigen::SparseMatrix<double> gridfire::engine::NetworkJacobian::m_jacobianMatrix
+
+
+
+
+private
+
+
+
+
+
+
+
+
◆ m_rank
+
+
+
+
+
+
+
+
+ std::optional<size_t> gridfire::engine::NetworkJacobian::m_rank = std::nullopt
+
+
+
+
+mutable private
+
+
+
+
+
+
+
+
◆ m_speciesToIndexMap
+
+
+
+
+
+
+
+
+ std::unordered_map<fourdst::atomic::Species, size_t> gridfire::engine::NetworkJacobian::m_speciesToIndexMap
+
+
+
+
+private
+
+
+
+
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_network_jacobian.js b/docs/html/classgridfire_1_1engine_1_1_network_jacobian.js
new file mode 100644
index 00000000..83238579
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_network_jacobian.js
@@ -0,0 +1,24 @@
+var classgridfire_1_1engine_1_1_network_jacobian =
+[
+ [ "NetworkJacobian", "classgridfire_1_1engine_1_1_network_jacobian.html#aee558bd90f26fdb6172a04fb63d2572e", null ],
+ [ "NetworkJacobian", "classgridfire_1_1engine_1_1_network_jacobian.html#a78eea5d1a0d09cb30cf0b387924b5179", null ],
+ [ "NetworkJacobian", "classgridfire_1_1engine_1_1_network_jacobian.html#ad215d47784258e42cfbcb45c771aaa19", null ],
+ [ "data", "classgridfire_1_1engine_1_1_network_jacobian.html#adb5643398b6f5fbf0ab8f09580b93402", null ],
+ [ "infs", "classgridfire_1_1engine_1_1_network_jacobian.html#adc4bcf002e276e36d9d29db7f82015fd", null ],
+ [ "mapping", "classgridfire_1_1engine_1_1_network_jacobian.html#aa15b6de68c69b48c57ed1cc943164d32", null ],
+ [ "nans", "classgridfire_1_1engine_1_1_network_jacobian.html#a9292384722bcb0245acab9affcdb8c6d", null ],
+ [ "nnz", "classgridfire_1_1engine_1_1_network_jacobian.html#a2016fcfe27363650817b5be1ce6aaa32", null ],
+ [ "operator()", "classgridfire_1_1engine_1_1_network_jacobian.html#a6aef41de3c48ac77ae991ca427ce46a9", null ],
+ [ "operator()", "classgridfire_1_1engine_1_1_network_jacobian.html#a3022b0f46c78adb4053b16a425a8b026", null ],
+ [ "operator=", "classgridfire_1_1engine_1_1_network_jacobian.html#ac5372d721127646e75c0f177661566f9", null ],
+ [ "rank", "classgridfire_1_1engine_1_1_network_jacobian.html#af9544f4cec7b450027fe991614adabfa", null ],
+ [ "set", "classgridfire_1_1engine_1_1_network_jacobian.html#a6fc63f3c5d3fe7a1fd8b0704f2e71e2c", null ],
+ [ "set", "classgridfire_1_1engine_1_1_network_jacobian.html#a82c4fb3d75b1a30e0259ad888bd508cc", null ],
+ [ "set", "classgridfire_1_1engine_1_1_network_jacobian.html#ac47692fd4cc13174373d2a2f3abd956d", null ],
+ [ "shape", "classgridfire_1_1engine_1_1_network_jacobian.html#a699933e9f807ec196157f92ffb46b9ba", null ],
+ [ "singular", "classgridfire_1_1engine_1_1_network_jacobian.html#a485321469d84b3cf923ec79957044406", null ],
+ [ "to_csv", "classgridfire_1_1engine_1_1_network_jacobian.html#a8267f02eacb52d238da6daa19dbea764", null ],
+ [ "m_jacobianMatrix", "classgridfire_1_1engine_1_1_network_jacobian.html#ad14ba25ee22e6b0c73e21e19165814e8", null ],
+ [ "m_rank", "classgridfire_1_1engine_1_1_network_jacobian.html#ad30cd63facc761a71d70e60249a22576", null ],
+ [ "m_speciesToIndexMap", "classgridfire_1_1engine_1_1_network_jacobian.html#ae5a03ec75859d300f8f63ac465f1206c", null ]
+];
\ No newline at end of file
diff --git a/docs/html/classgridfire_1_1engine_1_1_network_jacobian__coll__graph.map b/docs/html/classgridfire_1_1engine_1_1_network_jacobian__coll__graph.map
new file mode 100644
index 00000000..d0a70178
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_network_jacobian__coll__graph.map
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_network_jacobian__coll__graph.md5 b/docs/html/classgridfire_1_1engine_1_1_network_jacobian__coll__graph.md5
new file mode 100644
index 00000000..76a62c4f
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_network_jacobian__coll__graph.md5
@@ -0,0 +1 @@
+222f1e4292eb9c1c4ce3cd8606c7d9d9
\ No newline at end of file
diff --git a/docs/html/classgridfire_1_1engine_1_1_network_jacobian__coll__graph.svg b/docs/html/classgridfire_1_1engine_1_1_network_jacobian__coll__graph.svg
new file mode 100644
index 00000000..c28a662b
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_network_jacobian__coll__graph.svg
@@ -0,0 +1,69 @@
+
+
+
+
+
+
+
+
+
+
+
+
+gridfire::engine::NetworkJacobian
+
+
+Node1
+
+
+gridfire::engine::Network
+Jacobian
+
+
+
+
+
+Node2
+
+
+std::unordered_map
+< fourdst::atomic::Species,
+ size_t >
+
+
+
+
+
+Node2->Node1
+
+
+
+
+
+ m_speciesToIndexMap
+
+
+
+
+
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_network_jacobian__coll__graph_org.svg b/docs/html/classgridfire_1_1engine_1_1_network_jacobian__coll__graph_org.svg
new file mode 100644
index 00000000..108951b8
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_network_jacobian__coll__graph_org.svg
@@ -0,0 +1,43 @@
+
+
+
+
+
+
+gridfire::engine::NetworkJacobian
+
+
+Node1
+
+
+gridfire::engine::Network
+Jacobian
+
+
+
+
+
+Node2
+
+
+std::unordered_map
+< fourdst::atomic::Species,
+ size_t >
+
+
+
+
+
+Node2->Node1
+
+
+
+
+
+ m_speciesToIndexMap
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_network_priming_engine_view-members.html b/docs/html/classgridfire_1_1engine_1_1_network_priming_engine_view-members.html
new file mode 100644
index 00000000..b6b3a014
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_network_priming_engine_view-members.html
@@ -0,0 +1,165 @@
+
+
+
+
+
+
+
+
GridFire: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GridFire v0.7.0-alpha
+
+ General Purpose Nuclear Network
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
This is the complete list of members for gridfire::engine::NetworkPrimingEngineView , including all inherited members.
+
+ calculateEpsDerivatives (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const overridegridfire::engine::DefinedEngineView virtual
+ calculateMolarReactionFlow (const reaction::Reaction &reaction, const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const overridegridfire::engine::DefinedEngineView virtual
+ calculateRHSAndEnergy (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const overridegridfire::engine::DefinedEngineView virtual
+ collect (const std::vector< std::string > &peNames)gridfire::engine::DefinedEngineView private
+ collectComposition (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const overridegridfire::engine::DefinedEngineView virtual
+ constructPrimingReactionSet (const fourdst::atomic::Species &primingSpecies, const GraphEngine &baseEngine) constgridfire::engine::NetworkPrimingEngineView private
+ constructReactionIndexMap () constgridfire::engine::DefinedEngineView private
+ constructSpeciesIndexMap () constgridfire::engine::DefinedEngineView private
+ DefinedEngineView (const std::vector< std::string > &peNames, GraphEngine &baseEngine)gridfire::engine::DefinedEngineView
+ generateJacobianMatrix (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const overridegridfire::engine::DefinedEngineView virtual
+ generateJacobianMatrix (const fourdst::composition::CompositionAbstract &comp, double T9, double rho, const std::vector< fourdst::atomic::Species > &activeSpecies) const overridegridfire::engine::DefinedEngineView virtual
+ generateJacobianMatrix (const fourdst::composition::CompositionAbstract &comp, double T9, double rho, const SparsityPattern &sparsityPattern) const overridegridfire::engine::DefinedEngineView virtual
+ generateStoichiometryMatrix () overridegridfire::engine::DefinedEngineView virtual
+ getBaseEngine () const overridegridfire::engine::DefinedEngineView virtual
+ getDepth () constgridfire::engine::DynamicEngine inline virtual
+ getNetworkReactions () const overridegridfire::engine::DefinedEngineView virtual
+ getNetworkSpecies () const overridegridfire::engine::DefinedEngineView virtual
+ getScreeningModel () const overridegridfire::engine::DefinedEngineView virtual
+ getSpeciesDestructionTimescales (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const overridegridfire::engine::DefinedEngineView virtual
+ getSpeciesIndex (const fourdst::atomic::Species &species) const overridegridfire::engine::DefinedEngineView virtual
+ getSpeciesStatus (const fourdst::atomic::Species &species) const overridegridfire::engine::DefinedEngineView virtual
+ getSpeciesTimescales (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const overridegridfire::engine::DefinedEngineView virtual
+ getStoichiometryMatrixEntry (const fourdst::atomic::Species &species, const reaction::Reaction &reaction) const overridegridfire::engine::DefinedEngineView virtual
+ isStale (const NetIn &netIn) overridegridfire::engine::DefinedEngineView virtual
+ m_activeReactions gridfire::engine::DefinedEngineView private
+ m_activeSpecies gridfire::engine::DefinedEngineView private
+ m_activeSpeciesVectorCache gridfire::engine::DefinedEngineView mutable private
+ m_baseEngine gridfire::engine::DefinedEngineView protected
+ m_isStale gridfire::engine::DefinedEngineView protected
+ m_logger gridfire::engine::NetworkPrimingEngineView private
+ m_primingSpecies gridfire::engine::NetworkPrimingEngineView private
+ m_reactionIndexMap gridfire::engine::DefinedEngineView private
+ m_speciesIndexMap gridfire::engine::DefinedEngineView private
+ mapFullToView (const std::vector< double > &full) constgridfire::engine::DefinedEngineView private
+ mapNetInToMolarAbundanceVector (const NetIn &netIn) const overridegridfire::engine::DefinedEngineView virtual
+ mapViewToFull (const std::vector< double > &defined) constgridfire::engine::DefinedEngineView private
+ mapViewToFullReactionIndex (size_t definedReactionIndex) constgridfire::engine::DefinedEngineView private
+ mapViewToFullSpeciesIndex (size_t definedSpeciesIndex) constgridfire::engine::DefinedEngineView private
+ NetworkPrimingEngineView (const std::string &primingSymbol, GraphEngine &baseEngine)gridfire::engine::NetworkPrimingEngineView
+ NetworkPrimingEngineView (const fourdst::atomic::Species &primingSpecies, GraphEngine &baseEngine)gridfire::engine::NetworkPrimingEngineView
+ primeEngine (const NetIn &netIn) overridegridfire::engine::DefinedEngineView virtual
+ rebuild (const fourdst::composition::CompositionAbstract &comp, BuildDepthType depth)gridfire::engine::DynamicEngine inline virtual
+ setNetworkReactions (const reaction::ReactionSet &reactions) overridegridfire::engine::DefinedEngineView virtual
+ setScreeningModel (screening::ScreeningType model) overridegridfire::engine::DefinedEngineView virtual
+ update (const NetIn &netIn) overridegridfire::engine::DefinedEngineView virtual
+ validateNetworkState () constgridfire::engine::DefinedEngineView private
+ ~Engine ()=defaultgridfire::engine::Engine virtual
+ ~EngineView ()=defaultgridfire::engine::EngineView< DynamicEngine > virtual
+
+
+
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_network_priming_engine_view.html b/docs/html/classgridfire_1_1engine_1_1_network_priming_engine_view.html
new file mode 100644
index 00000000..cb0adc93
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_network_priming_engine_view.html
@@ -0,0 +1,436 @@
+
+
+
+
+
+
+
+
GridFire: gridfire::engine::NetworkPrimingEngineView Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GridFire v0.7.0-alpha
+
+ General Purpose Nuclear Network
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
Provides a view of a DynamicEngine filtered to reactions involving a specified priming species.
+ More...
+
+
#include <engine_priming.h>
+
+
+
+
+
+
+ NetworkPrimingEngineView (const std::string &primingSymbol, GraphEngine &baseEngine)
+ Constructs the view by looking up the priming species by symbol.
+
+ NetworkPrimingEngineView (const fourdst::atomic::Species &primingSpecies, GraphEngine &baseEngine)
+ Constructs the view using an existing Species object.
+
+
+ DefinedEngineView (const std::vector< std::string > &peNames, GraphEngine &baseEngine)
+
+const DynamicEngine & getBaseEngine () const override
+ Get the base engine associated with this defined engine view.
+
+const std::vector< fourdst::atomic::Species > & getNetworkSpecies () const override
+ Gets the list of active species in the network defined by the file.
+
+std::expected< StepDerivatives < double >, engine::EngineStatus > calculateRHSAndEnergy (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const override
+ Calculates the right-hand side (dY/dt) and energy generation for the active species.
+
+EnergyDerivatives calculateEpsDerivatives (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const override
+ Calculate the derivatives of the energy generation rate with respect to T and rho.
+
+NetworkJacobian generateJacobianMatrix (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const override
+ Generates the Jacobian matrix for the active species.
+
+NetworkJacobian generateJacobianMatrix (const fourdst::composition::CompositionAbstract &comp, double T9, double rho, const std::vector< fourdst::atomic::Species > &activeSpecies) const override
+ Generates the Jacobian matrix for the active species.
+
+NetworkJacobian generateJacobianMatrix (const fourdst::composition::CompositionAbstract &comp, double T9, double rho, const SparsityPattern &sparsityPattern) const override
+ Generates the Jacobian matrix for a given sparsity pattern.
+
+void generateStoichiometryMatrix () override
+ Generates the stoichiometry matrix for the active reactions and species.
+
+int getStoichiometryMatrixEntry (const fourdst::atomic::Species &species, const reaction::Reaction &reaction) const override
+ Gets an entry from the stoichiometry matrix for the active species and reactions.
+
+double calculateMolarReactionFlow (const reaction::Reaction &reaction, const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const override
+ Calculates the molar reaction flow for a given reaction in the active network.
+
+const reaction::ReactionSet & getNetworkReactions () const override
+ Gets the set of active logical reactions in the network.
+
+void setNetworkReactions (const reaction::ReactionSet &reactions) override
+ Sets the active reactions in the network.
+
+std::expected< std::unordered_map< fourdst::atomic::Species, double >, engine::EngineStatus > getSpeciesTimescales (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const override
+ Computes timescales for all active species in the network.
+
+std::expected< std::unordered_map< fourdst::atomic::Species, double >, engine::EngineStatus > getSpeciesDestructionTimescales (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const override
+ Computes destruction timescales for all active species in the network.
+
+fourdst::composition::Composition update (const NetIn &netIn) override
+ Updates the engine view if it is marked as stale.
+
+bool isStale (const NetIn &netIn) override
+ Checks if the engine view is stale.
+
+void setScreeningModel (screening::ScreeningType model) override
+ Sets the screening model for the base engine.
+
+screening::ScreeningType getScreeningModel () const override
+ Gets the screening model from the base engine.
+
+size_t getSpeciesIndex (const fourdst::atomic::Species &species) const override
+ Maps a species from the full network to its index in the defined active network.
+
+std::vector< double > mapNetInToMolarAbundanceVector (const NetIn &netIn) const override
+ Map from a NetIn object to a vector of molar abundances for the active species.
+
+PrimingReport primeEngine (const NetIn &netIn) override
+ Prime the engine view for calculations. This will delegate to the base engine.
+
+fourdst::composition::Composition collectComposition (const fourdst::composition::CompositionAbstract &comp, double T9, double rho) const override
+ Collects a Composition object from the base engine.
+
+SpeciesStatus getSpeciesStatus (const fourdst::atomic::Species &species) const override
+ Gets the status of a species in the active network.
+
+
+virtual BuildDepthType getDepth () const
+ Get the depth of the network.
+
+virtual void rebuild (const fourdst::composition::CompositionAbstract &comp, BuildDepthType depth)
+ Rebuild the network with a specified depth.
+
+
+virtual ~Engine ()=default
+ Virtual destructor.
+
+
+virtual ~EngineView ()=default
+ Virtual destructor.
+
+
+
+std::vector< std::string > constructPrimingReactionSet (const fourdst::atomic::Species &primingSpecies, const GraphEngine &baseEngine) const
+ Constructs the set of reaction names that involve the priming species.
+
+
+
+quill::Logger * m_logger = LogManager::getInstance().getLogger("log")
+
+fourdst::atomic::Species m_primingSpecies
+ The priming species, if specified.
+
+
+
+
Provides a view of a DynamicEngine filtered to reactions involving a specified priming species.
+
This view constructs a subset of the network reactions from the base engine that contain the given priming species and delegates all engine operations to the underlying engine.
+
See implementation in engine_priming.cpp for details on reaction set construction.
+
Note Throws std::runtime_error if no priming reactions are found for the species.
+
+
+
◆ NetworkPrimingEngineView() [1/2]
+
+
+
+
+
+ gridfire::engine::NetworkPrimingEngineView::NetworkPrimingEngineView
+ (
+ const std::string & primingSymbol ,
+
+
+
+
+ GraphEngine & baseEngine )
+
+
+
+
+
Constructs the view by looking up the priming species by symbol.
+
Parameters
+
+ primingSymbol Symbol string of the species to prime.
+ baseEngine Reference to the base DynamicEngine to wrap.
+
+
+
+
Precondition primingSymbol must correspond to a valid species in atomic::species registry.
+
Postcondition The view will contain only reactions that involve the priming species.
+
Exceptions
+
+ std::out_of_range If primingSymbol is not found in the species registry.
+ std::runtime_error If no reactions contain the priming species.
+
+
+
+
+
+
+
+
◆ NetworkPrimingEngineView() [2/2]
+
+
+
+
+
+ gridfire::engine::NetworkPrimingEngineView::NetworkPrimingEngineView
+ (
+ const fourdst::atomic::Species & primingSpecies ,
+
+
+
+
+ GraphEngine & baseEngine )
+
+
+
+
+
Constructs the view using an existing Species object.
+
Parameters
+
+ primingSpecies The species object to prime.
+ baseEngine Reference to the base DynamicEngine to wrap.
+
+
+
+
Precondition primingSpecies must be valid and present in the network of baseEngine.
+
Postcondition The view will contain only reactions that involve the priming species.
+
Exceptions
+
+ std::runtime_error If no reactions contain the priming species.
+
+
+
+
+
+
+
+
+
◆ constructPrimingReactionSet()
+
+
+
+
+
+
+
+
+ std::vector< std::string > gridfire::engine::NetworkPrimingEngineView::constructPrimingReactionSet
+ (
+ const fourdst::atomic::Species & primingSpecies ,
+
+
+
+
+ const GraphEngine & baseEngine ) const
+
+
+
+
+nodiscard private
+
+
+
+
+
Constructs the set of reaction names that involve the priming species.
+
Parameters
+
+ primingSpecies Species for which to collect priming reactions.
+ baseEngine Base engine containing the full network of reactions.
+
+
+
+
Precondition baseEngine.getNetworkReactions() returns a valid iterable set of reactions.
+
Postcondition Returns a vector of unique reaction name strings containing the priming species.
+
Returns Vector of reaction name strings containing the priming species.
+
Exceptions
+
+ std::runtime_error If no reactions involve the priming species.
+
+
+
+
+
+
+
+
+
◆ m_logger
+
+
+
+
+
+
+
+
+ quill::Logger* gridfire::engine::NetworkPrimingEngineView::m_logger = LogManager::getInstance().getLogger("log")
+
+
+
+
+private
+
+
+
+
+
+
+
+
◆ m_primingSpecies
+
+
+
+
+
+
+
+
+ fourdst::atomic::Species gridfire::engine::NetworkPrimingEngineView::m_primingSpecies
+
+
+
+
+private
+
+
+
+
+
The priming species, if specified.
+
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_network_priming_engine_view.js b/docs/html/classgridfire_1_1engine_1_1_network_priming_engine_view.js
new file mode 100644
index 00000000..74a182e1
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_network_priming_engine_view.js
@@ -0,0 +1,8 @@
+var classgridfire_1_1engine_1_1_network_priming_engine_view =
+[
+ [ "NetworkPrimingEngineView", "classgridfire_1_1engine_1_1_network_priming_engine_view.html#ad4eec8af1ab1f918fd4e92fac47adaf4", null ],
+ [ "NetworkPrimingEngineView", "classgridfire_1_1engine_1_1_network_priming_engine_view.html#a0d505b967dc3b50f6966a0110e53a6d7", null ],
+ [ "constructPrimingReactionSet", "classgridfire_1_1engine_1_1_network_priming_engine_view.html#acaf9433246a58f2365c5bd8907cbacbb", null ],
+ [ "m_logger", "classgridfire_1_1engine_1_1_network_priming_engine_view.html#af5d4b8d6b11e83d57d6e08b12ce5882d", null ],
+ [ "m_primingSpecies", "classgridfire_1_1engine_1_1_network_priming_engine_view.html#ad78f293f31a7ff8120b85e26e5d6dcfd", null ]
+];
\ No newline at end of file
diff --git a/docs/html/classgridfire_1_1engine_1_1_network_priming_engine_view__coll__graph.map b/docs/html/classgridfire_1_1engine_1_1_network_priming_engine_view__coll__graph.map
new file mode 100644
index 00000000..18cc1ae2
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_network_priming_engine_view__coll__graph.map
@@ -0,0 +1,100 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_network_priming_engine_view__coll__graph.md5 b/docs/html/classgridfire_1_1engine_1_1_network_priming_engine_view__coll__graph.md5
new file mode 100644
index 00000000..619afb21
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_network_priming_engine_view__coll__graph.md5
@@ -0,0 +1 @@
+da2f1be8476b6ec919d539a436cd7f05
\ No newline at end of file
diff --git a/docs/html/classgridfire_1_1engine_1_1_network_priming_engine_view__coll__graph.svg b/docs/html/classgridfire_1_1engine_1_1_network_priming_engine_view__coll__graph.svg
new file mode 100644
index 00000000..8848fff2
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_network_priming_engine_view__coll__graph.svg
@@ -0,0 +1,1077 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+gridfire::engine::NetworkPrimingEngineView
+
+
+Node1
+
+
+gridfire::engine::Network
+PrimingEngineView
+
+
+
+
+
+Node2
+
+
+gridfire::engine::Defined
+EngineView
+
+
+
+
+
+Node2->Node1
+
+
+
+
+
+
+
+
+Node3
+
+
+gridfire::engine::Dynamic
+Engine
+
+
+
+
+
+Node3->Node2
+
+
+
+
+
+
+
+
+Node6
+
+
+gridfire::engine::GraphEngine
+
+
+
+
+
+Node3->Node6
+
+
+
+
+
+
+
+
+Node4
+
+
+gridfire::engine::Engine
+
+
+
+
+
+Node4->Node3
+
+
+
+
+
+
+
+
+Node5
+
+
+gridfire::engine::Engine
+View< DynamicEngine >
+
+
+
+
+
+Node5->Node2
+
+
+
+
+
+
+
+
+Node6->Node2
+
+
+
+
+
+ m_baseEngine
+
+
+
+Node34
+
+
+gridfire::engine::GraphEngine
+::AtomicReverseRate
+
+
+
+
+
+Node6->Node34
+
+
+
+
+
+ m_engine
+
+
+
+Node7
+
+
+std::unordered_map
+< JacobianMatrixState,
+ std::string >
+
+
+
+
+
+Node7->Node6
+
+
+
+
+
+ m_jacobianMatrixStateNameMap
+
+
+
+Node8
+
+
+std::string
+
+
+
+
+
+Node8->Node7
+
+
+
+
+
+ elements
+
+
+
+Node17
+
+
+gridfire::reaction
+::ReactionSet
+
+
+
+
+
+Node8->Node17
+
+
+
+
+
+ m_id
+
+
+
+Node21
+
+
+std::unordered_map
+< std::string, size_t >
+
+
+
+
+
+Node8->Node21
+
+
+
+
+
+ keys
+
+
+
+Node9
+
+
+std::basic_string<
+ Char >
+
+
+
+
+
+Node9->Node8
+
+
+
+
+
+
+
+
+Node10
+
+
+gridfire::engine::GraphEngine
+::constants
+
+
+
+
+
+Node10->Node6
+
+
+
+
+
+ m_constants
+
+
+
+Node11
+
+
+gridfire::rates::weak
+::WeakRateInterpolator
+
+
+
+
+
+Node11->Node6
+
+
+
+
+
+ m_weakRateInterpolator
+
+
+
+Node12
+
+
+std::unordered_map
+< uint32_t, gridfire
+::rates::weak::IsotopeGrid >
+
+
+
+
+
+Node12->Node11
+
+
+
+
+
+ m_rate_table
+
+
+
+Node13
+
+
+gridfire::rates::weak
+::IsotopeGrid
+
+
+
+
+
+Node13->Node12
+
+
+
+
+
+ elements
+
+
+
+Node14
+
+
+std::vector< double >
+
+
+
+
+
+Node14->Node13
+
+
+
+
+
+ rhoYe_axis
+t9_axis
+
+
+
+Node15
+
+
+std::vector< gridfire
+::rates::weak::WeakRatePayload >
+
+
+
+
+
+Node15->Node13
+
+
+
+
+
+ data
+
+
+
+Node16
+
+
+gridfire::rates::weak
+::WeakRatePayload
+
+
+
+
+
+Node16->Node15
+
+
+
+
+
+ elements
+
+
+
+Node17->Node2
+
+
+
+
+
+ m_activeReactions
+
+
+
+Node17->Node6
+
+
+
+
+
+ m_reactions
+
+
+
+Node18
+
+
+std::vector< std::unique
+_ptr< gridfire::reaction
+::Reaction > >
+
+
+
+
+
+Node18->Node17
+
+
+
+
+
+ m_reactions
+
+
+
+Node19
+
+
+std::unique_ptr< gridfire
+::reaction::Reaction >
+
+
+
+
+
+Node19->Node18
+
+
+
+
+
+ elements
+
+
+
+Node20
+
+
+gridfire::reaction
+::Reaction
+
+
+
+
+
+Node20->Node19
+
+
+
+
+
+ ptr
+
+
+
+Node23
+
+
+std::unordered_map
+< std::string_view,
+ gridfire::reaction::
+Reaction * >
+
+
+
+
+
+Node20->Node23
+
+
+
+
+
+ elements
+
+
+
+Node20->Node34
+
+
+
+
+
+ m_reaction
+
+
+
+Node21->Node17
+
+
+
+
+
+ m_reactionNameMap
+
+
+
+Node22
+
+
+std::unordered_set
+< size_t >
+
+
+
+
+
+Node22->Node17
+
+
+
+
+
+ m_reactionHashes
+
+
+
+Node23->Node6
+
+
+
+
+
+ m_reactionIDMap
+
+
+
+Node24
+
+
+std::string_view
+
+
+
+
+
+Node24->Node23
+
+
+
+
+
+ keys
+
+
+
+Node27
+
+
+std::unordered_map
+< std::string_view,
+ fourdst::atomic::Species >
+
+
+
+
+
+Node24->Node27
+
+
+
+
+
+ keys
+
+
+
+Node25
+
+
+std::basic_string_view
+< Char >
+
+
+
+
+
+Node25->Node24
+
+
+
+
+
+
+
+
+Node26
+
+
+std::vector< fourdst
+::atomic::Species >
+
+
+
+
+
+Node26->Node6
+
+
+
+
+
+ m_networkSpecies
+
+
+
+Node27->Node6
+
+
+
+
+
+ m_networkSpeciesMap
+
+
+
+Node28
+
+
+std::unordered_map
+< fourdst::atomic::Species,
+ size_t >
+
+
+
+
+
+Node28->Node6
+
+
+
+
+
+ m_speciesToIndexMap
+
+
+
+Node29
+
+
+std::unordered_map
+< size_t, fourdst::atomic
+::Species >
+
+
+
+
+
+Node29->Node6
+
+
+
+
+
+ m_indexToSpeciesMap
+
+
+
+Node30
+
+
+std::set< std::pair
+< size_t, size_t > >
+
+
+
+
+
+Node30->Node6
+
+
+
+
+
+ m_full_sparsity_set
+
+
+
+Node31
+
+
+std::pair< size_t,
+ size_t >
+
+
+
+
+
+Node31->Node30
+
+
+
+
+
+ keys
+
+
+
+Node32
+
+
+std::vector< std::unique
+_ptr< gridfire::engine
+::GraphEngine::AtomicReverseRate > >
+
+
+
+
+
+Node32->Node6
+
+
+
+
+
+ m_atomicReverseRates
+
+
+
+Node33
+
+
+std::unique_ptr< gridfire
+::engine::GraphEngine::
+AtomicReverseRate >
+
+
+
+
+
+Node33->Node32
+
+
+
+
+
+ elements
+
+
+
+Node34->Node33
+
+
+
+
+
+ ptr
+
+
+
+Node35
+
+
+CppAD::atomic_base
+< double >
+
+
+
+
+
+Node35->Node34
+
+
+
+
+
+
+
+
+Node36
+
+
+std::unique_ptr< gridfire
+::screening::ScreeningModel >
+
+
+
+
+
+Node36->Node6
+
+
+
+
+
+ m_screeningModel
+
+
+
+Node37
+
+
+gridfire::screening
+::ScreeningModel
+
+
+
+
+
+Node37->Node36
+
+
+
+
+
+ ptr
+
+
+
+Node38
+
+
+std::vector< gridfire
+::engine::GraphEngine
+::PrecomputedReaction >
+
+
+
+
+
+Node38->Node6
+
+
+
+
+
+ m_precomputedReactions
+
+
+
+Node39
+
+
+gridfire::engine::GraphEngine
+::PrecomputedReaction
+
+
+
+
+
+Node39->Node38
+
+
+
+
+
+ elements
+
+
+
+Node40
+
+
+std::vector< size_t >
+
+
+
+
+
+Node40->Node2
+
+
+
+
+
+ m_reactionIndexMap
+m_speciesIndexMap
+
+
+
+Node40->Node39
+
+
+
+
+
+ affected_species_indices
+unique_product_indices
+unique_reactant_indices
+
+
+
+Node41
+
+
+std::vector< int >
+
+
+
+
+
+Node41->Node39
+
+
+
+
+
+ product_powers
+reactant_powers
+stoichiometric_coefficients
+
+
+
+Node42
+
+
+std::unordered_map
+< uint64_t, size_t >
+
+
+
+
+
+Node42->Node6
+
+
+
+
+
+ m_precomputedReactionIndexMap
+
+
+
+Node43
+
+
+std::unique_ptr< gridfire
+::partition::PartitionFunction >
+
+
+
+
+
+Node43->Node6
+
+
+
+
+
+ m_partitionFunction
+
+
+
+Node44
+
+
+gridfire::partition
+::PartitionFunction
+
+
+
+
+
+Node44->Node43
+
+
+
+
+
+ ptr
+
+
+
+Node45
+
+
+std::set< fourdst::
+atomic::Species >
+
+
+
+
+
+Node45->Node2
+
+
+
+
+
+ m_activeSpecies
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_network_priming_engine_view__coll__graph_org.svg b/docs/html/classgridfire_1_1engine_1_1_network_priming_engine_view__coll__graph_org.svg
new file mode 100644
index 00000000..fcba0773
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_network_priming_engine_view__coll__graph_org.svg
@@ -0,0 +1,994 @@
+
+
+
+
+
+
+gridfire::engine::NetworkPrimingEngineView
+
+
+Node1
+
+
+gridfire::engine::Network
+PrimingEngineView
+
+
+
+
+
+Node2
+
+
+gridfire::engine::Defined
+EngineView
+
+
+
+
+
+Node2->Node1
+
+
+
+
+
+
+
+
+Node3
+
+
+gridfire::engine::Dynamic
+Engine
+
+
+
+
+
+Node3->Node2
+
+
+
+
+
+
+
+
+Node6
+
+
+gridfire::engine::GraphEngine
+
+
+
+
+
+Node3->Node6
+
+
+
+
+
+
+
+
+Node4
+
+
+gridfire::engine::Engine
+
+
+
+
+
+Node4->Node3
+
+
+
+
+
+
+
+
+Node5
+
+
+gridfire::engine::Engine
+View< DynamicEngine >
+
+
+
+
+
+Node5->Node2
+
+
+
+
+
+
+
+
+Node6->Node2
+
+
+
+
+
+ m_baseEngine
+
+
+
+Node34
+
+
+gridfire::engine::GraphEngine
+::AtomicReverseRate
+
+
+
+
+
+Node6->Node34
+
+
+
+
+
+ m_engine
+
+
+
+Node7
+
+
+std::unordered_map
+< JacobianMatrixState,
+ std::string >
+
+
+
+
+
+Node7->Node6
+
+
+
+
+
+ m_jacobianMatrixStateNameMap
+
+
+
+Node8
+
+
+std::string
+
+
+
+
+
+Node8->Node7
+
+
+
+
+
+ elements
+
+
+
+Node17
+
+
+gridfire::reaction
+::ReactionSet
+
+
+
+
+
+Node8->Node17
+
+
+
+
+
+ m_id
+
+
+
+Node21
+
+
+std::unordered_map
+< std::string, size_t >
+
+
+
+
+
+Node8->Node21
+
+
+
+
+
+ keys
+
+
+
+Node9
+
+
+std::basic_string<
+ Char >
+
+
+
+
+
+Node9->Node8
+
+
+
+
+
+
+
+
+Node10
+
+
+gridfire::engine::GraphEngine
+::constants
+
+
+
+
+
+Node10->Node6
+
+
+
+
+
+ m_constants
+
+
+
+Node11
+
+
+gridfire::rates::weak
+::WeakRateInterpolator
+
+
+
+
+
+Node11->Node6
+
+
+
+
+
+ m_weakRateInterpolator
+
+
+
+Node12
+
+
+std::unordered_map
+< uint32_t, gridfire
+::rates::weak::IsotopeGrid >
+
+
+
+
+
+Node12->Node11
+
+
+
+
+
+ m_rate_table
+
+
+
+Node13
+
+
+gridfire::rates::weak
+::IsotopeGrid
+
+
+
+
+
+Node13->Node12
+
+
+
+
+
+ elements
+
+
+
+Node14
+
+
+std::vector< double >
+
+
+
+
+
+Node14->Node13
+
+
+
+
+
+ rhoYe_axis
+t9_axis
+
+
+
+Node15
+
+
+std::vector< gridfire
+::rates::weak::WeakRatePayload >
+
+
+
+
+
+Node15->Node13
+
+
+
+
+
+ data
+
+
+
+Node16
+
+
+gridfire::rates::weak
+::WeakRatePayload
+
+
+
+
+
+Node16->Node15
+
+
+
+
+
+ elements
+
+
+
+Node17->Node2
+
+
+
+
+
+ m_activeReactions
+
+
+
+Node17->Node6
+
+
+
+
+
+ m_reactions
+
+
+
+Node18
+
+
+std::vector< std::unique
+_ptr< gridfire::reaction
+::Reaction > >
+
+
+
+
+
+Node18->Node17
+
+
+
+
+
+ m_reactions
+
+
+
+Node19
+
+
+std::unique_ptr< gridfire
+::reaction::Reaction >
+
+
+
+
+
+Node19->Node18
+
+
+
+
+
+ elements
+
+
+
+Node20
+
+
+gridfire::reaction
+::Reaction
+
+
+
+
+
+Node20->Node19
+
+
+
+
+
+ ptr
+
+
+
+Node23
+
+
+std::unordered_map
+< std::string_view,
+ gridfire::reaction::
+Reaction * >
+
+
+
+
+
+Node20->Node23
+
+
+
+
+
+ elements
+
+
+
+Node20->Node34
+
+
+
+
+
+ m_reaction
+
+
+
+Node21->Node17
+
+
+
+
+
+ m_reactionNameMap
+
+
+
+Node22
+
+
+std::unordered_set
+< size_t >
+
+
+
+
+
+Node22->Node17
+
+
+
+
+
+ m_reactionHashes
+
+
+
+Node23->Node6
+
+
+
+
+
+ m_reactionIDMap
+
+
+
+Node24
+
+
+std::string_view
+
+
+
+
+
+Node24->Node23
+
+
+
+
+
+ keys
+
+
+
+Node27
+
+
+std::unordered_map
+< std::string_view,
+ fourdst::atomic::Species >
+
+
+
+
+
+Node24->Node27
+
+
+
+
+
+ keys
+
+
+
+Node25
+
+
+std::basic_string_view
+< Char >
+
+
+
+
+
+Node25->Node24
+
+
+
+
+
+
+
+
+Node26
+
+
+std::vector< fourdst
+::atomic::Species >
+
+
+
+
+
+Node26->Node6
+
+
+
+
+
+ m_networkSpecies
+
+
+
+Node27->Node6
+
+
+
+
+
+ m_networkSpeciesMap
+
+
+
+Node28
+
+
+std::unordered_map
+< fourdst::atomic::Species,
+ size_t >
+
+
+
+
+
+Node28->Node6
+
+
+
+
+
+ m_speciesToIndexMap
+
+
+
+Node29
+
+
+std::unordered_map
+< size_t, fourdst::atomic
+::Species >
+
+
+
+
+
+Node29->Node6
+
+
+
+
+
+ m_indexToSpeciesMap
+
+
+
+Node30
+
+
+std::set< std::pair
+< size_t, size_t > >
+
+
+
+
+
+Node30->Node6
+
+
+
+
+
+ m_full_sparsity_set
+
+
+
+Node31
+
+
+std::pair< size_t,
+ size_t >
+
+
+
+
+
+Node31->Node30
+
+
+
+
+
+ keys
+
+
+
+Node32
+
+
+std::vector< std::unique
+_ptr< gridfire::engine
+::GraphEngine::AtomicReverseRate > >
+
+
+
+
+
+Node32->Node6
+
+
+
+
+
+ m_atomicReverseRates
+
+
+
+Node33
+
+
+std::unique_ptr< gridfire
+::engine::GraphEngine::
+AtomicReverseRate >
+
+
+
+
+
+Node33->Node32
+
+
+
+
+
+ elements
+
+
+
+Node34->Node33
+
+
+
+
+
+ ptr
+
+
+
+Node35
+
+
+CppAD::atomic_base
+< double >
+
+
+
+
+
+Node35->Node34
+
+
+
+
+
+
+
+
+Node36
+
+
+std::unique_ptr< gridfire
+::screening::ScreeningModel >
+
+
+
+
+
+Node36->Node6
+
+
+
+
+
+ m_screeningModel
+
+
+
+Node37
+
+
+gridfire::screening
+::ScreeningModel
+
+
+
+
+
+Node37->Node36
+
+
+
+
+
+ ptr
+
+
+
+Node38
+
+
+std::vector< gridfire
+::engine::GraphEngine
+::PrecomputedReaction >
+
+
+
+
+
+Node38->Node6
+
+
+
+
+
+ m_precomputedReactions
+
+
+
+Node39
+
+
+gridfire::engine::GraphEngine
+::PrecomputedReaction
+
+
+
+
+
+Node39->Node38
+
+
+
+
+
+ elements
+
+
+
+Node40
+
+
+std::vector< size_t >
+
+
+
+
+
+Node40->Node2
+
+
+
+
+
+ m_reactionIndexMap
+m_speciesIndexMap
+
+
+
+Node40->Node39
+
+
+
+
+
+ affected_species_indices
+unique_product_indices
+unique_reactant_indices
+
+
+
+Node41
+
+
+std::vector< int >
+
+
+
+
+
+Node41->Node39
+
+
+
+
+
+ product_powers
+reactant_powers
+stoichiometric_coefficients
+
+
+
+Node42
+
+
+std::unordered_map
+< uint64_t, size_t >
+
+
+
+
+
+Node42->Node6
+
+
+
+
+
+ m_precomputedReactionIndexMap
+
+
+
+Node43
+
+
+std::unique_ptr< gridfire
+::partition::PartitionFunction >
+
+
+
+
+
+Node43->Node6
+
+
+
+
+
+ m_partitionFunction
+
+
+
+Node44
+
+
+gridfire::partition
+::PartitionFunction
+
+
+
+
+
+Node44->Node43
+
+
+
+
+
+ ptr
+
+
+
+Node45
+
+
+std::set< fourdst::
+atomic::Species >
+
+
+
+
+
+Node45->Node2
+
+
+
+
+
+ m_activeSpecies
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_network_priming_engine_view__inherit__graph.map b/docs/html/classgridfire_1_1engine_1_1_network_priming_engine_view__inherit__graph.map
new file mode 100644
index 00000000..5a843fa7
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_network_priming_engine_view__inherit__graph.map
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_network_priming_engine_view__inherit__graph.md5 b/docs/html/classgridfire_1_1engine_1_1_network_priming_engine_view__inherit__graph.md5
new file mode 100644
index 00000000..fa15ef45
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_network_priming_engine_view__inherit__graph.md5
@@ -0,0 +1 @@
+b8e7a4ed3e91d5e422a502721c956250
\ No newline at end of file
diff --git a/docs/html/classgridfire_1_1engine_1_1_network_priming_engine_view__inherit__graph.svg b/docs/html/classgridfire_1_1engine_1_1_network_priming_engine_view__inherit__graph.svg
new file mode 100644
index 00000000..6ba420d0
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_network_priming_engine_view__inherit__graph.svg
@@ -0,0 +1,123 @@
+
+
+
+
+
+
+
+
+
+
+
+
+gridfire::engine::NetworkPrimingEngineView
+
+
+Node1
+
+
+gridfire::engine::Network
+PrimingEngineView
+
+
+
+
+
+Node2
+
+
+gridfire::engine::Defined
+EngineView
+
+
+
+
+
+Node2->Node1
+
+
+
+
+
+
+
+
+Node3
+
+
+gridfire::engine::Dynamic
+Engine
+
+
+
+
+
+Node3->Node2
+
+
+
+
+
+
+
+
+Node4
+
+
+gridfire::engine::Engine
+
+
+
+
+
+Node4->Node3
+
+
+
+
+
+
+
+
+Node5
+
+
+gridfire::engine::Engine
+View< DynamicEngine >
+
+
+
+
+
+Node5->Node2
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_network_priming_engine_view__inherit__graph_org.svg b/docs/html/classgridfire_1_1engine_1_1_network_priming_engine_view__inherit__graph_org.svg
new file mode 100644
index 00000000..8a6cf46b
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_network_priming_engine_view__inherit__graph_org.svg
@@ -0,0 +1,97 @@
+
+
+
+
+
+
+gridfire::engine::NetworkPrimingEngineView
+
+
+Node1
+
+
+gridfire::engine::Network
+PrimingEngineView
+
+
+
+
+
+Node2
+
+
+gridfire::engine::Defined
+EngineView
+
+
+
+
+
+Node2->Node1
+
+
+
+
+
+
+
+
+Node3
+
+
+gridfire::engine::Dynamic
+Engine
+
+
+
+
+
+Node3->Node2
+
+
+
+
+
+
+
+
+Node4
+
+
+gridfire::engine::Engine
+
+
+
+
+
+Node4->Node3
+
+
+
+
+
+
+
+
+Node5
+
+
+gridfire::engine::Engine
+View< DynamicEngine >
+
+
+
+
+
+Node5->Node2
+
+
+
+
+
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_reaction-members.html b/docs/html/classgridfire_1_1engine_1_1_reaction-members.html
new file mode 100644
index 00000000..8415de7b
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_reaction-members.html
@@ -0,0 +1,144 @@
+
+
+
+
+
+
+
+
GridFire: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GridFire v0.7.0-alpha
+
+ General Purpose Nuclear Network
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
This is the complete list of members for gridfire::engine::Reaction , including all inherited members.
+
+ all_species () const=0gridfire::engine::Reaction pure virtual
+ calculate_energy_generation_rate (const double T9, const double rho, const double Ye, double mue, const std::vector< double > &Y, const std::unordered_map< size_t, fourdst::atomic::Species > &index_to_species_map) constgridfire::engine::Reaction inline virtual
+ calculate_energy_generation_rate (const CppAD::AD< double > &T9, const CppAD::AD< double > &rho, const CppAD::AD< double > &Ye, const CppAD::AD< double > &mue, const std::vector< CppAD::AD< double > > &Y, const std::unordered_map< size_t, fourdst::atomic::Species > &index_to_species_map) constgridfire::engine::Reaction inline virtual
+ calculate_log_rate_partial_deriv_wrt_T9 (double T9, double rho, double Ye, double mue, const fourdst::composition::Composition &comp) const=0gridfire::engine::Reaction pure virtual
+ calculate_rate (double T9, double rho, double Ye, double mue, const std::vector< double > &Y, const std::unordered_map< size_t, fourdst::atomic::Species > &index_to_species_map) const=0gridfire::engine::Reaction pure virtual
+ calculate_rate (CppAD::AD< double > T9, CppAD::AD< double > rho, CppAD::AD< double > Ye, CppAD::AD< double > mue, const std::vector< CppAD::AD< double > > &Y, const std::unordered_map< size_t, fourdst::atomic::Species > &index_to_species_map) const=0gridfire::engine::Reaction pure virtual
+ clone () const=0gridfire::engine::Reaction pure virtual
+ contains (const fourdst::atomic::Species &species) const=0gridfire::engine::Reaction pure virtual
+ contains_product (const fourdst::atomic::Species &species) const=0gridfire::engine::Reaction pure virtual
+ contains_reactant (const fourdst::atomic::Species &species) const=0gridfire::engine::Reaction pure virtual
+ countProductOccurrences (const fourdst::atomic::Species &species) const=0gridfire::engine::Reaction pure virtual
+ countReactantOccurrences (const fourdst::atomic::Species &species) const=0gridfire::engine::Reaction pure virtual
+ getRateCoefficients () const=0gridfire::engine::Reaction pure virtual
+ hash (uint64_t seed) const=0gridfire::engine::Reaction pure virtual
+ id () const=0gridfire::engine::Reaction pure virtual
+ is_reverse () const=0gridfire::engine::Reaction pure virtual
+ num_species () const=0gridfire::engine::Reaction pure virtual
+ operator<< (std::ostream &os, const Reaction &r)gridfire::engine::Reaction friend
+ product_species () const=0gridfire::engine::Reaction pure virtual
+ products () const=0gridfire::engine::Reaction pure virtual
+ qValue () const=0gridfire::engine::Reaction pure virtual
+ reactant_species () const=0gridfire::engine::Reaction pure virtual
+ reactants () const=0gridfire::engine::Reaction pure virtual
+ stoichiometry () const=0gridfire::engine::Reaction pure virtual
+ stoichiometry (const fourdst::atomic::Species &species) const=0gridfire::engine::Reaction pure virtual
+ type () const=0gridfire::engine::Reaction pure virtual
+ ~Reaction ()=defaultgridfire::engine::Reaction virtual
+
+
+
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_reaction.html b/docs/html/classgridfire_1_1engine_1_1_reaction.html
new file mode 100644
index 00000000..539448e8
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_reaction.html
@@ -0,0 +1,1180 @@
+
+
+
+
+
+
+
+
GridFire: gridfire::engine::Reaction Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GridFire v0.7.0-alpha
+
+ General Purpose Nuclear Network
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
Represents a single nuclear reaction from a specific data source.
+ More...
+
+
#include <reaction.h>
+
+
+
+
+virtual ~Reaction ()=default
+ Virtual destructor for correct polymorphic cleanup.
+
+virtual double calculate_rate (double T9, double rho, double Ye, double mue, const std::vector< double > &Y, const std::unordered_map< size_t, fourdst::atomic::Species > &index_to_species_map) const=0
+ Compute the temperature- and composition-dependent reaction rate.
+
+virtual CppAD::AD< double > calculate_rate (CppAD::AD< double > T9, CppAD::AD< double > rho, CppAD::AD< double > Ye, CppAD::AD< double > mue, const std::vector< CppAD::AD< double > > &Y, const std::unordered_map< size_t, fourdst::atomic::Species > &index_to_species_map) const=0
+ AD-enabled reaction rate for algorithmic differentiation.
+
+virtual std::string_view id () const=0
+ A stable, unique identifier for this reaction instance.
+
+virtual const std::vector< fourdst::atomic::Species > & reactants () const=0
+ Ordered list of reactant species.
+
+virtual const std::vector< fourdst::atomic::Species > & products () const=0
+ Ordered list of product species.
+
+virtual bool contains (const fourdst::atomic::Species &species) const=0
+ True if the species appears as a reactant or a product.
+
+virtual bool contains_reactant (const fourdst::atomic::Species &species) const=0
+ True if the species appears among the reactants.
+
+virtual bool contains_product (const fourdst::atomic::Species &species) const=0
+ True if the species appears among the products.
+
+virtual bool is_reverse () const=0
+ Whether this object represents a reverse (backward) rate.
+
+virtual std::unordered_set< fourdst::atomic::Species > all_species () const=0
+ Set of all unique species appearing in the reaction.
+
+virtual std::unordered_set< fourdst::atomic::Species > reactant_species () const=0
+ Set of unique reactant species.
+
+virtual std::unordered_set< fourdst::atomic::Species > product_species () const=0
+ Set of unique product species.
+
+virtual size_t countReactantOccurrences (const fourdst::atomic::Species &species) const=0
+
+virtual size_t countProductOccurrences (const fourdst::atomic::Species &species) const=0
+
+virtual size_t num_species () const=0
+ Number of unique species involved in the reaction.
+
+virtual std::unordered_map< fourdst::atomic::Species, int > stoichiometry () const=0
+ Full stoichiometry map for this reaction.
+
+virtual int stoichiometry (const fourdst::atomic::Species &species) const=0
+ Stoichiometric coefficient for a particular species.
+
+virtual uint64_t hash (uint64_t seed) const=0
+ Stable content-based hash for this reaction.
+
+virtual double qValue () const=0
+ Q-value of the reaction (typically MeV), positive if exothermic.
+
+virtual double calculate_energy_generation_rate (const double T9, const double rho, const double Ye, double mue, const std::vector< double > &Y, const std::unordered_map< size_t, fourdst::atomic::Species > &index_to_species_map) const
+ Convenience: energy generation rate from this reaction (double version).
+
+virtual CppAD::AD< double > calculate_energy_generation_rate (const CppAD::AD< double > &T9, const CppAD::AD< double > &rho, const CppAD::AD< double > &Ye, const CppAD::AD< double > &mue, const std::vector< CppAD::AD< double > > &Y, const std::unordered_map< size_t, fourdst::atomic::Species > &index_to_species_map) const
+ Convenience: AD-enabled energy generation rate (AD version).
+
+virtual double calculate_log_rate_partial_deriv_wrt_T9 (double T9, double rho, double Ye, double mue, const fourdst::composition::Composition &comp) const=0
+ Logarithmic partial derivative of the rate with respect to temperature.
+
+virtual ReactionType type () const=0
+ Category of this reaction (e.g., REACLIB, WEAK, LOGICAL_REACLIB).
+
+virtual std::unique_ptr< Reaction > clone () const=0
+ Polymorphic deep copy.
+
+virtual std::optional< std::vector< RateCoefficientSet > > getRateCoefficients () const=0
+
+
+
+
Represents a single nuclear reaction from a specific data source.
+
This class encapsulates all properties of a single nuclear reaction as defined in formats like REACLIB, including reactants, products, Q-value, and rate coefficients from a particular evaluation (source).
+
Example:
+
+
"H_1_H_1_to_H_2" , "p(p,g)d" , 1, {H_1, H_1}, {H_2}, 5.493, "st08" , rate_coeffs
+
);
+
+
Represents a single nuclear reaction from a specific data source.
Definition reaction.h:91
+
virtual double calculate_rate(double T9, double rho, double Ye, double mue, const std::vector< double > &Y, const std::unordered_map< size_t, fourdst::atomic::Species > &index_to_species_map) const =0
Compute the temperature- and composition-dependent reaction rate.
+
+
+
◆ ~Reaction()
+
+
+
+
+
+
+
+
+ virtual gridfire::reaction::Reaction::~Reaction
+ (
+ )
+
+
+
+
+
+virtual default
+
+
+
+
+
Virtual destructor for correct polymorphic cleanup.
+
+
+
+
+
+
◆ all_species()
+
+
+
+
+
+
+
+
+ virtual std::unordered_set< fourdst::atomic::Species > gridfire::reaction::Reaction::all_species
+ (
+ )
+ const
+
+
+
+
+nodiscard pure virtual
+
+
+
+
+
Set of all unique species appearing in the reaction.
+
Returns Unordered set of all reactants and products (no duplicates).
+
+
+
+
+
◆ calculate_energy_generation_rate() [1/2]
+
+
+
+
+
+
+
+
+ virtual CppAD::AD< double > gridfire::reaction::Reaction::calculate_energy_generation_rate
+ (
+ const CppAD::AD< double > & T9 ,
+
+
+
+
+ const CppAD::AD< double > & rho ,
+
+
+
+
+ const CppAD::AD< double > & Ye ,
+
+
+
+
+ const CppAD::AD< double > & mue ,
+
+
+
+
+ const std::vector< CppAD::AD< double > > & Y ,
+
+
+
+
+ const std::unordered_map< size_t, fourdst::atomic::Species > & index_to_species_map ) const
+
+
+
+
+inline nodiscard virtual
+
+
+
+
+
Convenience: AD-enabled energy generation rate (AD version).
+
Default implementation multiplies the AD rate by the reaction Q-value. Electron quantities (Ye, mue) are ignored in this default, so override if they contribute.
+
Parameters
+
+ T9 Temperature in GK as CppAD::AD<double>.
+ rho Mass density as CppAD::AD<double>.
+ Ye Electron fraction as CppAD::AD<double> (ignored by default).
+ mue Electron chemical potential as CppAD::AD<double> (ignored by default).
+ Y Composition vector as CppAD::AD<double> values.
+ index_to_species_map Mapping from state-vector index to Species.
+
+
+
+
Returns Energy generation rate as CppAD::AD<double>.
+
+
+
+
+
◆ calculate_energy_generation_rate() [2/2]
+
+
+
+
+
+
+
+
+ virtual double gridfire::reaction::Reaction::calculate_energy_generation_rate
+ (
+ const double T9 ,
+
+
+
+
+ const double rho ,
+
+
+
+
+ const double Ye ,
+
+
+
+
+ double mue ,
+
+
+
+
+ const std::vector< double > & Y ,
+
+
+
+
+ const std::unordered_map< size_t, fourdst::atomic::Species > & index_to_species_map ) const
+
+
+
+
+inline nodiscard virtual
+
+
+
+
+
Convenience: energy generation rate from this reaction (double version).
+
Default implementation multiplies the scalar rate by the reaction Q-value. Electron quantities (Ye, mue) are ignored in this default, so override in derived classes if needed. Sign convention follows qValue() .
+
Parameters
+
+ T9 Temperature in GK (10^9 K).
+ rho Mass density (g cm^-3).
+ Ye Electron fraction (ignored by default implementation).
+ mue Electron chemical potential (ignored by default implementation).
+ Y Composition vector.
+ index_to_species_map Mapping from state-vector index to Species.
+
+
+
+
Returns Energy generation rate, typically rate * qValue() .
+
+
+
+
+
◆ calculate_log_rate_partial_deriv_wrt_T9()
+
+
+
+
+
+
+
+
+ virtual double gridfire::reaction::Reaction::calculate_log_rate_partial_deriv_wrt_T9
+ (
+ double T9 ,
+
+
+
+
+ double rho ,
+
+
+
+
+ double Ye ,
+
+
+
+
+ double mue ,
+
+
+
+
+ const fourdst::composition::Composition & comp ) const
+
+
+
+
+nodiscard pure virtual
+
+
+
+
+
Logarithmic partial derivative of the rate with respect to temperature.
+
Implementations return d(ln rate)/d(ln T9) or an equivalent measure (as documented by the concrete class), evaluated at the provided state.
+
Parameters
+
+ T9 Temperature in GK (10^9 K).
+ rho Mass density (g cm^-3).
+ Ye Electron fraction.
+ mue Electron chemical potential.
+ comp Composition object providing composition in a convenient form.
+
+
+
+
Returns The logarithmic temperature derivative of the rate.
+
+
+
+
+
◆ calculate_rate() [1/2]
+
+
+
+
+
+
+
+
+ virtual CppAD::AD< double > gridfire::reaction::Reaction::calculate_rate
+ (
+ CppAD::AD< double > T9 ,
+
+
+
+
+ CppAD::AD< double > rho ,
+
+
+
+
+ CppAD::AD< double > Ye ,
+
+
+
+
+ CppAD::AD< double > mue ,
+
+
+
+
+ const std::vector< CppAD::AD< double > > & Y ,
+
+
+
+
+ const std::unordered_map< size_t, fourdst::atomic::Species > & index_to_species_map ) const
+
+
+
+
+nodiscard pure virtual
+
+
+
+
+
AD-enabled reaction rate for algorithmic differentiation.
+
This overload mirrors calculate_rate(double, ...) but operates on CppAD types to enable derivative calculations w.r.t. its inputs.
+
Parameters
+
+ T9 Temperature in GK as CppAD::AD<double>.
+ rho Mass density as CppAD::AD<double>.
+ Ye Electron fraction as CppAD::AD<double>.
+ mue Electron chemical potential as CppAD::AD<double>.
+ Y Composition vector as CppAD::AD<double> values.
+ index_to_species_map Mapping from state-vector index to Species, used to interpret Y.
+
+
+
+
Returns The reaction rate as a CppAD::AD<double> value.
+
+
+
+
+
◆ calculate_rate() [2/2]
+
+
+
+
+
+
+
+
+ virtual double gridfire::reaction::Reaction::calculate_rate
+ (
+ double T9 ,
+
+
+
+
+ double rho ,
+
+
+
+
+ double Ye ,
+
+
+
+
+ double mue ,
+
+
+
+
+ const std::vector< double > & Y ,
+
+
+
+
+ const std::unordered_map< size_t, fourdst::atomic::Species > & index_to_species_map ) const
+
+
+
+
+nodiscard pure virtual
+
+
+
+
+
Compute the temperature- and composition-dependent reaction rate.
+
This is the primary interface used by the network to obtain the rate of a single reaction at the given thermodynamic state and composition. The exact units and normalization are defined by the concrete implementation (e.g., REACLIB typically provides NA<sigma v> with units depending on the reaction order). Implementations may use density/electron properties for weak processes or screening, and the composition vector for multi-body reactions.
+
Parameters
+
+ T9 Temperature in GK (10^9 K).
+ rho Mass density (g cm^-3). May be unused for some reaction types.
+ Ye Electron fraction. May be unused depending on the reaction type.
+ mue Electron chemical potential. May be unused depending on the reaction type.
+ Y Composition vector (molar abundances or number fractions) indexed consistently with index_to_species_map.
+ index_to_species_map Mapping from state-vector index to Species, used to interpret Y.
+
+
+
+
Returns The reaction rate for the forward direction, with units/normalization defined by the specific model (implementation must document its convention).
+
+
+
+
+
◆ clone()
+
+
+
+
+
+
+
+
+ virtual std::unique_ptr< Reaction > gridfire::reaction::Reaction::clone
+ (
+ )
+ const
+
+
+
+
+nodiscard pure virtual
+
+
+
+
+
Polymorphic deep copy.
+
Returns A std::unique_ptr owning a new Reaction equal to this one.
+
+
+
+
+
◆ contains()
+
+
+
+
+
+
+
+
+ virtual bool gridfire::reaction::Reaction::contains
+ (
+ const fourdst::atomic::Species & species )
+ const
+
+
+
+
+nodiscard pure virtual
+
+
+
+
+
True if the species appears as a reactant or a product.
+
Parameters
+
+ species Species to test.
+
+
+
+
Returns Whether the species participates in the reaction (either side).
+
+
+
+
+
◆ contains_product()
+
+
+
+
+
+
+
+
+ virtual bool gridfire::reaction::Reaction::contains_product
+ (
+ const fourdst::atomic::Species & species )
+ const
+
+
+
+
+nodiscard pure virtual
+
+
+
+
+
True if the species appears among the products.
+
Parameters
+
+ species Species to test.
+
+
+
+
Returns Whether the species is a product.
+
+
+
+
+
◆ contains_reactant()
+
+
+
+
+
+
+
+
+ virtual bool gridfire::reaction::Reaction::contains_reactant
+ (
+ const fourdst::atomic::Species & species )
+ const
+
+
+
+
+nodiscard pure virtual
+
+
+
+
+
True if the species appears among the reactants.
+
Parameters
+
+ species Species to test.
+
+
+
+
Returns Whether the species is a reactant.
+
+
+
+
+
◆ countProductOccurrences()
+
+
+
+
+
+
+
+
+ virtual size_t gridfire::reaction::Reaction::countProductOccurrences
+ (
+ const fourdst::atomic::Species & species )
+ const
+
+
+
+
+nodiscard pure virtual
+
+
+
+
+
+
+
+
◆ countReactantOccurrences()
+
+
+
+
+
+
+
+
+ virtual size_t gridfire::reaction::Reaction::countReactantOccurrences
+ (
+ const fourdst::atomic::Species & species )
+ const
+
+
+
+
+nodiscard pure virtual
+
+
+
+
+
+
+
+
◆ getRateCoefficients()
+
+
+
+
+
+
+
+
+ virtual std::optional< std::vector< RateCoefficientSet > > gridfire::reaction::Reaction::getRateCoefficients
+ (
+ )
+ const
+
+
+
+
+nodiscard pure virtual
+
+
+
+
+
+
+
+
◆ hash()
+
+
+
+
+
+
+
+
+ virtual uint64_t gridfire::reaction::Reaction::hash
+ (
+ uint64_t seed )
+ const
+
+
+
+
+nodiscard pure virtual
+
+
+
+
+
Stable content-based hash for this reaction.
+
Intended for use in caches, sets, and order-independent hashing of Reaction collections. Implementations should produce the same value across processes for the same content and seed.
Parameters
+
+ seed Seed value to initialize/mix into the hash.
+
+
+
+
Returns 64-bit hash value.
+
+
+
+
+
◆ id()
+
+
+
+
+
+
+
+
+ virtual std::string_view gridfire::reaction::Reaction::id
+ (
+ )
+ const
+
+
+
+
+nodiscard pure virtual
+
+
+
+
+
A stable, unique identifier for this reaction instance.
+
Returns String view of the reaction ID (stable across runs and suitable for lookups).
+
+
+
+
+
◆ is_reverse()
+
+
+
+
+
+
+
+
+ virtual bool gridfire::reaction::Reaction::is_reverse
+ (
+ )
+ const
+
+
+
+
+nodiscard pure virtual
+
+
+
+
+
Whether this object represents a reverse (backward) rate.
+
Implementations may pair forward/reverse rates for detailed balance. This flag indicates that the parameterization corresponds to the reverse direction.
Returns True for a reverse rate, false for a forward rate.
+
+
+
+
+
◆ num_species()
+
+
+
+
+
+
+
+
+ virtual size_t gridfire::reaction::Reaction::num_species
+ (
+ )
+ const
+
+
+
+
+nodiscard pure virtual
+
+
+
+
+
Number of unique species involved in the reaction.
+
Returns Count of distinct species across reactants and products.
+
+
+
+
+
◆ product_species()
+
+
+
+
+
+
+
+
+ virtual std::unordered_set< fourdst::atomic::Species > gridfire::reaction::Reaction::product_species
+ (
+ )
+ const
+
+
+
+
+nodiscard pure virtual
+
+
+
+
+
Set of unique product species.
+
Returns Unordered set of product species (no duplicates).
+
+
+
+
+
◆ products()
+
+
+
+
+
+
+
+
+ virtual const std::vector< fourdst::atomic::Species > & gridfire::reaction::Reaction::products
+ (
+ )
+ const
+
+
+
+
+nodiscard pure virtual
+
+
+
+
+
Ordered list of product species.
+
Multiplicity is represented by duplicates if applicable.
Returns Const reference to the vector of products.
+
+
+
+
+
◆ qValue()
+
+
+
+
+
+
+
+
+ virtual double gridfire::reaction::Reaction::qValue
+ (
+ )
+ const
+
+
+
+
+nodiscard pure virtual
+
+
+
+
+
Q-value of the reaction (typically MeV), positive if exothermic.
+
Returns Reaction Q-value used for energy accounting.
+
+
+
+
+
◆ reactant_species()
+
+
+
+
+
+
+
+
+ virtual std::unordered_set< fourdst::atomic::Species > gridfire::reaction::Reaction::reactant_species
+ (
+ )
+ const
+
+
+
+
+nodiscard pure virtual
+
+
+
+
+
Set of unique reactant species.
+
Returns Unordered set of reactant species (no duplicates).
+
+
+
+
+
◆ reactants()
+
+
+
+
+
+
+
+
+ virtual const std::vector< fourdst::atomic::Species > & gridfire::reaction::Reaction::reactants
+ (
+ )
+ const
+
+
+
+
+nodiscard pure virtual
+
+
+
+
+
Ordered list of reactant species.
+
Multiplicity is represented by duplicates, e.g., (p, p) would list H1 twice.
Returns Const reference to the vector of reactants.
+
+
+
+
+
◆ stoichiometry() [1/2]
+
+
+
+
+
+
+
+
+ virtual std::unordered_map< fourdst::atomic::Species, int > gridfire::reaction::Reaction::stoichiometry
+ (
+ )
+ const
+
+
+
+
+nodiscard pure virtual
+
+
+
+
+
Full stoichiometry map for this reaction.
+
Coefficients are negative for reactants and positive for products; multiplicity is reflected in the magnitude (e.g., 2H -> He gives H: -2, He: +1).
Returns Map from Species to integer stoichiometric coefficient.
+
+
+
+
+
◆ stoichiometry() [2/2]
+
+
+
+
+
+
+
+
+ virtual int gridfire::reaction::Reaction::stoichiometry
+ (
+ const fourdst::atomic::Species & species )
+ const
+
+
+
+
+nodiscard pure virtual
+
+
+
+
+
Stoichiometric coefficient for a particular species.
+
Parameters
+
+ species Species for which to query the coefficient.
+
+
+
+
Returns Negative for reactants, positive for products, zero if absent.
+
+
+
+
+
◆ type()
+
+
+
+
+
+
+
+
+ virtual ReactionType gridfire::reaction::Reaction::type
+ (
+ )
+ const
+
+
+
+
+nodiscard pure virtual
+
+
+
+
+
Category of this reaction (e.g., REACLIB, WEAK, LOGICAL_REACLIB).
+
Returns Enumerated reaction type for runtime dispatch and filtering.
+
+
+
+
+
+
◆ operator<<
+
+
+
+
+
+
+
+
+ std::ostream & operator<<
+ (
+ std::ostream & os ,
+
+
+
+
+ const Reaction & r )
+
+
+
+
+friend
+
+
+
+
+
+
+
The documentation for this class was generated from the following file:
+
+
+
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_reaction.js b/docs/html/classgridfire_1_1engine_1_1_reaction.js
new file mode 100644
index 00000000..41476206
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_reaction.js
@@ -0,0 +1,30 @@
+var classgridfire_1_1engine_1_1_reaction =
+[
+ [ "~Reaction", "classgridfire_1_1engine_1_1_reaction.html#ab1860df84843be70f97469761e11ab6a", null ],
+ [ "all_species", "classgridfire_1_1engine_1_1_reaction.html#ace0b2bee91702e0ab97b6fc74999d6f0", null ],
+ [ "calculate_energy_generation_rate", "classgridfire_1_1engine_1_1_reaction.html#a4282f85c34d6db1994c07e7a40f66d80", null ],
+ [ "calculate_energy_generation_rate", "classgridfire_1_1engine_1_1_reaction.html#ae66b446c98add7e00a1d960f4e7c60dd", null ],
+ [ "calculate_log_rate_partial_deriv_wrt_T9", "classgridfire_1_1engine_1_1_reaction.html#aec9859c030364e1d4a740197514731db", null ],
+ [ "calculate_rate", "classgridfire_1_1engine_1_1_reaction.html#a8cbc768819bea8497a7b9fa644b8fd65", null ],
+ [ "calculate_rate", "classgridfire_1_1engine_1_1_reaction.html#abb3e2b9c5404f45fc5656eeac1d06a6c", null ],
+ [ "clone", "classgridfire_1_1engine_1_1_reaction.html#a588a8c19970463d97f5aa333fcd312dc", null ],
+ [ "contains", "classgridfire_1_1engine_1_1_reaction.html#adaeb5d72faf7d55d4e26f6e1fcba21c1", null ],
+ [ "contains_product", "classgridfire_1_1engine_1_1_reaction.html#a5a17ca61d069749960e5a83e58c0b8a1", null ],
+ [ "contains_reactant", "classgridfire_1_1engine_1_1_reaction.html#afca3afba45a3db79980c8fe18c87c750", null ],
+ [ "countProductOccurrences", "classgridfire_1_1engine_1_1_reaction.html#aa786369c0aff9b7c8fffbfb632cdc61f", null ],
+ [ "countReactantOccurrences", "classgridfire_1_1engine_1_1_reaction.html#a3e1e3dbac9fc81799b5284a57e9bd3ec", null ],
+ [ "getRateCoefficients", "classgridfire_1_1engine_1_1_reaction.html#a5580701c64abce60b0253e79ffac3d88", null ],
+ [ "hash", "classgridfire_1_1engine_1_1_reaction.html#a41b1c16f499c9255251ed43725cf698c", null ],
+ [ "id", "classgridfire_1_1engine_1_1_reaction.html#a768329002a4f0b8604b1aa51d56b5d1b", null ],
+ [ "is_reverse", "classgridfire_1_1engine_1_1_reaction.html#a640b0bdbed9ed7c2a2e9880ddbcafc1d", null ],
+ [ "num_species", "classgridfire_1_1engine_1_1_reaction.html#a348aae35a6c82194ef5387278419e0e6", null ],
+ [ "product_species", "classgridfire_1_1engine_1_1_reaction.html#ac2306d841bad605b7c9ae104397cec0f", null ],
+ [ "products", "classgridfire_1_1engine_1_1_reaction.html#ac2918935929030e8d218dc8d107a78f9", null ],
+ [ "qValue", "classgridfire_1_1engine_1_1_reaction.html#a11c714febaf818f1d4d6c19a064d707e", null ],
+ [ "reactant_species", "classgridfire_1_1engine_1_1_reaction.html#a4be8440aa7e79eab1d44b5d83bcdab79", null ],
+ [ "reactants", "classgridfire_1_1engine_1_1_reaction.html#a0c533797f18c2fe4945f1afb3fb06d5d", null ],
+ [ "stoichiometry", "classgridfire_1_1engine_1_1_reaction.html#a55b7f61d9bde45f2ca485c1b07a05950", null ],
+ [ "stoichiometry", "classgridfire_1_1engine_1_1_reaction.html#af0a893603aa88f7d7d205b9b969af487", null ],
+ [ "type", "classgridfire_1_1engine_1_1_reaction.html#a186856dc2ce85d8cc4db43c7164b6afa", null ],
+ [ "operator<<", "classgridfire_1_1engine_1_1_reaction.html#a2b05ab608187216fc751bd2e42e8b7d8", null ]
+];
\ No newline at end of file
diff --git a/docs/html/classgridfire_1_1engine_1_1_reaction__inherit__graph.map b/docs/html/classgridfire_1_1engine_1_1_reaction__inherit__graph.map
new file mode 100644
index 00000000..bd06d3d2
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_reaction__inherit__graph.map
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_reaction__inherit__graph.md5 b/docs/html/classgridfire_1_1engine_1_1_reaction__inherit__graph.md5
new file mode 100644
index 00000000..1b5d1c73
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_reaction__inherit__graph.md5
@@ -0,0 +1 @@
+6b304c722adcb568763139f3d8d16e31
\ No newline at end of file
diff --git a/docs/html/classgridfire_1_1engine_1_1_reaction__inherit__graph.svg b/docs/html/classgridfire_1_1engine_1_1_reaction__inherit__graph.svg
new file mode 100644
index 00000000..8d9fa84d
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_reaction__inherit__graph.svg
@@ -0,0 +1,104 @@
+
+
+
+
+
+
+
+
+
+
+
+
+gridfire::engine::Reaction
+
+
+Node1
+
+
+gridfire::engine::Reaction
+
+
+
+
+
+Node2
+
+
+gridfire::rates::weak
+::WeakReaction
+
+
+
+
+
+Node1->Node2
+
+
+
+
+
+
+
+
+Node3
+
+
+gridfire::reaction
+::ReaclibReaction
+
+
+
+
+
+Node1->Node3
+
+
+
+
+
+
+
+
+Node4
+
+
+gridfire::reaction
+::LogicalReaclibReaction
+
+
+
+
+
+Node3->Node4
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_reaction__inherit__graph_org.svg b/docs/html/classgridfire_1_1engine_1_1_reaction__inherit__graph_org.svg
new file mode 100644
index 00000000..1db115b6
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_reaction__inherit__graph_org.svg
@@ -0,0 +1,78 @@
+
+
+
+
+
+
+gridfire::engine::Reaction
+
+
+Node1
+
+
+gridfire::engine::Reaction
+
+
+
+
+
+Node2
+
+
+gridfire::rates::weak
+::WeakReaction
+
+
+
+
+
+Node1->Node2
+
+
+
+
+
+
+
+
+Node3
+
+
+gridfire::reaction
+::ReaclibReaction
+
+
+
+
+
+Node1->Node3
+
+
+
+
+
+
+
+
+Node4
+
+
+gridfire::reaction
+::LogicalReaclibReaction
+
+
+
+
+
+Node3->Node4
+
+
+
+
+
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_reaction_set-members.html b/docs/html/classgridfire_1_1engine_1_1_reaction_set-members.html
new file mode 100644
index 00000000..47aaa757
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_reaction_set-members.html
@@ -0,0 +1,151 @@
+
+
+
+
+
+
+
+
GridFire: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GridFire v0.7.0-alpha
+
+ General Purpose Nuclear Network
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
This is the complete list of members for gridfire::engine::ReactionSet , including all inherited members.
+
+
+
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_reaction_set.html b/docs/html/classgridfire_1_1engine_1_1_reaction_set.html
new file mode 100644
index 00000000..efb3a1cf
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_reaction_set.html
@@ -0,0 +1,1152 @@
+
+
+
+
+
+
+
+
GridFire: gridfire::engine::ReactionSet Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GridFire v0.7.0-alpha
+
+ General Purpose Nuclear Network
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
#include <reaction.h>
+
+
+
+
+ ReactionSet (std::vector< std::unique_ptr< Reaction > > &&reactions)
+ Constructs a ReactionSet from a vector of reactions.
+
+ ReactionSet (const std::vector< Reaction * > &reactions)
+
+ ReactionSet ()
+
+ ReactionSet (const ReactionSet &other)
+ Copy constructor.
+
+ReactionSet & operator= (const ReactionSet &other)
+ Copy assignment operator.
+
+void add_reaction (const Reaction &reaction)
+ Adds a reaction to the set.
+
+void add_reaction (std::unique_ptr< Reaction > &&reaction)
+
+void extend (const ReactionSet &other)
+
+std::optional< std::unique_ptr< Reaction > > get (const std::string_view &id) const
+
+void remove_reaction (const Reaction &reaction)
+ Removes a reaction from the set.
+
+bool contains (const std::string_view &id) const
+ Checks if the set contains a reaction with the given ID.
+
+bool contains (const Reaction &reaction) const
+ Checks if the set contains the given reaction.
+
+size_t size () const
+ Gets the number of reactions in the set.
+
+bool empty () const
+
+void clear ()
+ Removes all reactions from the set.
+
+bool contains_species (const fourdst::atomic::Species &species) const
+ Checks if any reaction in the set involves the given species.
+
+bool contains_reactant (const fourdst::atomic::Species &species) const
+ Checks if any reaction in the set contains the given species as a reactant.
+
+bool contains_product (const fourdst::atomic::Species &species) const
+ Checks if any reaction in the set contains the given species as a product.
+
+const Reaction & operator[] (size_t index) const
+ Accesses a reaction by its index.
+
+const Reaction & operator[] (const std::string_view &id) const
+ Accesses a reaction by its ID.
+
+bool operator== (const ReactionSet &other) const
+ Compares this set with another for equality.
+
+bool operator!= (const ReactionSet &other) const
+ Compares this set with another for inequality.
+
+uint64_t hash (uint64_t seed) const
+ Computes a hash for the entire set.
+
+std::unordered_set< fourdst::atomic::Species > getReactionSetSpecies () const
+
+
+Provides iterators to loop over the reactions in the set.
+
+auto begin ()
+
+auto begin () const
+
+auto end ()
+
+auto end () const
+
+
+
+
+
◆ ReactionSet() [1/4]
+
+
+
+
+
+
+
+
+ gridfire::reaction::ReactionSet::ReactionSet
+ (
+ std::vector< std::unique_ptr< Reaction > > && reactions )
+
+
+
+
+
+explicit
+
+
+
+
+
Constructs a ReactionSet from a vector of reactions.
+
Parameters
+
+ reactions The initial vector of Reaction objects.
+
+
+
+
+
+
+
+
◆ ReactionSet() [2/4]
+
+
+
+
+
+
+
+
+ gridfire::reaction::ReactionSet::ReactionSet
+ (
+ const std::vector< Reaction * > & reactions )
+
+
+
+
+
+explicit
+
+
+
+
+
+
+
+
◆ ReactionSet() [3/4]
+
+
+
+
+
+
+
+
+ gridfire::reaction::ReactionSet::ReactionSet
+ (
+ )
+
+
+
+
+
+default
+
+
+
+
+
+
+
+
◆ ReactionSet() [4/4]
+
+
+
+
+
+ gridfire::reaction::ReactionSet::ReactionSet
+ (
+ const ReactionSet & other )
+
+
+
+
+
+
Copy constructor.
+
Parameters
+
+
+
+
+
+
+
+
+
◆ add_reaction() [1/2]
+
+
+
+
+
+ void gridfire::reaction::ReactionSet::add_reaction
+ (
+ const Reaction & reaction )
+
+
+
+
+
+
Adds a reaction to the set.
+
Parameters
+
+
+
+
+
+
+
+
◆ add_reaction() [2/2]
+
+
+
+
+
+ void gridfire::reaction::ReactionSet::add_reaction
+ (
+ std::unique_ptr< Reaction > && reaction )
+
+
+
+
+
+
+
+
+
◆ begin() [1/2]
+
+
+
+
+
+
+
+
+ auto gridfire::reaction::ReactionSet::begin
+ (
+ )
+
+
+
+
+
+inline
+
+
+
+
+
+
+
+
◆ begin() [2/2]
+
+
+
+
+
+
+
+
+ auto gridfire::reaction::ReactionSet::begin
+ (
+ )
+ const
+
+
+
+
+inline nodiscard
+
+
+
+
+
+
+
+
◆ clear()
+
+
+
+
+
+ void gridfire::reaction::ReactionSet::clear
+ (
+ )
+
+
+
+
+
+
Removes all reactions from the set.
+
+
+
+
+
◆ contains() [1/2]
+
+
+
+
+
+
+
+
+ bool gridfire::reaction::ReactionSet::contains
+ (
+ const Reaction & reaction )
+ const
+
+
+
+
+nodiscard
+
+
+
+
+
Checks if the set contains the given reaction.
+
Parameters
+
+
+
+
Returns True if the reaction is in the set, false otherwise.
+
+
+
+
+
◆ contains() [2/2]
+
+
+
+
+
+
+
+
+ bool gridfire::reaction::ReactionSet::contains
+ (
+ const std::string_view & id )
+ const
+
+
+
+
+nodiscard
+
+
+
+
+
Checks if the set contains a reaction with the given ID.
+
Parameters
+
+ id The ID of the reaction to find.
+
+
+
+
Returns True if the reaction is in the set, false otherwise.
+
+
+
+
+
◆ contains_product()
+
+
+
+
+
+
+
+
+ bool gridfire::reaction::ReactionSet::contains_product
+ (
+ const fourdst::atomic::Species & species )
+ const
+
+
+
+
+nodiscard
+
+
+
+
+
Checks if any reaction in the set contains the given species as a product.
+
Parameters
+
+ species The species to check for.
+
+
+
+
Returns True if the species is a product in any reaction.
+
+
+
+
+
◆ contains_reactant()
+
+
+
+
+
+
+
+
+ bool gridfire::reaction::ReactionSet::contains_reactant
+ (
+ const fourdst::atomic::Species & species )
+ const
+
+
+
+
+nodiscard
+
+
+
+
+
Checks if any reaction in the set contains the given species as a reactant.
+
Parameters
+
+ species The species to check for.
+
+
+
+
Returns True if the species is a reactant in any reaction.
+
+
+
+
+
◆ contains_species()
+
+
+
+
+
+
+
+
+ bool gridfire::reaction::ReactionSet::contains_species
+ (
+ const fourdst::atomic::Species & species )
+ const
+
+
+
+
+nodiscard
+
+
+
+
+
Checks if any reaction in the set involves the given species.
+
Parameters
+
+ species The species to check for.
+
+
+
+
Returns True if the species is involved in any reaction.
+
+
+
+
+
◆ empty()
+
+
+
+
+
+
+
+
+ bool gridfire::reaction::ReactionSet::empty
+ (
+ )
+ const
+
+
+
+
+inline nodiscard
+
+
+
+
+
+
+
+
◆ end() [1/2]
+
+
+
+
+
+
+
+
+ auto gridfire::reaction::ReactionSet::end
+ (
+ )
+
+
+
+
+
+inline
+
+
+
+
+
+
+
+
◆ end() [2/2]
+
+
+
+
+
+
+
+
+ auto gridfire::reaction::ReactionSet::end
+ (
+ )
+ const
+
+
+
+
+inline nodiscard
+
+
+
+
+
+
+
+
◆ extend()
+
+
+
+
+
+ void gridfire::reaction::ReactionSet::extend
+ (
+ const ReactionSet & other )
+
+
+
+
+
+
+
+
+
◆ get()
+
+
+
+
+
+
+
+
+ std::optional< std::unique_ptr< Reaction > > gridfire::reaction::ReactionSet::get
+ (
+ const std::string_view & id )
+ const
+
+
+
+
+nodiscard
+
+
+
+
+
+
+
+
◆ getReactionSetSpecies()
+
+
+
+
+
+
+
+
+ std::unordered_set< Species > gridfire::reaction::ReactionSet::getReactionSetSpecies
+ (
+ )
+ const
+
+
+
+
+nodiscard
+
+
+
+
+
+
+
+
◆ hash()
+
+
+
+
+
+
+
+
+ uint64_t gridfire::reaction::ReactionSet::hash
+ (
+ uint64_t seed )
+ const
+
+
+
+
+nodiscard
+
+
+
+
+
Computes a hash for the entire set.
+
Parameters
+
+ seed The seed for the hash function.
+
+
+
+
Returns A 64-bit hash value.
+
The algorithm computes the hash of each individual reaction, sorts the hashes, and then computes a final hash over the sorted list of hashes. This ensures the hash is order-independent.
+
+
+
+
+
◆ operator!=()
+
+
+
+
+
+ bool gridfire::reaction::ReactionSet::operator!=
+ (
+ const ReactionSet & other )
+ const
+
+
+
+
+
Compares this set with another for inequality.
+
Parameters
+
+
+
+
Returns True if the sets are not equal.
+
+
+
+
+
◆ operator=()
+
+
+
+
+
Copy assignment operator.
+
Parameters
+
+
+
+
Returns A reference to this ReactionSet .
+
+
+
+
+
◆ operator==()
+
+
+
+
+
+ bool gridfire::reaction::ReactionSet::operator==
+ (
+ const ReactionSet & other )
+ const
+
+
+
+
+
Compares this set with another for equality.
+
Parameters
+
+
+
+
Returns True if the sets are equal (same size and hash).
+
+
+
+
+
◆ operator[]() [1/2]
+
+
+
+
+
+
+
+
+ const Reaction & gridfire::reaction::ReactionSet::operator[]
+ (
+ const std::string_view & id )
+ const
+
+
+
+
+nodiscard
+
+
+
+
+
Accesses a reaction by its ID.
+
Parameters
+
+ id The ID of the reaction to access.
+
+
+
+
Returns A const reference to the Reaction .
+
Exceptions
+
+ std::out_of_range if no reaction with the given ID exists.
+
+
+
+
+
+
+
+
◆ operator[]() [2/2]
+
+
+
+
+
+
+
+
+ const Reaction & gridfire::reaction::ReactionSet::operator[]
+ (
+ size_t index )
+ const
+
+
+
+
+nodiscard
+
+
+
+
+
Accesses a reaction by its index.
+
Parameters
+
+ index The index of the reaction to access.
+
+
+
+
Returns A const reference to the Reaction .
+
Exceptions
+
+ std::out_of_range if the index is out of bounds.
+
+
+
+
+
+
+
+
◆ remove_reaction()
+
+
+
+
+
+ void gridfire::reaction::ReactionSet::remove_reaction
+ (
+ const Reaction & reaction )
+
+
+
+
+
+
Removes a reaction from the set.
+
Parameters
+
+
+
+
+
+
+
+
◆ size()
+
+
+
+
+
+
+
+
+ size_t gridfire::reaction::ReactionSet::size
+ (
+ )
+ const
+
+
+
+
+inline nodiscard
+
+
+
+
+
Gets the number of reactions in the set.
+
Returns The size of the set.
+
+
+
+
+
+
◆ operator<<
+
+
+
+
+
+
+
+
+ std::ostream & operator<<
+ (
+ std::ostream & os ,
+
+
+
+
+ const ReactionSet & rs )
+
+
+
+
+friend
+
+
+
+
+
+
+
+
+
◆ m_id
+
+
+
+
+
+
+
+
+ std::string gridfire::reaction::ReactionSet::m_id
+
+
+
+
+private
+
+
+
+
+
+
+
+
◆ m_logger
+
+
+
+
+
+
+
+
+ quill::Logger* gridfire::reaction::ReactionSet::m_logger = fourdst::logging::LogManager::getInstance().getLogger("log")
+
+
+
+
+private
+
+
+
+
+
+
+
+
◆ m_reactionHashes
+
+
+
+
+
+
+
+
+ std::unordered_set<size_t> gridfire::reaction::ReactionSet::m_reactionHashes
+
+
+
+
+private
+
+
+
+
+
+
+
+
◆ m_reactionNameMap
+
+
+
+
+
+
+
+
+ std::unordered_map<std::string, size_t> gridfire::reaction::ReactionSet::m_reactionNameMap
+
+
+
+
+private
+
+
+
+
+
Maps reaction IDs to Reaction objects for quick lookup.
+
+
+
+
+
◆ m_reactions
+
+
+
+
+
+
+
+
+ std::vector<std::unique_ptr<Reaction > > gridfire::reaction::ReactionSet::m_reactions
+
+
+
+
+private
+
+
+
+
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_reaction_set.js b/docs/html/classgridfire_1_1engine_1_1_reaction_set.js
new file mode 100644
index 00000000..90c401d1
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_reaction_set.js
@@ -0,0 +1,37 @@
+var classgridfire_1_1engine_1_1_reaction_set =
+[
+ [ "ReactionSet", "classgridfire_1_1engine_1_1_reaction_set.html#a9a63306b92e23e3651c955ab614084de", null ],
+ [ "ReactionSet", "classgridfire_1_1engine_1_1_reaction_set.html#a789dee5d93810b85062e59508fe0adea", null ],
+ [ "ReactionSet", "classgridfire_1_1engine_1_1_reaction_set.html#ab9edff40316b42ce41b2f895962c1041", null ],
+ [ "ReactionSet", "classgridfire_1_1engine_1_1_reaction_set.html#acfe2341ae1f016ad82098b6f5a1efc45", null ],
+ [ "add_reaction", "classgridfire_1_1engine_1_1_reaction_set.html#ad9dbc77e93467c95ebda908b53e9a9d1", null ],
+ [ "add_reaction", "classgridfire_1_1engine_1_1_reaction_set.html#ad7e95562ea0860bf492b447341f41fb5", null ],
+ [ "begin", "classgridfire_1_1engine_1_1_reaction_set.html#a228f2a00f46a6ee01be887490a722613", null ],
+ [ "begin", "classgridfire_1_1engine_1_1_reaction_set.html#adb73fe9ff0178359409e2bea46a620c2", null ],
+ [ "clear", "classgridfire_1_1engine_1_1_reaction_set.html#aa8e0d65aafc6e0320690b4906e1bf300", null ],
+ [ "contains", "classgridfire_1_1engine_1_1_reaction_set.html#a2f6b165c86634a68f35032c2267255f8", null ],
+ [ "contains", "classgridfire_1_1engine_1_1_reaction_set.html#ae5f8078e77a700a8356487fbd69ba387", null ],
+ [ "contains_product", "classgridfire_1_1engine_1_1_reaction_set.html#a4bdf50219d686a6cbc0b3cc5365dc18e", null ],
+ [ "contains_reactant", "classgridfire_1_1engine_1_1_reaction_set.html#a256998eddf292f744d51cdc3e178d4c2", null ],
+ [ "contains_species", "classgridfire_1_1engine_1_1_reaction_set.html#a5b872a8519740a6d06cfaed03784826a", null ],
+ [ "empty", "classgridfire_1_1engine_1_1_reaction_set.html#a7cfce57192993e71c8437a64030caa2d", null ],
+ [ "end", "classgridfire_1_1engine_1_1_reaction_set.html#abae9fbc4b4306479a6cd3173ac628987", null ],
+ [ "end", "classgridfire_1_1engine_1_1_reaction_set.html#a436f9c4b8f8a4e115b19728d57d8e105", null ],
+ [ "extend", "classgridfire_1_1engine_1_1_reaction_set.html#a6a4836776f5dd00158d2336e5bcc3222", null ],
+ [ "get", "classgridfire_1_1engine_1_1_reaction_set.html#a85314ee0dde7e12915f63237086b5eb6", null ],
+ [ "getReactionSetSpecies", "classgridfire_1_1engine_1_1_reaction_set.html#a133ad8cca6a75d31ef8efe67801aef1b", null ],
+ [ "hash", "classgridfire_1_1engine_1_1_reaction_set.html#ad28907fc08de978461d68cc5b77a3a99", null ],
+ [ "operator!=", "classgridfire_1_1engine_1_1_reaction_set.html#a529189f464aebc6b5ac5c717f70e14b8", null ],
+ [ "operator=", "classgridfire_1_1engine_1_1_reaction_set.html#aac890bf7fdf689890d765ff67489520a", null ],
+ [ "operator==", "classgridfire_1_1engine_1_1_reaction_set.html#a4e572e823a80b905e7d002b612123135", null ],
+ [ "operator[]", "classgridfire_1_1engine_1_1_reaction_set.html#a896b4e492ef596d9174aeda4b59c46cd", null ],
+ [ "operator[]", "classgridfire_1_1engine_1_1_reaction_set.html#a4057f74ae647b691f4f61f150553c52b", null ],
+ [ "remove_reaction", "classgridfire_1_1engine_1_1_reaction_set.html#a1177193b1e46b4e5be630028883ab8dd", null ],
+ [ "size", "classgridfire_1_1engine_1_1_reaction_set.html#af14cf34d7367cb6a6be5191724c2d4cf", null ],
+ [ "operator<<", "classgridfire_1_1engine_1_1_reaction_set.html#a5a5e6ed364794f872c2c819536e24c20", null ],
+ [ "m_id", "classgridfire_1_1engine_1_1_reaction_set.html#af92e3003b2a3606b48ab857cdedc3111", null ],
+ [ "m_logger", "classgridfire_1_1engine_1_1_reaction_set.html#aff5ae284012009164d4b3033577709eb", null ],
+ [ "m_reactionHashes", "classgridfire_1_1engine_1_1_reaction_set.html#a4200939ccf088dd83c3d264df171d568", null ],
+ [ "m_reactionNameMap", "classgridfire_1_1engine_1_1_reaction_set.html#a62965c04447909462bb4f2112661ef44", null ],
+ [ "m_reactions", "classgridfire_1_1engine_1_1_reaction_set.html#abd6feda1b3f65a6177904755581f6efe", null ]
+];
\ No newline at end of file
diff --git a/docs/html/classgridfire_1_1engine_1_1_reaction_set__coll__graph.map b/docs/html/classgridfire_1_1engine_1_1_reaction_set__coll__graph.map
new file mode 100644
index 00000000..69e39d20
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_reaction_set__coll__graph.map
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_reaction_set__coll__graph.md5 b/docs/html/classgridfire_1_1engine_1_1_reaction_set__coll__graph.md5
new file mode 100644
index 00000000..5a233df4
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_reaction_set__coll__graph.md5
@@ -0,0 +1 @@
+4b9833d0a0120ff0b0b35d2e949a4738
\ No newline at end of file
diff --git a/docs/html/classgridfire_1_1engine_1_1_reaction_set__coll__graph.svg b/docs/html/classgridfire_1_1engine_1_1_reaction_set__coll__graph.svg
new file mode 100644
index 00000000..dd4f0303
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_reaction_set__coll__graph.svg
@@ -0,0 +1,253 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+gridfire::engine::ReactionSet
+
+
+Node1
+
+
+gridfire::engine::ReactionSet
+
+
+
+
+
+Node2
+
+
+std::vector< std::unique
+_ptr< gridfire::reaction
+::Reaction > >
+
+
+
+
+
+Node2->Node1
+
+
+
+
+
+ m_reactions
+
+
+
+Node3
+
+
+std::unique_ptr< gridfire
+::reaction::Reaction >
+
+
+
+
+
+Node3->Node2
+
+
+
+
+
+ elements
+
+
+
+Node4
+
+
+gridfire::reaction
+::Reaction
+
+
+
+
+
+Node4->Node3
+
+
+
+
+
+ ptr
+
+
+
+Node5
+
+
+std::string
+
+
+
+
+
+Node5->Node1
+
+
+
+
+
+ m_id
+
+
+
+Node7
+
+
+std::unordered_map
+< std::string, size_t >
+
+
+
+
+
+Node5->Node7
+
+
+
+
+
+ keys
+
+
+
+Node6
+
+
+std::basic_string<
+ Char >
+
+
+
+
+
+Node6->Node5
+
+
+
+
+
+
+
+
+Node7->Node1
+
+
+
+
+
+ m_reactionNameMap
+
+
+
+Node8
+
+
+std::unordered_set
+< size_t >
+
+
+
+
+
+Node8->Node1
+
+
+
+
+
+ m_reactionHashes
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/html/classgridfire_1_1engine_1_1_reaction_set__coll__graph_org.svg b/docs/html/classgridfire_1_1engine_1_1_reaction_set__coll__graph_org.svg
new file mode 100644
index 00000000..1e1c4c8a
--- /dev/null
+++ b/docs/html/classgridfire_1_1engine_1_1_reaction_set__coll__graph_org.svg
@@ -0,0 +1,170 @@
+
+
+
+
+
+
+gridfire::engine::ReactionSet
+
+
+Node1
+
+
+gridfire::engine::ReactionSet
+
+
+
+
+
+Node2
+
+
+std::vector< std::unique
+_ptr< gridfire::reaction
+::Reaction > >
+
+
+
+
+
+Node2->Node1
+
+
+
+
+
+ m_reactions
+
+
+
+Node3
+
+
+std::unique_ptr< gridfire
+::reaction::Reaction >
+
+
+
+
+
+Node3->Node2
+
+
+
+
+
+ elements
+
+
+
+Node4
+
+
+gridfire::reaction
+::Reaction
+
+
+
+
+
+Node4->Node3
+
+
+
+
+
+ ptr
+
+
+
+Node5
+
+
+std::string
+
+
+
+
+
+Node5->Node1
+
+
+
+
+
+ m_id
+
+
+
+Node7
+
+
+std::unordered_map
+< std::string, size_t >
+
+
+
+
+
+Node5->Node7
+
+
+
+
+
+ keys
+
+
+
+Node6
+
+
+std::basic_string<
+ Char >
+
+
+
+
+
+Node6->Node5
+
+
+
+
+
+
+
+
+Node7->Node1
+
+
+
+
+
+ m_reactionNameMap
+
+
+
+Node8
+
+
+std::unordered_set
+< size_t >
+
+
+
+
+
+Node8->Node1
+
+
+
+
+
+ m_reactionHashes
+
+
+
diff --git a/docs/html/classgridfire_1_1exceptions_1_1_bad_collection_error-members.html b/docs/html/classgridfire_1_1exceptions_1_1_bad_collection_error-members.html
index e5b55d84..f0dafd6b 100644
--- a/docs/html/classgridfire_1_1exceptions_1_1_bad_collection_error-members.html
+++ b/docs/html/classgridfire_1_1exceptions_1_1_bad_collection_error-members.html
@@ -105,9 +105,9 @@ $(function(){initNavTree('classgridfire_1_1exceptions_1_1_bad_collection_error.h
This is the complete list of members for gridfire::exceptions::BadCollectionError , including all inherited members.
diff --git a/docs/html/classgridfire_1_1exceptions_1_1_bad_collection_error.html b/docs/html/classgridfire_1_1exceptions_1_1_bad_collection_error.html
index cb1d4695..fcf1d609 100644
--- a/docs/html/classgridfire_1_1exceptions_1_1_bad_collection_error.html
+++ b/docs/html/classgridfire_1_1exceptions_1_1_bad_collection_error.html
@@ -100,113 +100,38 @@ $(function(){initNavTree('classgridfire_1_1exceptions_1_1_bad_collection_error.h