From 7df6f6091254ed9de0f0ff5ba62f985e8e1515a5 Mon Sep 17 00:00:00 2001 From: Emily Boudreaux Date: Tue, 1 Jul 2025 11:40:51 -0400 Subject: [PATCH] refactor(.gitignore): removed html/ from .gitignore --- .gitignore | 1 - docs/html/annotated.html | 72 +- docs/html/annotated_dup.js | 16 +- docs/html/classes.html | 34 +- ...fire_1_1_adaptive_engine_view-members.html | 48 +- ...lassgridfire_1_1_adaptive_engine_view.html | 340 ++++- .../classgridfire_1_1_adaptive_engine_view.js | 8 +- ...ssgridfire_1_1_dynamic_engine-members.html | 9 +- .../classgridfire_1_1_dynamic_engine.html | 124 +- docs/html/classgridfire_1_1_dynamic_engine.js | 5 +- .../html/classgridfire_1_1_dynamic_engine.png | Bin 1523 -> 1976 bytes docs/html/classgridfire_1_1_engine.html | 19 +- docs/html/classgridfire_1_1_engine.png | Bin 1527 -> 1977 bytes docs/html/classgridfire_1_1_engine_view.html | 6 +- ...lassgridfire_1_1_graph_engine-members.html | 51 +- docs/html/classgridfire_1_1_graph_engine.html | 248 +++- docs/html/classgridfire_1_1_graph_engine.js | 5 + ...reaction_1_1_logical_reaction-members.html | 31 +- ...fire_1_1reaction_1_1_logical_reaction.html | 66 +- ...idfire_1_1reaction_1_1_logical_reaction.js | 1 + ...fire_1_1reaction_1_1_reaction-members.html | 27 +- ...lassgridfire_1_1reaction_1_1_reaction.html | 84 +- .../classgridfire_1_1reaction_1_1_reaction.js | 1 + ...e_1_1solver_1_1_direct_network_solver.html | 8 +- ...lver_1_1_q_s_e_network_solver-members.html | 12 +- ...re_1_1solver_1_1_q_s_e_network_solver.html | 38 +- ...ire_1_1solver_1_1_q_s_e_network_solver.png | Bin 1280 -> 1228 bytes ...ceptgridfire_1_1_is_arithmetic_or_a_d.html | 4 +- .../dir_1cdf727c700d393da216e23f923be8b4.html | 7 +- .../dir_1cdf727c700d393da216e23f923be8b4.js | 2 +- .../dir_2a1262ef5950eb718393488a3eb5aa9f.html | 6 + .../dir_2a1262ef5950eb718393488a3eb5aa9f.js | 3 + .../dir_6b2e1e22dfdea3280d50981209bf7529.html | 10 +- .../dir_6b2e1e22dfdea3280d50981209bf7529.js | 5 +- .../dir_a7655658c851688eff9381235a9676f0.html | 6 + .../dir_a7655658c851688eff9381235a9676f0.js | 3 + docs/html/doxygen_crawl.html | 254 +++- docs/html/engine__abstract_8h.html | 3 + docs/html/engine__abstract_8h_source.html | 173 +-- docs/html/engine__adaptive_8cpp.html | 6 +- docs/html/engine__adaptive_8cpp_source.html | 698 ++++++----- docs/html/engine__adaptive_8h.html | 8 +- docs/html/engine__adaptive_8h_source.html | 297 +++-- docs/html/engine__approx8_8cpp_source.html | 35 +- docs/html/engine__graph_8cpp.html | 1 + docs/html/engine__graph_8cpp_source.html | 1095 +++++++++-------- docs/html/engine__graph_8h.html | 3 + docs/html/engine__graph_8h_source.html | 678 +++++----- docs/html/engine__view__abstract_8h.html | 4 +- .../engine__view__abstract_8h_source.html | 6 +- docs/html/files.html | 69 +- docs/html/functions.html | 3 +- docs/html/functions_b.html | 3 +- docs/html/functions_c.html | 24 +- docs/html/functions_d.html | 2 +- docs/html/functions_e.html | 4 +- docs/html/functions_f.html | 3 + docs/html/functions_func.html | 168 +-- docs/html/functions_g.html | 18 +- docs/html/functions_h.html | 2 +- docs/html/functions_i.html | 2 + docs/html/functions_l.html | 3 +- docs/html/functions_m.html | 34 +- docs/html/functions_o.html | 12 +- docs/html/functions_p.html | 1 + docs/html/functions_r.html | 6 +- docs/html/functions_rela.html | 2 +- docs/html/functions_s.html | 5 +- docs/html/functions_t.html | 1 + docs/html/functions_type.html | 5 +- docs/html/functions_u.html | 2 +- docs/html/functions_v.html | 3 + docs/html/functions_vars.html | 32 +- docs/html/functions_~.html | 3 +- docs/html/hierarchy.html | 66 +- docs/html/hierarchy.js | 26 +- docs/html/index.html | 8 +- docs/html/menudata.js | 42 +- docs/html/namespacegridfire.html | 20 +- docs/html/namespacegridfire.js | 6 + docs/html/namespacegridfire_1_1reaclib.html | 10 +- docs/html/namespacegridfire_1_1reaction.html | 81 +- docs/html/namespacegridfire_1_1reaction.js | 6 +- docs/html/namespacemembers.html | 12 +- docs/html/namespacemembers_enum.html | 1 + docs/html/namespacemembers_func.html | 3 + docs/html/namespacemembers_type.html | 4 +- docs/html/namespaces.html | 11 +- docs/html/namespacestd.html | 2 + docs/html/namespacestd.js | 1 + docs/html/navtreedata.js | 10 +- docs/html/navtreeindex0.js | 494 ++++---- docs/html/navtreeindex1.js | 500 ++++---- docs/html/navtreeindex2.js | 410 +++--- docs/html/navtreeindex3.js | 319 +++-- docs/html/network_8cpp.html | 2 +- docs/html/network_8cpp_source.html | 12 +- docs/html/network_8h.html | 2 +- docs/html/network_8h_source.html | 6 +- docs/html/reaclib_8cpp.html | 4 +- docs/html/reaclib_8cpp_source.html | 53 +- docs/html/reaclib_8h.html | 2 +- docs/html/reaclib_8h_source.html | 6 +- docs/html/reaction_8cpp.html | 10 +- docs/html/reaction_8cpp.js | 4 +- docs/html/reaction_8cpp_source.html | 473 +++---- docs/html/reaction_8h.html | 25 +- docs/html/reaction_8h.js | 6 +- docs/html/reaction_8h_source.html | 853 ++++++++----- docs/html/search/all_0.js | 4 +- docs/html/search/all_1.js | 9 +- docs/html/search/all_10.js | 23 +- docs/html/search/all_11.js | 45 +- docs/html/search/all_12.js | 15 +- docs/html/search/all_13.js | 2 +- docs/html/search/all_14.js | 9 +- docs/html/search/all_15.js | 8 +- docs/html/search/all_2.js | 42 +- docs/html/search/all_3.js | 2 +- docs/html/search/all_4.js | 28 +- docs/html/search/all_5.js | 8 +- docs/html/search/all_6.js | 37 +- docs/html/search/all_7.js | 13 +- docs/html/search/all_8.js | 16 +- docs/html/search/all_a.js | 8 +- docs/html/search/all_b.js | 112 +- docs/html/search/all_c.js | 25 +- docs/html/search/all_d.js | 12 +- docs/html/search/all_e.js | 23 +- docs/html/search/classes_1.js | 4 +- docs/html/search/classes_2.js | 7 +- docs/html/search/classes_3.js | 5 +- docs/html/search/classes_4.js | 3 +- docs/html/search/classes_5.js | 3 +- docs/html/search/classes_6.js | 5 +- docs/html/search/classes_7.js | 9 +- docs/html/search/classes_8.js | 2 +- docs/html/search/classes_9.js | 2 +- docs/html/search/classes_a.js | 14 +- docs/html/search/classes_b.js | 2 +- docs/html/search/enumvalues_1.js | 2 +- docs/html/search/enumvalues_2.js | 2 +- docs/html/search/files_0.js | 8 +- docs/html/search/files_1.js | 3 +- docs/html/search/files_2.js | 3 +- docs/html/search/files_3.js | 9 +- docs/html/search/files_4.js | 7 +- docs/html/search/functions_0.js | 2 +- docs/html/search/functions_1.js | 5 +- docs/html/search/functions_10.js | 18 +- docs/html/search/functions_11.js | 15 +- docs/html/search/functions_12.js | 4 +- docs/html/search/functions_13.js | 4 +- docs/html/search/functions_14.js | 11 +- docs/html/search/functions_2.js | 30 +- docs/html/search/functions_3.js | 2 +- docs/html/search/functions_4.js | 4 +- docs/html/search/functions_5.js | 17 +- docs/html/search/functions_6.js | 18 +- docs/html/search/functions_7.js | 9 +- docs/html/search/functions_8.js | 8 +- docs/html/search/functions_9.js | 3 +- docs/html/search/functions_a.js | 6 +- docs/html/search/functions_b.js | 19 +- docs/html/search/functions_c.js | 17 +- docs/html/search/functions_d.js | 16 +- docs/html/search/functions_e.js | 11 +- docs/html/search/functions_f.js | 11 +- docs/html/search/namespaces_0.js | 9 +- docs/html/search/related_0.js | 2 +- docs/html/search/searchdata.js | 14 +- docs/html/search/typedefs_0.js | 2 +- docs/html/search/typedefs_1.js | 2 +- docs/html/search/typedefs_5.js | 3 +- docs/html/search/typedefs_8.js | 2 +- docs/html/search/typedefs_9.js | 3 +- docs/html/search/variables_7.js | 93 +- docs/html/search/variables_b.js | 7 +- docs/html/solver_8cpp.html | 2 + docs/html/solver_8cpp_source.html | 927 +++++++------- docs/html/solver_8h.html | 4 +- docs/html/solver_8h_source.html | 389 +++--- ...engine_view_1_1_reaction_flow-members.html | 2 +- ...daptive_engine_view_1_1_reaction_flow.html | 18 +- ..._adaptive_engine_view_1_1_reaction_flow.js | 2 +- .../structgridfire_1_1_step_derivatives.html | 12 +- ..._1_1reaction_1_1_rate_coefficient_set.html | 18 +- ...t_network_solver_1_1_jacobian_functor.html | 14 +- ...work_solver_1_1_r_h_s_functor-members.html | 11 +- ...rect_network_solver_1_1_r_h_s_functor.html | 35 +- ...direct_network_solver_1_1_r_h_s_functor.js | 1 + ...work_solver_1_1_eigen_functor-members.html | 12 +- ..._s_e_network_solver_1_1_eigen_functor.html | 163 ++- ..._q_s_e_network_solver_1_1_eigen_functor.js | 10 +- ..._s_e_network_solver_1_1_r_h_s_functor.html | 2 +- ...ridfire_1_1reaction_1_1_reaction_01_4.html | 4 +- ...ire_1_1reaction_1_1_reaction_set_01_4.html | 10 +- 197 files changed, 6248 insertions(+), 4744 deletions(-) diff --git a/.gitignore b/.gitignore index dc8bc042..18a83eff 100644 --- a/.gitignore +++ b/.gitignore @@ -40,7 +40,6 @@ build/ *.out # Doxygen -html/ latex/ xml/ man/ diff --git a/docs/html/annotated.html b/docs/html/annotated.html index 630452a1..c831d6ce 100644 --- a/docs/html/annotated.html +++ b/docs/html/annotated.html @@ -110,37 +110,47 @@ $(function(){initNavTree('annotated.html',''); initResizable(true); });  CApprox8NetworkClass for the Approx8 nuclear reaction network  CJacobianFunctor to calculate the Jacobian matrix for implicit solvers  CODEFunctor to calculate the derivatives for the ODE solver - Nreaclib - CReactionRecord - Nreaction - CLogicalReactionRepresents a "logical" reaction that aggregates rates from multiple sources - CLogicalReactionSetA collection of LogicalReaction objects - CRateCoefficientSetHolds the seven coefficients for the REACLIB rate equation - CReactionRepresents a single nuclear reaction from a specific data source - CReactionSetA collection of Reaction objects - Nsolver - CDirectNetworkSolverA network solver that directly integrates the reaction network ODEs - CJacobianFunctorFunctor for calculating the Jacobian matrix - CRHSFunctorFunctor for calculating the right-hand side of the ODEs - CdynamicQSESpeciesIndicesStructure to hold indices of dynamic and QSE species - CNetworkSolverStrategyAbstract base class for network solver strategies - CQSENetworkSolverA network solver that uses a Quasi-Steady-State Equilibrium (QSE) approach - CEigenFunctorFunctor for calculating the residual and Jacobian for the QSE species using Eigen - CJacobianFunctorFunctor for calculating the Jacobian matrix of the ODEs for the dynamic species - CRHSFunctorFunctor for calculating the right-hand side of the ODEs for the dynamic species - CAdaptiveEngineViewAn engine view that dynamically adapts the reaction network based on runtime conditions - CReactionFlowA struct to hold a reaction and its flow rate - CDynamicEngineAbstract class for engines supporting Jacobian and stoichiometry operations - CEngineAbstract base class for a reaction network engine - CEngineViewAbstract base class for a "view" of a reaction network engine - CGraphEngineA reaction network engine that uses a graph-based representation - CNetIn - CNetOut - CNetwork - CStepDerivativesStructure holding derivatives and energy generation for a network step - NstdSTL namespace - Chash< gridfire::reaction::Reaction > - Chash< gridfire::reaction::ReactionSet > + Nio + CMESANetworkFileParser + CNetworkFileParser + CParsedNetworkData + CSimpleReactionListFileParser + Nreaclib + CReactionRecord + Nreaction + CLogicalReactionRepresents a "logical" reaction that aggregates rates from multiple sources + CRateCoefficientSetHolds the seven coefficients for the REACLIB rate equation + CReactionRepresents a single nuclear reaction from a specific data source + CTemplatedReactionSet + Nscreening + CBareScreeningModel + CScreeningModel + CWeakScreeningModel + Nsolver + CDirectNetworkSolverA network solver that directly integrates the reaction network ODEs + CJacobianFunctorFunctor for calculating the Jacobian matrix + CRHSFunctorFunctor for calculating the right-hand side of the ODEs + CdynamicQSESpeciesIndicesStructure to hold indices of dynamic and QSE species + CNetworkSolverStrategyAbstract base class for network solver strategies + CQSENetworkSolverA network solver that uses a Quasi-Steady-State Equilibrium (QSE) approach + CEigenFunctorFunctor for calculating the residual and Jacobian for the QSE species using Eigen + CJacobianFunctorFunctor for calculating the Jacobian matrix of the ODEs for the dynamic species + CRHSFunctorFunctor for calculating the right-hand side of the ODEs for the dynamic species + CAdaptiveEngineViewAn engine view that dynamically adapts the reaction network based on runtime conditions + CReactionFlowA struct to hold a reaction and its flow rate + CDynamicEngineAbstract class for engines supporting Jacobian and stoichiometry operations + CEngineAbstract base class for a reaction network engine + CEngineViewAbstract base class for a "view" of a reaction network engine + CFileDefinedEngineView + CGraphEngineA reaction network engine that uses a graph-based representation + CNetIn + CNetOut + CNetwork + CStepDerivativesStructure holding derivatives and energy generation for a network step + NstdSTL namespace + Chash< gridfire::reaction::LogicalReactionSet > + Chash< gridfire::reaction::Reaction > + Chash< gridfire::reaction::ReactionSet > diff --git a/docs/html/annotated_dup.js b/docs/html/annotated_dup.js index 4880ffb8..ab311020 100644 --- a/docs/html/annotated_dup.js +++ b/docs/html/annotated_dup.js @@ -7,15 +7,25 @@ var annotated_dup = [ "Jacobian", "structgridfire_1_1approx8_1_1_jacobian.html", "structgridfire_1_1approx8_1_1_jacobian" ], [ "ODE", "structgridfire_1_1approx8_1_1_o_d_e.html", "structgridfire_1_1approx8_1_1_o_d_e" ] ] ], + [ "io", "namespacegridfire_1_1io.html", [ + [ "MESANetworkFileParser", "classgridfire_1_1io_1_1_m_e_s_a_network_file_parser.html", "classgridfire_1_1io_1_1_m_e_s_a_network_file_parser" ], + [ "NetworkFileParser", "classgridfire_1_1io_1_1_network_file_parser.html", "classgridfire_1_1io_1_1_network_file_parser" ], + [ "ParsedNetworkData", "structgridfire_1_1io_1_1_parsed_network_data.html", "structgridfire_1_1io_1_1_parsed_network_data" ], + [ "SimpleReactionListFileParser", "classgridfire_1_1io_1_1_simple_reaction_list_file_parser.html", "classgridfire_1_1io_1_1_simple_reaction_list_file_parser" ] + ] ], [ "reaclib", "namespacegridfire_1_1reaclib.html", [ [ "ReactionRecord", "structgridfire_1_1reaclib_1_1_reaction_record.html", "structgridfire_1_1reaclib_1_1_reaction_record" ] ] ], [ "reaction", "namespacegridfire_1_1reaction.html", [ [ "LogicalReaction", "classgridfire_1_1reaction_1_1_logical_reaction.html", "classgridfire_1_1reaction_1_1_logical_reaction" ], - [ "LogicalReactionSet", "classgridfire_1_1reaction_1_1_logical_reaction_set.html", "classgridfire_1_1reaction_1_1_logical_reaction_set" ], [ "RateCoefficientSet", "structgridfire_1_1reaction_1_1_rate_coefficient_set.html", "structgridfire_1_1reaction_1_1_rate_coefficient_set" ], [ "Reaction", "classgridfire_1_1reaction_1_1_reaction.html", "classgridfire_1_1reaction_1_1_reaction" ], - [ "ReactionSet", "classgridfire_1_1reaction_1_1_reaction_set.html", "classgridfire_1_1reaction_1_1_reaction_set" ] + [ "TemplatedReactionSet", "classgridfire_1_1reaction_1_1_templated_reaction_set.html", "classgridfire_1_1reaction_1_1_templated_reaction_set" ] + ] ], + [ "screening", "namespacegridfire_1_1screening.html", [ + [ "BareScreeningModel", "classgridfire_1_1screening_1_1_bare_screening_model.html", "classgridfire_1_1screening_1_1_bare_screening_model" ], + [ "ScreeningModel", "classgridfire_1_1screening_1_1_screening_model.html", "classgridfire_1_1screening_1_1_screening_model" ], + [ "WeakScreeningModel", "classgridfire_1_1screening_1_1_weak_screening_model.html", "classgridfire_1_1screening_1_1_weak_screening_model" ] ] ], [ "solver", "namespacegridfire_1_1solver.html", [ [ "DirectNetworkSolver", "classgridfire_1_1solver_1_1_direct_network_solver.html", "classgridfire_1_1solver_1_1_direct_network_solver" ], @@ -27,6 +37,7 @@ var annotated_dup = [ "DynamicEngine", "classgridfire_1_1_dynamic_engine.html", "classgridfire_1_1_dynamic_engine" ], [ "Engine", "classgridfire_1_1_engine.html", "classgridfire_1_1_engine" ], [ "EngineView", "classgridfire_1_1_engine_view.html", "classgridfire_1_1_engine_view" ], + [ "FileDefinedEngineView", "classgridfire_1_1_file_defined_engine_view.html", "classgridfire_1_1_file_defined_engine_view" ], [ "GraphEngine", "classgridfire_1_1_graph_engine.html", "classgridfire_1_1_graph_engine" ], [ "NetIn", "structgridfire_1_1_net_in.html", "structgridfire_1_1_net_in" ], [ "NetOut", "structgridfire_1_1_net_out.html", "structgridfire_1_1_net_out" ], @@ -34,6 +45,7 @@ var annotated_dup = [ "StepDerivatives", "structgridfire_1_1_step_derivatives.html", "structgridfire_1_1_step_derivatives" ] ] ], [ "std", "namespacestd.html", [ + [ "hash< gridfire::reaction::LogicalReactionSet >", "structstd_1_1hash_3_01gridfire_1_1reaction_1_1_logical_reaction_set_01_4.html", "structstd_1_1hash_3_01gridfire_1_1reaction_1_1_logical_reaction_set_01_4" ], [ "hash< gridfire::reaction::Reaction >", "structstd_1_1hash_3_01gridfire_1_1reaction_1_1_reaction_01_4.html", "structstd_1_1hash_3_01gridfire_1_1reaction_1_1_reaction_01_4" ], [ "hash< gridfire::reaction::ReactionSet >", "structstd_1_1hash_3_01gridfire_1_1reaction_1_1_reaction_set_01_4.html", "structstd_1_1hash_3_01gridfire_1_1reaction_1_1_reaction_set_01_4" ] ] ] diff --git a/docs/html/classes.html b/docs/html/classes.html index 80da70d3..2758ec18 100644 --- a/docs/html/classes.html +++ b/docs/html/classes.html @@ -102,44 +102,62 @@ $(function(){initNavTree('classes.html',''); initResizable(true); });
Class Index
-
A | D | E | G | H | J | L | N | O | Q | R | S
+
A | B | D | E | F | G | H | J | L | M | N | O | P | Q | R | S | T | W
A
AdaptiveEngineView (gridfire)
Approx8Net (gridfire::approx8)
Approx8Network (gridfire::approx8)
+
B
+
BareScreeningModel (gridfire::screening)
+
D
DirectNetworkSolver (gridfire::solver)
DynamicEngine (gridfire)
dynamicQSESpeciesIndices (gridfire::solver)
-
+
E
QSENetworkSolver::EigenFunctor (gridfire::solver)
Engine (gridfire)
EngineView (gridfire)
+
+
F
+
FileDefinedEngineView (gridfire)
G
GraphEngine (gridfire)
H
-
hash< gridfire::reaction::Reaction > (std)
hash< gridfire::reaction::ReactionSet > (std)
+
hash< gridfire::reaction::LogicalReactionSet > (std)
hash< gridfire::reaction::Reaction > (std)
hash< gridfire::reaction::ReactionSet > (std)
J
Jacobian (gridfire::approx8)
DirectNetworkSolver::JacobianFunctor (gridfire::solver)
QSENetworkSolver::JacobianFunctor (gridfire::solver)
L
-
LogicalReaction (gridfire::reaction)
LogicalReactionSet (gridfire::reaction)
+
LogicalReaction (gridfire::reaction)
-
N
-
NetIn (gridfire)
NetOut (gridfire)
Network (gridfire)
NetworkSolverStrategy (gridfire::solver)
+
M
+
MESANetworkFileParser (gridfire::io)
+
N
+
NetIn (gridfire)
NetOut (gridfire)
Network (gridfire)
NetworkFileParser (gridfire::io)
NetworkSolverStrategy (gridfire::solver)
+
O
ODE (gridfire::approx8)
+
+
P
+
ParsedNetworkData (gridfire::io)
Q
QSENetworkSolver (gridfire::solver)
R
-
RateCoefficientSet (gridfire::reaction)
Reaction (gridfire::reaction)
AdaptiveEngineView::ReactionFlow (gridfire)
ReactionRecord (gridfire::reaclib)
ReactionSet (gridfire::reaction)
DirectNetworkSolver::RHSFunctor (gridfire::solver)
QSENetworkSolver::RHSFunctor (gridfire::solver)
+
RateCoefficientSet (gridfire::reaction)
Reaction (gridfire::reaction)
AdaptiveEngineView::ReactionFlow (gridfire)
ReactionRecord (gridfire::reaclib)
DirectNetworkSolver::RHSFunctor (gridfire::solver)
QSENetworkSolver::RHSFunctor (gridfire::solver)
S
-
StepDerivatives (gridfire)
+
ScreeningModel (gridfire::screening)
SimpleReactionListFileParser (gridfire::io)
StepDerivatives (gridfire)
+
+
T
+
TemplatedReactionSet (gridfire::reaction)
+
+
W
+
WeakScreeningModel (gridfire::screening)
diff --git a/docs/html/classgridfire_1_1_adaptive_engine_view-members.html b/docs/html/classgridfire_1_1_adaptive_engine_view-members.html index 54193376..f7a50cb1 100644 --- a/docs/html/classgridfire_1_1_adaptive_engine_view-members.html +++ b/docs/html/classgridfire_1_1_adaptive_engine_view-members.html @@ -106,33 +106,39 @@ $(function(){initNavTree('classgridfire_1_1_adaptive_engine_view.html',''); init

This is the complete list of members for gridfire::AdaptiveEngineView, including all inherited members.

- - - - - + + + + + + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + diff --git a/docs/html/classgridfire_1_1_adaptive_engine_view.html b/docs/html/classgridfire_1_1_adaptive_engine_view.html index c3949565..8fa5ce2e 100644 --- a/docs/html/classgridfire_1_1_adaptive_engine_view.html +++ b/docs/html/classgridfire_1_1_adaptive_engine_view.html @@ -137,9 +137,9 @@ Public Member Functions - - - + + + @@ -161,7 +161,7 @@ Public Member Functions - + @@ -170,6 +170,10 @@ Public Member Functions + + + + @@ -209,6 +213,14 @@ Private Member Functions + + + + + + + +
AdaptiveEngineView(DynamicEngine &baseEngine)gridfire::AdaptiveEngineViewexplicit
calculateMolarReactionFlow(const reaction::Reaction &reaction, const std::vector< double > &Y_culled, double T9, double rho) const overridegridfire::AdaptiveEngineViewvirtual
calculateRHSAndEnergy(const std::vector< double > &Y_culled, const double T9, const double rho) const overridegridfire::AdaptiveEngineViewvirtual
Config typedefgridfire::AdaptiveEngineViewprivate
constructReactionIndexMap() constgridfire::AdaptiveEngineViewprivate
constructSpeciesIndexMap() constgridfire::AdaptiveEngineViewprivate
calculateAllReactionFlows(const NetIn &netIn, std::vector< double > &out_Y_Full) constgridfire::AdaptiveEngineViewprivate
calculateMolarReactionFlow(const reaction::Reaction &reaction, const std::vector< double > &Y_culled, double T9, double rho) const overridegridfire::AdaptiveEngineViewvirtual
calculateRHSAndEnergy(const std::vector< double > &Y_culled, const double T9, const double rho) const overridegridfire::AdaptiveEngineViewvirtual
Config typedefgridfire::AdaptiveEngineViewprivate
constructReactionIndexMap() constgridfire::AdaptiveEngineViewprivate
constructSpeciesIndexMap() constgridfire::AdaptiveEngineViewprivate
cullReactionsByFlow(const std::vector< ReactionFlow > &allFlows, const std::unordered_set< fourdst::atomic::Species > &reachableSpecies, const std::vector< double > &Y_full, double maxFlow) constgridfire::AdaptiveEngineViewprivate
finalizeActiveSet(const std::vector< const reaction::LogicalReaction * > &finalReactions)gridfire::AdaptiveEngineViewprivate
findReachableSpecies(const NetIn &netIn) constgridfire::AdaptiveEngineViewprivate
generateJacobianMatrix(const std::vector< double > &Y_culled, const double T9, const double rho) overridegridfire::AdaptiveEngineViewvirtual
generateStoichiometryMatrix() overridegridfire::AdaptiveEngineViewvirtual
getBaseEngine() const overridegridfire::AdaptiveEngineViewinlinevirtual
getJacobianMatrixEntry(const int i_culled, const int j_culled) const overridegridfire::AdaptiveEngineViewvirtual
getNetworkReactions() const overridegridfire::AdaptiveEngineViewvirtual
getNetworkSpecies() const overridegridfire::AdaptiveEngineViewvirtual
getSpeciesTimescales(const std::vector< double > &Y_culled, double T9, double rho) const overridegridfire::AdaptiveEngineViewvirtual
getStoichiometryMatrixEntry(const int speciesIndex_culled, const int reactionIndex_culled) const overridegridfire::AdaptiveEngineViewvirtual
LogManager typedefgridfire::AdaptiveEngineViewprivate
m_activeReactionsgridfire::AdaptiveEngineViewprivate
m_activeSpeciesgridfire::AdaptiveEngineViewprivate
m_baseEnginegridfire::AdaptiveEngineViewprivate
m_configgridfire::AdaptiveEngineViewprivate
m_isStalegridfire::AdaptiveEngineViewprivate
m_loggergridfire::AdaptiveEngineViewprivate
m_reactionIndexMapgridfire::AdaptiveEngineViewprivate
m_speciesIndexMapgridfire::AdaptiveEngineViewprivate
mapCulledToFull(const std::vector< double > &culled) constgridfire::AdaptiveEngineViewprivate
mapCulledToFullReactionIndex(size_t culledReactionIndex) constgridfire::AdaptiveEngineViewprivate
mapCulledToFullSpeciesIndex(size_t culledSpeciesIndex) constgridfire::AdaptiveEngineViewprivate
mapFullToCulled(const std::vector< double > &full) constgridfire::AdaptiveEngineViewprivate
update(const NetIn &netIn)gridfire::AdaptiveEngineView
getScreeningModel() const overridegridfire::AdaptiveEngineViewvirtual
getSpeciesTimescales(const std::vector< double > &Y_culled, double T9, double rho) const overridegridfire::AdaptiveEngineViewvirtual
getStoichiometryMatrixEntry(const int speciesIndex_culled, const int reactionIndex_culled) const overridegridfire::AdaptiveEngineViewvirtual
LogManager typedefgridfire::AdaptiveEngineViewprivate
m_activeReactionsgridfire::AdaptiveEngineViewprivate
m_activeSpeciesgridfire::AdaptiveEngineViewprivate
m_baseEnginegridfire::AdaptiveEngineViewprivate
m_configgridfire::AdaptiveEngineViewprivate
m_isStalegridfire::AdaptiveEngineViewprivate
m_loggergridfire::AdaptiveEngineViewprivate
m_reactionIndexMapgridfire::AdaptiveEngineViewprivate
m_speciesIndexMapgridfire::AdaptiveEngineViewprivate
mapCulledToFull(const std::vector< double > &culled) constgridfire::AdaptiveEngineViewprivate
mapCulledToFullReactionIndex(size_t culledReactionIndex) constgridfire::AdaptiveEngineViewprivate
mapCulledToFullSpeciesIndex(size_t culledSpeciesIndex) constgridfire::AdaptiveEngineViewprivate
mapFullToCulled(const std::vector< double > &full) constgridfire::AdaptiveEngineViewprivate
setScreeningModel(screening::ScreeningType model) overridegridfire::AdaptiveEngineViewvirtual
update(const NetIn &netIn) overridegridfire::AdaptiveEngineViewvirtual
validateState() constgridfire::AdaptiveEngineViewprivate
~Engine()=defaultgridfire::Enginevirtual
~EngineView()=defaultgridfire::EngineView< DynamicEngine >virtual
 AdaptiveEngineView (DynamicEngine &baseEngine)
 Constructs an AdaptiveEngineView.
 
void update (const NetIn &netIn)
 Updates the active species and reactions based on the current conditions.
 
void update (const NetIn &netIn) override
 Updates the active species and reactions based on the current conditions.
 
const std::vector< fourdst::atomic::Species > & getNetworkSpecies () const override
 Gets the list of active species in the network.
 
double calculateMolarReactionFlow (const reaction::Reaction &reaction, const std::vector< double > &Y_culled, double T9, double rho) const override
 Calculates the molar reaction flow for a given reaction in the active network.
 
const reaction::LogicalReactionSetgetNetworkReactions () const override
const reaction::LogicalReactionSetgetNetworkReactions () const override
 Gets the set of active logical reactions in the network.
 
std::unordered_map< fourdst::atomic::Species, double > getSpeciesTimescales (const std::vector< double > &Y_culled, double T9, double rho) const override
const DynamicEnginegetBaseEngine () const override
 Gets the base engine.
 
void setScreeningModel (screening::ScreeningType model) override
 
screening::ScreeningType getScreeningModel () const override
 
- Public Member Functions inherited from gridfire::Engine
virtual ~Engine ()=default
 Virtual destructor.
void validateState () const
 Validates that the AdaptiveEngineView is not stale.
 
std::vector< ReactionFlowcalculateAllReactionFlows (const NetIn &netIn, std::vector< double > &out_Y_Full) const
 
std::unordered_set< fourdst::atomic::Species > findReachableSpecies (const NetIn &netIn) const
 
std::vector< const reaction::LogicalReaction * > cullReactionsByFlow (const std::vector< ReactionFlow > &allFlows, const std::unordered_set< fourdst::atomic::Species > &reachableSpecies, const std::vector< double > &Y_full, double maxFlow) const
 
void finalizeActiveSet (const std::vector< const reaction::LogicalReaction * > &finalReactions)
 
@@ -220,7 +232,7 @@ Private Attributes - + @@ -233,7 +245,7 @@ Private Attributes

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:

    +

    The adaptation process is driven by the update() method, which performs the following steps:

    1. Reaction Flow Calculation: Calculates the molar reaction flow rate for each reaction in the full network based on the current temperature, density, and composition.
    2. Reaction Culling: Culls reactions with flow rates below a threshold, determined by a relative culling threshold multiplied by the maximum flow rate.
    3. Connectivity Analysis: Performs a connectivity analysis to identify species that are reachable from the initial fuel species through the culled reaction network.
    4. @@ -245,9 +257,9 @@ Private Attributes
      engine_view_abstract.h
      -AdaptiveEngineView::update()
      +AdaptiveEngineView::update() -

      Definition at line 45 of file engine_adaptive.h.

      +

      Definition at line 47 of file engine_adaptive.h.

Member Typedef Documentation

◆ Config

@@ -269,7 +281,7 @@ Private Attributes

Private Attributes

 
std::vector< fourdst::atomic::Species > m_activeSpecies
 
reaction::LogicalReactionSet m_activeReactions
reaction::LogicalReactionSet m_activeReactions
 
std::vector< size_t > m_speciesIndexMap
 
-

Definition at line 226 of file engine_adaptive.h.

+

Definition at line 232 of file engine_adaptive.h.

@@ -293,7 +305,7 @@ Private Attributes
-

Definition at line 227 of file engine_adaptive.h.

+

Definition at line 233 of file engine_adaptive.h.

@@ -335,6 +347,37 @@ Private Attributes

Member Function Documentation

+ +

◆ calculateAllReactionFlows()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
std::vector< AdaptiveEngineView::ReactionFlow > gridfire::AdaptiveEngineView::calculateAllReactionFlows (const NetIn & netIn,
std::vector< double > & out_Y_Full ) const
+
+private
+
+ +

Definition at line 268 of file engine_adaptive.cpp.

+ +
+

◆ calculateMolarReactionFlow()

@@ -367,7 +410,7 @@ Private Attributes -overridevirtual +nodiscardoverridevirtual
@@ -386,7 +429,7 @@ Private Attributes

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_errorIf the AdaptiveEngineView is stale (i.e., update() has not been called).
std::runtime_errorIf the AdaptiveEngineView is stale (i.e., update() has not been called).
std::runtime_errorIf the reaction is not part of the active reactions in the adaptive engine view.
@@ -394,7 +437,7 @@ Private Attributes

Implements gridfire::DynamicEngine.

-

Definition at line 278 of file engine_adaptive.cpp.

+

Definition at line 175 of file engine_adaptive.cpp.

@@ -425,7 +468,7 @@ Private Attributes -overridevirtual +nodiscardoverridevirtual
@@ -443,15 +486,15 @@ Private Attributes

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
- +
std::runtime_errorIf the AdaptiveEngineView is stale (i.e., update() has not been called).
std::runtime_errorIf the AdaptiveEngineView is stale (i.e., update() has not been called).
-
See also
AdaptiveEngineView::update()
+
See also
AdaptiveEngineView::update()

Implements gridfire::Engine.

-

Definition at line 223 of file engine_adaptive.cpp.

+

Definition at line 120 of file engine_adaptive.cpp.

@@ -473,7 +516,7 @@ Private Attributes -private +nodiscardprivate
@@ -481,7 +524,7 @@ Private Attributes

Constructs the reaction index map.

Returns
A vector mapping culled 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.

-
See also
AdaptiveEngineView::update()
+
See also
AdaptiveEngineView::update()

Definition at line 53 of file engine_adaptive.cpp.

@@ -505,7 +548,7 @@ Private Attributes -private +nodiscardprivate
@@ -513,10 +556,105 @@ Private Attributes

Constructs the species index map.

Returns
A vector mapping culled 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.

-
See also
AdaptiveEngineView::update()
+
See also
AdaptiveEngineView::update()

Definition at line 24 of file engine_adaptive.cpp.

+
+ + +

◆ cullReactionsByFlow()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + +
std::vector< const reaction::LogicalReaction * > gridfire::AdaptiveEngineView::cullReactionsByFlow (const std::vector< ReactionFlow > & allFlows,
const std::unordered_set< fourdst::atomic::Species > & reachableSpecies,
const std::vector< double > & Y_full,
double maxFlow ) const
+
+nodiscardprivate
+
+ +

Definition at line 342 of file engine_adaptive.cpp.

+ +
+
+ +

◆ finalizeActiveSet()

+ +
+
+ + + + + +
+ + + + + + + +
void gridfire::AdaptiveEngineView::finalizeActiveSet (const std::vector< const reaction::LogicalReaction * > & finalReactions)
+
+private
+
+ +

Definition at line 385 of file engine_adaptive.cpp.

+ +
+
+ +

◆ findReachableSpecies()

+ +
+
+ + + + + +
+ + + + + + + +
std::unordered_set< Species > gridfire::AdaptiveEngineView::findReachableSpecies (const NetIn & netIn) const
+
+nodiscardprivate
+
+ +

Definition at line 299 of file engine_adaptive.cpp.

+
@@ -563,15 +701,15 @@ Private Attributes

This method maps the culled abundances to the full network abundances and calls the base engine to generate the Jacobian matrix.

Exceptions
- +
std::runtime_errorIf the AdaptiveEngineView is stale (i.e., update() has not been called).
std::runtime_errorIf the AdaptiveEngineView is stale (i.e., update() has not been called).
-
See also
AdaptiveEngineView::update()
+
See also
AdaptiveEngineView::update()

Implements gridfire::DynamicEngine.

-

Definition at line 241 of file engine_adaptive.cpp.

+

Definition at line 138 of file engine_adaptive.cpp.

@@ -602,7 +740,7 @@ Private Attributes

This method calls the base engine to generate the stoichiometry matrix.

Exceptions
- +
std::runtime_errorIf the AdaptiveEngineView is stale (i.e., update() has not been called).
std::runtime_errorIf the AdaptiveEngineView is stale (i.e., update() has not been called).
@@ -610,7 +748,7 @@ Private Attributes

Implements gridfire::DynamicEngine.

-

Definition at line 263 of file engine_adaptive.cpp.

+

Definition at line 160 of file engine_adaptive.cpp.

@@ -632,7 +770,7 @@ Private Attributes -inlineoverridevirtual +inlinenodiscardoverridevirtual
@@ -642,7 +780,7 @@ Private Attributes

Implements gridfire::EngineView< DynamicEngine >.

-

Definition at line 224 of file engine_adaptive.h.

+

Definition at line 226 of file engine_adaptive.h.

@@ -668,7 +806,7 @@ Private Attributes -overridevirtual +nodiscardoverridevirtual
@@ -685,16 +823,16 @@ Private Attributes

This method maps the culled indices to the full network indices and calls the base engine to get the Jacobian matrix entry.

Exceptions
- +
std::runtime_errorIf the AdaptiveEngineView is stale (i.e., update() has not been called).
std::runtime_errorIf the AdaptiveEngineView is stale (i.e., update() has not been called).
std::out_of_rangeIf the culled index is out of bounds for the species index map.
-
See also
AdaptiveEngineView::update()
+
See also
AdaptiveEngineView::update()

Implements gridfire::DynamicEngine.

-

Definition at line 252 of file engine_adaptive.cpp.

+

Definition at line 149 of file engine_adaptive.cpp.

@@ -708,7 +846,7 @@ Private Attributes - + @@ -716,7 +854,7 @@ Private Attributes
const reaction::LogicalReactionSet & gridfire::AdaptiveEngineView::getNetworkReactions const reaction::LogicalReactionSet & gridfire::AdaptiveEngineView::getNetworkReactions ( ) const
-overridevirtual +nodiscardoverridevirtual
@@ -726,7 +864,7 @@ Private Attributes

Implements gridfire::DynamicEngine.

-

Definition at line 295 of file engine_adaptive.cpp.

+

Definition at line 192 of file engine_adaptive.cpp.

@@ -748,7 +886,7 @@ Private Attributes -overridevirtual +nodiscardoverridevirtual
@@ -758,7 +896,36 @@ Private Attributes

Implements gridfire::Engine.

-

Definition at line 219 of file engine_adaptive.cpp.

+

Definition at line 116 of file engine_adaptive.cpp.

+ +
+ + +

◆ getScreeningModel()

+ +
+
+ + + + + +
+ + + + + + + +
screening::ScreeningType gridfire::AdaptiveEngineView::getScreeningModel () const
+
+nodiscardoverridevirtual
+
+ +

Implements gridfire::DynamicEngine.

+ +

Definition at line 220 of file engine_adaptive.cpp.

@@ -789,7 +956,7 @@ Private Attributes -overridevirtual +nodiscardoverridevirtual
@@ -807,14 +974,14 @@ Private Attributes

This method maps the culled abundances to the full network abundances and calls the base engine to compute the species timescales.

Exceptions
- +
std::runtime_errorIf the AdaptiveEngineView is stale (i.e., update() has not been called).
std::runtime_errorIf the AdaptiveEngineView is stale (i.e., update() has not been called).

Implements gridfire::DynamicEngine.

-

Definition at line 299 of file engine_adaptive.cpp.

+

Definition at line 196 of file engine_adaptive.cpp.

@@ -840,7 +1007,7 @@ Private Attributes -overridevirtual +nodiscardoverridevirtual
@@ -857,16 +1024,16 @@ Private Attributes

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_errorIf the AdaptiveEngineView is stale (i.e., update() has not been called).
std::runtime_errorIf the AdaptiveEngineView is stale (i.e., update() has not been called).
std::out_of_rangeIf the culled index is out of bounds for the species or reaction index map.
-
See also
AdaptiveEngineView::update()
+
See also
AdaptiveEngineView::update()

Implements gridfire::DynamicEngine.

-

Definition at line 268 of file engine_adaptive.cpp.

+

Definition at line 165 of file engine_adaptive.cpp.

@@ -888,7 +1055,7 @@ Private Attributes -private +nodiscardprivate
@@ -902,7 +1069,7 @@ Private Attributes
Returns
A vector of abundances for the full network, with the abundances of the active species copied from the culled vector.
-

Definition at line 319 of file engine_adaptive.cpp.

+

Definition at line 224 of file engine_adaptive.cpp.

@@ -924,7 +1091,7 @@ Private Attributes -private +nodiscardprivate
@@ -944,7 +1111,7 @@ Private Attributes -

Definition at line 346 of file engine_adaptive.cpp.

+

Definition at line 251 of file engine_adaptive.cpp.

@@ -966,7 +1133,7 @@ Private Attributes -private +nodiscardprivate
@@ -986,7 +1153,7 @@ Private Attributes -

Definition at line 337 of file engine_adaptive.cpp.

+

Definition at line 242 of file engine_adaptive.cpp.

@@ -1008,7 +1175,7 @@ Private Attributes -private +nodiscardprivate
@@ -1022,15 +1189,47 @@ Private Attributes
Returns
A vector of abundances for the active species, with the abundances of the active species copied from the full vector.
-

Definition at line 328 of file engine_adaptive.cpp.

+

Definition at line 233 of file engine_adaptive.cpp.

- -

◆ update()

+ +

◆ setScreeningModel()

+ + + + + +
+ + + + + + + +
void gridfire::AdaptiveEngineView::setScreeningModel (screening::ScreeningType model)
+
+overridevirtual
+
+ +

Implements gridfire::DynamicEngine.

+ +

Definition at line 216 of file engine_adaptive.cpp.

+ +
+
+ +

◆ update()

+ +
+
+ + + + + +
@@ -1039,6 +1238,11 @@ Private Attributes
void gridfire::AdaptiveEngineView::update
+
+overridevirtual

Updates the active species and reactions based on the current conditions.

@@ -1065,6 +1269,8 @@ Private Attributes
AdaptiveEngineView::constructReactionIndexMap()
+

Implements gridfire::DynamicEngine.

+

Definition at line 85 of file engine_adaptive.cpp.

@@ -1095,12 +1301,12 @@ Private Attributes

Validates that the AdaptiveEngineView is not stale.

Exceptions
- +
std::runtime_errorIf the AdaptiveEngineView is stale (i.e., update() has not been called).
std::runtime_errorIf the AdaptiveEngineView is stale (i.e., update() has not been called).
-

Definition at line 355 of file engine_adaptive.cpp.

+

Definition at line 260 of file engine_adaptive.cpp.

@@ -1115,7 +1321,7 @@ Private Attributes - +
reaction::LogicalReactionSet gridfire::AdaptiveEngineView::m_activeReactionsreaction::LogicalReactionSet gridfire::AdaptiveEngineView::m_activeReactions
@@ -1125,7 +1331,7 @@ Private Attributes
-

Definition at line 234 of file engine_adaptive.h.

+

Definition at line 240 of file engine_adaptive.h.

@@ -1149,7 +1355,7 @@ Private Attributes
-

Definition at line 233 of file engine_adaptive.h.

+

Definition at line 239 of file engine_adaptive.h.

@@ -1173,7 +1379,7 @@ Private Attributes
-

Definition at line 231 of file engine_adaptive.h.

+

Definition at line 237 of file engine_adaptive.h.

@@ -1197,7 +1403,7 @@ Private Attributes
-

Definition at line 228 of file engine_adaptive.h.

+

Definition at line 234 of file engine_adaptive.h.

@@ -1221,7 +1427,7 @@ Private Attributes
-

Definition at line 239 of file engine_adaptive.h.

+

Definition at line 245 of file engine_adaptive.h.

@@ -1245,7 +1451,7 @@ Private Attributes
-

Definition at line 229 of file engine_adaptive.h.

+

Definition at line 235 of file engine_adaptive.h.

@@ -1269,7 +1475,7 @@ Private Attributes
-

Definition at line 237 of file engine_adaptive.h.

+

Definition at line 243 of file engine_adaptive.h.

@@ -1293,13 +1499,13 @@ Private Attributes
-

Definition at line 236 of file engine_adaptive.h.

+

Definition at line 242 of file engine_adaptive.h.


The documentation for this class was generated from the following files: diff --git a/docs/html/classgridfire_1_1_adaptive_engine_view.js b/docs/html/classgridfire_1_1_adaptive_engine_view.js index 5d48e9ac..665cba33 100644 --- a/docs/html/classgridfire_1_1_adaptive_engine_view.js +++ b/docs/html/classgridfire_1_1_adaptive_engine_view.js @@ -4,23 +4,29 @@ var classgridfire_1_1_adaptive_engine_view = [ "Config", "classgridfire_1_1_adaptive_engine_view.html#afec39b2faa34ea65c5488dd8e11ba3c3", null ], [ "LogManager", "classgridfire_1_1_adaptive_engine_view.html#a5eaf7c3a4e28cd3a4f34979b88a80103", null ], [ "AdaptiveEngineView", "classgridfire_1_1_adaptive_engine_view.html#ad599363cdd457e72e2e2937b0222c455", null ], + [ "calculateAllReactionFlows", "classgridfire_1_1_adaptive_engine_view.html#abdbaf4b87629efe43ac1255dad424c0c", null ], [ "calculateMolarReactionFlow", "classgridfire_1_1_adaptive_engine_view.html#a048d4b1d41ecb4125a558d1b9ed7cb31", null ], [ "calculateRHSAndEnergy", "classgridfire_1_1_adaptive_engine_view.html#a7b276b7210be588263395bdb0497fc6d", null ], [ "constructReactionIndexMap", "classgridfire_1_1_adaptive_engine_view.html#a89614f4a48f60c4170a0197f45303e7c", null ], [ "constructSpeciesIndexMap", "classgridfire_1_1_adaptive_engine_view.html#a896d29325b4233e83d9298850b617a2d", null ], + [ "cullReactionsByFlow", "classgridfire_1_1_adaptive_engine_view.html#a42417e96fe9fd623458af109401daf08", null ], + [ "finalizeActiveSet", "classgridfire_1_1_adaptive_engine_view.html#aa79fb382c98461b02a2c30668491e6c5", null ], + [ "findReachableSpecies", "classgridfire_1_1_adaptive_engine_view.html#a0ed21f7e7c1034fc87b40d4116c4221b", null ], [ "generateJacobianMatrix", "classgridfire_1_1_adaptive_engine_view.html#ac9aab6f60e80a9228b2b19b1b10449ef", null ], [ "generateStoichiometryMatrix", "classgridfire_1_1_adaptive_engine_view.html#a231193a61ba5a31e8eb92b0d4ce69111", null ], [ "getBaseEngine", "classgridfire_1_1_adaptive_engine_view.html#aee095b30a9dce5fcb5ae2fa1d2aa192c", null ], [ "getJacobianMatrixEntry", "classgridfire_1_1_adaptive_engine_view.html#a4710d218c8a0fd161e994ecd60b48e58", null ], [ "getNetworkReactions", "classgridfire_1_1_adaptive_engine_view.html#a12cc2f352678fba9688363ba1876ab9c", null ], [ "getNetworkSpecies", "classgridfire_1_1_adaptive_engine_view.html#ac83a8efe25c0e5b9bf7756ac3a500bb1", null ], + [ "getScreeningModel", "classgridfire_1_1_adaptive_engine_view.html#a0ab1199f900a58f309c3c36532c9164f", null ], [ "getSpeciesTimescales", "classgridfire_1_1_adaptive_engine_view.html#a93b38d0fdc4647f6f7340172dae17872", null ], [ "getStoichiometryMatrixEntry", "classgridfire_1_1_adaptive_engine_view.html#a67b4ea8cad115394bb4a42cc39d696f9", null ], [ "mapCulledToFull", "classgridfire_1_1_adaptive_engine_view.html#a68695f056b660e91285b7e5a931612e1", null ], [ "mapCulledToFullReactionIndex", "classgridfire_1_1_adaptive_engine_view.html#a91e742642d8a8d9ec0620779927e5101", null ], [ "mapCulledToFullSpeciesIndex", "classgridfire_1_1_adaptive_engine_view.html#a256d14a333f9401039b826cc889761a8", null ], [ "mapFullToCulled", "classgridfire_1_1_adaptive_engine_view.html#a3d9d8e862d1c2f0a8ba460c57f6a7f44", null ], - [ "update", "classgridfire_1_1_adaptive_engine_view.html#a44c4fb7568ddbb20a08f328c2fbf1fdf", null ], + [ "setScreeningModel", "classgridfire_1_1_adaptive_engine_view.html#aae4ddbef1c4e2202fd236221a4bf376b", null ], + [ "update", "classgridfire_1_1_adaptive_engine_view.html#a7d61e73f5158f1574cda3edc90c51f7e", null ], [ "validateState", "classgridfire_1_1_adaptive_engine_view.html#aedc0dedb51c81e03f253cc409a5d5c40", null ], [ "m_activeReactions", "classgridfire_1_1_adaptive_engine_view.html#a19fc7e02e216b797aa643fa35e429800", null ], [ "m_activeSpecies", "classgridfire_1_1_adaptive_engine_view.html#af4bc9fc6e4afcd6a53c49ca6e2a95940", null ], diff --git a/docs/html/classgridfire_1_1_dynamic_engine-members.html b/docs/html/classgridfire_1_1_dynamic_engine-members.html index 0595ad44..9ee89443 100644 --- a/docs/html/classgridfire_1_1_dynamic_engine-members.html +++ b/docs/html/classgridfire_1_1_dynamic_engine-members.html @@ -112,9 +112,12 @@ $(function(){initNavTree('classgridfire_1_1_dynamic_engine.html',''); initResiza getJacobianMatrixEntry(int i, int j) const =0gridfire::DynamicEnginepure virtual getNetworkReactions() const =0gridfire::DynamicEnginepure virtual getNetworkSpecies() const =0gridfire::Enginepure virtual - getSpeciesTimescales(const std::vector< double > &Y, double T9, double rho) const =0gridfire::DynamicEnginepure virtual - getStoichiometryMatrixEntry(int speciesIndex, int reactionIndex) const =0gridfire::DynamicEnginepure virtual - ~Engine()=defaultgridfire::Enginevirtual + getScreeningModel() const =0gridfire::DynamicEnginepure virtual + getSpeciesTimescales(const std::vector< double > &Y, double T9, double rho) const =0gridfire::DynamicEnginepure virtual + getStoichiometryMatrixEntry(int speciesIndex, int reactionIndex) const =0gridfire::DynamicEnginepure virtual + setScreeningModel(screening::ScreeningType model)=0gridfire::DynamicEnginepure virtual + update(const NetIn &netIn)=0gridfire::DynamicEnginepure virtual + ~Engine()=defaultgridfire::Enginevirtual diff --git a/docs/html/classgridfire_1_1_dynamic_engine.html b/docs/html/classgridfire_1_1_dynamic_engine.html index 0028313b..7735e60f 100644 --- a/docs/html/classgridfire_1_1_dynamic_engine.html +++ b/docs/html/classgridfire_1_1_dynamic_engine.html @@ -116,9 +116,10 @@ Inheritance diagram for gridfire::DynamicEngine:
-gridfire::Engine -gridfire::AdaptiveEngineView -gridfire::GraphEngine +gridfire::Engine +gridfire::AdaptiveEngineView +gridfire::FileDefinedEngineView +gridfire::GraphEngine
@@ -139,12 +140,18 @@ Public Member Functions - + + + + + + + @@ -167,7 +174,7 @@ Public Member Functions

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.

-

Definition at line 118 of file engine_abstract.h.

+

Definition at line 121 of file engine_abstract.h.

Member Function Documentation

◆ calculateMolarReactionFlow()

@@ -201,7 +208,7 @@ Public Member Functions
virtual double calculateMolarReactionFlow (const reaction::Reaction &reaction, const std::vector< double > &Y, double T9, double rho) const =0
 Calculate the molar reaction flow for a given reaction.
 
virtual const reaction::LogicalReactionSetgetNetworkReactions () const =0
virtual const reaction::LogicalReactionSetgetNetworkReactions () const =0
 Get the set of logical reactions in the network.
 
virtual std::unordered_map< fourdst::atomic::Species, double > getSpeciesTimescales (const std::vector< double > &Y, double T9, double rho) const =0
 Compute timescales for all species in the network.
 
virtual void update (const NetIn &netIn)=0
 
virtual void setScreeningModel (screening::ScreeningType model)=0
 
virtual screening::ScreeningType getScreeningModel () const =0
 
- Public Member Functions inherited from gridfire::Engine
virtual ~Engine ()=default
 Virtual destructor.
-pure virtual +nodiscardpure virtual
@@ -219,7 +226,7 @@ Public Member Functions
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.

-

Implemented in gridfire::AdaptiveEngineView, and gridfire::GraphEngine.

+

Implemented in gridfire::AdaptiveEngineView, gridfire::FileDefinedEngineView, and gridfire::GraphEngine.

@@ -266,7 +273,7 @@ Public Member Functions

This method must compute and store the Jacobian matrix (∂(dY/dt)_i/∂Y_j) for the current state. The matrix can then be accessed via getJacobianMatrixEntry().

-

Implemented in gridfire::AdaptiveEngineView, and gridfire::GraphEngine.

+

Implemented in gridfire::AdaptiveEngineView, gridfire::FileDefinedEngineView, and gridfire::GraphEngine.

@@ -296,7 +303,7 @@ Public Member Functions

Generate the stoichiometry matrix for the network.

This method must compute and store the stoichiometry matrix, which encodes the net change of each species in each reaction.

-

Implemented in gridfire::AdaptiveEngineView, and gridfire::GraphEngine.

+

Implemented in gridfire::AdaptiveEngineView, gridfire::FileDefinedEngineView, and gridfire::GraphEngine.

@@ -322,7 +329,7 @@ Public Member Functions -pure virtual +nodiscardpure virtual
@@ -338,7 +345,7 @@ Public Member Functions
Returns
Value of the Jacobian matrix at (i, j).

The Jacobian must have been generated by generateJacobianMatrix() before calling this.

-

Implemented in gridfire::AdaptiveEngineView, and gridfire::GraphEngine.

+

Implemented in gridfire::AdaptiveEngineView, gridfire::FileDefinedEngineView, and gridfire::GraphEngine.

@@ -352,7 +359,7 @@ Public Member Functions - + @@ -360,7 +367,7 @@ Public Member Functions
virtual const reaction::LogicalReactionSet & gridfire::DynamicEngine::getNetworkReactions virtual const reaction::LogicalReactionSet & gridfire::DynamicEngine::getNetworkReactions ( ) const
-pure virtual +nodiscardpure virtual
@@ -368,7 +375,34 @@ Public Member Functions

Get the set of logical reactions in the network.

Returns
Reference to the LogicalReactionSet containing all reactions.
-

Implemented in gridfire::AdaptiveEngineView, and gridfire::GraphEngine.

+

Implemented in gridfire::AdaptiveEngineView, gridfire::FileDefinedEngineView, and gridfire::GraphEngine.

+ +
+ + +

◆ getScreeningModel()

+ +
+
+ + + + + +
+ + + + + + + +
virtual screening::ScreeningType gridfire::DynamicEngine::getScreeningModel () const
+
+nodiscardpure virtual
+
@@ -399,7 +433,7 @@ Public Member Functions -pure virtual +nodiscardpure virtual
@@ -416,7 +450,7 @@ Public Member Functions
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, diagnostics, and reaction network culling.

-

Implemented in gridfire::AdaptiveEngineView, and gridfire::GraphEngine.

+

Implemented in gridfire::AdaptiveEngineView, gridfire::FileDefinedEngineView, and gridfire::GraphEngine.

@@ -442,7 +476,7 @@ Public Member Functions -pure virtual +nodiscardpure virtual
@@ -458,7 +492,61 @@ Public Member Functions
Returns
Stoichiometric coefficient for the species in the reaction.

The stoichiometry matrix must have been generated by generateStoichiometryMatrix().

-

Implemented in gridfire::AdaptiveEngineView, and gridfire::GraphEngine.

+

Implemented in gridfire::AdaptiveEngineView, gridfire::FileDefinedEngineView, and gridfire::GraphEngine.

+ +
+ + +

◆ setScreeningModel()

+ +
+
+ + + + + +
+ + + + + + + +
virtual void gridfire::DynamicEngine::setScreeningModel (screening::ScreeningType model)
+
+pure virtual
+
+
+ +

◆ update()

+ +
+
+ + + + + +
+ + + + + + + +
virtual void gridfire::DynamicEngine::update (const NetIn & netIn)
+
+pure virtual
+
diff --git a/docs/html/classgridfire_1_1_dynamic_engine.js b/docs/html/classgridfire_1_1_dynamic_engine.js index ef5fade2..f5f5c6be 100644 --- a/docs/html/classgridfire_1_1_dynamic_engine.js +++ b/docs/html/classgridfire_1_1_dynamic_engine.js @@ -5,6 +5,9 @@ var classgridfire_1_1_dynamic_engine = [ "generateStoichiometryMatrix", "classgridfire_1_1_dynamic_engine.html#aeae6d84ef74d88fd2cdf07b82e98a16f", null ], [ "getJacobianMatrixEntry", "classgridfire_1_1_dynamic_engine.html#a05d15ff35a6bc06a2fa7eda19838bd07", null ], [ "getNetworkReactions", "classgridfire_1_1_dynamic_engine.html#ad2a82099edbb374bbb2c9509ccdb1037", null ], + [ "getScreeningModel", "classgridfire_1_1_dynamic_engine.html#a7a203f8e0f3a6744ddc912dfbcfdbcc0", null ], [ "getSpeciesTimescales", "classgridfire_1_1_dynamic_engine.html#a5d8ba98b230d2849035ee2507728fa15", null ], - [ "getStoichiometryMatrixEntry", "classgridfire_1_1_dynamic_engine.html#afa108dd5227dbb1045e90d7b3bd8b84f", null ] + [ "getStoichiometryMatrixEntry", "classgridfire_1_1_dynamic_engine.html#afa108dd5227dbb1045e90d7b3bd8b84f", null ], + [ "setScreeningModel", "classgridfire_1_1_dynamic_engine.html#a3fb44b6f55563a2f590f31916528f2bd", null ], + [ "update", "classgridfire_1_1_dynamic_engine.html#acd500e1cd788df1dc105d28a20dc5f4f", null ] ]; \ No newline at end of file diff --git a/docs/html/classgridfire_1_1_dynamic_engine.png b/docs/html/classgridfire_1_1_dynamic_engine.png index 544615e1aded6263e64871715cb185d04bd65532..ac05ae004eaf2359745b149f51cc5e1a3d6b57c0 100644 GIT binary patch literal 1976 zcmb`Ie>hub8^?ndrHX0&tm%86e zeqmeDC!3s{gx8V%5%=NTrVHViQwaF}-Q}fU$wwfJ0z-lV@ELjwLgBS>)_drwLdv$8 zRgT1WP0-^OTjuzUB9s+-b=Rk%2RpD+;#k{)sp5+Wp&K5cxw@OYbw&r|p}2dD2McUB z>Wy1~JC8c}p@`{Of`tP$5HWS3L<G=Gk$uYVy^zffJ+1G)Bbb+_*^TWX(DS>-KI6ZMNb~_ZAZBeZh}q)WDKY>bTyKD)U35!N?2(o0{CWrq(L-w722t^5478wF==yKIe@V$PcD>1Us$ z=OaSL6yVkk=K^%0+VWo?2jm&*{JX5)@VkF;a5fOmCKur>?wYxq=s$e_&nEvv4^8?% zBee-=?iP0)C{pi|m=mzGf3a=F6(8&o)&ivhEA_@Og;Qeh66u$uQzfR05v=z!;hKy# zw5Bij(R7Bi%FO@3RoDtiW;kzHwnTNs^g^k2zO>t$QrTH|vJM1~&W(DcugD)xdnk`2 zcBO9bC0D^@C_Uqk$761F-KQoz<5rzk-lmHRur)3{eUMPNzI+4LCfA*wn10(Mw^Df* zO-NbnA(N|44BnUYtLV6;ud<2!kgv1A^6NchFAmAH+7>CK!S4=%#hnWS6NV0UH@py` zh}(OWb~<%lUXk{iHbm^H`s9_q3e_r-jx;~k?8U?cue_QrNa(HC>06{T5 z7F03Rw0yZ!Q@5{|yxqwXKL4DQ{jjK%=Hy|4X*>){3L&M^L4bs%^skMm)=Q5iXPnVt zI#Jz2-md){I4GUMMYx-^+kUgy`M6hy!GAP5Q8)Um{`>=;E9yR*Va?r}%#AoL}5I)|wx!Y|m;J0qK&AC@Mcx>)o+LC+Z>OE*a z>6S|^JgyY#hd96M2MB@;;_v`~<-*Okr3eQAjus#UQ6;xZNe!>R`9_AJxg(uJs2uI+ls>L#nmTz|E-r5T%#Yke?T9VUn=x=3W%mK-h)P|>%6i}8(wVaJAL#d|+qyK$=RxR-#I^+ns}D6h;%w{G3fLi?oB3@C7bbvo&6z>|M1oR)#WH8;npMd#^{&` zb3esU+d@Svb3_P$qSDv}LDpL#FP&sDxQb?5&9oC;Yom~_-oV8>nmy-#=x0$5aPm+4 zSGN|*JEW^T?ayPMk7S;YNKG-niI;bZhrdl`#ql2)lXgFHOr^@c+BCa-heEO%tVFZz zW_GzZn^)`)?HE5n#sj{u2I_4>zlW%OS%m;3FE7bk8yW8 literal 1523 zcmbu9X;4#F6vrQ+2t+`~fgqFu3dJZ$1(BeDmI3ueWyxwGB-9b8(E>^WMnVu3!CG7% zHIyYF$`TV66=*;TQ7Mf}LZ-q4F)SGoF$=`1h+#{ge&|f6UpnpmaPGPH-20z<&hO4S z7ZtI~+RD)i003)ncNiW3Oc;otZ()X5!$PzUnVh2b62px~BjUc&O|vfEuf=|eNp&ca zy;7-E$iBavT!q9enfM3-fUG}_0MpVw09eWe!@eROH<{#XpWNQMd?z|Gscgt-monZ* z{@#?EDB1lP52rqQxhC7Ba~BT7w>()0xvPWDFu-GO#61wIG6terz|f2P{-g{;t+r+x z*bPs+fG}LQ9&~DD5=Xo1@63e>-M!l`X*O|PM$@n}Ioqz-WJC&GSjV)BC06O31zN!r z$)@LvLrpI=M$SGTK|?tzedl5|v8Zpm9jSpv%x0_ul@@TqK{V**dC3m0ClDaAC0vj{ zQWXQGAH7HAS9k1nMZqlS!jd)Mh9MHHejX@v0V`L;j%%nLy91zRKI+DZ^I1r!ZR$tM zV5qr55kvRM;XKzg^$+ZEh2BY43Oyd?MtOr9|H`bE%*W$AOW1v7J}Ak<$*6i~7K_Icym&ul>=`d~@SAb3HX{#GzMG`H*+@MM=Zj0`fX_RrTEO! z)8iAzS>f<_8(GM0IM@$UibWJsV|f$0K$Fl=j?e5;g&+^##|@w)ElXMT;KMYHRV=EQ zlh908D{j4U<=_{dj^);}C5nFO65j_tK^LUoT@j(BFZau3x^tt14o4D_6}F#|*;OG& zgxax-+y>!^EVI($`n1h8V%wQQ%U@+W{Ys%+hSdFUC8{M4v*I$=0H&_=fRlhq`H^3; zIMrIU<0I1KtyD8k1wt+?|6h=!Y)KX?C(D4cb8pRQ{|z<0l#Rn=osLCJ&MHL^_=LTV zwC4%J6?zdW;JG7M-P=}t{Eao5jYfp2CurBki5{cf^wMsJgomrI!uP&`OL@H|)M1Wt z-s6T`B%smtubJG|L#9ri{vuwLx%B$%__0~fNojW}RMmA59z$hw6naT^0YRNAjtXwk zx`dQ0H%^>2{63Vte}L$TmTBu_cuSQeeQbmwg}XW8$l~CZY>?qAnp);?;-@=;BXVPf zJ)PneQ)K-pKW6zQl)bYeg(=qXA7h9DfSkq)X$^RO^VP2`O+qy_fQi%Jh|l2aEBAlF<)+!?&P+I#K<)^~&q8{-30lzON5%OVdoR+)+2 zI?_Y+26wRsxkezt)G+j}{GROvac~ajm$Ct8-RD* b*+sKRr)Sb=`*jmYdj`Pph_Hsx_)~uZhQ`&B diff --git a/docs/html/classgridfire_1_1_engine.html b/docs/html/classgridfire_1_1_engine.html index b2578164..7ccdc6c3 100644 --- a/docs/html/classgridfire_1_1_engine.html +++ b/docs/html/classgridfire_1_1_engine.html @@ -116,9 +116,10 @@ Inheritance diagram for gridfire::Engine:
-gridfire::DynamicEngine -gridfire::AdaptiveEngineView -gridfire::GraphEngine +gridfire::DynamicEngine +gridfire::AdaptiveEngineView +gridfire::FileDefinedEngineView +gridfire::GraphEngine
@@ -141,9 +142,9 @@ Public Member Functions

Example:

class MyEngine : public gridfire::Engine {
// Implement required methods...
};
-
Abstract base class for a reaction network engine.
+
Abstract base class for a reaction network engine.
-

Definition at line 72 of file engine_abstract.h.

+

Definition at line 75 of file engine_abstract.h.

Constructor & Destructor Documentation

◆ ~Engine()

@@ -200,7 +201,7 @@ Public Member Functions
-pure virtual +nodiscardpure virtual
@@ -217,7 +218,7 @@ Public Member Functions
Returns
StepDerivatives<double> containing dY/dt and energy generation rate.

This function must be implemented by derived classes to compute the time derivatives of all species and the specific nuclear energy generation rate for the current state.

-

Implemented in gridfire::AdaptiveEngineView, and gridfire::GraphEngine.

+

Implemented in gridfire::AdaptiveEngineView, gridfire::FileDefinedEngineView, and gridfire::GraphEngine.

@@ -239,7 +240,7 @@ Public Member Functions -pure virtual +nodiscardpure virtual
@@ -247,7 +248,7 @@ Public Member Functions

Get the list of species in the network.

Returns
Vector of Species objects representing all network species.
-

Implemented in gridfire::AdaptiveEngineView, and gridfire::GraphEngine.

+

Implemented in gridfire::AdaptiveEngineView, gridfire::FileDefinedEngineView, and gridfire::GraphEngine.

diff --git a/docs/html/classgridfire_1_1_engine.png b/docs/html/classgridfire_1_1_engine.png index 7db1ce252f2e87dad2d5c5c7de1584961508a4b8..d7302e72b063eca79ba2548ddef953b220fdbb66 100644 GIT binary patch literal 1977 zcmb_dX;f3!7ETZvL=ccJ4Kt#RsRM%=2!RTg5M+r+fE!elQBi{oDU*zXRt9D8K^0_5 zG^NBN1RM}C3}s9ek+y^e4PlfACJds40D>~k48D-16fCuow!P?a}c$$gVK zEAHPiwm+XQz8jB08F1tF#@v#(kF-TJ2vV$c7>02Z_&n32Iagb<$T|!yYYmmB+ewGh zY&x;(zh*S#62d>OKNFNY=1$-n<1(*I;NP&fT5z$`Hz_z#7@gy{?r)q!{&kz+aS9-f z)E14$V4bIao2a@@9*Jf@)aEAyGGnYYR)f8FYj+zB;5oEM7nh`ygd{vY)p+m(H~7oN zE(-If*CU~2?yK^K{V9*4jJOLp<#wcgY|MqXk~uW4+#zpb`5=7D__i?KrB!EUH_gaa zm&vevW)O?rt!HZz*KEl2=OKb91rWeLfa?O@f;JS(^jmBKsnnD@y-&~;8knidQvvH=H zs>{BE&S{89J*JtH-jWQfhCHRCge~9S@X}!*m0{+G{!O7WOzAZY{!;aVbIw&n_+Rk+ zHyv88LT3amyDW8BX|}4XPG{T$qL9BXn zQ?ma`DXofhCSne3&gqO*bTk8vj*MR<+G`xL9x2%Rx@EghlINK)4s4OjZxQ%x()oHqRli#*91DhJKr!J>5T zf(PsWY`AgV$h1?!`@vXlBj_PLwp;P~{Zl&2_S>Oa? z|1tgseE<&KxoECjTd}ux-Up(5JthDIGZF+zh&eFlX=n%q_;R{yBjWyqQ}K=L0+l^M9Bzw&lJpuvoG_edKAg`0)B}Dd3P9Gn zzeZdC2~{1_tQcU$(;MDNBicZ9piuW6-efGu@B%IoH~4oimf zJ}rFVXIl4%1Qzaft={_pILhxk6=cEI<3FO+Q;K#&unz>GI#~czEbphnV;g;UXRy+& dgsH4(Ke(eWJ9i{l7yij2+*~|}>~90F{tLmpz^DKK literal 1527 zcmbu9X;f236vtmc7DXtEG>Qm#h*Ib&SdmQ&Vq^=D1VUJ3KPW*11W0@$C<$x9rCKA4 z5s-orA)!=68WVOAJuCqQ9;sjiWHXUXXhb5AzH&}K^z=(lJ0JdYXYM^SckXXyE_vZx zHMi((0RTV~Q(lJiQi02Wr#qawb9^UGL#77mqR_Mk}4t#kz zola_Y)6aL8B-|)xAevl7pqK^NnijKOC8_j#wxhu20 z8Z<6TthBZ~@>GQe=6^htRz(zH4sXw4y;4o|1qA^vGGo&n5!~QnE>iNWJLV{okYc-4 zSS4_XPH7E}C7mnk4GgnLyZBaGJ1FunB9RokHxA+zOPWGgSX=nB>Ny+q~5 z+8ji%It0MQ`u}c6XLr+-j38JLsW+J@$#TxMT4o_x1Nw8$XUq-ew&X$U0kSY&E?cF!Lcm_H{4Ga%usxBG zl*dno6ar<;BHUA9CEz@5%$2w^u3EJzAmrfBf*i zPI}Pa;&XGT(yrc`MWf&f`pkzX{S6~g?@uc2nm`&nAOE!z;+~{c?Z;@)@iGz-(`Wf6 zx~_SwcZ!TT{PgquG>5~pd4P&tqIk|5&Y9@spw{fsbtt|zXJ1E_*Eblr?ilLW0LRB& z;sk7RY@z^&79Nbt;5B7TuO$rz)ha&wSoMS&v!l$ z7fl71QkDwX*1cuP7aH68SH`M0&lC+*1v2#-3?Y0$|Isr?&EMpr8nJ%%O$*PLSJyv_ zZ1c1dzlMD3*T?R5EHEgy4284bgIJK-+VF-GdE!BstY$J-G37e`bgJafrT5oL>8YjJ zl~+0kR~a>*1Q9O`g>tSiEW3+D%*}Q**IS&mDH9~@jI$oHXJE)RJrMtj|B-6%gl(CV zcDy^};tA?aY~QiFB-r&K&$FI diff --git a/docs/html/classgridfire_1_1_engine_view.html b/docs/html/classgridfire_1_1_engine_view.html index 05580e56..59ecd06a 100644 --- a/docs/html/classgridfire_1_1_engine_view.html +++ b/docs/html/classgridfire_1_1_engine_view.html @@ -139,7 +139,7 @@ class gridfire::EngineView< EngineT >

Abstract base class for a "v

private:
DynamicEngine& engine_;
};
-
Abstract class for engines supporting Jacobian and stoichiometry operations.
+
Abstract class for engines supporting Jacobian and stoichiometry operations.
Abstract base class for a "view" of a reaction network engine.
virtual const EngineT & getBaseEngine() const =0
Access the underlying engine instance.
See also
gridfire::AdaptiveEngineView for a concrete example of dynamic culling.
@@ -206,12 +206,12 @@ template<EngineType EngineT>

This method must be implemented by derived classes to provide access to the base engine. The returned reference should remain valid for the lifetime of the EngineView.

Example:

const DynamicEngine& engine = myView.getBaseEngine();
-

Implemented in gridfire::AdaptiveEngineView.

+

Implemented in gridfire::AdaptiveEngineView, and gridfire::FileDefinedEngineView.


The documentation for this class was generated from the following file: diff --git a/docs/html/classgridfire_1_1_graph_engine-members.html b/docs/html/classgridfire_1_1_graph_engine-members.html index 9f38dacb..06acbadd 100644 --- a/docs/html/classgridfire_1_1_graph_engine-members.html +++ b/docs/html/classgridfire_1_1_graph_engine-members.html @@ -120,30 +120,35 @@ $(function(){initNavTree('classgridfire_1_1_graph_engine.html',''); initResizabl getNetReactionStoichiometry(const reaction::Reaction &reaction)gridfire::GraphEnginestatic getNetworkReactions() const overridegridfire::GraphEnginevirtual getNetworkSpecies() const overridegridfire::GraphEnginevirtual - getSpeciesTimescales(const std::vector< double > &Y, double T9, double rho) const overridegridfire::GraphEnginevirtual - getStoichiometryMatrixEntry(const int speciesIndex, const int reactionIndex) const overridegridfire::GraphEnginevirtual - GraphEngine(const fourdst::composition::Composition &composition)gridfire::GraphEngineexplicit - GraphEngine(reaction::LogicalReactionSet reactions)gridfire::GraphEngineexplicit - involvesSpecies(const fourdst::atomic::Species &species) constgridfire::GraphEngine - m_configgridfire::GraphEngineprivate - m_constantsgridfire::GraphEngineprivate - m_jacobianMatrixgridfire::GraphEngineprivate - m_loggergridfire::GraphEngineprivate - m_networkSpeciesgridfire::GraphEngineprivate - m_networkSpeciesMapgridfire::GraphEngineprivate - m_reactionIDMapgridfire::GraphEngineprivate - m_reactionsgridfire::GraphEngineprivate - m_rhsADFungridfire::GraphEngineprivate - m_speciesToIndexMapgridfire::GraphEngineprivate - m_stoichiometryMatrixgridfire::GraphEngineprivate - populateReactionIDMap()gridfire::GraphEngineprivate - populateSpeciesToIndexMap()gridfire::GraphEngineprivate - recordADTape()gridfire::GraphEngineprivate - reserveJacobianMatrix()gridfire::GraphEngineprivate + getScreeningModel() const overridegridfire::GraphEnginevirtual + getSpeciesTimescales(const std::vector< double > &Y, double T9, double rho) const overridegridfire::GraphEnginevirtual + getStoichiometryMatrixEntry(const int speciesIndex, const int reactionIndex) const overridegridfire::GraphEnginevirtual + GraphEngine(const fourdst::composition::Composition &composition)gridfire::GraphEngineexplicit + GraphEngine(reaction::LogicalReactionSet reactions)gridfire::GraphEngineexplicit + involvesSpecies(const fourdst::atomic::Species &species) constgridfire::GraphEngine + m_configgridfire::GraphEngineprivate + m_constantsgridfire::GraphEngineprivate + m_jacobianMatrixgridfire::GraphEngineprivate + m_loggergridfire::GraphEngineprivate + m_networkSpeciesgridfire::GraphEngineprivate + m_networkSpeciesMapgridfire::GraphEngineprivate + m_reactionIDMapgridfire::GraphEngineprivate + m_reactionsgridfire::GraphEngineprivate + m_rhsADFungridfire::GraphEngineprivate + m_screeningModelgridfire::GraphEngineprivate + m_screeningTypegridfire::GraphEngineprivate + m_speciesToIndexMapgridfire::GraphEngineprivate + m_stoichiometryMatrixgridfire::GraphEngineprivate + populateReactionIDMap()gridfire::GraphEngineprivate + populateSpeciesToIndexMap()gridfire::GraphEngineprivate + recordADTape()gridfire::GraphEngineprivate + reserveJacobianMatrix()gridfire::GraphEngineprivate + setScreeningModel(screening::ScreeningType) overridegridfire::GraphEnginevirtual syncInternalMaps()gridfire::GraphEngineprivate - validateComposition(const fourdst::composition::Composition &composition, double culling, double T9)gridfire::GraphEngineprivate - validateConservation() constgridfire::GraphEngineprivate - ~Engine()=defaultgridfire::Enginevirtual + update(const NetIn &netIn) overridegridfire::GraphEnginevirtual + validateComposition(const fourdst::composition::Composition &composition, double culling, double T9)gridfire::GraphEngineprivate + validateConservation() constgridfire::GraphEngineprivate + ~Engine()=defaultgridfire::Enginevirtual diff --git a/docs/html/classgridfire_1_1_graph_engine.html b/docs/html/classgridfire_1_1_graph_engine.html index 94d3df50..5a23c816 100644 --- a/docs/html/classgridfire_1_1_graph_engine.html +++ b/docs/html/classgridfire_1_1_graph_engine.html @@ -129,7 +129,7 @@ Public Member Functions  GraphEngine (const fourdst::composition::Composition &composition)  Constructs a GraphEngine from a composition.
  - GraphEngine (reaction::LogicalReactionSet reactions) + GraphEngine (reaction::LogicalReactionSet reactions)  Constructs a GraphEngine from a set of reactions.
  StepDerivatives< double > calculateRHSAndEnergy (const std::vector< double > &Y, const double T9, const double rho) const override @@ -147,7 +147,7 @@ Public Member Functions const std::vector< fourdst::atomic::Species > & getNetworkSpecies () const override  Gets the list of species in the network.
  -const reaction::LogicalReactionSetgetNetworkReactions () const override +const reaction::LogicalReactionSetgetNetworkReactions () const override  Gets the set of logical reactions in the network.
  double getJacobianMatrixEntry (const int i, const int j) const override @@ -159,6 +159,8 @@ Public Member Functions std::unordered_map< fourdst::atomic::Species, double > getSpeciesTimescales (const std::vector< double > &Y, double T9, double rho) const override  Computes timescales for all species in the network.
  +void update (const NetIn &netIn) override +  bool involvesSpecies (const fourdst::atomic::Species &species) const  Checks if a given species is involved in the network.
  @@ -168,6 +170,10 @@ Public Member Functions void exportToCSV (const std::string &filename) const  Exports the network to a CSV file for analysis.
  +void setScreeningModel (screening::ScreeningType) override +  +screening::ScreeningType getScreeningModel () const override +  - Public Member Functions inherited from gridfire::Engine virtual ~Engine ()=default  Virtual destructor.
@@ -222,7 +228,7 @@ Private Member Functions - + @@ -246,6 +252,11 @@ Private Attributes + + + + + @@ -268,7 +279,7 @@ Private Attributes
See also
engine_abstract.h
-

Definition at line 86 of file engine_graph.h.

+

Definition at line 89 of file engine_graph.h.

Constructor & Destructor Documentation

◆ GraphEngine() [1/2]

@@ -303,7 +314,7 @@ Private Attributes

This constructor builds the reaction network from the given composition using the build_reaclib_nuclear_network function.

See also
build_reaclib_nuclear_network
-

Definition at line 25 of file engine_graph.cpp.

+

Definition at line 26 of file engine_graph.cpp.

@@ -319,7 +330,7 @@ Private Attributes - +

Private Attributes

reaction::LogicalReactionSet m_reactions
reaction::LogicalReactionSet m_reactions
 Set of REACLIB reactions in the network.
 
std::unordered_map< std::string_view, reaction::Reaction * > m_reactionIDMap
CppAD::ADFun< double > m_rhsADFun
 CppAD function for the right-hand side of the ODE.
 
screening::ScreeningType m_screeningType = screening::ScreeningType::BARE
 Screening type for the reaction network. Default to no screening.
 
std::unique_ptr< screening::ScreeningModelm_screeningModel = screening::selectScreeningModel(m_screeningType)
 
Config & m_config = Config::getInstance()
 
Constants & m_constants = Constants::getInstance()
gridfire::GraphEngine::GraphEngine (reaction::LogicalReactionSet reactions)reaction::LogicalReactionSet reactions)
@@ -339,7 +350,7 @@ Private Attributes

This constructor uses the given set of reactions to construct the reaction network.

-

Definition at line 32 of file engine_graph.cpp.

+

Definition at line 33 of file engine_graph.cpp.

@@ -371,7 +382,7 @@ Private Attributes -private +nodiscardprivate
@@ -388,7 +399,7 @@ Private Attributes
Returns
StepDerivatives<ADDouble> 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 using automatic differentiation.

-

Definition at line 257 of file engine_graph.cpp.

+

Definition at line 258 of file engine_graph.cpp.

@@ -419,7 +430,7 @@ Private Attributes -private +nodiscardprivate
@@ -436,7 +447,7 @@ Private Attributes
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 using double precision arithmetic.

-

Definition at line 249 of file engine_graph.cpp.

+

Definition at line 250 of file engine_graph.cpp.

@@ -469,7 +480,7 @@ template<IsArithmeticOrAD T> -private +nodiscardprivate
@@ -492,7 +503,7 @@ template<IsArithmeticOrAD T>
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.

-

Definition at line 475 of file engine_graph.h.

+

Definition at line 487 of file engine_graph.h.

@@ -528,7 +539,7 @@ template<IsArithmeticOrAD T> -overridevirtual +nodiscardoverridevirtual
@@ -548,7 +559,7 @@ template<IsArithmeticOrAD T>

Implements gridfire::DynamicEngine.

-

Definition at line 265 of file engine_graph.cpp.

+

Definition at line 275 of file engine_graph.cpp.

@@ -610,7 +621,7 @@ template<IsArithmeticOrAD T>
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.

-

Definition at line 536 of file engine_graph.h.

+

Definition at line 555 of file engine_graph.h.

@@ -641,7 +652,7 @@ template<IsArithmeticOrAD T> -overridevirtual +nodiscardoverridevirtual
@@ -661,7 +672,7 @@ template<IsArithmeticOrAD T>

Implements gridfire::Engine.

-

Definition at line 37 of file engine_graph.cpp.

+

Definition at line 38 of file engine_graph.cpp.

@@ -691,7 +702,7 @@ template<IsArithmeticOrAD T>

Collects the unique species in the network.

This method collects the unique species in the network from the reactants and products of all reactions.

-

Definition at line 56 of file engine_graph.cpp.

+

Definition at line 57 of file engine_graph.cpp.

@@ -726,7 +737,7 @@ template<IsArithmeticOrAD T>

Example usage:

engine.exportToCSV("network.csv");
-

Definition at line 372 of file engine_graph.cpp.

+

Definition at line 382 of file engine_graph.cpp.

@@ -761,7 +772,7 @@ template<IsArithmeticOrAD T>

Example usage:

engine.exportToDot("network.dot");
-

Definition at line 324 of file engine_graph.cpp.

+

Definition at line 334 of file engine_graph.cpp.

@@ -811,7 +822,7 @@ template<IsArithmeticOrAD T>

Implements gridfire::DynamicEngine.

-

Definition at line 274 of file engine_graph.cpp.

+

Definition at line 284 of file engine_graph.cpp.

@@ -843,7 +854,7 @@ template<IsArithmeticOrAD T>

Implements gridfire::DynamicEngine.

-

Definition at line 208 of file engine_graph.cpp.

+

Definition at line 209 of file engine_graph.cpp.

@@ -888,7 +899,7 @@ template<IsArithmeticOrAD T>

Implements gridfire::DynamicEngine.

-

Definition at line 307 of file engine_graph.cpp.

+

Definition at line 317 of file engine_graph.cpp.

@@ -924,7 +935,7 @@ template<IsArithmeticOrAD T>
Returns
Map of species to their stoichiometric coefficients.
-

Definition at line 311 of file engine_graph.cpp.

+

Definition at line 321 of file engine_graph.cpp.

@@ -938,7 +949,7 @@ template<IsArithmeticOrAD T> - + @@ -956,7 +967,7 @@ template<IsArithmeticOrAD T>

Implements gridfire::DynamicEngine.

-

Definition at line 118 of file engine_graph.cpp.

+

Definition at line 119 of file engine_graph.cpp.

@@ -988,7 +999,36 @@ template<IsArithmeticOrAD T>

Implements gridfire::Engine.

-

Definition at line 112 of file engine_graph.cpp.

+

Definition at line 113 of file engine_graph.cpp.

+ + + + +

◆ getScreeningModel()

+ +
+
+
const reaction::LogicalReactionSet & gridfire::GraphEngine::getNetworkReactions const reaction::LogicalReactionSet & gridfire::GraphEngine::getNetworkReactions ( ) const
+ + + + +
+ + + + + + + +
screening::ScreeningType gridfire::GraphEngine::getScreeningModel () const
+
+nodiscardoverridevirtual
+
+ +

Implements gridfire::DynamicEngine.

+ +

Definition at line 271 of file engine_graph.cpp.

@@ -1038,7 +1078,7 @@ template<IsArithmeticOrAD T>

Implements gridfire::DynamicEngine.

-

Definition at line 426 of file engine_graph.cpp.

+

Definition at line 436 of file engine_graph.cpp.

@@ -1083,7 +1123,7 @@ template<IsArithmeticOrAD T>

Implements gridfire::DynamicEngine.

-

Definition at line 317 of file engine_graph.cpp.

+

Definition at line 327 of file engine_graph.cpp.

@@ -1119,7 +1159,7 @@ template<IsArithmeticOrAD T>
Returns
True if the species is involved in the network, false otherwise.
-

Definition at line 124 of file engine_graph.cpp.

+

Definition at line 125 of file engine_graph.cpp.

@@ -1149,7 +1189,7 @@ template<IsArithmeticOrAD T>

Populates the reaction ID map.

This method populates the reaction ID map, which maps reaction IDs to REACLIBReaction objects.

-

Definition at line 85 of file engine_graph.cpp.

+

Definition at line 86 of file engine_graph.cpp.

@@ -1179,7 +1219,7 @@ template<IsArithmeticOrAD T>

Populates the species-to-index map.

This method populates the species-to-index map, which maps species to their index in the stoichiometry matrix.

-

Definition at line 94 of file engine_graph.cpp.

+

Definition at line 95 of file engine_graph.cpp.

@@ -1215,7 +1255,7 @@ template<IsArithmeticOrAD T> -

Definition at line 442 of file engine_graph.cpp.

+

Definition at line 456 of file engine_graph.cpp.

@@ -1245,7 +1285,36 @@ template<IsArithmeticOrAD T>

Reserves space for the Jacobian matrix.

This method reserves space for the Jacobian matrix, which is used to store the partial derivatives of the right-hand side of the ODE with respect to the species abundances.

-

Definition at line 101 of file engine_graph.cpp.

+

Definition at line 102 of file engine_graph.cpp.

+ + + + +

◆ setScreeningModel()

+ +
+
+ + + + + +
+ + + + + + + +
void gridfire::GraphEngine::setScreeningModel (screening::ScreeningType model)
+
+overridevirtual
+
+ +

Implements gridfire::DynamicEngine.

+ +

Definition at line 266 of file engine_graph.cpp.

@@ -1275,7 +1344,36 @@ template<IsArithmeticOrAD T>

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.

-

Definition at line 46 of file engine_graph.cpp.

+

Definition at line 47 of file engine_graph.cpp.

+ + + + +

◆ update()

+ +
+
+ + + + + +
+ + + + + + + +
void gridfire::GraphEngine::update (const NetIn & netIn)
+
+overridevirtual
+
+ +

Implements gridfire::DynamicEngine.

+ +

Definition at line 452 of file engine_graph.cpp.

@@ -1322,7 +1420,7 @@ template<IsArithmeticOrAD T>

This method validates the composition against the current reaction set. If the composition is not compatible with the reaction set, the reaction set is rebuilt from the composition.

-

Definition at line 187 of file engine_graph.cpp.

+

Definition at line 188 of file engine_graph.cpp.

@@ -1353,7 +1451,7 @@ template<IsArithmeticOrAD T>
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.

-

Definition at line 132 of file engine_graph.cpp.

+

Definition at line 133 of file engine_graph.cpp.

@@ -1378,7 +1476,7 @@ template<IsArithmeticOrAD T>
-

Definition at line 310 of file engine_graph.h.

+

Definition at line 322 of file engine_graph.h.

@@ -1404,7 +1502,7 @@ template<IsArithmeticOrAD T>

Access to physical constants.

-

Definition at line 311 of file engine_graph.h.

+

Definition at line 323 of file engine_graph.h.

@@ -1430,7 +1528,7 @@ template<IsArithmeticOrAD T>

Jacobian matrix (species x species).

-

Definition at line 306 of file engine_graph.h.

+

Definition at line 315 of file engine_graph.h.

@@ -1454,7 +1552,7 @@ template<IsArithmeticOrAD T>
-

Definition at line 312 of file engine_graph.h.

+

Definition at line 324 of file engine_graph.h.

@@ -1480,7 +1578,7 @@ template<IsArithmeticOrAD T>

Vector of unique species in the network.

-

Definition at line 301 of file engine_graph.h.

+

Definition at line 310 of file engine_graph.h.

@@ -1506,7 +1604,7 @@ template<IsArithmeticOrAD T>

Map from species name to Species object.

-

Definition at line 302 of file engine_graph.h.

+

Definition at line 311 of file engine_graph.h.

@@ -1532,7 +1630,7 @@ template<IsArithmeticOrAD T>

Map from reaction ID to REACLIBReaction. //PERF: This makes copies of REACLIBReaction and could be a performance bottleneck.

-

Definition at line 299 of file engine_graph.h.

+

Definition at line 308 of file engine_graph.h.

@@ -1546,7 +1644,7 @@ template<IsArithmeticOrAD T> - +
reaction::LogicalReactionSet gridfire::GraphEngine::m_reactionsreaction::LogicalReactionSet gridfire::GraphEngine::m_reactions
@@ -1558,7 +1656,7 @@ template<IsArithmeticOrAD T>

Set of REACLIB reactions in the network.

-

Definition at line 298 of file engine_graph.h.

+

Definition at line 307 of file engine_graph.h.

@@ -1584,7 +1682,57 @@ template<IsArithmeticOrAD T>

CppAD function for the right-hand side of the ODE.

-

Definition at line 308 of file engine_graph.h.

+

Definition at line 317 of file engine_graph.h.

+ + + + +

◆ m_screeningModel

+ +
+
+ + + + + +
+ + + + +
std::unique_ptr<screening::ScreeningModel> gridfire::GraphEngine::m_screeningModel = screening::selectScreeningModel(m_screeningType)
+
+private
+
+ +

Definition at line 320 of file engine_graph.h.

+ +
+
+ +

◆ m_screeningType

+ +
+
+ + + + + +
+ + + + +
screening::ScreeningType gridfire::GraphEngine::m_screeningType = screening::ScreeningType::BARE
+
+private
+
+ +

Screening type for the reaction network. Default to no screening.

+ +

Definition at line 319 of file engine_graph.h.

@@ -1610,7 +1758,7 @@ template<IsArithmeticOrAD T>

Map from species to their index in the stoichiometry matrix.

-

Definition at line 303 of file engine_graph.h.

+

Definition at line 312 of file engine_graph.h.

@@ -1636,7 +1784,7 @@ template<IsArithmeticOrAD T>

Stoichiometry matrix (species x reactions).

-

Definition at line 305 of file engine_graph.h.

+

Definition at line 314 of file engine_graph.h.

diff --git a/docs/html/classgridfire_1_1_graph_engine.js b/docs/html/classgridfire_1_1_graph_engine.js index 160d006a..7fa2aea4 100644 --- a/docs/html/classgridfire_1_1_graph_engine.js +++ b/docs/html/classgridfire_1_1_graph_engine.js @@ -17,6 +17,7 @@ var classgridfire_1_1_graph_engine = [ "getNetReactionStoichiometry", "classgridfire_1_1_graph_engine.html#a8c29d8bbde407e913be5eb77efb2c0c9", null ], [ "getNetworkReactions", "classgridfire_1_1_graph_engine.html#ad45650d10fc5dff1673ae3f806d067da", null ], [ "getNetworkSpecies", "classgridfire_1_1_graph_engine.html#a0ed390f3e598ebba4e245ac90bb78767", null ], + [ "getScreeningModel", "classgridfire_1_1_graph_engine.html#a697f2004e0d02c59e83c7890742d7c9a", null ], [ "getSpeciesTimescales", "classgridfire_1_1_graph_engine.html#a26215593544c3a52597194602e4e25dd", null ], [ "getStoichiometryMatrixEntry", "classgridfire_1_1_graph_engine.html#a6b5feaf788bade212b7c8df7ac8c8152", null ], [ "involvesSpecies", "classgridfire_1_1_graph_engine.html#aa6202cee0c3c481eda77cc9a91bc126b", null ], @@ -24,7 +25,9 @@ var classgridfire_1_1_graph_engine = [ "populateSpeciesToIndexMap", "classgridfire_1_1_graph_engine.html#a47202c43342b96480070874bffce1391", null ], [ "recordADTape", "classgridfire_1_1_graph_engine.html#a95563f6bc86007d9ee053a0f1e15b889", null ], [ "reserveJacobianMatrix", "classgridfire_1_1_graph_engine.html#a5a5458ed01923124f2d7e1f04f32f138", null ], + [ "setScreeningModel", "classgridfire_1_1_graph_engine.html#a8110e687844f921438bb517e1d8ce62f", null ], [ "syncInternalMaps", "classgridfire_1_1_graph_engine.html#acdce8d87e23a2cd1504bc9472e538c0f", null ], + [ "update", "classgridfire_1_1_graph_engine.html#a51b4cedf9b00de79fb6eef243631b04d", null ], [ "validateComposition", "classgridfire_1_1_graph_engine.html#aeeafeab40a5f4dbfae78bdc87e25e93f", null ], [ "validateConservation", "classgridfire_1_1_graph_engine.html#acf4cfccea20f5cb31c9886bf233a28be", null ], [ "m_config", "classgridfire_1_1_graph_engine.html#a3b17102b143435ddfdc015d7a50c4b18", null ], @@ -36,6 +39,8 @@ var classgridfire_1_1_graph_engine = [ "m_reactionIDMap", "classgridfire_1_1_graph_engine.html#a5d6cc63b99b467c2a976d1fbaaa1dfa3", null ], [ "m_reactions", "classgridfire_1_1_graph_engine.html#acb7c4f5108b0efeae48ad15598e808c3", null ], [ "m_rhsADFun", "classgridfire_1_1_graph_engine.html#a2e22b111f6d00ecc9e3804a71f1ce876", null ], + [ "m_screeningModel", "classgridfire_1_1_graph_engine.html#af17cf3762abac3efcab9a8e87c961210", null ], + [ "m_screeningType", "classgridfire_1_1_graph_engine.html#a52edc3e88f1e8fc497e1e63972d63c80", null ], [ "m_speciesToIndexMap", "classgridfire_1_1_graph_engine.html#ad8237c252145a75092202d00f5e1ddf7", null ], [ "m_stoichiometryMatrix", "classgridfire_1_1_graph_engine.html#ad1cb5fd32efc37668e2d9ecf0c72ad24", null ] ]; \ No newline at end of file diff --git a/docs/html/classgridfire_1_1reaction_1_1_logical_reaction-members.html b/docs/html/classgridfire_1_1reaction_1_1_logical_reaction-members.html index 4dbd7b4e..33f5c534 100644 --- a/docs/html/classgridfire_1_1reaction_1_1_logical_reaction-members.html +++ b/docs/html/classgridfire_1_1reaction_1_1_logical_reaction-members.html @@ -137,21 +137,22 @@ $(function(){initNavTree('classgridfire_1_1reaction_1_1_logical_reaction.html',' m_sourcesgridfire::reaction::LogicalReactionprivate num_species() constgridfire::reaction::Reaction operator!=(const Reaction &other) constgridfire::reaction::Reactioninline - operator==(const Reaction &other) constgridfire::reaction::Reactioninline - peName() constgridfire::reaction::Reactioninlinevirtual - product_species() constgridfire::reaction::Reaction - products() constgridfire::reaction::Reactioninline - qValue() constgridfire::reaction::Reactioninline - rateCoefficients() constgridfire::reaction::Reactioninline - reactant_species() constgridfire::reaction::Reaction - reactants() constgridfire::reaction::Reactioninline - Reaction(const std::string_view id, const std::string_view peName, const int chapter, const std::vector< fourdst::atomic::Species > &reactants, const std::vector< fourdst::atomic::Species > &products, const double qValue, const std::string_view label, const RateCoefficientSet &sets, const bool reverse=false)gridfire::reaction::Reaction - size() constgridfire::reaction::LogicalReactioninline - sourceLabel() constgridfire::reaction::Reactioninline - sources() constgridfire::reaction::LogicalReactioninline - stoichiometry(const fourdst::atomic::Species &species) constgridfire::reaction::Reaction - stoichiometry() constgridfire::reaction::Reaction - ~Reaction()=defaultgridfire::reaction::Reactionvirtual + operator<<(std::ostream &os, const LogicalReaction &r)gridfire::reaction::LogicalReactionfriend + operator==(const Reaction &other) constgridfire::reaction::Reactioninline + peName() constgridfire::reaction::Reactioninlinevirtual + product_species() constgridfire::reaction::Reaction + products() constgridfire::reaction::Reactioninline + qValue() constgridfire::reaction::Reactioninline + rateCoefficients() constgridfire::reaction::Reactioninline + reactant_species() constgridfire::reaction::Reaction + reactants() constgridfire::reaction::Reactioninline + Reaction(const std::string_view id, const std::string_view peName, const int chapter, const std::vector< fourdst::atomic::Species > &reactants, const std::vector< fourdst::atomic::Species > &products, const double qValue, const std::string_view label, const RateCoefficientSet &sets, const bool reverse=false)gridfire::reaction::Reaction + size() constgridfire::reaction::LogicalReactioninline + sourceLabel() constgridfire::reaction::Reactioninline + sources() constgridfire::reaction::LogicalReactioninline + stoichiometry(const fourdst::atomic::Species &species) constgridfire::reaction::Reaction + stoichiometry() constgridfire::reaction::Reaction + ~Reaction()=defaultgridfire::reaction::Reactionvirtual diff --git a/docs/html/classgridfire_1_1reaction_1_1_logical_reaction.html b/docs/html/classgridfire_1_1reaction_1_1_logical_reaction.html index 61bc2c6f..d11b538e 100644 --- a/docs/html/classgridfire_1_1reaction_1_1_logical_reaction.html +++ b/docs/html/classgridfire_1_1reaction_1_1_logical_reaction.html @@ -103,6 +103,7 @@ $(function(){initNavTree('classgridfire_1_1reaction_1_1_logical_reaction.html',' Public Member Functions | Private Member Functions | Private Attributes | +Friends | List of all members
gridfire::reaction::LogicalReaction Class Referencefinal
@@ -243,6 +244,11 @@ Private Attributes  List of rate coefficient sets from each source.
  + + + +

+Friends

std::ostream & operator<< (std::ostream &os, const LogicalReaction &r)
 
@@ -280,7 +286,7 @@ Additional Inherited Members

Represents a "logical" reaction that aggregates rates from multiple sources.

A LogicalReaction shares the same reactants and products but combines rates from different evaluations (e.g., "wc12" and "st08" for the same physical reaction). The total rate is the sum of the individual rates. It inherits from Reaction, using the properties of the first provided reaction as its base properties (reactants, products, Q-value, etc.).

-

Definition at line 459 of file reaction.h.

+

Definition at line 308 of file reaction.h.

Constructor & Destructor Documentation

◆ LogicalReaction()

@@ -319,7 +325,7 @@ Additional Inherited Members -

Definition at line 288 of file reaction.cpp.

+

Definition at line 142 of file reaction.cpp.

@@ -353,7 +359,7 @@ Additional Inherited Members -

Definition at line 317 of file reaction.cpp.

+

Definition at line 171 of file reaction.cpp.

@@ -380,7 +386,7 @@ Additional Inherited Members

Additional Inherited Members

- Protected Attributes inherited from gridfire::reaction::Reaction
-

Definition at line 506 of file reaction.h.

+

Definition at line 355 of file reaction.h.

@@ -407,7 +413,7 @@ Additional Inherited Members
-

Definition at line 507 of file reaction.h.

+

Definition at line 356 of file reaction.h.

@@ -445,7 +451,7 @@ Additional Inherited Members

Reimplemented from gridfire::reaction::Reaction.

-

Definition at line 343 of file reaction.cpp.

+

Definition at line 197 of file reaction.cpp.

@@ -483,7 +489,7 @@ Additional Inherited Members

Reimplemented from gridfire::reaction::Reaction.

-

Definition at line 339 of file reaction.cpp.

+

Definition at line 193 of file reaction.cpp.

@@ -528,7 +534,7 @@ template<typename T>
Returns
The total calculated reaction rate.

This method iterates through all stored RateCoefficientSets, calculates the rate for each, and returns their sum.

-

Definition at line 526 of file reaction.h.

+

Definition at line 381 of file reaction.h.

@@ -555,7 +561,7 @@ template<typename T>
-

Definition at line 508 of file reaction.h.

+

Definition at line 357 of file reaction.h.

@@ -582,7 +588,7 @@ template<typename T>
-

Definition at line 509 of file reaction.h.

+

Definition at line 358 of file reaction.h.

@@ -612,7 +618,7 @@ template<typename T>

Gets the number of source rates contributing to this logical reaction.

Returns
The number of aggregated rates.
-

Definition at line 480 of file reaction.h.

+

Definition at line 329 of file reaction.h.

@@ -642,7 +648,39 @@ template<typename T>

Gets the list of source labels for the aggregated rates.

Returns
A vector of source label strings.
-

Definition at line 486 of file reaction.h.

+

Definition at line 335 of file reaction.h.

+ + + +

Friends And Related Symbol Documentation

+ +

◆ operator<<

+ +
+
+ + + + + +
+ + + + + + + + + + + +
std::ostream & operator<< (std::ostream & os,
const LogicalReaction & r )
+
+friend
+
+ +

Definition at line 362 of file reaction.h.

@@ -669,7 +707,7 @@ template<typename T>

List of rate coefficient sets from each source.

-

Definition at line 514 of file reaction.h.

+

Definition at line 369 of file reaction.h.

@@ -695,7 +733,7 @@ template<typename T>

List of source labels.

-

Definition at line 513 of file reaction.h.

+

Definition at line 368 of file reaction.h.

diff --git a/docs/html/classgridfire_1_1reaction_1_1_logical_reaction.js b/docs/html/classgridfire_1_1reaction_1_1_logical_reaction.js index 2c671f87..b4ebf8bd 100644 --- a/docs/html/classgridfire_1_1reaction_1_1_logical_reaction.js +++ b/docs/html/classgridfire_1_1reaction_1_1_logical_reaction.js @@ -11,6 +11,7 @@ var classgridfire_1_1reaction_1_1_logical_reaction = [ "end", "classgridfire_1_1reaction_1_1_logical_reaction.html#a054994f733b44293b4d79f3a9b207560", null ], [ "size", "classgridfire_1_1reaction_1_1_logical_reaction.html#afa41050855b842c63db16c94d2e9b897", null ], [ "sources", "classgridfire_1_1reaction_1_1_logical_reaction.html#add094eda0e71126f8443698d7f3317f4", null ], + [ "operator<<", "classgridfire_1_1reaction_1_1_logical_reaction.html#a10cbea11653524dae2f7eafb5c22c90f", null ], [ "m_rates", "classgridfire_1_1reaction_1_1_logical_reaction.html#a81f75f0085f8a5a45169f0b7240c809d", null ], [ "m_sources", "classgridfire_1_1reaction_1_1_logical_reaction.html#a7fe91d24e20ebc76d612f6ad742f476f", null ] ]; \ No newline at end of file diff --git a/docs/html/classgridfire_1_1reaction_1_1_reaction-members.html b/docs/html/classgridfire_1_1reaction_1_1_reaction-members.html index 287aae4b..17779530 100644 --- a/docs/html/classgridfire_1_1reaction_1_1_reaction-members.html +++ b/docs/html/classgridfire_1_1reaction_1_1_reaction-members.html @@ -129,19 +129,20 @@ $(function(){initNavTree('classgridfire_1_1reaction_1_1_reaction.html',''); init m_sourceLabelgridfire::reaction::Reactionprotected num_species() constgridfire::reaction::Reaction operator!=(const Reaction &other) constgridfire::reaction::Reactioninline - operator==(const Reaction &other) constgridfire::reaction::Reactioninline - peName() constgridfire::reaction::Reactioninlinevirtual - product_species() constgridfire::reaction::Reaction - products() constgridfire::reaction::Reactioninline - qValue() constgridfire::reaction::Reactioninline - rateCoefficients() constgridfire::reaction::Reactioninline - reactant_species() constgridfire::reaction::Reaction - reactants() constgridfire::reaction::Reactioninline - Reaction(const std::string_view id, const std::string_view peName, const int chapter, const std::vector< fourdst::atomic::Species > &reactants, const std::vector< fourdst::atomic::Species > &products, const double qValue, const std::string_view label, const RateCoefficientSet &sets, const bool reverse=false)gridfire::reaction::Reaction - sourceLabel() constgridfire::reaction::Reactioninline - stoichiometry(const fourdst::atomic::Species &species) constgridfire::reaction::Reaction - stoichiometry() constgridfire::reaction::Reaction - ~Reaction()=defaultgridfire::reaction::Reactionvirtual + operator<<(std::ostream &os, const Reaction &r)gridfire::reaction::Reactionfriend + operator==(const Reaction &other) constgridfire::reaction::Reactioninline + peName() constgridfire::reaction::Reactioninlinevirtual + product_species() constgridfire::reaction::Reaction + products() constgridfire::reaction::Reactioninline + qValue() constgridfire::reaction::Reactioninline + rateCoefficients() constgridfire::reaction::Reactioninline + reactant_species() constgridfire::reaction::Reaction + reactants() constgridfire::reaction::Reactioninline + Reaction(const std::string_view id, const std::string_view peName, const int chapter, const std::vector< fourdst::atomic::Species > &reactants, const std::vector< fourdst::atomic::Species > &products, const double qValue, const std::string_view label, const RateCoefficientSet &sets, const bool reverse=false)gridfire::reaction::Reaction + sourceLabel() constgridfire::reaction::Reactioninline + stoichiometry(const fourdst::atomic::Species &species) constgridfire::reaction::Reaction + stoichiometry() constgridfire::reaction::Reaction + ~Reaction()=defaultgridfire::reaction::Reactionvirtual diff --git a/docs/html/classgridfire_1_1reaction_1_1_reaction.html b/docs/html/classgridfire_1_1reaction_1_1_reaction.html index eb2c0b84..7fab4165 100644 --- a/docs/html/classgridfire_1_1reaction_1_1_reaction.html +++ b/docs/html/classgridfire_1_1reaction_1_1_reaction.html @@ -103,6 +103,7 @@ $(function(){initNavTree('classgridfire_1_1reaction_1_1_reaction.html',''); init Public Member Functions | Protected Attributes | Private Member Functions | +Friends | List of all members
gridfire::reaction::Reaction Class Reference
@@ -241,6 +242,11 @@ Private Member Functions T calculate_rate (const T T9) const  Template implementation for calculating the reaction rate.
  + + + +

+Friends

std::ostream & operator<< (std::ostream &os, const Reaction &r)
 

Detailed Description

Represents a single nuclear reaction from a specific data source.

@@ -252,7 +258,7 @@ Private Member Functions
double rate = p_gamma_d.calculate_rate(0.1); // T9 = 0.1
Reaction(const std::string_view id, const std::string_view peName, const int chapter, const std::vector< fourdst::atomic::Species > &reactants, const std::vector< fourdst::atomic::Species > &products, const double qValue, const std::string_view label, const RateCoefficientSet &sets, const bool reverse=false)
Constructs a Reaction object.
Definition reaction.cpp:19
-

Definition at line 71 of file reaction.h.

+

Definition at line 72 of file reaction.h.

Constructor & Destructor Documentation

◆ ~Reaction()

@@ -503,7 +509,7 @@ template<typename T>
Returns
The calculated reaction rate.

The rate is calculated using the standard REACLIB formula: rate = exp(a0 + a1/T9 + a2/T9^(1/3) + a3*T9^(1/3) + a4*T9 + a5*T9^(5/3) + a6*ln(T9))

-

Definition at line 276 of file reaction.h.

+

Definition at line 281 of file reaction.h.

@@ -533,7 +539,7 @@ template<typename T>

Gets the REACLIB chapter number.

Returns
The chapter number.
-

Definition at line 125 of file reaction.h.

+

Definition at line 126 of file reaction.h.

@@ -738,7 +744,7 @@ template<typename T>

Gets the unique identifier of the reaction.

Returns
The reaction ID.
-

Definition at line 201 of file reaction.h.

+

Definition at line 202 of file reaction.h.

@@ -768,7 +774,7 @@ template<typename T>

Checks if this is a reverse reaction rate.

Returns
True if it is a reverse rate, false otherwise.
-

Definition at line 225 of file reaction.h.

+

Definition at line 226 of file reaction.h.

@@ -834,7 +840,7 @@ template<typename T>
Returns
True if the reactions are not equal.
-

Definition at line 245 of file reaction.h.

+

Definition at line 246 of file reaction.h.

@@ -870,7 +876,7 @@ template<typename T>
Returns
True if the reaction IDs are the same.
-

Definition at line 238 of file reaction.h.

+

Definition at line 239 of file reaction.h.

@@ -900,7 +906,7 @@ template<typename T>

Gets the reaction name in (projectile, ejectile) notation.

Returns
The reaction name (e.g., "p(p,g)d").
-

Definition at line 119 of file reaction.h.

+

Definition at line 120 of file reaction.h.

@@ -960,7 +966,7 @@ template<typename T>

Gets the vector of product species.

Returns
A const reference to the vector of products.
-

Definition at line 219 of file reaction.h.

+

Definition at line 220 of file reaction.h.

@@ -990,7 +996,7 @@ template<typename T>

Gets the Q-value of the reaction.

Returns
The Q-value in whatever units the reaction was defined in (usually MeV).
-

Definition at line 207 of file reaction.h.

+

Definition at line 208 of file reaction.h.

@@ -1020,7 +1026,7 @@ template<typename T>

Gets the set of rate coefficients.

Returns
A const reference to the RateCoefficientSet.
-

Definition at line 137 of file reaction.h.

+

Definition at line 138 of file reaction.h.

@@ -1080,7 +1086,7 @@ template<typename T>

Gets the vector of reactant species.

Returns
A const reference to the vector of reactants.
-

Definition at line 213 of file reaction.h.

+

Definition at line 214 of file reaction.h.

@@ -1110,7 +1116,7 @@ template<typename T>

Gets the source label for the rate data.

Returns
The source label (e.g., "wc12w", "st08").
-

Definition at line 131 of file reaction.h.

+

Definition at line 132 of file reaction.h.

@@ -1176,6 +1182,38 @@ template<typename T>
Returns
The stoichiometric coefficient (negative for reactants, positive for products).
+ + +

Friends And Related Symbol Documentation

+ +

◆ operator<<

+ +
+
+ + + + + +
+ + + + + + + + + + + +
std::ostream & operator<< (std::ostream & os,
const Reaction & r )
+
+friend
+
+ +

Definition at line 256 of file reaction.h.

+

Member Data Documentation

@@ -1201,7 +1239,7 @@ template<typename T>

Chapter number from the REACLIB database, defining the reaction structure.

-

Definition at line 259 of file reaction.h.

+

Definition at line 264 of file reaction.h.

@@ -1227,7 +1265,7 @@ template<typename T>

Unique identifier for the reaction (e.g., "h1+h1=>h2+e+nu").

-

Definition at line 257 of file reaction.h.

+

Definition at line 262 of file reaction.h.

@@ -1251,7 +1289,7 @@ template<typename T>
-

Definition at line 256 of file reaction.h.

+

Definition at line 261 of file reaction.h.

@@ -1277,7 +1315,7 @@ template<typename T>

Name of the reaction in (projectile, ejectile) notation (e.g. "p(p,g)d").

-

Definition at line 258 of file reaction.h.

+

Definition at line 263 of file reaction.h.

@@ -1303,7 +1341,7 @@ template<typename T>

Products of the reaction.

-

Definition at line 262 of file reaction.h.

+

Definition at line 267 of file reaction.h.

@@ -1329,7 +1367,7 @@ template<typename T>

Q-value of the reaction in MeV.

-

Definition at line 260 of file reaction.h.

+

Definition at line 265 of file reaction.h.

@@ -1355,7 +1393,7 @@ template<typename T>

The seven rate coefficients.

-

Definition at line 264 of file reaction.h.

+

Definition at line 269 of file reaction.h.

@@ -1381,7 +1419,7 @@ template<typename T>

Reactants of the reaction.

-

Definition at line 261 of file reaction.h.

+

Definition at line 266 of file reaction.h.

@@ -1407,7 +1445,7 @@ template<typename T>

Flag indicating if this is a reverse reaction rate.

-

Definition at line 265 of file reaction.h.

+

Definition at line 270 of file reaction.h.

@@ -1433,7 +1471,7 @@ template<typename T>

Source label for the rate data (e.g., "wc12w", "st08").

-

Definition at line 263 of file reaction.h.

+

Definition at line 268 of file reaction.h.

diff --git a/docs/html/classgridfire_1_1reaction_1_1_reaction.js b/docs/html/classgridfire_1_1reaction_1_1_reaction.js index 4e56f524..310bb969 100644 --- a/docs/html/classgridfire_1_1reaction_1_1_reaction.js +++ b/docs/html/classgridfire_1_1reaction_1_1_reaction.js @@ -27,6 +27,7 @@ var classgridfire_1_1reaction_1_1_reaction = [ "sourceLabel", "classgridfire_1_1reaction_1_1_reaction.html#a410e2ab0784ad751f82bbe55be603db0", null ], [ "stoichiometry", "classgridfire_1_1reaction_1_1_reaction.html#ad359c06d7196c1a7a955a7b66a51dbe3", null ], [ "stoichiometry", "classgridfire_1_1reaction_1_1_reaction.html#aaf0c94db6536b4a9ac1ec08a5c8f01ac", null ], + [ "operator<<", "classgridfire_1_1reaction_1_1_reaction.html#a2b05ab608187216fc751bd2e42e8b7d8", null ], [ "m_chapter", "classgridfire_1_1reaction_1_1_reaction.html#a16f9cbb6269817099d3dc07d4e63da7b", null ], [ "m_id", "classgridfire_1_1reaction_1_1_reaction.html#a5c685e5a736b51799e5b9f6746c4126b", null ], [ "m_logger", "classgridfire_1_1reaction_1_1_reaction.html#a7044d0a1d59d85502ce554e4ec2167e4", null ], diff --git a/docs/html/classgridfire_1_1solver_1_1_direct_network_solver.html b/docs/html/classgridfire_1_1solver_1_1_direct_network_solver.html index 51d86cf4..6bb7f528 100644 --- a/docs/html/classgridfire_1_1solver_1_1_direct_network_solver.html +++ b/docs/html/classgridfire_1_1solver_1_1_direct_network_solver.html @@ -173,7 +173,7 @@ Additional Inherited Members

A network solver that directly integrates the reaction network ODEs.

This solver uses a Runge-Kutta method to directly integrate the reaction network ODEs. It is simpler than the QSENetworkSolver, but it can be less efficient for stiff networks with disparate timescales.

-

Definition at line 379 of file solver.h.

+

Definition at line 386 of file solver.h.

Member Function Documentation

◆ evaluate()

@@ -209,7 +209,7 @@ Additional Inherited Members

Implements gridfire::solver::NetworkSolverStrategy< DynamicEngine >.

-

Definition at line 308 of file solver.cpp.

+

Definition at line 375 of file solver.cpp.

@@ -236,7 +236,7 @@ Additional Inherited Members

Configuration instance.

-

Definition at line 484 of file solver.h.

+

Definition at line 492 of file solver.h.

@@ -262,7 +262,7 @@ Additional Inherited Members

Logger instance.

-

Definition at line 483 of file solver.h.

+

Definition at line 491 of file solver.h.

diff --git a/docs/html/classgridfire_1_1solver_1_1_q_s_e_network_solver-members.html b/docs/html/classgridfire_1_1solver_1_1_q_s_e_network_solver-members.html index 9f503335..9e230db5 100644 --- a/docs/html/classgridfire_1_1solver_1_1_q_s_e_network_solver-members.html +++ b/docs/html/classgridfire_1_1solver_1_1_q_s_e_network_solver-members.html @@ -109,17 +109,17 @@ $(function(){initNavTree('classgridfire_1_1solver_1_1_q_s_e_network_solver.html' evaluate(const NetIn &netIn) overridegridfire::solver::QSENetworkSolvervirtual initializeNetworkWithShortIgnition(const NetIn &netIn) constgridfire::solver::QSENetworkSolverprivate m_configgridfire::solver::QSENetworkSolverprivate - m_enginegridfire::solver::NetworkSolverStrategy< AdaptiveEngineView >protected - m_enginegridfire::solver::NetworkSolverStrategy< AdaptiveEngineView >protected + m_enginegridfire::solver::NetworkSolverStrategy< DynamicEngine >protected + m_enginegridfire::solver::NetworkSolverStrategy< DynamicEngine >protected m_isViewInitializedgridfire::solver::QSENetworkSolverprivate m_lastSeenConditionsgridfire::solver::QSENetworkSolverprivate m_loggergridfire::solver::QSENetworkSolverprivate - NetworkSolverStrategy(AdaptiveEngineView &engine)gridfire::solver::NetworkSolverStrategy< AdaptiveEngineView >inlineexplicit - NetworkSolverStrategy(AdaptiveEngineView &engine)gridfire::solver::NetworkSolverStrategy< AdaptiveEngineView >inlineexplicit + NetworkSolverStrategy(DynamicEngine &engine)gridfire::solver::NetworkSolverStrategy< DynamicEngine >inlineexplicit + NetworkSolverStrategy(DynamicEngine &engine)gridfire::solver::NetworkSolverStrategy< DynamicEngine >inlineexplicit packSpeciesTypeIndexVectors(const std::vector< double > &Y, const double T9, const double rho) constgridfire::solver::QSENetworkSolverprivate shouldUpdateView(const NetIn &conditions) constgridfire::solver::QSENetworkSolverprivate - ~NetworkSolverStrategy()=defaultgridfire::solver::NetworkSolverStrategy< AdaptiveEngineView >virtual - ~NetworkSolverStrategy()=defaultgridfire::solver::NetworkSolverStrategy< AdaptiveEngineView >virtual + ~NetworkSolverStrategy()=defaultgridfire::solver::NetworkSolverStrategy< DynamicEngine >virtual + ~NetworkSolverStrategy()=defaultgridfire::solver::NetworkSolverStrategy< DynamicEngine >virtual diff --git a/docs/html/classgridfire_1_1solver_1_1_q_s_e_network_solver.html b/docs/html/classgridfire_1_1solver_1_1_q_s_e_network_solver.html index c529224a..4a9fb195 100644 --- a/docs/html/classgridfire_1_1solver_1_1_q_s_e_network_solver.html +++ b/docs/html/classgridfire_1_1solver_1_1_q_s_e_network_solver.html @@ -119,7 +119,7 @@ Inheritance diagram for gridfire::solver::QSENetworkSolver:
-gridfire::solver::NetworkSolverStrategy< AdaptiveEngineView > +gridfire::solver::NetworkSolverStrategy< DynamicEngine >
@@ -140,14 +140,14 @@ Public Member Functions - - + + - + @@ -186,11 +186,11 @@ Private Attributes
NetOut evaluate (const NetIn &netIn) override
 Evaluates the network for a given timestep using the QSE approach.
 
- Public Member Functions inherited from gridfire::solver::NetworkSolverStrategy< AdaptiveEngineView >
 NetworkSolverStrategy (AdaptiveEngineView &engine)
- Public Member Functions inherited from gridfire::solver::NetworkSolverStrategy< DynamicEngine >
 NetworkSolverStrategy (DynamicEngine &engine)
 Constructor for the NetworkSolverStrategy.
 
virtual ~NetworkSolverStrategy ()=default
 Virtual destructor.
 
 NetworkSolverStrategy (AdaptiveEngineView &engine)
 NetworkSolverStrategy (DynamicEngine &engine)
 Constructor for the NetworkSolverStrategy.
 
virtual ~NetworkSolverStrategy ()=default
- - + + - +

Additional Inherited Members

- Protected Attributes inherited from gridfire::solver::NetworkSolverStrategy< AdaptiveEngineView >
AdaptiveEngineViewm_engine
- Protected Attributes inherited from gridfire::solver::NetworkSolverStrategy< DynamicEngine >
DynamicEnginem_engine
 The engine used by this solver strategy.
 
AdaptiveEngineViewm_engine
DynamicEnginem_engine
 The engine used by this solver strategy.
 
@@ -260,7 +260,7 @@ Additional Inherited Members -

Definition at line 187 of file solver.cpp.

+

Definition at line 205 of file solver.cpp.

@@ -308,15 +308,15 @@ Additional Inherited Members -
See also
AdaptiveEngineView::update()
+
See also
AdaptiveEngineView::update()
packSpeciesTypeIndexVectors()
calculateSteadyStateAbundances()
-

Implements gridfire::solver::NetworkSolverStrategy< AdaptiveEngineView >.

+

Implements gridfire::solver::NetworkSolverStrategy< DynamicEngine >.

-

Definition at line 23 of file solver.cpp.

+

Definition at line 26 of file solver.cpp.

@@ -354,7 +354,7 @@ Additional Inherited Members

This method performs a short integration of the network at a high temperature and density to ignite the network and bring it closer to equilibrium. This can improve the convergence of the QSE solver.

See also
DirectNetworkSolver::evaluate()
-

Definition at line 202 of file solver.cpp.

+

Definition at line 264 of file solver.cpp.

@@ -403,7 +403,7 @@ Additional Inherited Members

This method determines whether each species should be treated dynamically or as being in QSE based on its timescale and abundance. Species with short timescales or low abundances are assumed to be in QSE.

See also
DynamicEngine::getSpeciesTimescales()
-

Definition at line 119 of file solver.cpp.

+

Definition at line 137 of file solver.cpp.

@@ -439,9 +439,9 @@ Additional Inherited Members
Returns
True if the view should be updated, false otherwise.

This method implements a policy for determining when the adaptive engine view should be updated. The view is updated if the temperature or density has changed significantly, or if a primary fuel source has been depleted.

-
See also
AdaptiveEngineView::update()
+
See also
AdaptiveEngineView::update()
-

Definition at line 241 of file solver.cpp.

+

Definition at line 308 of file solver.cpp.

@@ -468,7 +468,7 @@ Additional Inherited Members

Configuration instance.

-

Definition at line 363 of file solver.h.

+

Definition at line 370 of file solver.h.

@@ -494,7 +494,7 @@ Additional Inherited Members

Flag indicating whether the adaptive engine view has been initialized.

-

Definition at line 365 of file solver.h.

+

Definition at line 372 of file solver.h.

@@ -520,7 +520,7 @@ Additional Inherited Members

The last seen input conditions.

-

Definition at line 366 of file solver.h.

+

Definition at line 373 of file solver.h.

@@ -546,7 +546,7 @@ Additional Inherited Members

Logger instance.

-

Definition at line 362 of file solver.h.

+

Definition at line 369 of file solver.h.

diff --git a/docs/html/classgridfire_1_1solver_1_1_q_s_e_network_solver.png b/docs/html/classgridfire_1_1solver_1_1_q_s_e_network_solver.png index ff8303d5271bd1760c3a1c5b1b8b8a6f39e84231..018c107b40392cdb2340efee8613947287df7c91 100644 GIT binary patch literal 1228 zcmciC`#0NX7y$4utGetcUCfBCWzy+IL#M9o!sZ&cLz=~1sC7zQr!I{(T5IcIRKLVM zVn=Y~o46ifg47~2l+Gowh=d-ch&VPoFWnd8T>5aFbOTx0WyJLmZYr;5UK|qVh^!hFFqW%=7o@M1sd zA|}-+JkRi=I^i9c;p6Mq-uzr#-A^8e;x|UxtpAQI4CncG&Z03MnL%;t9?-*Trn2`0SE6 z*zSQI6k~$0pP()ii$Q`aqT;jR^rNdig8XTZ`6w7%dQ(#m_#vMJ7^?wKJQ;v4lS+N5 z1q{5SI$y~)B{x;hVgZeS8*2BG&f?w+W^5xb)t6w;*Sl!Bf*4S*aqt5Ag(m~lYd(Tb zq_`S&K*nUDC-0A6s;T3Xf^y=+_%o;PG_ji!5+0P$Y`2B6@l9Tn6~4@H9lV`7^7BiX>5kG#{e1@-qOabG z(SkjEjw}hRH1C(RdB)u#|HScDR@SG`PDkIs#>zPwLhYPB#P5#IEK&?tzp|4~$#|U- zhdcHgrLUIgdx*m>oP54^fyt1-Vc$QE%!`n0K76)%$Dp@`!A+m{IS3xA^*0b5Ue_`Cax~jvuv6 znN`kSov}aZozC~uN8ismk+kmR?5*nq=D5!9*}l%(NISy1%#D5XhRON*6(--VI^D|N z5h{MJR9?bV=iI!Doj?D`aa(4dSZX?Jp~Kv~$o89R}at-nU_q4fXo0ObJ5fzj0#~uM$*(X^kM9uQK`9f ziI=9TkH(}ala?r`7JGJu8ckmk0cRXFxSwp3zw}D{q>=^2-RZBl$IsjTe0uGNOWt#R zOFuh$c<%CD_{#3jaaqxQ<}i{Q7r&taeXZ{bFjyKD4~?)!iFyjk``nOuDGzXf|0 z_xR_v@4Efv%?nH8o+}n#m(F6{UHJWT-PYE9e43u-ud2_)zrGXsZhCb1az)W%-}`H7 z(?i+A&)i;X{Jrkm+qZpvPF|PZ{?aO5UFf*Y?ng^JbHvxSZL8PL(=R*6TRB6I-w!C? z`)l=?SaE5FEnQc%TRvxVb+0wtn$}yrA;r!=M>c3u-j(}y&%4E5Gy3SRyMAkB`!4pi zd$ugxd8tMMC>P>j`+jG2V6;ucKf^cu((|iU=8I@u@;clX+d5^*?=QB`&R^x1v=uu& z?Xc}*->Bx*wq`jY+iZConcept definition
template<typename T>
concept gridfire::IsArithmeticOrAD = std::is_same_v<T, double> || std::is_same_v<T, CppAD::AD<double>>
-
Concept for types allowed in engine calculations.
+
Concept for types allowed in engine calculations.

Detailed Description

Concept for types allowed in engine calculations.

This concept restricts template parameters to either double or CppAD::AD<double>, enabling both standard and automatic differentiation types.

-

Definition at line 30 of file engine_abstract.h.

+

Definition at line 33 of file engine_abstract.h.

diff --git a/docs/html/dir_1cdf727c700d393da216e23f923be8b4.html b/docs/html/dir_1cdf727c700d393da216e23f923be8b4.html index c8cc38c1..bd036dc1 100644 --- a/docs/html/dir_1cdf727c700d393da216e23f923be8b4.html +++ b/docs/html/dir_1cdf727c700d393da216e23f923be8b4.html @@ -103,10 +103,13 @@ $(function(){initNavTree('dir_1cdf727c700d393da216e23f923be8b4.html',''); initRe
+ + + +

+Directories

 views
 
- - diff --git a/docs/html/dir_1cdf727c700d393da216e23f923be8b4.js b/docs/html/dir_1cdf727c700d393da216e23f923be8b4.js index 7239d9b0..fd65fad2 100644 --- a/docs/html/dir_1cdf727c700d393da216e23f923be8b4.js +++ b/docs/html/dir_1cdf727c700d393da216e23f923be8b4.js @@ -1,6 +1,6 @@ var dir_1cdf727c700d393da216e23f923be8b4 = [ - [ "engine_adaptive.cpp", "engine__adaptive_8cpp.html", null ], + [ "views", "dir_ae72e87b2c96ef2ff3f9c3faf556f8b7.html", "dir_ae72e87b2c96ef2ff3f9c3faf556f8b7" ], [ "engine_approx8.cpp", "engine__approx8_8cpp.html", "engine__approx8_8cpp" ], [ "engine_graph.cpp", "engine__graph_8cpp.html", null ] ]; \ No newline at end of file diff --git a/docs/html/dir_2a1262ef5950eb718393488a3eb5aa9f.html b/docs/html/dir_2a1262ef5950eb718393488a3eb5aa9f.html index 5f18f64f..9308d728 100644 --- a/docs/html/dir_2a1262ef5950eb718393488a3eb5aa9f.html +++ b/docs/html/dir_2a1262ef5950eb718393488a3eb5aa9f.html @@ -107,10 +107,16 @@ $(function(){initNavTree('dir_2a1262ef5950eb718393488a3eb5aa9f.html',''); initRe Directories + + + + + +

Files

 engine_adaptive.cpp
 
 engine_approx8.cpp
 
 engine_graph.cpp
 engine
 
 io
 
 reaction
 
 screening
 
 solver
 
 utils
 
diff --git a/docs/html/dir_2a1262ef5950eb718393488a3eb5aa9f.js b/docs/html/dir_2a1262ef5950eb718393488a3eb5aa9f.js index acbcd55d..d126989b 100644 --- a/docs/html/dir_2a1262ef5950eb718393488a3eb5aa9f.js +++ b/docs/html/dir_2a1262ef5950eb718393488a3eb5aa9f.js @@ -1,7 +1,10 @@ var dir_2a1262ef5950eb718393488a3eb5aa9f = [ [ "engine", "dir_6b2e1e22dfdea3280d50981209bf7529.html", "dir_6b2e1e22dfdea3280d50981209bf7529" ], + [ "io", "dir_41ae00bf8f9a98ba9c6aece2e6262882.html", "dir_41ae00bf8f9a98ba9c6aece2e6262882" ], [ "reaction", "dir_3c60707488650cd3ec07ac1739eb797f.html", "dir_3c60707488650cd3ec07ac1739eb797f" ], + [ "screening", "dir_a1a1065684fbb5b386566d81dc65d72d.html", "dir_a1a1065684fbb5b386566d81dc65d72d" ], [ "solver", "dir_aa1cdef39099aefa25ac81305b9dae77.html", "dir_aa1cdef39099aefa25ac81305b9dae77" ], + [ "utils", "dir_0cbec3bc536a3e05d15a7545c8625ac1.html", "dir_0cbec3bc536a3e05d15a7545c8625ac1" ], [ "network.h", "network_8h.html", "network_8h" ] ]; \ No newline at end of file diff --git a/docs/html/dir_6b2e1e22dfdea3280d50981209bf7529.html b/docs/html/dir_6b2e1e22dfdea3280d50981209bf7529.html index 03c77121..086c55c2 100644 --- a/docs/html/dir_6b2e1e22dfdea3280d50981209bf7529.html +++ b/docs/html/dir_6b2e1e22dfdea3280d50981209bf7529.html @@ -103,20 +103,20 @@ $(function(){initNavTree('dir_6b2e1e22dfdea3280d50981209bf7529.html',''); initRe

Files

+ + + +

+Directories

 views
 
- - - - -

Files

 engine_abstract.h
 Abstract interfaces for reaction network engines in GridFire.
 
 engine_adaptive.h
 
 engine_approx8.h
 
 engine_graph.h
 
 engine_view_abstract.h
 Abstract interfaces for engine "views" in GridFire.
 
diff --git a/docs/html/dir_6b2e1e22dfdea3280d50981209bf7529.js b/docs/html/dir_6b2e1e22dfdea3280d50981209bf7529.js index 436d0c86..3ab705f2 100644 --- a/docs/html/dir_6b2e1e22dfdea3280d50981209bf7529.js +++ b/docs/html/dir_6b2e1e22dfdea3280d50981209bf7529.js @@ -1,8 +1,7 @@ var dir_6b2e1e22dfdea3280d50981209bf7529 = [ + [ "views", "dir_fb341b7e674a7e4701415d4572cba12f.html", "dir_fb341b7e674a7e4701415d4572cba12f" ], [ "engine_abstract.h", "engine__abstract_8h.html", "engine__abstract_8h" ], - [ "engine_adaptive.h", "engine__adaptive_8h.html", "engine__adaptive_8h" ], [ "engine_approx8.h", "engine__approx8_8h.html", "engine__approx8_8h" ], - [ "engine_graph.h", "engine__graph_8h.html", "engine__graph_8h" ], - [ "engine_view_abstract.h", "engine__view__abstract_8h.html", "engine__view__abstract_8h" ] + [ "engine_graph.h", "engine__graph_8h.html", "engine__graph_8h" ] ]; \ No newline at end of file diff --git a/docs/html/dir_a7655658c851688eff9381235a9676f0.html b/docs/html/dir_a7655658c851688eff9381235a9676f0.html index 18b0306f..626870ea 100644 --- a/docs/html/dir_a7655658c851688eff9381235a9676f0.html +++ b/docs/html/dir_a7655658c851688eff9381235a9676f0.html @@ -107,10 +107,16 @@ $(function(){initNavTree('dir_a7655658c851688eff9381235a9676f0.html',''); initRe Directories  engine   + io reaction   + screening solver   + utils +  diff --git a/docs/html/dir_a7655658c851688eff9381235a9676f0.js b/docs/html/dir_a7655658c851688eff9381235a9676f0.js index e0260f75..16f564ca 100644 --- a/docs/html/dir_a7655658c851688eff9381235a9676f0.js +++ b/docs/html/dir_a7655658c851688eff9381235a9676f0.js @@ -1,7 +1,10 @@ var dir_a7655658c851688eff9381235a9676f0 = [ [ "engine", "dir_1cdf727c700d393da216e23f923be8b4.html", "dir_1cdf727c700d393da216e23f923be8b4" ], + [ "io", "dir_2d53942b5372593aa67f4b74882cd581.html", "dir_2d53942b5372593aa67f4b74882cd581" ], [ "reaction", "dir_d5f908f1a3b7d6921d55b8696a8e83bc.html", "dir_d5f908f1a3b7d6921d55b8696a8e83bc" ], + [ "screening", "dir_52d70f305d86d4a2338c5425f7bc4d9c.html", "dir_52d70f305d86d4a2338c5425f7bc4d9c" ], [ "solver", "dir_93d547a749bb04fb4b43758550ab11b5.html", "dir_93d547a749bb04fb4b43758550ab11b5" ], + [ "utils", "dir_d95b5b8e5cbbc1b508cb3c0cf16f7ce7.html", "dir_d95b5b8e5cbbc1b508cb3c0cf16f7ce7" ], [ "network.cpp", "network_8cpp.html", "network_8cpp" ] ]; \ No newline at end of file diff --git a/docs/html/doxygen_crawl.html b/docs/html/doxygen_crawl.html index b5b1664b..4946b70b 100644 --- a/docs/html/doxygen_crawl.html +++ b/docs/html/doxygen_crawl.html @@ -14,6 +14,8 @@ + + @@ -21,7 +23,7 @@ - + @@ -30,10 +32,14 @@ + + + + @@ -46,8 +52,11 @@ + + + @@ -60,6 +69,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -73,11 +119,15 @@ + + + + @@ -99,6 +149,7 @@ + @@ -126,10 +177,32 @@ + + + + + + + + + + + + + + + + + + + + + + @@ -141,20 +214,6 @@ - - - - - - - - - - - - - - @@ -165,6 +224,7 @@ + @@ -194,34 +254,53 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -247,18 +326,26 @@ + + + + + + + + @@ -271,6 +358,10 @@ + + + + @@ -284,8 +375,30 @@ + + + + + + + + + + + + + + + + + + + + + + @@ -321,6 +434,10 @@ + + + + @@ -358,6 +475,7 @@ + @@ -366,10 +484,21 @@ + + + + + + + + + + + @@ -382,6 +511,10 @@ + + + + @@ -396,14 +529,28 @@ + + + + + + + + + + + + + + + - @@ -447,6 +594,9 @@ + + + @@ -481,22 +631,27 @@ + + + + + + + - + + - - - @@ -521,6 +676,9 @@ + + + diff --git a/docs/html/engine__abstract_8h.html b/docs/html/engine__abstract_8h.html index 42932499..14907a69 100644 --- a/docs/html/engine__abstract_8h.html +++ b/docs/html/engine__abstract_8h.html @@ -110,6 +110,9 @@ $(function(){initNavTree('engine__abstract_8h.html',''); initResizable(true); })

Abstract interfaces for reaction network engines in GridFire. More...

#include "gridfire/reaction/reaction.h"
+#include "gridfire/network.h"
+#include "gridfire/screening/screening_abstract.h"
+#include "gridfire/screening/screening_types.h"
#include <vector>
#include <unordered_map>
diff --git a/docs/html/engine__abstract_8h_source.html b/docs/html/engine__abstract_8h_source.html index 5d1e205a..ccb7b343 100644 --- a/docs/html/engine__abstract_8h_source.html +++ b/docs/html/engine__abstract_8h_source.html @@ -105,99 +105,116 @@ $(function(){initNavTree('engine__abstract_8h_source.html',''); initResizable(tr Go to the documentation of this file.
1#pragma once
2
-
4
-
5#include <vector>
-
6#include <unordered_map>
-
7
-
20
-
-
21namespace gridfire {
-
22
-
29 template<typename T>
-
30 concept IsArithmeticOrAD = std::is_same_v<T, double> || std::is_same_v<T, CppAD::AD<double>>;
-
31
-
49 template <IsArithmeticOrAD T>
-
- -
51 std::vector<T> dydt;
- -
53 };
+
4#include "gridfire/network.h"
+ + +
7
+
8#include <vector>
+
9#include <unordered_map>
+
10
+
23
+
+
24namespace gridfire {
+
25
+
32 template<typename T>
+
33 concept IsArithmeticOrAD = std::is_same_v<T, double> || std::is_same_v<T, CppAD::AD<double>>;
+
34
+
52 template <IsArithmeticOrAD T>
+
+ +
54 std::vector<T> dydt;
+ +
56 };
-
54
-
-
72 class Engine {
-
73 public:
-
77 virtual ~Engine() = default;
-
78
-
83 virtual const std::vector<fourdst::atomic::Species>& getNetworkSpecies() const = 0;
-
84
- -
98 const std::vector<double>& Y,
-
99 double T9,
-
100 double rho
-
101 ) const = 0;
-
102 };
+
57
+
+
75 class Engine {
+
76 public:
+
80 virtual ~Engine() = default;
+
81
+
86 [[nodiscard]] virtual const std::vector<fourdst::atomic::Species>& getNetworkSpecies() const = 0;
+
87
+ +
101 const std::vector<double>& Y,
+
102 double T9,
+
103 double rho
+
104 ) const = 0;
+
105 };
-
103
-
-
118 class DynamicEngine : public Engine {
-
119 public:
- -
131 const std::vector<double>& Y,
-
132 double T9, double rho
-
133 ) = 0;
-
134
- -
145 int i,
-
146 int j
-
147 ) const = 0;
-
148
-
155 virtual void generateStoichiometryMatrix() = 0;
-
156
- -
167 int speciesIndex,
-
168 int reactionIndex
-
169 ) const = 0;
-
170
- - -
185 const std::vector<double>& Y,
-
186 double T9,
-
187 double rho
-
188 ) const = 0;
-
189
- -
196
-
208 virtual std::unordered_map<fourdst::atomic::Species, double> getSpeciesTimescales(
-
209 const std::vector<double>& Y,
-
210 double T9,
-
211 double rho
-
212 ) const = 0;
-
213 };
+
106
+
+
121 class DynamicEngine : public Engine {
+
122 public:
+ +
134 const std::vector<double>& Y,
+
135 double T9, double rho
+
136 ) = 0;
+
137
+
147 [[nodiscard]] virtual double getJacobianMatrixEntry(
+
148 int i,
+
149 int j
+
150 ) const = 0;
+
151
+
158 virtual void generateStoichiometryMatrix() = 0;
+
159
+
169 [[nodiscard]] virtual int getStoichiometryMatrixEntry(
+
170 int speciesIndex,
+
171 int reactionIndex
+
172 ) const = 0;
+
173
+
186 [[nodiscard]] virtual double calculateMolarReactionFlow(
+ +
188 const std::vector<double>& Y,
+
189 double T9,
+
190 double rho
+
191 ) const = 0;
+
192
+
198 [[nodiscard]] virtual const reaction::LogicalReactionSet& getNetworkReactions() const = 0;
+
199
+
211 [[nodiscard]] virtual std::unordered_map<fourdst::atomic::Species, double> getSpeciesTimescales(
+
212 const std::vector<double>& Y,
+
213 double T9,
+
214 double rho
+
215 ) const = 0;
+
216
+
217 virtual void update(const NetIn& netIn) = 0;
+
218
+ +
220
+
221 [[nodiscard]] virtual screening::ScreeningType getScreeningModel() const = 0;
+
222 };
-
214}
+
223}
-
Abstract class for engines supporting Jacobian and stoichiometry operations.
+
Abstract class for engines supporting Jacobian and stoichiometry operations.
virtual double getJacobianMatrixEntry(int i, int j) const =0
Get an entry from the previously generated Jacobian matrix.
virtual void generateJacobianMatrix(const std::vector< double > &Y, double T9, double rho)=0
Generate the Jacobian matrix for the current state.
+
virtual void setScreeningModel(screening::ScreeningType model)=0
virtual std::unordered_map< fourdst::atomic::Species, double > getSpeciesTimescales(const std::vector< double > &Y, double T9, double rho) const =0
Compute timescales for all species in the network.
virtual double calculateMolarReactionFlow(const reaction::Reaction &reaction, const std::vector< double > &Y, double T9, double rho) const =0
Calculate the molar reaction flow for a given reaction.
+
virtual screening::ScreeningType getScreeningModel() const =0
+
virtual void update(const NetIn &netIn)=0
virtual const reaction::LogicalReactionSet & getNetworkReactions() const =0
Get the set of logical reactions in the network.
virtual void generateStoichiometryMatrix()=0
Generate the stoichiometry matrix for the network.
virtual int getStoichiometryMatrixEntry(int speciesIndex, int reactionIndex) const =0
Get an entry from the stoichiometry matrix.
-
Abstract base class for a reaction network engine.
+
Abstract base class for a reaction network engine.
virtual const std::vector< fourdst::atomic::Species > & getNetworkSpecies() const =0
Get the list of species in the network.
virtual ~Engine()=default
Virtual destructor.
virtual StepDerivatives< double > calculateRHSAndEnergy(const std::vector< double > &Y, double T9, double rho) const =0
Calculate the right-hand side (dY/dt) and energy generation.
-
A collection of LogicalReaction objects.
Definition reaction.h:554
-
Represents a single nuclear reaction from a specific data source.
Definition reaction.h:71
-
Concept for types allowed in engine calculations.
- - +
Represents a single nuclear reaction from a specific data source.
Definition reaction.h:72
+
Concept for types allowed in engine calculations.
+ +
TemplatedReactionSet< LogicalReaction > LogicalReactionSet
A set of logical reactions.
Definition reaction.h:557
+ + +
Defines classes for representing and managing nuclear reactions.
-
Structure holding derivatives and energy generation for a network step.
-
T nuclearEnergyGenerationRate
Specific energy generation rate (e.g., erg/g/s).
-
std::vector< T > dydt
Derivatives of abundances (dY/dt for each species).
+ + + +
Structure holding derivatives and energy generation for a network step.
+
T nuclearEnergyGenerationRate
Specific energy generation rate (e.g., erg/g/s).
+
std::vector< T > dydt
Derivatives of abundances (dY/dt for each species).
diff --git a/docs/html/engine__adaptive_8cpp.html b/docs/html/engine__adaptive_8cpp.html index b93b8d75..21bff045 100644 --- a/docs/html/engine__adaptive_8cpp.html +++ b/docs/html/engine__adaptive_8cpp.html @@ -5,7 +5,7 @@ -GridFire: src/network/lib/engine/engine_adaptive.cpp File Reference +GridFire: src/network/lib/engine/views/engine_adaptive.cpp File Reference @@ -104,7 +104,7 @@ $(function(){initNavTree('engine__adaptive_8cpp.html',''); initResizable(true);
engine_adaptive.cpp File Reference
-
#include "gridfire/engine/engine_adaptive.h"
+
#include "../../../include/gridfire/engine/views/engine_adaptive.h"
#include <ranges>
#include <queue>
#include "gridfire/network.h"
@@ -123,7 +123,7 @@ Namespaces diff --git a/docs/html/engine__adaptive_8cpp_source.html b/docs/html/engine__adaptive_8cpp_source.html index 3ec95fe5..d878d22c 100644 --- a/docs/html/engine__adaptive_8cpp_source.html +++ b/docs/html/engine__adaptive_8cpp_source.html @@ -5,7 +5,7 @@ -GridFire: src/network/lib/engine/engine_adaptive.cpp Source File +GridFire: src/network/lib/engine/views/engine_adaptive.cpp Source File @@ -102,7 +102,7 @@ $(function(){initNavTree('engine__adaptive_8cpp_source.html',''); initResizable(
engine_adaptive.cpp
-Go to the documentation of this file.
+Go to the documentation of this file.
2
3#include <ranges>
4#include <queue>
@@ -193,360 +193,422 @@ $(function(){initNavTree('engine__adaptive_8cpp_source.html',''); initResizable(
84
-
85 void AdaptiveEngineView::update(const NetIn& netIn) {
-
86 LOG_TRACE_L1(m_logger, "Updating adaptive engine view...");
+
85 void AdaptiveEngineView::update(const NetIn& netIn) {
+
86 LOG_TRACE_L1(m_logger, "Updating AdaptiveEngineView with new network input...");
87
-
88 const auto& fullSpeciesList = m_baseEngine.getNetworkSpecies();
-
89 std::vector<double>Y_full;
-
90 Y_full.reserve(fullSpeciesList.size());
-
91
-
92 for (const auto& species : fullSpeciesList) {
-
93 if (netIn.composition.contains(species)) {
-
94 Y_full.push_back(netIn.composition.getMolarAbundance(std::string(species.name())));
-
95 } else {
-
96 LOG_TRACE_L2(m_logger, "Species '{}' not found in composition. Setting abundance to 0.0.", species.name());
-
97 Y_full.push_back(0.0);
-
98 }
-
99 }
-
100
-
101 const double T9 = netIn.temperature / 1e9; // Convert temperature from Kelvin to T9 (T9 = T / 1e9)
-
102 const double rho = netIn.density; // Density in g/cm^3
-
103
+
88 std::vector<double> Y_Full;
+
89 std::vector<ReactionFlow> allFlows = calculateAllReactionFlows(netIn, Y_Full);
+
90
+
91 double maxFlow = 0.0;
+
92
+
93 for (const auto&[reactionPtr, flowRate]: allFlows) {
+
94 if (flowRate > maxFlow) {
+
95 maxFlow = flowRate;
+
96 }
+
97 }
+
98 LOG_DEBUG(m_logger, "Maximum reaction flow rate in adaptive engine view: {:0.3E} [mol/s]", maxFlow);
+
99
+
100 const std::unordered_set<Species> reachableSpecies = findReachableSpecies(netIn);
+
101 LOG_DEBUG(m_logger, "Found {} reachable species in adaptive engine view.", reachableSpecies.size());
+
102
+
103 const std::vector<const reaction::LogicalReaction*> finalReactions = cullReactionsByFlow(allFlows, reachableSpecies, Y_Full, maxFlow);
104
-
105 std::vector<ReactionFlow> reactionFlows;
-
106 const auto& fullReactionSet = m_baseEngine.getNetworkReactions();
-
107 reactionFlows.reserve(fullReactionSet.size());
-
108
-
109 for (const auto& reactionPtr : fullReactionSet) {
-
110 const double flow = m_baseEngine.calculateMolarReactionFlow(reactionPtr, Y_full, T9, rho);
-
111 reactionFlows.push_back({&reactionPtr, flow});
-
112 }
-
113
-
114 double max_flow = 0.0;
-
115 double min_flow = std::numeric_limits<double>::max();
-
116 double flowSum = 0.0;
-
117 for (const auto&[reactionPtr, flowRate] : reactionFlows) {
-
118 if (flowRate > max_flow) {
-
119 max_flow = flowRate;
-
120 } else if (flowRate < min_flow) {
-
121 min_flow = flowRate;
-
122 }
-
123 flowSum += flowRate;
-
124 LOG_TRACE_L2(m_logger, "Reaction '{}' has flow rate: {:0.3E} [mol/s]", reactionPtr->id(), flowRate);
-
125 }
-
126 flowSum /= reactionFlows.size();
-
127
-
128 LOG_DEBUG(m_logger, "Maximum reaction flow rate in adaptive engine view: {:0.3E} [mol/s]", max_flow);
-
129 LOG_DEBUG(m_logger, "Minimum reaction flow rate in adaptive engine view: {:0.3E} [mol/s]", min_flow);
-
130 LOG_DEBUG(m_logger, "Average reaction flow rate in adaptive engine view: {:0.3E} [mol/s]", flowSum);
-
131
-
132 const double relative_culling_threshold = m_config.get<double>("gridfire:AdaptiveEngineView:RelativeCullingThreshold", 1e-75);
-
133
-
134 double absoluteCullingThreshold = relative_culling_threshold * max_flow;
-
135 LOG_DEBUG(m_logger, "Relative culling threshold: {:0.3E} ({})", relative_culling_threshold, absoluteCullingThreshold);
-
136
-
137 // --- Reaction Culling ---
-
138 LOG_TRACE_L1(m_logger, "Culling reactions based on reaction flow rates...");
-
139 std::vector<const reaction::Reaction*> flowCulledReactions;
-
140 for (const auto&[reactionPtr, flowRate] : reactionFlows) {
-
141 if (flowRate > absoluteCullingThreshold) {
-
142 LOG_TRACE_L2(m_logger, "Maintaining reaction '{}' with relative (abs) flow rate: {:0.3E} ({:0.3E} [mol/s])", reactionPtr->id(), flowRate/max_flow, flowRate);
-
143 flowCulledReactions.push_back(reactionPtr);
-
144 }
-
145 }
-
146 LOG_DEBUG(m_logger, "Selected {} (total: {}, culled: {}) reactions based on flow rates.", flowCulledReactions.size(), fullReactionSet.size(), fullReactionSet.size() - flowCulledReactions.size());
-
147
-
148 // --- Connectivity Analysis ---
-
149 std::queue<Species> species_to_visit;
-
150 std::unordered_set<Species> reachable_species;
-
151
-
152 constexpr double ABUNDANCE_FLOOR = 1e-12; // Abundance floor for a species to be considered part of the initial fuel
-
153 for (const auto& species : fullSpeciesList) {
-
154 if (netIn.composition.contains(species) && netIn.composition.getMassFraction(std::string(species.name())) > ABUNDANCE_FLOOR) {
-
155 species_to_visit.push(species);
-
156 reachable_species.insert(species);
-
157 LOG_TRACE_L2(m_logger, "Species '{}' is part of the initial fuel.", species.name());
-
158 }
-
159 }
-
160 std::unordered_map<Species, std::vector<const reaction::Reaction*>> reactant_to_reactions_map;
-
161 for (const auto* reaction_ptr : flowCulledReactions) {
-
162 for (const auto& reactant : reaction_ptr->reactants()) {
-
163 reactant_to_reactions_map[reactant].push_back(reaction_ptr);
-
164 }
-
165 }
-
166
-
167 while (!species_to_visit.empty()) {
-
168 Species currentSpecies = species_to_visit.front();
-
169 species_to_visit.pop();
-
170
-
171 auto it = reactant_to_reactions_map.find(currentSpecies);
-
172 if (it == reactant_to_reactions_map.end()) {
-
173 continue; // The species does not initiate any further reactions
-
174 }
-
175
-
176 const auto& reactions = it->second;
-
177 for (const auto* reaction_ptr : reactions) {
-
178 for (const auto& product : reaction_ptr->products()) {
-
179 if (!reachable_species.contains(product)) {
-
180 reachable_species.insert(product);
-
181 species_to_visit.push(product);
-
182 LOG_TRACE_L2(m_logger, "Species '{}' is reachable via reaction '{}'.", product.name(), reaction_ptr->id());
-
183 }
-
184 }
-
185 }
+
105 finalizeActiveSet(finalReactions);
+
106
+
107
+ + +
110
+
111 m_isStale = false;
+
112
+
113 LOG_INFO(m_logger, "AdaptiveEngineView updated successfully with {} active species and {} active reactions.", m_activeSpecies.size(), m_activeReactions.size());
+
114 }
+
+
115
+
+
116 const std::vector<Species> & AdaptiveEngineView::getNetworkSpecies() const {
+
117 return m_activeSpecies;
+
118 }
+
+
119
+
+ +
121 const std::vector<double> &Y_culled,
+
122 const double T9,
+
123 const double rho
+
124 ) const {
+ +
126
+
127 const auto Y_full = mapCulledToFull(Y_culled);
+
128
+
129 const auto [dydt, nuclearEnergyGenerationRate] = m_baseEngine.calculateRHSAndEnergy(Y_full, T9, rho);
+
130
+
131 StepDerivatives<double> culledResults;
+
132 culledResults.nuclearEnergyGenerationRate = nuclearEnergyGenerationRate;
+
133 culledResults.dydt = mapFullToCulled(dydt);
+
134
+
135 return culledResults;
+
136 }
+
+
137
+
+ +
139 const std::vector<double> &Y_culled,
+
140 const double T9,
+
141 const double rho
+
142 ) {
+ +
144 const auto Y_full = mapCulledToFull(Y_culled);
+
145
+
146 m_baseEngine.generateJacobianMatrix(Y_full, T9, rho);
+
147 }
+
+
148
+
+ +
150 const int i_culled,
+
151 const int j_culled
+
152 ) const {
+ +
154 const size_t i_full = mapCulledToFullSpeciesIndex(i_culled);
+
155 const size_t j_full = mapCulledToFullSpeciesIndex(j_culled);
+
156
+
157 return m_baseEngine.getJacobianMatrixEntry(i_full, j_full);
+
158 }
+
+
159
+
+ + +
162 m_baseEngine.generateStoichiometryMatrix();
+
163 }
+
+
164
+
+ +
166 const int speciesIndex_culled,
+
167 const int reactionIndex_culled
+
168 ) const {
+ +
170 const size_t speciesIndex_full = mapCulledToFullSpeciesIndex(speciesIndex_culled);
+
171 const size_t reactionIndex_full = mapCulledToFullReactionIndex(reactionIndex_culled);
+
172 return m_baseEngine.getStoichiometryMatrixEntry(speciesIndex_full, reactionIndex_full);
+
173 }
+
+
174
+
+ + +
177 const std::vector<double> &Y_culled,
+
178 const double T9,
+
179 const double rho
+
180 ) const {
+ +
182 if (!m_activeReactions.contains(reaction)) {
+
183 LOG_ERROR(m_logger, "Reaction '{}' is not part of the active reactions in the adaptive engine view.", reaction.id());
+
184 m_logger -> flush_log();
+
185 throw std::runtime_error("Reaction not found in active reactions: " + std::string(reaction.id()));
186 }
-
187 LOG_DEBUG(m_logger, "Reachable species count: {}", reachable_species.size());
+
187 const auto Y = mapCulledToFull(Y_culled);
188
-
189 m_activeSpecies.assign(reachable_species.begin(), reachable_species.end());
-
190 std::ranges::sort(m_activeSpecies,
-
191 [](const Species &a, const Species &b) { return a.mass() < b.mass(); });
-
192
-
193 m_activeReactions.clear();
-
194 for (const auto* reaction_ptr : flowCulledReactions) {
-
195 bool all_reactants_present = true;
-
196 for (const auto& reactant : reaction_ptr->reactants()) {
-
197 if (!reachable_species.contains(reactant)) {
-
198 all_reactants_present = false;
-
199 break;
-
200 }
-
201 }
-
202
-
203 if (all_reactants_present) {
-
204 m_activeReactions.add_reaction(*reaction_ptr);
-
205 LOG_TRACE_L2(m_logger, "Maintaining reaction '{}' with all reactants present.", reaction_ptr->id());
-
206 } else {
-
207 LOG_TRACE_L1(m_logger, "Culling reaction '{}' due to missing reactants.", reaction_ptr->id());
-
208 }
-
209 }
-
210 LOG_DEBUG(m_logger, "Active reactions count: {} (total: {}, culled: {}, culled due to connectivity: {})", m_activeReactions.size(),
-
211 fullReactionSet.size(), fullReactionSet.size() - m_activeReactions.size(), flowCulledReactions.size() - m_activeReactions.size());
-
212
- - +
189 return m_baseEngine.calculateMolarReactionFlow(reaction, Y, T9, rho);
+
190 }
+
+
191
+ +
195
+
+
196 std::unordered_map<Species, double> AdaptiveEngineView::getSpeciesTimescales(
+
197 const std::vector<double> &Y_culled,
+
198 const double T9,
+
199 const double rho
+
200 ) const {
+ +
202 const auto Y_full = mapCulledToFull(Y_culled);
+
203 const auto fullTimescales = m_baseEngine.getSpeciesTimescales(Y_full, T9, rho);
+
204
+
205 std::unordered_map<Species, double> culledTimescales;
+
206 culledTimescales.reserve(m_activeSpecies.size());
+
207 for (const auto& active_species : m_activeSpecies) {
+
208 if (fullTimescales.contains(active_species)) {
+
209 culledTimescales[active_species] = fullTimescales.at(active_species);
+
210 }
+
211 }
+
212 return culledTimescales;
+
213
+
214 }
+
215
-
216 m_isStale = false;
-
217 }
+
+ +
217 m_baseEngine.setScreeningModel(model);
+
218 }
-
218
-
-
219 const std::vector<Species> & AdaptiveEngineView::getNetworkSpecies() const {
-
220 return m_activeSpecies;
-
221 }
+
219
+
+ +
221 return m_baseEngine.getScreeningModel();
+
222 }
-
222
-
- -
224 const std::vector<double> &Y_culled,
-
225 const double T9,
-
226 const double rho
-
227 ) const {
- -
229
-
230 const auto Y_full = mapCulledToFull(Y_culled);
-
231
-
232 const auto [dydt, nuclearEnergyGenerationRate] = m_baseEngine.calculateRHSAndEnergy(Y_full, T9, rho);
-
233
-
234 StepDerivatives<double> culledResults;
-
235 culledResults.nuclearEnergyGenerationRate = nuclearEnergyGenerationRate;
-
236 culledResults.dydt = mapFullToCulled(dydt);
-
237
-
238 return culledResults;
-
239 }
+
223
+
+
224 std::vector<double> AdaptiveEngineView::mapCulledToFull(const std::vector<double>& culled) const {
+
225 std::vector<double> full(m_baseEngine.getNetworkSpecies().size(), 0.0);
+
226 for (size_t i_culled = 0; i_culled < culled.size(); ++i_culled) {
+
227 const size_t i_full = m_speciesIndexMap[i_culled];
+
228 full[i_full] += culled[i_culled];
+
229 }
+
230 return full;
+
231 }
-
240
-
- -
242 const std::vector<double> &Y_culled,
-
243 const double T9,
-
244 const double rho
-
245 ) {
- -
247 const auto Y_full = mapCulledToFull(Y_culled);
-
248
-
249 m_baseEngine.generateJacobianMatrix(Y_full, T9, rho);
-
250 }
+
232
+
+
233 std::vector<double> AdaptiveEngineView::mapFullToCulled(const std::vector<double>& full) const {
+
234 std::vector<double> culled(m_activeSpecies.size(), 0.0);
+
235 for (size_t i_culled = 0; i_culled < m_activeSpecies.size(); ++i_culled) {
+
236 const size_t i_full = m_speciesIndexMap[i_culled];
+
237 culled[i_culled] = full[i_full];
+
238 }
+
239 return culled;
+
240 }
+
+
241
+
+
242 size_t AdaptiveEngineView::mapCulledToFullSpeciesIndex(size_t culledSpeciesIndex) const {
+
243 if (culledSpeciesIndex < 0 || culledSpeciesIndex >= static_cast<int>(m_speciesIndexMap.size())) {
+
244 LOG_ERROR(m_logger, "Culled index {} is out of bounds for species index map of size {}.", culledSpeciesIndex, m_speciesIndexMap.size());
+
245 m_logger->flush_log();
+
246 throw std::out_of_range("Culled index " + std::to_string(culledSpeciesIndex) + " is out of bounds for species index map of size " + std::to_string(m_speciesIndexMap.size()) + ".");
+
247 }
+
248 return m_speciesIndexMap[culledSpeciesIndex];
+
249 }
+
+
250
+
+
251 size_t AdaptiveEngineView::mapCulledToFullReactionIndex(size_t culledReactionIndex) const {
+
252 if (culledReactionIndex < 0 || culledReactionIndex >= static_cast<int>(m_reactionIndexMap.size())) {
+
253 LOG_ERROR(m_logger, "Culled index {} is out of bounds for reaction index map of size {}.", culledReactionIndex, m_reactionIndexMap.size());
+
254 m_logger->flush_log();
+
255 throw std::out_of_range("Culled index " + std::to_string(culledReactionIndex) + " is out of bounds for reaction index map of size " + std::to_string(m_reactionIndexMap.size()) + ".");
+
256 }
+
257 return m_reactionIndexMap[culledReactionIndex];
+
258 }
-
251
-
- -
253 const int i_culled,
-
254 const int j_culled
-
255 ) const {
- -
257 const size_t i_full = mapCulledToFullSpeciesIndex(i_culled);
-
258 const size_t j_full = mapCulledToFullSpeciesIndex(j_culled);
259
-
260 return m_baseEngine.getJacobianMatrixEntry(i_full, j_full);
-
261 }
-
-
262
-
- - -
265 m_baseEngine.generateStoichiometryMatrix();
+
+ +
261 if (m_isStale) {
+
262 LOG_ERROR(m_logger, "AdaptiveEngineView is stale. Please call update() before calculating RHS and energy.");
+
263 m_logger->flush_log();
+
264 throw std::runtime_error("AdaptiveEngineView is stale. Please call update() before calculating RHS and energy.");
+
265 }
266 }
267
- -
269 const int speciesIndex_culled,
-
270 const int reactionIndex_culled
+
268 std::vector<AdaptiveEngineView::ReactionFlow> AdaptiveEngineView::calculateAllReactionFlows(
+
269 const NetIn &netIn,
+
270 std::vector<double> &out_Y_Full
271 ) const {
- -
273 const size_t speciesIndex_full = mapCulledToFullSpeciesIndex(speciesIndex_culled);
-
274 const size_t reactionIndex_full = mapCulledToFullReactionIndex(reactionIndex_culled);
-
275 return m_baseEngine.getStoichiometryMatrixEntry(speciesIndex_full, reactionIndex_full);
-
276 }
-
-
277
-
- - -
280 const std::vector<double> &Y_culled,
-
281 const double T9,
-
282 const double rho
-
283 ) const {
- -
285 if (!m_activeReactions.contains(reaction)) {
-
286 LOG_ERROR(m_logger, "Reaction '{}' is not part of the active reactions in the adaptive engine view.", reaction.id());
-
287 m_logger -> flush_log();
-
288 throw std::runtime_error("Reaction not found in active reactions: " + std::string(reaction.id()));
-
289 }
-
290 const auto Y = mapCulledToFull(Y_culled);
-
291
-
292 return m_baseEngine.calculateMolarReactionFlow(reaction, Y, T9, rho);
-
293 }
-
-
294
-
- -
296 return m_activeReactions;
+
272 const auto& fullSpeciesList = m_baseEngine.getNetworkSpecies();
+
273 out_Y_Full.clear();
+
274 out_Y_Full.reserve(fullSpeciesList.size());
+
275
+
276 for (const auto& species: fullSpeciesList) {
+
277 if (netIn.composition.contains(species)) {
+
278 out_Y_Full.push_back(netIn.composition.getMolarAbundance(std::string(species.name())));
+
279 } else {
+
280 LOG_TRACE_L2(m_logger, "Species '{}' not found in composition. Setting abundance to 0.0.", species.name());
+
281 out_Y_Full.push_back(0.0);
+
282 }
+
283 }
+
284
+
285 const double T9 = netIn.temperature / 1e9; // Convert temperature from Kelvin to T9 (T9 = T / 1e9)
+
286 const double rho = netIn.density; // Density in g/cm^3
+
287
+
288 std::vector<ReactionFlow> reactionFlows;
+
289 const auto& fullReactionSet = m_baseEngine.getNetworkReactions();
+
290 reactionFlows.reserve(fullReactionSet.size());
+
291 for (const auto& reaction : fullReactionSet) {
+
292 const double flow = m_baseEngine.calculateMolarReactionFlow(reaction, out_Y_Full, T9, rho);
+
293 reactionFlows.push_back({&reaction, flow});
+
294 LOG_TRACE_L2(m_logger, "Reaction '{}' has flow rate: {:0.3E} [mol/s]", reaction.id(), flow);
+
295 }
+
296 return reactionFlows;
297 }
298
-
299 std::unordered_map<Species, double> AdaptiveEngineView::getSpeciesTimescales(
-
300 const std::vector<double> &Y_culled,
-
301 const double T9,
-
302 const double rho
-
303 ) const {
- -
305 const auto Y_full = mapCulledToFull(Y_culled);
-
306 const auto fullTimescales = m_baseEngine.getSpeciesTimescales(Y_full, T9, rho);
-
307
-
308 std::unordered_map<Species, double> culledTimescales;
-
309 culledTimescales.reserve(m_activeSpecies.size());
-
310 for (const auto& active_species : m_activeSpecies) {
-
311 if (fullTimescales.contains(active_species)) {
-
312 culledTimescales[active_species] = fullTimescales.at(active_species);
+
299 std::unordered_set<Species> AdaptiveEngineView::findReachableSpecies(
+
300 const NetIn &netIn
+
301 ) const {
+
302 std::unordered_set<Species> reachable;
+
303 std::queue<Species> to_vist;
+
304
+
305 constexpr double ABUNDANCE_FLOOR = 1e-12; // Abundance floor for a species to be considered part of the initial fuel
+
306 for (const auto& species: m_baseEngine.getNetworkSpecies()) {
+
307 if (netIn.composition.contains(species) && netIn.composition.getMassFraction(std::string(species.name())) > ABUNDANCE_FLOOR) {
+
308 if (!reachable.contains(species)) {
+
309 to_vist.push(species);
+
310 reachable.insert(species);
+
311 LOG_TRACE_L2(m_logger, "Network Connectivity Analysis: Species '{}' is part of the initial fuel.", species.name());
+
312 }
313 }
314 }
-
315 return culledTimescales;
-
316
-
317 }
+
315
+
316 bool new_species_found_in_pass = true;
+
317 while (new_species_found_in_pass) {
+
318 new_species_found_in_pass = false;
+
319 for (const auto& reaction: m_baseEngine.getNetworkReactions()) {
+
320 bool all_reactants_reachable = true;
+
321 for (const auto& reactant: reaction.reactants()) {
+
322 if (!reachable.contains(reactant)) {
+
323 all_reactants_reachable = false;
+
324 break;
+
325 }
+
326 }
+
327 if (all_reactants_reachable) {
+
328 for (const auto& product: reaction.products()) {
+
329 if (!reachable.contains(product)) {
+
330 reachable.insert(product);
+
331 new_species_found_in_pass = true;
+
332 LOG_TRACE_L2(m_logger, "Network Connectivity Analysis: Species '{}' is reachable via reaction '{}'.", product.name(), reaction.id());
+
333 }
+
334 }
+
335 }
+
336 }
+
337 }
+
338
+
339 return reachable;
+
340 }
-
318
-
-
319 std::vector<double> AdaptiveEngineView::mapCulledToFull(const std::vector<double>& culled) const {
-
320 std::vector<double> full(m_baseEngine.getNetworkSpecies().size(), 0.0);
-
321 for (size_t i_culled = 0; i_culled < culled.size(); ++i_culled) {
-
322 const size_t i_full = m_speciesIndexMap[i_culled];
-
323 full[i_full] += culled[i_culled];
-
324 }
-
325 return full;
-
326 }
+
341
+
+
342 std::vector<const reaction::LogicalReaction *> AdaptiveEngineView::cullReactionsByFlow(
+
343 const std::vector<ReactionFlow> &allFlows,
+
344 const std::unordered_set<fourdst::atomic::Species> &reachableSpecies,
+
345 const std::vector<double> &Y_full,
+
346 const double maxFlow
+
347 ) const {
+
348 LOG_TRACE_L1(m_logger, "Culling reactions based on flow rates...");
+
349 const auto relative_culling_threshold = m_config.get<double>("gridfire:AdaptiveEngineView:RelativeCullingThreshold", 1e-75);
+
350 double absoluteCullingThreshold = relative_culling_threshold * maxFlow;
+
351 LOG_DEBUG(m_logger, "Relative culling threshold: {:0.3E} ({})", relative_culling_threshold, absoluteCullingThreshold);
+
352 std::vector<const reaction::LogicalReaction*> culledReactions;
+
353 for (const auto& [reactionPtr, flowRate]: allFlows) {
+
354 bool keepReaction = false;
+
355 if (flowRate > absoluteCullingThreshold) {
+
356 LOG_TRACE_L2(m_logger, "Maintaining reaction '{}' with relative (abs) flow rate: {:0.3E} ({:0.3E} [mol/s])", reactionPtr->id(), flowRate/maxFlow, flowRate);
+
357 keepReaction = true;
+
358 } else {
+
359 bool zero_flow_due_to_reachable_reactants = false;
+
360 if (flowRate < 1e-99) {
+
361 for (const auto& reactant: reactionPtr->reactants()) {
+
362 const auto it = std::ranges::find(m_baseEngine.getNetworkSpecies(), reactant);
+
363 const size_t index = std::distance(m_baseEngine.getNetworkSpecies().begin(), it);
+
364 if (Y_full[index] < 1e-99 && reachableSpecies.contains(reactant)) {
+
365 LOG_TRACE_L2(m_logger, "Maintaining reaction '{}' with zero flow due to reachable reactant '{}'.", reactionPtr->id(), reactant.name());
+
366 zero_flow_due_to_reachable_reactants = true;
+
367 break;
+
368 }
+
369 }
+
370 }
+
371 if (zero_flow_due_to_reachable_reactants) {
+
372 keepReaction = true;
+
373 }
+
374 }
+
375 if (keepReaction) {
+
376 culledReactions.push_back(reactionPtr);
+
377 } else {
+
378 LOG_TRACE_L1(m_logger, "Culling reaction '{}' due to low flow rate or lack of connectivity.", reactionPtr->id());
+
379 }
+
380 }
+
381 LOG_DEBUG(m_logger, "Selected {} (total: {}, culled: {}) reactions based on flow rates.", culledReactions.size(), allFlows.size(), allFlows.size() - culledReactions.size());
+
382 return culledReactions;
+
383 }
-
327
-
-
328 std::vector<double> AdaptiveEngineView::mapFullToCulled(const std::vector<double>& full) const {
-
329 std::vector<double> culled(m_activeSpecies.size(), 0.0);
-
330 for (size_t i_culled = 0; i_culled < m_activeSpecies.size(); ++i_culled) {
-
331 const size_t i_full = m_speciesIndexMap[i_culled];
-
332 culled[i_culled] = full[i_full];
-
333 }
-
334 return culled;
-
335 }
+
384
+
+ +
386 const std::vector<const reaction::LogicalReaction *> &finalReactions
+
387 ) {
+
388 std::unordered_set<Species>finalSpeciesSet;
+
389 m_activeReactions.clear();
+
390 for (const auto* reactionPtr: finalReactions) {
+
391 m_activeReactions.add_reaction(*reactionPtr);
+
392 for (const auto& reactant : reactionPtr->reactants()) {
+
393 finalSpeciesSet.insert(reactant);
+
394 }
+
395 for (const auto& product : reactionPtr->products()) {
+
396 finalSpeciesSet.insert(product);
+
397 }
+
398 }
+
399 m_activeSpecies.assign(finalSpeciesSet.begin(), finalSpeciesSet.end());
+
400 std::ranges::sort(
+ +
402 [](const Species &a, const Species &b) { return a.mass() < b.mass(); }
+
403 );
+
404 }
-
336
-
-
337 size_t AdaptiveEngineView::mapCulledToFullSpeciesIndex(size_t culledSpeciesIndex) const {
-
338 if (culledSpeciesIndex < 0 || culledSpeciesIndex >= static_cast<int>(m_speciesIndexMap.size())) {
-
339 LOG_ERROR(m_logger, "Culled index {} is out of bounds for species index map of size {}.", culledSpeciesIndex, m_speciesIndexMap.size());
-
340 m_logger->flush_log();
-
341 throw std::out_of_range("Culled index " + std::to_string(culledSpeciesIndex) + " is out of bounds for species index map of size " + std::to_string(m_speciesIndexMap.size()) + ".");
-
342 }
-
343 return m_speciesIndexMap[culledSpeciesIndex];
-
344 }
-
-
345
-
-
346 size_t AdaptiveEngineView::mapCulledToFullReactionIndex(size_t culledReactionIndex) const {
-
347 if (culledReactionIndex < 0 || culledReactionIndex >= static_cast<int>(m_reactionIndexMap.size())) {
-
348 LOG_ERROR(m_logger, "Culled index {} is out of bounds for reaction index map of size {}.", culledReactionIndex, m_reactionIndexMap.size());
-
349 m_logger->flush_log();
-
350 throw std::out_of_range("Culled index " + std::to_string(culledReactionIndex) + " is out of bounds for reaction index map of size " + std::to_string(m_reactionIndexMap.size()) + ".");
-
351 }
-
352 return m_reactionIndexMap[culledReactionIndex];
-
353 }
-
-
354
-
- -
356 if (m_isStale) {
-
357 LOG_ERROR(m_logger, "AdaptiveEngineView is stale. Please call update() before calculating RHS and energy.");
-
358 m_logger->flush_log();
-
359 throw std::runtime_error("AdaptiveEngineView is stale. Please call update() before calculating RHS and energy.");
-
360 }
-
361 }
-
-
362}
-
363
-
double calculateMolarReactionFlow(const reaction::Reaction &reaction, const std::vector< double > &Y_culled, double T9, double rho) const override
Calculates the molar reaction flow for a given reaction in the active network.
-
const reaction::LogicalReactionSet & getNetworkReactions() const override
Gets the set of active logical reactions in the network.
- -
reaction::LogicalReactionSet m_activeReactions
-
std::vector< size_t > m_reactionIndexMap
-
void generateStoichiometryMatrix() override
Generates the stoichiometry matrix for the active reactions and species.
-
size_t mapCulledToFullSpeciesIndex(size_t culledSpeciesIndex) const
Maps a culled species index to a full species index.
-
std::vector< double > mapFullToCulled(const std::vector< double > &full) const
Maps a vector of full abundances to a vector of culled abundances.
-
void update(const NetIn &netIn)
Updates the active species and reactions based on the current conditions.
-
double getJacobianMatrixEntry(const int i_culled, const int j_culled) const override
Gets an entry from the Jacobian matrix for the active species.
- -
std::vector< size_t > m_speciesIndexMap
- -
int getStoichiometryMatrixEntry(const int speciesIndex_culled, const int reactionIndex_culled) const override
Gets an entry from the stoichiometry matrix for the active species and reactions.
-
std::vector< double > mapCulledToFull(const std::vector< double > &culled) const
Maps a vector of culled abundances to a vector of full abundances.
-
StepDerivatives< double > calculateRHSAndEnergy(const std::vector< double > &Y_culled, const double T9, const double rho) const override
Calculates the right-hand side (dY/dt) and energy generation for the active species.
+
405}
+
406
+
double calculateMolarReactionFlow(const reaction::Reaction &reaction, const std::vector< double > &Y_culled, double T9, double rho) const override
Calculates the molar reaction flow for a given reaction in the active network.
+
screening::ScreeningType getScreeningModel() const override
+
std::unordered_set< fourdst::atomic::Species > findReachableSpecies(const NetIn &netIn) const
+
const reaction::LogicalReactionSet & getNetworkReactions() const override
Gets the set of active logical reactions in the network.
+ +
reaction::LogicalReactionSet m_activeReactions
+
std::vector< size_t > m_reactionIndexMap
+
void generateStoichiometryMatrix() override
Generates the stoichiometry matrix for the active reactions and species.
+
size_t mapCulledToFullSpeciesIndex(size_t culledSpeciesIndex) const
Maps a culled species index to a full species index.
+
std::vector< double > mapFullToCulled(const std::vector< double > &full) const
Maps a vector of full abundances to a vector of culled abundances.
+
std::vector< const reaction::LogicalReaction * > cullReactionsByFlow(const std::vector< ReactionFlow > &allFlows, const std::unordered_set< fourdst::atomic::Species > &reachableSpecies, const std::vector< double > &Y_full, double maxFlow) const
+
double getJacobianMatrixEntry(const int i_culled, const int j_culled) const override
Gets an entry from the Jacobian matrix for the active species.
+ +
std::vector< size_t > m_speciesIndexMap
+ +
int getStoichiometryMatrixEntry(const int speciesIndex_culled, const int reactionIndex_culled) const override
Gets an entry from the stoichiometry matrix for the active species and reactions.
+
std::vector< double > mapCulledToFull(const std::vector< double > &culled) const
Maps a vector of culled abundances to a vector of full abundances.
+
StepDerivatives< double > calculateRHSAndEnergy(const std::vector< double > &Y_culled, const double T9, const double rho) const override
Calculates the right-hand side (dY/dt) and energy generation for the active species.
+
void update(const NetIn &netIn) override
Updates the active species and reactions based on the current conditions.
std::vector< size_t > constructReactionIndexMap() const
Constructs the reaction index map.
std::vector< size_t > constructSpeciesIndexMap() const
Constructs the species index map.
-
size_t mapCulledToFullReactionIndex(size_t culledReactionIndex) const
Maps a culled reaction index to a full reaction index.
-
std::unordered_map< fourdst::atomic::Species, double > getSpeciesTimescales(const std::vector< double > &Y_culled, double T9, double rho) const override
Computes timescales for all active species in the network.
- -
const std::vector< fourdst::atomic::Species > & getNetworkSpecies() const override
Gets the list of active species in the network.
-
void generateJacobianMatrix(const std::vector< double > &Y_culled, const double T9, const double rho) override
Generates the Jacobian matrix for the active species.
+
size_t mapCulledToFullReactionIndex(size_t culledReactionIndex) const
Maps a culled reaction index to a full reaction index.
+
std::unordered_map< fourdst::atomic::Species, double > getSpeciesTimescales(const std::vector< double > &Y_culled, double T9, double rho) const override
Computes timescales for all active species in the network.
+
void finalizeActiveSet(const std::vector< const reaction::LogicalReaction * > &finalReactions)
+
void setScreeningModel(screening::ScreeningType model) override
+
std::vector< ReactionFlow > calculateAllReactionFlows(const NetIn &netIn, std::vector< double > &out_Y_Full) const
+ +
const std::vector< fourdst::atomic::Species > & getNetworkSpecies() const override
Gets the list of active species in the network.
+
void generateJacobianMatrix(const std::vector< double > &Y_culled, const double T9, const double rho) override
Generates the Jacobian matrix for the active species.
AdaptiveEngineView(DynamicEngine &baseEngine)
Constructs an AdaptiveEngineView.
-
void validateState() const
Validates that the AdaptiveEngineView is not stale.
-
std::vector< fourdst::atomic::Species > m_activeSpecies
-
Abstract class for engines supporting Jacobian and stoichiometry operations.
-
A collection of LogicalReaction objects.
Definition reaction.h:554
-
Represents a single nuclear reaction from a specific data source.
Definition reaction.h:71
+
void validateState() const
Validates that the AdaptiveEngineView is not stale.
+
std::vector< fourdst::atomic::Species > m_activeSpecies
+
Abstract class for engines supporting Jacobian and stoichiometry operations.
+
Represents a single nuclear reaction from a specific data source.
Definition reaction.h:72
- - + +
TemplatedReactionSet< LogicalReaction > LogicalReactionSet
A set of logical reactions.
Definition reaction.h:557
+ +
double density
Density in g/cm^3.
Definition network.h:58
fourdst::composition::Composition composition
Composition of the network.
Definition network.h:54
double temperature
Temperature in Kelvin.
Definition network.h:57
-
Structure holding derivatives and energy generation for a network step.
-
T nuclearEnergyGenerationRate
Specific energy generation rate (e.g., erg/g/s).
-
std::vector< T > dydt
Derivatives of abundances (dY/dt for each species).
+
Structure holding derivatives and energy generation for a network step.
+
T nuclearEnergyGenerationRate
Specific energy generation rate (e.g., erg/g/s).
+
std::vector< T > dydt
Derivatives of abundances (dY/dt for each species).
diff --git a/docs/html/engine__adaptive_8h.html b/docs/html/engine__adaptive_8h.html index 0f1ad599..fca7517d 100644 --- a/docs/html/engine__adaptive_8h.html +++ b/docs/html/engine__adaptive_8h.html @@ -5,7 +5,7 @@ -GridFire: src/network/include/gridfire/engine/engine_adaptive.h File Reference +GridFire: src/network/include/gridfire/engine/views/engine_adaptive.h File Reference @@ -106,7 +106,9 @@ $(function(){initNavTree('engine__adaptive_8h.html',''); initResizable(true); })
#include "gridfire/engine/engine_abstract.h"
-#include "gridfire/engine/engine_view_abstract.h"
+#include "gridfire/engine/views/engine_view_abstract.h"
+#include "gridfire/screening/screening_abstract.h"
+#include "gridfire/screening/screening_types.h"
#include "gridfire/network.h"
#include "fourdst/composition/atomicSpecies.h"
#include "fourdst/config/config.h"
@@ -134,7 +136,7 @@ Namespaces diff --git a/docs/html/engine__adaptive_8h_source.html b/docs/html/engine__adaptive_8h_source.html index 33672e87..6c1e5d54 100644 --- a/docs/html/engine__adaptive_8h_source.html +++ b/docs/html/engine__adaptive_8h_source.html @@ -5,7 +5,7 @@ -GridFire: src/network/include/gridfire/engine/engine_adaptive.h Source File +GridFire: src/network/include/gridfire/engine/views/engine_adaptive.h Source File @@ -104,154 +104,187 @@ $(function(){initNavTree('engine__adaptive_8h_source.html',''); initResizable(tr
Go to the documentation of this file.
1#pragma once
- -
4#include "gridfire/network.h"
-
5
-
6#include "fourdst/composition/atomicSpecies.h"
-
7#include "fourdst/config/config.h"
-
8#include "fourdst/logging/logging.h"
-
9
-
10#include "quill/Logger.h"
+ + + +
6#include "gridfire/network.h"
+
7
+
8#include "fourdst/composition/atomicSpecies.h"
+
9#include "fourdst/config/config.h"
+
10#include "fourdst/logging/logging.h"
11
-
12namespace gridfire {
-
-
45 class AdaptiveEngineView final : public DynamicEngine, public EngineView<DynamicEngine> {
-
46 public:
-
55 explicit AdaptiveEngineView(DynamicEngine& baseEngine);
-
56
-
74 void update(const NetIn& netIn);
-
75
-
80 const std::vector<fourdst::atomic::Species>& getNetworkSpecies() const override;
-
81
- -
99 const std::vector<double> &Y_culled,
-
100 const double T9,
-
101 const double rho
-
102 ) const override;
-
103
- -
118 const std::vector<double> &Y_culled,
-
119 const double T9,
-
120 const double rho
-
121 ) override;
-
122
- -
138 const int i_culled,
-
139 const int j_culled
-
140 ) const override;
-
141
-
151 void generateStoichiometryMatrix() override;
-
152
- -
168 const int speciesIndex_culled,
-
169 const int reactionIndex_culled
-
170 ) const override;
-
171
- - -
189 const std::vector<double> &Y_culled,
-
190 double T9,
-
191 double rho
-
192 ) const override;
-
193
- -
200
-
214 std::unordered_map<fourdst::atomic::Species, double> getSpeciesTimescales(
-
215 const std::vector<double> &Y_culled,
-
216 double T9,
-
217 double rho
-
218 ) const override;
-
219
-
224 const DynamicEngine& getBaseEngine() const override { return m_baseEngine; }
-
225 private:
-
226 using Config = fourdst::config::Config;
-
227 using LogManager = fourdst::logging::LogManager;
-
228 Config& m_config = Config::getInstance();
-
229 quill::Logger* m_logger = LogManager::getInstance().getLogger("log");
-
230
- -
232
-
233 std::vector<fourdst::atomic::Species> m_activeSpecies;
- -
235
-
236 std::vector<size_t> m_speciesIndexMap;
-
237 std::vector<size_t> m_reactionIndexMap;
+
12#include "quill/Logger.h"
+
13
+
14namespace gridfire {
+
+
47 class AdaptiveEngineView final : public DynamicEngine, public EngineView<DynamicEngine> {
+
48 public:
+
57 explicit AdaptiveEngineView(DynamicEngine& baseEngine);
+
58
+
76 void update(const NetIn& netIn) override;
+
77
+
82 [[nodiscard]] const std::vector<fourdst::atomic::Species>& getNetworkSpecies() const override;
+
83
+ +
101 const std::vector<double> &Y_culled,
+
102 const double T9,
+
103 const double rho
+
104 ) const override;
+
105
+ +
120 const std::vector<double> &Y_culled,
+
121 const double T9,
+
122 const double rho
+
123 ) override;
+
124
+
139 [[nodiscard]] double getJacobianMatrixEntry(
+
140 const int i_culled,
+
141 const int j_culled
+
142 ) const override;
+
143
+
153 void generateStoichiometryMatrix() override;
+
154
+
169 [[nodiscard]] int getStoichiometryMatrixEntry(
+
170 const int speciesIndex_culled,
+
171 const int reactionIndex_culled
+
172 ) const override;
+
173
+
189 [[nodiscard]] double calculateMolarReactionFlow(
+ +
191 const std::vector<double> &Y_culled,
+
192 double T9,
+
193 double rho
+
194 ) const override;
+
195
+
201 [[nodiscard]] const reaction::LogicalReactionSet& getNetworkReactions() const override;
+
202
+
216 [[nodiscard]] std::unordered_map<fourdst::atomic::Species, double> getSpeciesTimescales(
+
217 const std::vector<double> &Y_culled,
+
218 double T9,
+
219 double rho
+
220 ) const override;
+
221
+
226 [[nodiscard]] const DynamicEngine& getBaseEngine() const override { return m_baseEngine; }
+
227
+
228 void setScreeningModel(screening::ScreeningType model) override;
+
229
+
230 [[nodiscard]] screening::ScreeningType getScreeningModel() const override;
+
231 private:
+
232 using Config = fourdst::config::Config;
+
233 using LogManager = fourdst::logging::LogManager;
+
234 Config& m_config = Config::getInstance();
+
235 quill::Logger* m_logger = LogManager::getInstance().getLogger("log");
+
236
+
238
-
239 bool m_isStale = true;
-
240
-
241 private:
-
252 std::vector<size_t> constructSpeciesIndexMap() const;
-
253
-
264 std::vector<size_t> constructReactionIndexMap() const;
-
265
-
273 std::vector<double> mapCulledToFull(const std::vector<double>& culled) const;
-
274
-
282 std::vector<double> mapFullToCulled(const std::vector<double>& full) const;
-
283
-
292 size_t mapCulledToFullSpeciesIndex(size_t culledSpeciesIndex) const;
-
293
-
302 size_t mapCulledToFullReactionIndex(size_t culledReactionIndex) const;
-
303
-
309 void validateState() const;
-
310 private:
-
- - -
316 double flowRate;
-
317 };
+
239 std::vector<fourdst::atomic::Species> m_activeSpecies;
+ +
241
+
242 std::vector<size_t> m_speciesIndexMap;
+
243 std::vector<size_t> m_reactionIndexMap;
+
244
+
245 bool m_isStale = true;
+
246
+
247 private:
+ -
318 };
+
255 private:
+
266 [[nodiscard]] std::vector<size_t> constructSpeciesIndexMap() const;
+
267
+
278 [[nodiscard]] std::vector<size_t> constructReactionIndexMap() const;
+
279
+
287 [[nodiscard]] std::vector<double> mapCulledToFull(const std::vector<double>& culled) const;
+
288
+
296 [[nodiscard]] std::vector<double> mapFullToCulled(const std::vector<double>& full) const;
+
297
+
306 [[nodiscard]] size_t mapCulledToFullSpeciesIndex(size_t culledSpeciesIndex) const;
+
307
+
316 [[nodiscard]] size_t mapCulledToFullReactionIndex(size_t culledReactionIndex) const;
+
317
+
323 void validateState() const;
+
324
+
325 std::vector<ReactionFlow> calculateAllReactionFlows(
+
326 const NetIn& netIn,
+
327 std::vector<double>& out_Y_Full
+
328 ) const;
+
329 [[nodiscard]] std::unordered_set<fourdst::atomic::Species> findReachableSpecies(
+
330 const NetIn& netIn
+
331 ) const;
+
332 [[nodiscard]] std::vector<const reaction::LogicalReaction*> cullReactionsByFlow(
+
333 const std::vector<ReactionFlow>& allFlows,
+
334 const std::unordered_set<fourdst::atomic::Species>& reachableSpecies,
+
335 const std::vector<double>& Y_full,
+
336 double maxFlow
+
337 ) const;
+ +
339 const std::vector<const reaction::LogicalReaction*>& finalReactions
+
340 );
+
341 };
-
319}
-
double calculateMolarReactionFlow(const reaction::Reaction &reaction, const std::vector< double > &Y_culled, double T9, double rho) const override
Calculates the molar reaction flow for a given reaction in the active network.
-
const reaction::LogicalReactionSet & getNetworkReactions() const override
Gets the set of active logical reactions in the network.
- -
reaction::LogicalReactionSet m_activeReactions
-
std::vector< size_t > m_reactionIndexMap
-
void generateStoichiometryMatrix() override
Generates the stoichiometry matrix for the active reactions and species.
-
size_t mapCulledToFullSpeciesIndex(size_t culledSpeciesIndex) const
Maps a culled species index to a full species index.
-
std::vector< double > mapFullToCulled(const std::vector< double > &full) const
Maps a vector of full abundances to a vector of culled abundances.
-
void update(const NetIn &netIn)
Updates the active species and reactions based on the current conditions.
-
double getJacobianMatrixEntry(const int i_culled, const int j_culled) const override
Gets an entry from the Jacobian matrix for the active species.
- -
fourdst::logging::LogManager LogManager
-
std::vector< size_t > m_speciesIndexMap
- -
int getStoichiometryMatrixEntry(const int speciesIndex_culled, const int reactionIndex_culled) const override
Gets an entry from the stoichiometry matrix for the active species and reactions.
-
std::vector< double > mapCulledToFull(const std::vector< double > &culled) const
Maps a vector of culled abundances to a vector of full abundances.
-
StepDerivatives< double > calculateRHSAndEnergy(const std::vector< double > &Y_culled, const double T9, const double rho) const override
Calculates the right-hand side (dY/dt) and energy generation for the active species.
+
342}
+
double calculateMolarReactionFlow(const reaction::Reaction &reaction, const std::vector< double > &Y_culled, double T9, double rho) const override
Calculates the molar reaction flow for a given reaction in the active network.
+
screening::ScreeningType getScreeningModel() const override
+
std::unordered_set< fourdst::atomic::Species > findReachableSpecies(const NetIn &netIn) const
+
const reaction::LogicalReactionSet & getNetworkReactions() const override
Gets the set of active logical reactions in the network.
+ +
reaction::LogicalReactionSet m_activeReactions
+
std::vector< size_t > m_reactionIndexMap
+
void generateStoichiometryMatrix() override
Generates the stoichiometry matrix for the active reactions and species.
+
size_t mapCulledToFullSpeciesIndex(size_t culledSpeciesIndex) const
Maps a culled species index to a full species index.
+
std::vector< double > mapFullToCulled(const std::vector< double > &full) const
Maps a vector of full abundances to a vector of culled abundances.
+
std::vector< const reaction::LogicalReaction * > cullReactionsByFlow(const std::vector< ReactionFlow > &allFlows, const std::unordered_set< fourdst::atomic::Species > &reachableSpecies, const std::vector< double > &Y_full, double maxFlow) const
+
double getJacobianMatrixEntry(const int i_culled, const int j_culled) const override
Gets an entry from the Jacobian matrix for the active species.
+ +
fourdst::logging::LogManager LogManager
+
std::vector< size_t > m_speciesIndexMap
+ +
int getStoichiometryMatrixEntry(const int speciesIndex_culled, const int reactionIndex_culled) const override
Gets an entry from the stoichiometry matrix for the active species and reactions.
+
std::vector< double > mapCulledToFull(const std::vector< double > &culled) const
Maps a vector of culled abundances to a vector of full abundances.
+
StepDerivatives< double > calculateRHSAndEnergy(const std::vector< double > &Y_culled, const double T9, const double rho) const override
Calculates the right-hand side (dY/dt) and energy generation for the active species.
+
void update(const NetIn &netIn) override
Updates the active species and reactions based on the current conditions.
std::vector< size_t > constructReactionIndexMap() const
Constructs the reaction index map.
std::vector< size_t > constructSpeciesIndexMap() const
Constructs the species index map.
-
size_t mapCulledToFullReactionIndex(size_t culledReactionIndex) const
Maps a culled reaction index to a full reaction index.
-
std::unordered_map< fourdst::atomic::Species, double > getSpeciesTimescales(const std::vector< double > &Y_culled, double T9, double rho) const override
Computes timescales for all active species in the network.
- -
const std::vector< fourdst::atomic::Species > & getNetworkSpecies() const override
Gets the list of active species in the network.
-
void generateJacobianMatrix(const std::vector< double > &Y_culled, const double T9, const double rho) override
Generates the Jacobian matrix for the active species.
+
size_t mapCulledToFullReactionIndex(size_t culledReactionIndex) const
Maps a culled reaction index to a full reaction index.
+
std::unordered_map< fourdst::atomic::Species, double > getSpeciesTimescales(const std::vector< double > &Y_culled, double T9, double rho) const override
Computes timescales for all active species in the network.
+
void finalizeActiveSet(const std::vector< const reaction::LogicalReaction * > &finalReactions)
+
void setScreeningModel(screening::ScreeningType model) override
+
std::vector< ReactionFlow > calculateAllReactionFlows(const NetIn &netIn, std::vector< double > &out_Y_Full) const
+ +
const std::vector< fourdst::atomic::Species > & getNetworkSpecies() const override
Gets the list of active species in the network.
+
void generateJacobianMatrix(const std::vector< double > &Y_culled, const double T9, const double rho) override
Generates the Jacobian matrix for the active species.
AdaptiveEngineView(DynamicEngine &baseEngine)
Constructs an AdaptiveEngineView.
-
void validateState() const
Validates that the AdaptiveEngineView is not stale.
-
const DynamicEngine & getBaseEngine() const override
Gets the base engine.
-
std::vector< fourdst::atomic::Species > m_activeSpecies
-
fourdst::config::Config Config
-
Abstract class for engines supporting Jacobian and stoichiometry operations.
+
void validateState() const
Validates that the AdaptiveEngineView is not stale.
+
const DynamicEngine & getBaseEngine() const override
Gets the base engine.
+
std::vector< fourdst::atomic::Species > m_activeSpecies
+
fourdst::config::Config Config
+
Abstract class for engines supporting Jacobian and stoichiometry operations.
Abstract base class for a "view" of a reaction network engine.
-
A collection of LogicalReaction objects.
Definition reaction.h:554
-
Represents a single nuclear reaction from a specific data source.
Definition reaction.h:71
+
Represents a "logical" reaction that aggregates rates from multiple sources.
Definition reaction.h:308
+
Represents a single nuclear reaction from a specific data source.
Definition reaction.h:72
Abstract interfaces for reaction network engines in GridFire.
Abstract interfaces for engine "views" in GridFire.
- - + +
TemplatedReactionSet< LogicalReaction > LogicalReactionSet
A set of logical reactions.
Definition reaction.h:557
+ + -
A struct to hold a reaction and its flow rate.
- - + + +
A struct to hold a reaction and its flow rate.
+
const reaction::LogicalReaction * reactionPtr
+ -
Structure holding derivatives and energy generation for a network step.
+
Structure holding derivatives and energy generation for a network step.
diff --git a/docs/html/engine__approx8_8cpp_source.html b/docs/html/engine__approx8_8cpp_source.html index 6d5cc65d..1c08eba4 100644 --- a/docs/html/engine__approx8_8cpp_source.html +++ b/docs/html/engine__approx8_8cpp_source.html @@ -662,26 +662,25 @@ $(function(){initNavTree('engine__approx8_8cpp_source.html',''); initResizable(t
511 y[Approx8Net::ih1] = netIn.composition.getNumberFraction("H-1");
-
512 std::cout << "Approx8::convert_netIn -> H-1 fraction: " << y[Approx8Net::ih1] << std::endl;
-
513 y[Approx8Net::ihe3] = netIn.composition.getNumberFraction("He-3");
-
514 y[Approx8Net::ihe4] = netIn.composition.getNumberFraction("He-4");
-
515 y[Approx8Net::ic12] = netIn.composition.getNumberFraction("C-12");
-
516 y[Approx8Net::in14] = netIn.composition.getNumberFraction("N-14");
-
517 y[Approx8Net::io16] = netIn.composition.getNumberFraction("O-16");
-
518 y[Approx8Net::ine20] = netIn.composition.getNumberFraction("Ne-20");
-
519 y[Approx8Net::img24] = netIn.composition.getNumberFraction("Mg-24");
- -
521 y[Approx8Net::iDensity] = netIn.density;
-
522 y[Approx8Net::iEnergy] = netIn.energy;
-
523
-
524 return y;
-
525 }
+
512 y[Approx8Net::ihe3] = netIn.composition.getNumberFraction("He-3");
+
513 y[Approx8Net::ihe4] = netIn.composition.getNumberFraction("He-4");
+
514 y[Approx8Net::ic12] = netIn.composition.getNumberFraction("C-12");
+
515 y[Approx8Net::in14] = netIn.composition.getNumberFraction("N-14");
+
516 y[Approx8Net::io16] = netIn.composition.getNumberFraction("O-16");
+
517 y[Approx8Net::ine20] = netIn.composition.getNumberFraction("Ne-20");
+
518 y[Approx8Net::img24] = netIn.composition.getNumberFraction("Mg-24");
+ +
520 y[Approx8Net::iDensity] = netIn.density;
+
521 y[Approx8Net::iEnergy] = netIn.energy;
+
522
+
523 return y;
+
524 }
-
526};
+
525};
+
526
527
-
528
-
529// main program
-
530
+
528// main program
+
529
Network(const NetworkFormat format=NetworkFormat::APPROX8)
Definition network.cpp:41
quill::Logger * m_logger
Logger instance.
Definition network.h:98
fourdst::config::Config & m_config
Configuration instance.
Definition network.h:96
diff --git a/docs/html/engine__graph_8cpp.html b/docs/html/engine__graph_8cpp.html index 4edabcb1..6aaa09f1 100644 --- a/docs/html/engine__graph_8cpp.html +++ b/docs/html/engine__graph_8cpp.html @@ -107,6 +107,7 @@ $(function(){initNavTree('engine__graph_8cpp.html',''); initResizable(true); });
#include "gridfire/engine/engine_graph.h"
#include "gridfire/reaction/reaction.h"
#include "gridfire/network.h"
+#include "gridfire/screening/screening_types.h"
#include "fourdst/composition/species.h"
#include "fourdst/composition/atomicSpecies.h"
#include "quill/LogMacros.h"
diff --git a/docs/html/engine__graph_8cpp_source.html b/docs/html/engine__graph_8cpp_source.html index 5006f9f7..b3f2cfbc 100644 --- a/docs/html/engine__graph_8cpp_source.html +++ b/docs/html/engine__graph_8cpp_source.html @@ -105,583 +105,612 @@ $(function(){initNavTree('engine__graph_8cpp_source.html',''); initResizable(tru Go to the documentation of this file.
3#include "gridfire/network.h"
-
4
-
5#include "fourdst/composition/species.h"
-
6#include "fourdst/composition/atomicSpecies.h"
-
7
-
8#include "quill/LogMacros.h"
-
9
-
10#include <cstdint>
-
11#include <iostream>
-
12#include <set>
-
13#include <stdexcept>
-
14#include <string>
-
15#include <string_view>
-
16#include <unordered_map>
-
17#include <utility>
-
18#include <vector>
-
19#include <fstream>
-
20
-
21#include <boost/numeric/odeint.hpp>
-
22
+ +
5
+
6#include "fourdst/composition/species.h"
+
7#include "fourdst/composition/atomicSpecies.h"
+
8
+
9#include "quill/LogMacros.h"
+
10
+
11#include <cstdint>
+
12#include <iostream>
+
13#include <set>
+
14#include <stdexcept>
+
15#include <string>
+
16#include <string_view>
+
17#include <unordered_map>
+
18#include <utility>
+
19#include <vector>
+
20#include <fstream>
+
21
+
22#include <boost/numeric/odeint.hpp>
23
-
24namespace gridfire {
-
- -
26 const fourdst::composition::Composition &composition
-
27 ):
-
28 m_reactions(build_reaclib_nuclear_network(composition, false)) {
- -
30 }
+
24
+
25namespace gridfire {
+
+ +
27 const fourdst::composition::Composition &composition
+
28 ):
+
29 m_reactions(build_reaclib_nuclear_network(composition, false)) {
+ +
31 }
-
31
-
- -
33 m_reactions(std::move(reactions)) {
- -
35 }
+
32
+
+ +
34 m_reactions(std::move(reactions)) {
+ +
36 }
-
36
-
- -
38 const std::vector<double> &Y,
-
39 const double T9,
-
40 const double rho
-
41 ) const {
-
42 return calculateAllDerivatives<double>(Y, T9, rho);
-
43 }
+
37
+
+ +
39 const std::vector<double> &Y,
+
40 const double T9,
+
41 const double rho
+
42 ) const {
+
43 return calculateAllDerivatives<double>(Y, T9, rho);
+
44 }
-
44
45
-
- - - - - - - -
53 }
+
46
+ -
54
-
55 // --- Network Graph Construction Methods ---
-
- -
57 m_networkSpecies.clear();
-
58 m_networkSpeciesMap.clear();
-
59
-
60 std::set<std::string_view> uniqueSpeciesNames;
-
61
-
62 for (const auto& reaction: m_reactions) {
-
63 for (const auto& reactant: reaction.reactants()) {
-
64 uniqueSpeciesNames.insert(reactant.name());
-
65 }
-
66 for (const auto& product: reaction.products()) {
-
67 uniqueSpeciesNames.insert(product.name());
-
68 }
-
69 }
-
70
-
71 for (const auto& name: uniqueSpeciesNames) {
-
72 auto it = fourdst::atomic::species.find(std::string(name));
-
73 if (it != fourdst::atomic::species.end()) {
-
74 m_networkSpecies.push_back(it->second);
-
75 m_networkSpeciesMap.insert({name, it->second});
-
76 } else {
-
77 LOG_ERROR(m_logger, "Species '{}' not found in global atomic species database.", name);
-
78 m_logger->flush_log();
-
79 throw std::runtime_error("Species not found in global atomic species database: " + std::string(name));
-
80 }
-
81 }
-
82
-
83 }
+
55
+
56 // --- Network Graph Construction Methods ---
+
+ +
58 m_networkSpecies.clear();
+
59 m_networkSpeciesMap.clear();
+
60
+
61 std::set<std::string_view> uniqueSpeciesNames;
+
62
+
63 for (const auto& reaction: m_reactions) {
+
64 for (const auto& reactant: reaction.reactants()) {
+
65 uniqueSpeciesNames.insert(reactant.name());
+
66 }
+
67 for (const auto& product: reaction.products()) {
+
68 uniqueSpeciesNames.insert(product.name());
+
69 }
+
70 }
+
71
+
72 for (const auto& name: uniqueSpeciesNames) {
+
73 auto it = fourdst::atomic::species.find(std::string(name));
+
74 if (it != fourdst::atomic::species.end()) {
+
75 m_networkSpecies.push_back(it->second);
+
76 m_networkSpeciesMap.insert({name, it->second});
+
77 } else {
+
78 LOG_ERROR(m_logger, "Species '{}' not found in global atomic species database.", name);
+
79 m_logger->flush_log();
+
80 throw std::runtime_error("Species not found in global atomic species database: " + std::string(name));
+
81 }
+
82 }
+
83
+
84 }
-
84
-
- -
86 LOG_TRACE_L1(m_logger, "Populating reaction ID map for REACLIB graph network (serif::network::GraphNetwork)...");
-
87 m_reactionIDMap.clear();
-
88 for (auto& reaction: m_reactions) {
-
89 m_reactionIDMap.emplace(reaction.id(), &reaction);
-
90 }
-
91 LOG_TRACE_L1(m_logger, "Populated {} reactions in the reaction ID map.", m_reactionIDMap.size());
-
92 }
+
85
+
+ +
87 LOG_TRACE_L1(m_logger, "Populating reaction ID map for REACLIB graph network (serif::network::GraphNetwork)...");
+
88 m_reactionIDMap.clear();
+
89 for (auto& reaction: m_reactions) {
+
90 m_reactionIDMap.emplace(reaction.id(), &reaction);
+
91 }
+
92 LOG_TRACE_L1(m_logger, "Populated {} reactions in the reaction ID map.", m_reactionIDMap.size());
+
93 }
-
93
-
- -
95 m_speciesToIndexMap.clear();
-
96 for (size_t i = 0; i < m_networkSpecies.size(); ++i) {
- -
98 }
-
99 }
+
94
+
+ +
96 m_speciesToIndexMap.clear();
+
97 for (size_t i = 0; i < m_networkSpecies.size(); ++i) {
+ +
99 }
+
100 }
-
100
-
- -
102 // The implementation of this function (and others) constrains this nuclear network to a constant temperature and density during
-
103 // each evaluation.
-
104 size_t numSpecies = m_networkSpecies.size();
-
105 m_jacobianMatrix.clear();
-
106 m_jacobianMatrix.resize(numSpecies, numSpecies, false); // Sparse matrix, no initial values
-
107 LOG_TRACE_L2(m_logger, "Jacobian matrix resized to {} rows and {} columns.",
-
108 m_jacobianMatrix.size1(), m_jacobianMatrix.size2());
-
109 }
+
101
+
+ +
103 // The implementation of this function (and others) constrains this nuclear network to a constant temperature and density during
+
104 // each evaluation.
+
105 size_t numSpecies = m_networkSpecies.size();
+
106 m_jacobianMatrix.clear();
+
107 m_jacobianMatrix.resize(numSpecies, numSpecies, false); // Sparse matrix, no initial values
+
108 LOG_TRACE_L2(m_logger, "Jacobian matrix resized to {} rows and {} columns.",
+
109 m_jacobianMatrix.size1(), m_jacobianMatrix.size2());
+
110 }
-
110
-
111 // --- Basic Accessors and Queries ---
-
-
112 const std::vector<fourdst::atomic::Species>& GraphEngine::getNetworkSpecies() const {
-
113 // Returns a constant reference to the vector of unique species in the network.
-
114 LOG_TRACE_L3(m_logger, "Providing access to network species vector. Size: {}.", m_networkSpecies.size());
-
115 return m_networkSpecies;
-
116 }
+
111
+
112 // --- Basic Accessors and Queries ---
+
+
113 const std::vector<fourdst::atomic::Species>& GraphEngine::getNetworkSpecies() const {
+
114 // Returns a constant reference to the vector of unique species in the network.
+
115 LOG_TRACE_L3(m_logger, "Providing access to network species vector. Size: {}.", m_networkSpecies.size());
+
116 return m_networkSpecies;
+
117 }
-
117
-
- -
119 // Returns a constant reference to the set of reactions in the network.
-
120 LOG_TRACE_L3(m_logger, "Providing access to network reactions set. Size: {}.", m_reactions.size());
-
121 return m_reactions;
-
122 }
+
118
+
+ +
120 // Returns a constant reference to the set of reactions in the network.
+
121 LOG_TRACE_L3(m_logger, "Providing access to network reactions set. Size: {}.", m_reactions.size());
+
122 return m_reactions;
+
123 }
-
123
-
-
124 bool GraphEngine::involvesSpecies(const fourdst::atomic::Species& species) const {
-
125 // Checks if a given species is present in the network's species map for efficient lookup.
-
126 const bool found = m_networkSpeciesMap.contains(species.name());
-
127 LOG_DEBUG(m_logger, "Checking if species '{}' is involved in the network: {}.", species.name(), found ? "Yes" : "No");
-
128 return found;
-
129 }
+
124
+
+
125 bool GraphEngine::involvesSpecies(const fourdst::atomic::Species& species) const {
+
126 // Checks if a given species is present in the network's species map for efficient lookup.
+
127 const bool found = m_networkSpeciesMap.contains(species.name());
+
128 LOG_DEBUG(m_logger, "Checking if species '{}' is involved in the network: {}.", species.name(), found ? "Yes" : "No");
+
129 return found;
+
130 }
-
130
-
131 // --- Validation Methods ---
-
- -
133 LOG_TRACE_L1(m_logger, "Validating mass (A) and charge (Z) conservation across all reactions in the network.");
-
134
-
135 for (const auto& reaction : m_reactions) {
-
136 uint64_t totalReactantA = 0;
-
137 uint64_t totalReactantZ = 0;
-
138 uint64_t totalProductA = 0;
-
139 uint64_t totalProductZ = 0;
-
140
-
141 // Calculate total A and Z for reactants
-
142 for (const auto& reactant : reaction.reactants()) {
-
143 auto it = m_networkSpeciesMap.find(reactant.name());
-
144 if (it != m_networkSpeciesMap.end()) {
-
145 totalReactantA += it->second.a();
-
146 totalReactantZ += it->second.z();
-
147 } else {
-
148 // This scenario indicates a severe data integrity issue:
-
149 // a reactant is part of a reaction but not in the network's species map.
-
150 LOG_ERROR(m_logger, "CRITICAL ERROR: Reactant species '{}' in reaction '{}' not found in network species map during conservation validation.",
-
151 reactant.name(), reaction.id());
-
152 return false;
-
153 }
-
154 }
-
155
-
156 // Calculate total A and Z for products
-
157 for (const auto& product : reaction.products()) {
-
158 auto it = m_networkSpeciesMap.find(product.name());
-
159 if (it != m_networkSpeciesMap.end()) {
-
160 totalProductA += it->second.a();
-
161 totalProductZ += it->second.z();
-
162 } else {
-
163 // Similar critical error for product species
-
164 LOG_ERROR(m_logger, "CRITICAL ERROR: Product species '{}' in reaction '{}' not found in network species map during conservation validation.",
-
165 product.name(), reaction.id());
-
166 return false;
-
167 }
-
168 }
-
169
-
170 // Compare totals for conservation
-
171 if (totalReactantA != totalProductA) {
-
172 LOG_ERROR(m_logger, "Mass number (A) not conserved for reaction '{}': Reactants A={} vs Products A={}.",
-
173 reaction.id(), totalReactantA, totalProductA);
-
174 return false;
-
175 }
-
176 if (totalReactantZ != totalProductZ) {
-
177 LOG_ERROR(m_logger, "Atomic number (Z) not conserved for reaction '{}': Reactants Z={} vs Products Z={}.",
-
178 reaction.id(), totalReactantZ, totalProductZ);
-
179 return false;
-
180 }
-
181 }
-
182
-
183 LOG_TRACE_L1(m_logger, "Mass (A) and charge (Z) conservation validated successfully for all reactions.");
-
184 return true; // All reactions passed the conservation check
-
185 }
+
131
+
132 // --- Validation Methods ---
+
+ +
134 LOG_TRACE_L1(m_logger, "Validating mass (A) and charge (Z) conservation across all reactions in the network.");
+
135
+
136 for (const auto& reaction : m_reactions) {
+
137 uint64_t totalReactantA = 0;
+
138 uint64_t totalReactantZ = 0;
+
139 uint64_t totalProductA = 0;
+
140 uint64_t totalProductZ = 0;
+
141
+
142 // Calculate total A and Z for reactants
+
143 for (const auto& reactant : reaction.reactants()) {
+
144 auto it = m_networkSpeciesMap.find(reactant.name());
+
145 if (it != m_networkSpeciesMap.end()) {
+
146 totalReactantA += it->second.a();
+
147 totalReactantZ += it->second.z();
+
148 } else {
+
149 // This scenario indicates a severe data integrity issue:
+
150 // a reactant is part of a reaction but not in the network's species map.
+
151 LOG_ERROR(m_logger, "CRITICAL ERROR: Reactant species '{}' in reaction '{}' not found in network species map during conservation validation.",
+
152 reactant.name(), reaction.id());
+
153 return false;
+
154 }
+
155 }
+
156
+
157 // Calculate total A and Z for products
+
158 for (const auto& product : reaction.products()) {
+
159 auto it = m_networkSpeciesMap.find(product.name());
+
160 if (it != m_networkSpeciesMap.end()) {
+
161 totalProductA += it->second.a();
+
162 totalProductZ += it->second.z();
+
163 } else {
+
164 // Similar critical error for product species
+
165 LOG_ERROR(m_logger, "CRITICAL ERROR: Product species '{}' in reaction '{}' not found in network species map during conservation validation.",
+
166 product.name(), reaction.id());
+
167 return false;
+
168 }
+
169 }
+
170
+
171 // Compare totals for conservation
+
172 if (totalReactantA != totalProductA) {
+
173 LOG_ERROR(m_logger, "Mass number (A) not conserved for reaction '{}': Reactants A={} vs Products A={}.",
+
174 reaction.id(), totalReactantA, totalProductA);
+
175 return false;
+
176 }
+
177 if (totalReactantZ != totalProductZ) {
+
178 LOG_ERROR(m_logger, "Atomic number (Z) not conserved for reaction '{}': Reactants Z={} vs Products Z={}.",
+
179 reaction.id(), totalReactantZ, totalProductZ);
+
180 return false;
+
181 }
+
182 }
+
183
+
184 LOG_TRACE_L1(m_logger, "Mass (A) and charge (Z) conservation validated successfully for all reactions.");
+
185 return true; // All reactions passed the conservation check
+
186 }
-
186
-
-
187 void GraphEngine::validateComposition(const fourdst::composition::Composition &composition, double culling, double T9) {
-
188 // Check if the requested network has already been cached.
-
189 // PERF: Rebuilding this should be pretty fast but it may be a good point of optimization in the future.
-
190 const reaction::LogicalReactionSet validationReactionSet = build_reaclib_nuclear_network(composition, false);
-
191 // TODO: need some more robust method here to
-
192 // A. Build the basic network from the composition's species with non zero mass fractions.
-
193 // B. rebuild a new composition from the reaction set's reactants + products (with the mass fractions from the things that are only products set to 0)
-
194 // C. Rebuild the reaction set from the new composition
-
195 // D. Cull reactions where all reactants have mass fractions below the culling threshold.
-
196 // E. Be careful about maintaining caching through all of this
-
197
+
187
+
+
188 void GraphEngine::validateComposition(const fourdst::composition::Composition &composition, double culling, double T9) {
+
189 // Check if the requested network has already been cached.
+
190 // PERF: Rebuilding this should be pretty fast but it may be a good point of optimization in the future.
+
191 const reaction::LogicalReactionSet validationReactionSet = build_reaclib_nuclear_network(composition, false);
+
192 // TODO: need some more robust method here to
+
193 // A. Build the basic network from the composition's species with non zero mass fractions.
+
194 // B. rebuild a new composition from the reaction set's reactants + products (with the mass fractions from the things that are only products set to 0)
+
195 // C. Rebuild the reaction set from the new composition
+
196 // D. Cull reactions where all reactants have mass fractions below the culling threshold.
+
197 // E. Be careful about maintaining caching through all of this
198
-
199 // This allows for dynamic network modification while retaining caching for networks which are very similar.
-
200 if (validationReactionSet != m_reactions) {
-
201 LOG_DEBUG(m_logger, "Reaction set not cached. Rebuilding the reaction set for T9={} and culling={}.", T9, culling);
-
202 m_reactions = std::move(validationReactionSet);
-
203 syncInternalMaps(); // Re-sync internal maps after updating reactions. Note this will also retrace the AD tape.
-
204 }
-
205 }
+
199
+
200 // This allows for dynamic network modification while retaining caching for networks which are very similar.
+
201 if (validationReactionSet != m_reactions) {
+
202 LOG_DEBUG(m_logger, "Reaction set not cached. Rebuilding the reaction set for T9={} and culling={}.", T9, culling);
+
203 m_reactions = std::move(validationReactionSet);
+
204 syncInternalMaps(); // Re-sync internal maps after updating reactions. Note this will also retrace the AD tape.
+
205 }
+
206 }
-
206
-
207 // --- Generate Stoichiometry Matrix ---
-
- -
209 LOG_TRACE_L1(m_logger, "Generating stoichiometry matrix...");
-
210
-
211 // Task 1: Set dimensions and initialize the matrix
-
212 size_t numSpecies = m_networkSpecies.size();
-
213 size_t numReactions = m_reactions.size();
-
214 m_stoichiometryMatrix.resize(numSpecies, numReactions, false);
-
215
-
216 LOG_TRACE_L1(m_logger, "Stoichiometry matrix initialized with dimensions: {} rows (species) x {} columns (reactions).",
-
217 numSpecies, numReactions);
-
218
-
219 // Task 2: Populate the stoichiometry matrix
-
220 // Iterate through all reactions, assign them a column index, and fill in their stoichiometric coefficients.
-
221 size_t reactionColumnIndex = 0;
-
222 for (const auto& reaction : m_reactions) {
-
223 // Get the net stoichiometry for the current reaction
-
224 std::unordered_map<fourdst::atomic::Species, int> netStoichiometry = reaction.stoichiometry();
-
225
-
226 // Iterate through the species and their coefficients in the stoichiometry map
-
227 for (const auto& [species, coefficient] : netStoichiometry) {
-
228 // Find the row index for this species
-
229 auto it = m_speciesToIndexMap.find(species);
-
230 if (it != m_speciesToIndexMap.end()) {
-
231 const size_t speciesRowIndex = it->second;
-
232 // Set the matrix element. Boost.uBLAS handles sparse insertion.
-
233 m_stoichiometryMatrix(speciesRowIndex, reactionColumnIndex) = coefficient;
-
234 } else {
-
235 // This scenario should ideally not happen if m_networkSpeciesMap and m_speciesToIndexMap are correctly synced
-
236 LOG_ERROR(m_logger, "CRITICAL ERROR: Species '{}' from reaction '{}' stoichiometry not found in species to index map.",
-
237 species.name(), reaction.id());
-
238 m_logger -> flush_log();
-
239 throw std::runtime_error("Species not found in species to index map: " + std::string(species.name()));
-
240 }
-
241 }
-
242 reactionColumnIndex++; // Move to the next column for the next reaction
-
243 }
-
244
-
245 LOG_TRACE_L1(m_logger, "Stoichiometry matrix population complete. Number of non-zero elements: {}.",
-
246 m_stoichiometryMatrix.nnz()); // Assuming nnz() exists for compressed_matrix
-
247 }
+
207
+
208 // --- Generate Stoichiometry Matrix ---
+
+ +
210 LOG_TRACE_L1(m_logger, "Generating stoichiometry matrix...");
+
211
+
212 // Task 1: Set dimensions and initialize the matrix
+
213 size_t numSpecies = m_networkSpecies.size();
+
214 size_t numReactions = m_reactions.size();
+
215 m_stoichiometryMatrix.resize(numSpecies, numReactions, false);
+
216
+
217 LOG_TRACE_L1(m_logger, "Stoichiometry matrix initialized with dimensions: {} rows (species) x {} columns (reactions).",
+
218 numSpecies, numReactions);
+
219
+
220 // Task 2: Populate the stoichiometry matrix
+
221 // Iterate through all reactions, assign them a column index, and fill in their stoichiometric coefficients.
+
222 size_t reactionColumnIndex = 0;
+
223 for (const auto& reaction : m_reactions) {
+
224 // Get the net stoichiometry for the current reaction
+
225 std::unordered_map<fourdst::atomic::Species, int> netStoichiometry = reaction.stoichiometry();
+
226
+
227 // Iterate through the species and their coefficients in the stoichiometry map
+
228 for (const auto& [species, coefficient] : netStoichiometry) {
+
229 // Find the row index for this species
+
230 auto it = m_speciesToIndexMap.find(species);
+
231 if (it != m_speciesToIndexMap.end()) {
+
232 const size_t speciesRowIndex = it->second;
+
233 // Set the matrix element. Boost.uBLAS handles sparse insertion.
+
234 m_stoichiometryMatrix(speciesRowIndex, reactionColumnIndex) = coefficient;
+
235 } else {
+
236 // This scenario should ideally not happen if m_networkSpeciesMap and m_speciesToIndexMap are correctly synced
+
237 LOG_ERROR(m_logger, "CRITICAL ERROR: Species '{}' from reaction '{}' stoichiometry not found in species to index map.",
+
238 species.name(), reaction.id());
+
239 m_logger -> flush_log();
+
240 throw std::runtime_error("Species not found in species to index map: " + std::string(species.name()));
+
241 }
+
242 }
+
243 reactionColumnIndex++; // Move to the next column for the next reaction
+
244 }
+
245
+
246 LOG_TRACE_L1(m_logger, "Stoichiometry matrix population complete. Number of non-zero elements: {}.",
+
247 m_stoichiometryMatrix.nnz()); // Assuming nnz() exists for compressed_matrix
+
248 }
-
248
-
- -
250 const std::vector<double> &Y_in,
-
251 const double T9,
-
252 const double rho
-
253 ) const {
-
254 return calculateAllDerivatives<double>(Y_in, T9, rho);
-
255 }
+
249
+
+ +
251 const std::vector<double> &Y_in,
+
252 const double T9,
+
253 const double rho
+
254 ) const {
+
255 return calculateAllDerivatives<double>(Y_in, T9, rho);
+
256 }
-
256
-
- -
258 const std::vector<ADDouble> &Y_in,
-
259 const ADDouble &T9,
-
260 const ADDouble &rho
-
261 ) const {
-
262 return calculateAllDerivatives<ADDouble>(Y_in, T9, rho);
-
263 }
+
257
+
+ +
259 const std::vector<ADDouble> &Y_in,
+
260 const ADDouble &T9,
+
261 const ADDouble &rho
+
262 ) const {
+
263 return calculateAllDerivatives<ADDouble>(Y_in, T9, rho);
+
264 }
-
264
-
- - -
267 const std::vector<double> &Y,
-
268 const double T9,
-
269 const double rho
-
270 ) const {
- -
272 }
+
265
+ -
273
-
- -
275 const std::vector<double> &Y,
-
276 const double T9,
-
277 const double rho
-
278 ) {
-
279
-
280 LOG_TRACE_L1(m_logger, "Generating jacobian matrix for T9={}, rho={}..", T9, rho);
-
281 const size_t numSpecies = m_networkSpecies.size();
-
282
-
283 // 1. Pack the input variables into a vector for CppAD
-
284 std::vector<double> adInput(numSpecies + 2, 0.0); // +2 for T9 and rho
-
285 for (size_t i = 0; i < numSpecies; ++i) {
-
286 adInput[i] = Y[i];
-
287 }
-
288 adInput[numSpecies] = T9; // T9
-
289 adInput[numSpecies + 1] = rho; // rho
-
290
-
291 // 2. Calculate the full jacobian
-
292 const std::vector<double> dotY = m_rhsADFun.Jacobian(adInput);
-
293
-
294 // 3. Pack jacobian vector into sparse matrix
-
295 m_jacobianMatrix.clear();
-
296 for (size_t i = 0; i < numSpecies; ++i) {
-
297 for (size_t j = 0; j < numSpecies; ++j) {
-
298 const double value = dotY[i * (numSpecies + 2) + j];
-
299 if (std::abs(value) > MIN_JACOBIAN_THRESHOLD) {
-
300 m_jacobianMatrix(i, j) = value;
-
301 }
-
302 }
-
303 }
-
304 LOG_TRACE_L1(m_logger, "Jacobian matrix generated with dimensions: {} rows x {} columns.", m_jacobianMatrix.size1(), m_jacobianMatrix.size2());
-
305 }
+
270
+ -
306
-
-
307 double GraphEngine::getJacobianMatrixEntry(const int i, const int j) const {
-
308 return m_jacobianMatrix(i, j);
-
309 }
+
274
+
+ + +
277 const std::vector<double> &Y,
+
278 const double T9,
+
279 const double rho
+
280 ) const {
+ +
282 }
-
310
-
-
311 std::unordered_map<fourdst::atomic::Species, int> GraphEngine::getNetReactionStoichiometry(
- -
313 ) {
-
314 return reaction.stoichiometry();
+
283
+
+ +
285 const std::vector<double> &Y,
+
286 const double T9,
+
287 const double rho
+
288 ) {
+
289
+
290 LOG_TRACE_L1(m_logger, "Generating jacobian matrix for T9={}, rho={}..", T9, rho);
+
291 const size_t numSpecies = m_networkSpecies.size();
+
292
+
293 // 1. Pack the input variables into a vector for CppAD
+
294 std::vector<double> adInput(numSpecies + 2, 0.0); // +2 for T9 and rho
+
295 for (size_t i = 0; i < numSpecies; ++i) {
+
296 adInput[i] = Y[i];
+
297 }
+
298 adInput[numSpecies] = T9; // T9
+
299 adInput[numSpecies + 1] = rho; // rho
+
300
+
301 // 2. Calculate the full jacobian
+
302 const std::vector<double> dotY = m_rhsADFun.Jacobian(adInput);
+
303
+
304 // 3. Pack jacobian vector into sparse matrix
+
305 m_jacobianMatrix.clear();
+
306 for (size_t i = 0; i < numSpecies; ++i) {
+
307 for (size_t j = 0; j < numSpecies; ++j) {
+
308 const double value = dotY[i * (numSpecies + 2) + j];
+
309 if (std::abs(value) > MIN_JACOBIAN_THRESHOLD) {
+
310 m_jacobianMatrix(i, j) = value;
+
311 }
+
312 }
+
313 }
+
314 LOG_TRACE_L1(m_logger, "Jacobian matrix generated with dimensions: {} rows x {} columns.", m_jacobianMatrix.size1(), m_jacobianMatrix.size2());
315 }
316
- -
318 const int speciesIndex,
-
319 const int reactionIndex
-
320 ) const {
-
321 return m_stoichiometryMatrix(speciesIndex, reactionIndex);
-
322 }
+
317 double GraphEngine::getJacobianMatrixEntry(const int i, const int j) const {
+
318 return m_jacobianMatrix(i, j);
+
319 }
+
+
320
+
+
321 std::unordered_map<fourdst::atomic::Species, int> GraphEngine::getNetReactionStoichiometry(
+ +
323 ) {
+
324 return reaction.stoichiometry();
+
325 }
-
323
-
-
324 void GraphEngine::exportToDot(const std::string &filename) const {
-
325 LOG_TRACE_L1(m_logger, "Exporting network graph to DOT file: {}", filename);
326
-
327 std::ofstream dotFile(filename);
-
328 if (!dotFile.is_open()) {
-
329 LOG_ERROR(m_logger, "Failed to open file for writing: {}", filename);
-
330 m_logger->flush_log();
-
331 throw std::runtime_error("Failed to open file for writing: " + filename);
-
332 }
-
333
-
334 dotFile << "digraph NuclearReactionNetwork {\n";
-
335 dotFile << " graph [rankdir=LR, splines=true, overlap=false, bgcolor=\"#f0f0f0\"];\n";
-
336 dotFile << " node [shape=circle, style=filled, fillcolor=\"#a7c7e7\", fontname=\"Helvetica\"];\n";
-
337 dotFile << " edge [fontname=\"Helvetica\", fontsize=10];\n\n";
-
338
-
339 // 1. Define all species as nodes
-
340 dotFile << " // --- Species Nodes ---\n";
-
341 for (const auto& species : m_networkSpecies) {
-
342 dotFile << " \"" << species.name() << "\" [label=\"" << species.name() << "\"];\n";
-
343 }
-
344 dotFile << "\n";
-
345
-
346 // 2. Define all reactions as intermediate nodes and connect them
-
347 dotFile << " // --- Reaction Edges ---\n";
-
348 for (const auto& reaction : m_reactions) {
-
349 // Create a unique ID for the reaction node
-
350 std::string reactionNodeId = "reaction_" + std::string(reaction.id());
-
351
-
352 // Define the reaction node (small, black dot)
-
353 dotFile << " \"" << reactionNodeId << "\" [shape=point, fillcolor=black, width=0.1, height=0.1, label=\"\"];\n";
-
354
-
355 // Draw edges from reactants to the reaction node
-
356 for (const auto& reactant : reaction.reactants()) {
-
357 dotFile << " \"" << reactant.name() << "\" -> \"" << reactionNodeId << "\";\n";
-
358 }
-
359
-
360 // Draw edges from the reaction node to products
-
361 for (const auto& product : reaction.products()) {
-
362 dotFile << " \"" << reactionNodeId << "\" -> \"" << product.name() << "\" [label=\"" << reaction.qValue() << " MeV\"];\n";
-
363 }
-
364 dotFile << "\n";
-
365 }
-
366
-
367 dotFile << "}\n";
-
368 dotFile.close();
-
369 LOG_TRACE_L1(m_logger, "Successfully exported network to {}", filename);
-
370 }
+
+ +
328 const int speciesIndex,
+
329 const int reactionIndex
+
330 ) const {
+
331 return m_stoichiometryMatrix(speciesIndex, reactionIndex);
+
332 }
-
371
-
-
372 void GraphEngine::exportToCSV(const std::string &filename) const {
-
373 LOG_TRACE_L1(m_logger, "Exporting network graph to CSV file: {}", filename);
-
374
-
375 std::ofstream csvFile(filename, std::ios::out | std::ios::trunc);
-
376 if (!csvFile.is_open()) {
-
377 LOG_ERROR(m_logger, "Failed to open file for writing: {}", filename);
-
378 m_logger->flush_log();
-
379 throw std::runtime_error("Failed to open file for writing: " + filename);
-
380 }
-
381 csvFile << "Reaction;Reactants;Products;Q-value;sources;rates\n";
-
382 for (const auto& reaction : m_reactions) {
-
383 // Dynamic cast to REACLIBReaction to access specific properties
-
384 csvFile << reaction.id() << ";";
-
385 // Reactants
-
386 int count = 0;
-
387 for (const auto& reactant : reaction.reactants()) {
-
388 csvFile << reactant.name();
-
389 if (++count < reaction.reactants().size()) {
-
390 csvFile << ",";
-
391 }
-
392 }
-
393 csvFile << ";";
-
394 count = 0;
-
395 for (const auto& product : reaction.products()) {
-
396 csvFile << product.name();
-
397 if (++count < reaction.products().size()) {
-
398 csvFile << ",";
-
399 }
-
400 }
-
401 csvFile << ";" << reaction.qValue() << ";";
-
402 // Reaction coefficients
-
403 auto sources = reaction.sources();
+
333
+
+
334 void GraphEngine::exportToDot(const std::string &filename) const {
+
335 LOG_TRACE_L1(m_logger, "Exporting network graph to DOT file: {}", filename);
+
336
+
337 std::ofstream dotFile(filename);
+
338 if (!dotFile.is_open()) {
+
339 LOG_ERROR(m_logger, "Failed to open file for writing: {}", filename);
+
340 m_logger->flush_log();
+
341 throw std::runtime_error("Failed to open file for writing: " + filename);
+
342 }
+
343
+
344 dotFile << "digraph NuclearReactionNetwork {\n";
+
345 dotFile << " graph [rankdir=LR, splines=true, overlap=false, bgcolor=\"#f0f0f0\"];\n";
+
346 dotFile << " node [shape=circle, style=filled, fillcolor=\"#a7c7e7\", fontname=\"Helvetica\"];\n";
+
347 dotFile << " edge [fontname=\"Helvetica\", fontsize=10];\n\n";
+
348
+
349 // 1. Define all species as nodes
+
350 dotFile << " // --- Species Nodes ---\n";
+
351 for (const auto& species : m_networkSpecies) {
+
352 dotFile << " \"" << species.name() << "\" [label=\"" << species.name() << "\"];\n";
+
353 }
+
354 dotFile << "\n";
+
355
+
356 // 2. Define all reactions as intermediate nodes and connect them
+
357 dotFile << " // --- Reaction Edges ---\n";
+
358 for (const auto& reaction : m_reactions) {
+
359 // Create a unique ID for the reaction node
+
360 std::string reactionNodeId = "reaction_" + std::string(reaction.id());
+
361
+
362 // Define the reaction node (small, black dot)
+
363 dotFile << " \"" << reactionNodeId << "\" [shape=point, fillcolor=black, width=0.1, height=0.1, label=\"\"];\n";
+
364
+
365 // Draw edges from reactants to the reaction node
+
366 for (const auto& reactant : reaction.reactants()) {
+
367 dotFile << " \"" << reactant.name() << "\" -> \"" << reactionNodeId << "\";\n";
+
368 }
+
369
+
370 // Draw edges from the reaction node to products
+
371 for (const auto& product : reaction.products()) {
+
372 dotFile << " \"" << reactionNodeId << "\" -> \"" << product.name() << "\" [label=\"" << reaction.qValue() << " MeV\"];\n";
+
373 }
+
374 dotFile << "\n";
+
375 }
+
376
+
377 dotFile << "}\n";
+
378 dotFile.close();
+
379 LOG_TRACE_L1(m_logger, "Successfully exported network to {}", filename);
+
380 }
+
+
381
+
+
382 void GraphEngine::exportToCSV(const std::string &filename) const {
+
383 LOG_TRACE_L1(m_logger, "Exporting network graph to CSV file: {}", filename);
+
384
+
385 std::ofstream csvFile(filename, std::ios::out | std::ios::trunc);
+
386 if (!csvFile.is_open()) {
+
387 LOG_ERROR(m_logger, "Failed to open file for writing: {}", filename);
+
388 m_logger->flush_log();
+
389 throw std::runtime_error("Failed to open file for writing: " + filename);
+
390 }
+
391 csvFile << "Reaction;Reactants;Products;Q-value;sources;rates\n";
+
392 for (const auto& reaction : m_reactions) {
+
393 // Dynamic cast to REACLIBReaction to access specific properties
+
394 csvFile << reaction.id() << ";";
+
395 // Reactants
+
396 int count = 0;
+
397 for (const auto& reactant : reaction.reactants()) {
+
398 csvFile << reactant.name();
+
399 if (++count < reaction.reactants().size()) {
+
400 csvFile << ",";
+
401 }
+
402 }
+
403 csvFile << ";";
404 count = 0;
-
405 for (const auto& source : sources) {
-
406 csvFile << source;
-
407 if (++count < sources.size()) {
+
405 for (const auto& product : reaction.products()) {
+
406 csvFile << product.name();
+
407 if (++count < reaction.products().size()) {
408 csvFile << ",";
409 }
410 }
-
411 csvFile << ";";
+
411 csvFile << ";" << reaction.qValue() << ";";
412 // Reaction coefficients
-
413 count = 0;
-
414 for (const auto& rates : reaction) {
-
415 csvFile << rates;
-
416 if (++count < reaction.size()) {
-
417 csvFile << ",";
-
418 }
-
419 }
-
420 csvFile << "\n";
-
421 }
-
422 csvFile.close();
-
423 LOG_TRACE_L1(m_logger, "Successfully exported network graph to {}", filename);
-
424 }
+
413 auto sources = reaction.sources();
+
414 count = 0;
+
415 for (const auto& source : sources) {
+
416 csvFile << source;
+
417 if (++count < sources.size()) {
+
418 csvFile << ",";
+
419 }
+
420 }
+
421 csvFile << ";";
+
422 // Reaction coefficients
+
423 count = 0;
+
424 for (const auto& rates : reaction) {
+
425 csvFile << rates;
+
426 if (++count < reaction.size()) {
+
427 csvFile << ",";
+
428 }
+
429 }
+
430 csvFile << "\n";
+
431 }
+
432 csvFile.close();
+
433 LOG_TRACE_L1(m_logger, "Successfully exported network graph to {}", filename);
+
434 }
-
425
-
-
426 std::unordered_map<fourdst::atomic::Species, double> GraphEngine::getSpeciesTimescales(const std::vector<double> &Y, const double T9,
-
427 const double rho) const {
-
428 auto [dydt, _] = calculateAllDerivatives<double>(Y, T9, rho);
-
429 std::unordered_map<fourdst::atomic::Species, double> speciesTimescales;
-
430 speciesTimescales.reserve(m_networkSpecies.size());
-
431 for (size_t i = 0; i < m_networkSpecies.size(); ++i) {
-
432 double timescale = std::numeric_limits<double>::infinity();
-
433 const auto species = m_networkSpecies[i];
-
434 if (std::abs(dydt[i]) > 0.0) {
-
435 timescale = std::abs(Y[i] / dydt[i]);
-
436 }
-
437 speciesTimescales.emplace(species, timescale);
-
438 }
-
439 return speciesTimescales;
-
440 }
+
435
+
+
436 std::unordered_map<fourdst::atomic::Species, double> GraphEngine::getSpeciesTimescales(const std::vector<double> &Y, const double T9,
+
437 const double rho) const {
+
438 auto [dydt, _] = calculateAllDerivatives<double>(Y, T9, rho);
+
439 std::unordered_map<fourdst::atomic::Species, double> speciesTimescales;
+
440 speciesTimescales.reserve(m_networkSpecies.size());
+
441 for (size_t i = 0; i < m_networkSpecies.size(); ++i) {
+
442 double timescale = std::numeric_limits<double>::infinity();
+
443 const auto species = m_networkSpecies[i];
+
444 if (std::abs(dydt[i]) > 0.0) {
+
445 timescale = std::abs(Y[i] / dydt[i]);
+
446 }
+
447 speciesTimescales.emplace(species, timescale);
+
448 }
+
449 return speciesTimescales;
+
450 }
-
441
-
- -
443 LOG_TRACE_L1(m_logger, "Recording AD tape for the RHS calculation...");
-
444
-
445 // Task 1: Set dimensions and initialize the matrix
-
446 const size_t numSpecies = m_networkSpecies.size();
-
447 if (numSpecies == 0) {
-
448 LOG_ERROR(m_logger, "Cannot record AD tape: No species in the network.");
-
449 m_logger->flush_log();
-
450 throw std::runtime_error("Cannot record AD tape: No species in the network.");
-
451 }
-
452 const size_t numADInputs = numSpecies + 2; // Note here that by not letting T9 and rho be independent variables, we are constraining the network to a constant temperature and density during each evaluation.
-
453
-
454 // --- CppAD Tape Recording ---
-
455 // 1. Declare independent variable (adY)
-
456 // We also initialize the dummy variable for tape recording (these tell CppAD what the derivative chain looks like).
-
457 // Their numeric values are irrelevant except for in so far as they avoid numerical instabilities.
+
451
+
+
452 void GraphEngine::update(const NetIn &netIn) {
+
453 return; // No-op for GraphEngine, as it does not support manually triggering updates.
+
454 }
+
+
455
+
+ +
457 LOG_TRACE_L1(m_logger, "Recording AD tape for the RHS calculation...");
458
-
459 // Distribute total mass fraction uniformly between species in the dummy variable space
-
460 const auto uniformMassFraction = static_cast<CppAD::AD<double>>(1.0 / numSpecies);
-
461 std::vector<CppAD::AD<double>> adInput(numADInputs, uniformMassFraction);
-
462 adInput[numSpecies] = 1.0; // Dummy T9
-
463 adInput[numSpecies + 1] = 1.0; // Dummy rho
-
464
-
465 // 3. Declare independent variables (what CppAD will differentiate wrt.)
-
466 // This also beings the tape recording process.
-
467 CppAD::Independent(adInput);
-
468
-
469 std::vector<CppAD::AD<double>> adY(numSpecies);
-
470 for(size_t i = 0; i < numSpecies; ++i) {
-
471 adY[i] = adInput[i];
-
472 }
-
473 const CppAD::AD<double> adT9 = adInput[numSpecies];
-
474 const CppAD::AD<double> adRho = adInput[numSpecies + 1];
-
475
-
476
-
477 // 5. Call the actual templated function
-
478 // We let T9 and rho be constant, so we pass them as fixed values.
-
479 auto [dydt, nuclearEnergyGenerationRate] = calculateAllDerivatives<CppAD::AD<double>>(adY, adT9, adRho);
-
480
-
481 m_rhsADFun.Dependent(adInput, dydt);
+
459 // Task 1: Set dimensions and initialize the matrix
+
460 const size_t numSpecies = m_networkSpecies.size();
+
461 if (numSpecies == 0) {
+
462 LOG_ERROR(m_logger, "Cannot record AD tape: No species in the network.");
+
463 m_logger->flush_log();
+
464 throw std::runtime_error("Cannot record AD tape: No species in the network.");
+
465 }
+
466 const size_t numADInputs = numSpecies + 2; // Note here that by not letting T9 and rho be independent variables, we are constraining the network to a constant temperature and density during each evaluation.
+
467
+
468 // --- CppAD Tape Recording ---
+
469 // 1. Declare independent variable (adY)
+
470 // We also initialize the dummy variable for tape recording (these tell CppAD what the derivative chain looks like).
+
471 // Their numeric values are irrelevant except for in so far as they avoid numerical instabilities.
+
472
+
473 // Distribute total mass fraction uniformly between species in the dummy variable space
+
474 const auto uniformMassFraction = static_cast<CppAD::AD<double>>(1.0 / numSpecies);
+
475 std::vector<CppAD::AD<double>> adInput(numADInputs, uniformMassFraction);
+
476 adInput[numSpecies] = 1.0; // Dummy T9
+
477 adInput[numSpecies + 1] = 1.0; // Dummy rho
+
478
+
479 // 3. Declare independent variables (what CppAD will differentiate wrt.)
+
480 // This also beings the tape recording process.
+
481 CppAD::Independent(adInput);
482
-
483 LOG_TRACE_L1(m_logger, "AD tape recorded successfully for the RHS calculation. Number of independent variables: {}.",
-
484 adInput.size());
-
485 }
+
483 std::vector<CppAD::AD<double>> adY(numSpecies);
+
484 for(size_t i = 0; i < numSpecies; ++i) {
+
485 adY[i] = adInput[i];
+
486 }
+
487 const CppAD::AD<double> adT9 = adInput[numSpecies];
+
488 const CppAD::AD<double> adRho = adInput[numSpecies + 1];
+
489
+
490
+
491 // 5. Call the actual templated function
+
492 // We let T9 and rho be constant, so we pass them as fixed values.
+
493 auto [dydt, nuclearEnergyGenerationRate] = calculateAllDerivatives<CppAD::AD<double>>(adY, adT9, adRho);
+
494
+
495 m_rhsADFun.Dependent(adInput, dydt);
+
496
+
497 LOG_TRACE_L1(m_logger, "AD tape recorded successfully for the RHS calculation. Number of independent variables: {}.",
+
498 adInput.size());
+
499 }
-
486}
-
const std::vector< fourdst::atomic::Species > & getNetworkSpecies() const override
Gets the list of species in the network.
-
std::unordered_map< fourdst::atomic::Species, double > getSpeciesTimescales(const std::vector< double > &Y, double T9, double rho) const override
Computes timescales for all species in the network.
-
void populateReactionIDMap()
Populates the reaction ID map.
-
CppAD::ADFun< double > m_rhsADFun
CppAD function for the right-hand side of the ODE.
-
boost::numeric::ublas::compressed_matrix< double > m_jacobianMatrix
Jacobian matrix (species x species).
-
double getJacobianMatrixEntry(const int i, const int j) const override
Gets an entry from the previously generated Jacobian matrix.
-
std::unordered_map< std::string_view, fourdst::atomic::Species > m_networkSpeciesMap
Map from species name to Species object.
-
void populateSpeciesToIndexMap()
Populates the species-to-index map.
-
quill::Logger * m_logger
-
void reserveJacobianMatrix()
Reserves space for the Jacobian matrix.
-
std::unordered_map< std::string_view, reaction::Reaction * > m_reactionIDMap
Map from reaction ID to REACLIBReaction. //PERF: This makes copies of REACLIBReaction and could be a ...
-
int getStoichiometryMatrixEntry(const int speciesIndex, const int reactionIndex) const override
Gets an entry from the stoichiometry matrix.
-
void exportToCSV(const std::string &filename) const
Exports the network to a CSV file for analysis.
-
StepDerivatives< double > calculateRHSAndEnergy(const std::vector< double > &Y, const double T9, const double rho) const override
Calculates the right-hand side (dY/dt) and energy generation rate.
-
static std::unordered_map< fourdst::atomic::Species, int > getNetReactionStoichiometry(const reaction::Reaction &reaction)
Gets the net stoichiometry for a given reaction.
-
double calculateMolarReactionFlow(const reaction::Reaction &reaction, const std::vector< double > &Y, const double T9, const double rho) const override
Calculates the molar reaction flow for a given reaction.
-
std::vector< fourdst::atomic::Species > m_networkSpecies
Vector of unique species in the network.
-
void recordADTape()
Records the AD tape for the right-hand side of the ODE.
-
GraphEngine(const fourdst::composition::Composition &composition)
Constructs a GraphEngine from a composition.
-
bool involvesSpecies(const fourdst::atomic::Species &species) const
Checks if a given species is involved in the network.
-
reaction::LogicalReactionSet m_reactions
Set of REACLIB reactions in the network.
-
void syncInternalMaps()
Synchronizes the internal maps.
-
bool validateConservation() const
Validates mass and charge conservation across all reactions.
-
boost::numeric::ublas::compressed_matrix< int > m_stoichiometryMatrix
Stoichiometry matrix (species x reactions).
-
const reaction::LogicalReactionSet & getNetworkReactions() const override
Gets the set of logical reactions in the network.
-
std::unordered_map< fourdst::atomic::Species, size_t > m_speciesToIndexMap
Map from species to their index in the stoichiometry matrix.
-
void exportToDot(const std::string &filename) const
Exports the network to a DOT file for visualization.
-
void generateJacobianMatrix(const std::vector< double > &Y, const double T9, const double rho) override
Generates the Jacobian matrix for the current state.
-
void generateStoichiometryMatrix() override
Generates the stoichiometry matrix for the network.
-
void collectNetworkSpecies()
Collects the unique species in the network.
-
void validateComposition(const fourdst::composition::Composition &composition, double culling, double T9)
Validates the composition against the current reaction set.
-
StepDerivatives< T > calculateAllDerivatives(const std::vector< T > &Y_in, T T9, T rho) const
Calculates all derivatives (dY/dt) and the energy generation rate.
-
A collection of LogicalReaction objects.
Definition reaction.h:554
-
Represents a single nuclear reaction from a specific data source.
Definition reaction.h:71
+
500}
+
const std::vector< fourdst::atomic::Species > & getNetworkSpecies() const override
Gets the list of species in the network.
+
std::unordered_map< fourdst::atomic::Species, double > getSpeciesTimescales(const std::vector< double > &Y, double T9, double rho) const override
Computes timescales for all species in the network.
+
void populateReactionIDMap()
Populates the reaction ID map.
+
CppAD::ADFun< double > m_rhsADFun
CppAD function for the right-hand side of the ODE.
+
boost::numeric::ublas::compressed_matrix< double > m_jacobianMatrix
Jacobian matrix (species x species).
+
double getJacobianMatrixEntry(const int i, const int j) const override
Gets an entry from the previously generated Jacobian matrix.
+
std::unordered_map< std::string_view, fourdst::atomic::Species > m_networkSpeciesMap
Map from species name to Species object.
+
void populateSpeciesToIndexMap()
Populates the species-to-index map.
+
quill::Logger * m_logger
+
void update(const NetIn &netIn) override
+
screening::ScreeningType m_screeningType
Screening type for the reaction network. Default to no screening.
+
void reserveJacobianMatrix()
Reserves space for the Jacobian matrix.
+
std::unordered_map< std::string_view, reaction::Reaction * > m_reactionIDMap
Map from reaction ID to REACLIBReaction. //PERF: This makes copies of REACLIBReaction and could be a ...
+
screening::ScreeningType getScreeningModel() const override
+
int getStoichiometryMatrixEntry(const int speciesIndex, const int reactionIndex) const override
Gets an entry from the stoichiometry matrix.
+
void setScreeningModel(screening::ScreeningType) override
+
void exportToCSV(const std::string &filename) const
Exports the network to a CSV file for analysis.
+
StepDerivatives< double > calculateRHSAndEnergy(const std::vector< double > &Y, const double T9, const double rho) const override
Calculates the right-hand side (dY/dt) and energy generation rate.
+
static std::unordered_map< fourdst::atomic::Species, int > getNetReactionStoichiometry(const reaction::Reaction &reaction)
Gets the net stoichiometry for a given reaction.
+
double calculateMolarReactionFlow(const reaction::Reaction &reaction, const std::vector< double > &Y, const double T9, const double rho) const override
Calculates the molar reaction flow for a given reaction.
+
std::vector< fourdst::atomic::Species > m_networkSpecies
Vector of unique species in the network.
+
void recordADTape()
Records the AD tape for the right-hand side of the ODE.
+
GraphEngine(const fourdst::composition::Composition &composition)
Constructs a GraphEngine from a composition.
+
bool involvesSpecies(const fourdst::atomic::Species &species) const
Checks if a given species is involved in the network.
+
reaction::LogicalReactionSet m_reactions
Set of REACLIB reactions in the network.
+
void syncInternalMaps()
Synchronizes the internal maps.
+
bool validateConservation() const
Validates mass and charge conservation across all reactions.
+
boost::numeric::ublas::compressed_matrix< int > m_stoichiometryMatrix
Stoichiometry matrix (species x reactions).
+
const reaction::LogicalReactionSet & getNetworkReactions() const override
Gets the set of logical reactions in the network.
+
std::unordered_map< fourdst::atomic::Species, size_t > m_speciesToIndexMap
Map from species to their index in the stoichiometry matrix.
+
void exportToDot(const std::string &filename) const
Exports the network to a DOT file for visualization.
+
void generateJacobianMatrix(const std::vector< double > &Y, const double T9, const double rho) override
Generates the Jacobian matrix for the current state.
+
void generateStoichiometryMatrix() override
Generates the stoichiometry matrix for the network.
+
void collectNetworkSpecies()
Collects the unique species in the network.
+
void validateComposition(const fourdst::composition::Composition &composition, double culling, double T9)
Validates the composition against the current reaction set.
+
std::unique_ptr< screening::ScreeningModel > m_screeningModel
+
StepDerivatives< T > calculateAllDerivatives(const std::vector< T > &Y_in, T T9, T rho) const
Calculates all derivatives (dY/dt) and the energy generation rate.
+
Represents a single nuclear reaction from a specific data source.
Definition reaction.h:72
- - -
CppAD::AD< double > ADDouble
Alias for CppAD AD type for double precision.
+ +
TemplatedReactionSet< LogicalReaction > LogicalReactionSet
A set of logical reactions.
Definition reaction.h:557
+
std::unique_ptr< ScreeningModel > selectScreeningModel(ScreeningType type)
+ + +
CppAD::AD< double > ADDouble
Alias for CppAD AD type for double precision.
reaction::LogicalReactionSet build_reaclib_nuclear_network(const fourdst::composition::Composition &composition, bool reverse)
Definition network.cpp:64
-
static constexpr double MIN_JACOBIAN_THRESHOLD
Minimum value for Jacobian matrix entries.
+
static constexpr double MIN_JACOBIAN_THRESHOLD
Minimum value for Jacobian matrix entries.
STL namespace.
Defines classes for representing and managing nuclear reactions.
-
Structure holding derivatives and energy generation for a network step.
+ + +
Structure holding derivatives and energy generation for a network step.
diff --git a/docs/html/engine__graph_8h.html b/docs/html/engine__graph_8h.html index 4b500341..ea64e5c1 100644 --- a/docs/html/engine__graph_8h.html +++ b/docs/html/engine__graph_8h.html @@ -114,9 +114,12 @@ $(function(){initNavTree('engine__graph_8h.html',''); initResizable(true); }); #include "gridfire/network.h"
#include "gridfire/reaction/reaction.h"
#include "gridfire/engine/engine_abstract.h"
+#include "gridfire/screening/screening_abstract.h"
+#include "gridfire/screening/screening_types.h"
#include <string>
#include <unordered_map>
#include <vector>
+#include <memory>
#include <boost/numeric/ublas/matrix_sparse.hpp>
#include "cppad/cppad.hpp"
diff --git a/docs/html/engine__graph_8h_source.html b/docs/html/engine__graph_8h_source.html index a7134bb8..8be55e7c 100644 --- a/docs/html/engine__graph_8h_source.html +++ b/docs/html/engine__graph_8h_source.html @@ -112,343 +112,373 @@ $(function(){initNavTree('engine__graph_8h_source.html',''); initResizable(true)
8#include "gridfire/network.h"
-
11
-
12#include <string>
-
13#include <unordered_map>
-
14#include <vector>
-
15
-
16#include <boost/numeric/ublas/matrix_sparse.hpp>
-
17
-
18#include "cppad/cppad.hpp"
-
19
-
20// PERF: The function getNetReactionStoichiometry returns a map of species to their stoichiometric coefficients for a given reaction.
-
21// this makes extra copies of the species, which is not ideal and could be optimized further.
-
22// Even more relevant is the member m_reactionIDMap which makes copies of a REACLIBReaction for each reaction ID.
-
23// REACLIBReactions are quite large data structures, so this could be a performance bottleneck.
-
24
-
25namespace gridfire {
-
31 typedef CppAD::AD<double> ADDouble;
-
32
-
33 using fourdst::config::Config;
-
34 using fourdst::logging::LogManager;
-
35 using fourdst::constant::Constants;
-
36
-
44 static constexpr double MIN_DENSITY_THRESHOLD = 1e-18;
-
45
-
53 static constexpr double MIN_ABUNDANCE_THRESHOLD = 1e-18;
-
54
-
61 static constexpr double MIN_JACOBIAN_THRESHOLD = 1e-24;
-
62
-
-
86 class GraphEngine final : public DynamicEngine{
-
87 public:
-
98 explicit GraphEngine(const fourdst::composition::Composition &composition);
-
99
-
108 explicit GraphEngine(reaction::LogicalReactionSet reactions);
-
109
- -
124 const std::vector<double>& Y,
-
125 const double T9,
-
126 const double rho
-
127 ) const override;
-
128
- -
143 const std::vector<double>& Y,
-
144 const double T9,
-
145 const double rho
-
146 ) override;
-
147
-
154 void generateStoichiometryMatrix() override;
-
155
- - -
170 const std::vector<double>&Y,
-
171 const double T9,
-
172 const double rho
-
173 ) const override;
-
174
-
179 [[nodiscard]] const std::vector<fourdst::atomic::Species>& getNetworkSpecies() const override;
-
180
-
185 [[nodiscard]] const reaction::LogicalReactionSet& getNetworkReactions() const override;
-
186
-
198 [[nodiscard]] double getJacobianMatrixEntry(
-
199 const int i,
-
200 const int j
-
201 ) const override;
-
202
-
209 [[nodiscard]] static std::unordered_map<fourdst::atomic::Species, int> getNetReactionStoichiometry(
- -
211 );
-
212
-
224 [[nodiscard]] int getStoichiometryMatrixEntry(
-
225 const int speciesIndex,
-
226 const int reactionIndex
-
227 ) const override;
-
228
-
240 [[nodiscard]] std::unordered_map<fourdst::atomic::Species, double> getSpeciesTimescales(
-
241 const std::vector<double>& Y,
-
242 double T9,
-
243 double rho
-
244 ) const override;
-
245
-
252 [[nodiscard]] bool involvesSpecies(
-
253 const fourdst::atomic::Species& species
-
254 ) const;
-
255
-
272 void exportToDot(
-
273 const std::string& filename
-
274 ) const;
-
275
-
292 void exportToCSV(
-
293 const std::string& filename
-
294 ) const;
-
295
-
296
-
297 private:
- -
299 std::unordered_map<std::string_view, reaction::Reaction*> m_reactionIDMap;
+ + +
13
+
14#include <string>
+
15#include <unordered_map>
+
16#include <vector>
+
17#include <memory>
+
18
+
19#include <boost/numeric/ublas/matrix_sparse.hpp>
+
20
+
21#include "cppad/cppad.hpp"
+
22
+
23// PERF: The function getNetReactionStoichiometry returns a map of species to their stoichiometric coefficients for a given reaction.
+
24// this makes extra copies of the species, which is not ideal and could be optimized further.
+
25// Even more relevant is the member m_reactionIDMap which makes copies of a REACLIBReaction for each reaction ID.
+
26// REACLIBReactions are quite large data structures, so this could be a performance bottleneck.
+
27
+
28namespace gridfire {
+
34 typedef CppAD::AD<double> ADDouble;
+
35
+
36 using fourdst::config::Config;
+
37 using fourdst::logging::LogManager;
+
38 using fourdst::constant::Constants;
+
39
+
47 static constexpr double MIN_DENSITY_THRESHOLD = 1e-18;
+
48
+
56 static constexpr double MIN_ABUNDANCE_THRESHOLD = 1e-18;
+
57
+
64 static constexpr double MIN_JACOBIAN_THRESHOLD = 1e-24;
+
65
+
+
89 class GraphEngine final : public DynamicEngine{
+
90 public:
+
101 explicit GraphEngine(const fourdst::composition::Composition &composition);
+
102
+
111 explicit GraphEngine(reaction::LogicalReactionSet reactions);
+
112
+ +
127 const std::vector<double>& Y,
+
128 const double T9,
+
129 const double rho
+
130 ) const override;
+
131
+ +
146 const std::vector<double>& Y,
+
147 const double T9,
+
148 const double rho
+
149 ) override;
+
150
+
157 void generateStoichiometryMatrix() override;
+
158
+
171 [[nodiscard]] double calculateMolarReactionFlow(
+ +
173 const std::vector<double>&Y,
+
174 const double T9,
+
175 const double rho
+
176 ) const override;
+
177
+
182 [[nodiscard]] const std::vector<fourdst::atomic::Species>& getNetworkSpecies() const override;
+
183
+
188 [[nodiscard]] const reaction::LogicalReactionSet& getNetworkReactions() const override;
+
189
+
201 [[nodiscard]] double getJacobianMatrixEntry(
+
202 const int i,
+
203 const int j
+
204 ) const override;
+
205
+
212 [[nodiscard]] static std::unordered_map<fourdst::atomic::Species, int> getNetReactionStoichiometry(
+ +
214 );
+
215
+
227 [[nodiscard]] int getStoichiometryMatrixEntry(
+
228 const int speciesIndex,
+
229 const int reactionIndex
+
230 ) const override;
+
231
+
243 [[nodiscard]] std::unordered_map<fourdst::atomic::Species, double> getSpeciesTimescales(
+
244 const std::vector<double>& Y,
+
245 double T9,
+
246 double rho
+
247 ) const override;
+
248
+
249 void update(const NetIn& netIn) override;
+
250
+
257 [[nodiscard]] bool involvesSpecies(
+
258 const fourdst::atomic::Species& species
+
259 ) const;
+
260
+
277 void exportToDot(
+
278 const std::string& filename
+
279 ) const;
+
280
+
297 void exportToCSV(
+
298 const std::string& filename
+
299 ) const;
300
-
301 std::vector<fourdst::atomic::Species> m_networkSpecies;
-
302 std::unordered_map<std::string_view, fourdst::atomic::Species> m_networkSpeciesMap;
-
303 std::unordered_map<fourdst::atomic::Species, size_t> m_speciesToIndexMap;
+ +
302
+
303 [[nodiscard]] screening::ScreeningType getScreeningModel() const override;
304
-
305 boost::numeric::ublas::compressed_matrix<int> m_stoichiometryMatrix;
-
306 boost::numeric::ublas::compressed_matrix<double> m_jacobianMatrix;
-
307
-
308 CppAD::ADFun<double> m_rhsADFun;
+
305
+
306 private:
+ +
308 std::unordered_map<std::string_view, reaction::Reaction*> m_reactionIDMap;
309
-
310 Config& m_config = Config::getInstance();
-
311 Constants& m_constants = Constants::getInstance();
-
312 quill::Logger* m_logger = LogManager::getInstance().getLogger("log");
+
310 std::vector<fourdst::atomic::Species> m_networkSpecies;
+
311 std::unordered_map<std::string_view, fourdst::atomic::Species> m_networkSpeciesMap;
+
312 std::unordered_map<fourdst::atomic::Species, size_t> m_speciesToIndexMap;
313
-
314 private:
-
322 void syncInternalMaps();
-
323
- -
331
- -
339
- -
347
- -
356
-
366 void recordADTape();
-
367
-
377 [[nodiscard]] bool validateConservation() const;
-
378
- -
391 const fourdst::composition::Composition &composition,
-
392 double culling,
-
393 double T9
-
394 );
-
395
-
409 template <IsArithmeticOrAD T>
- - -
412 const std::vector<T> &Y,
-
413 const T T9,
-
414 const T rho
-
415 ) const;
-
416
-
429 template<IsArithmeticOrAD T>
- -
431 const std::vector<T> &Y_in,
-
432 T T9,
-
433 T rho
-
434 ) const;
-
435
- -
449 const std::vector<double>& Y_in,
-
450 const double T9,
-
451 const double rho
-
452 ) const;
-
453
- -
467 const std::vector<ADDouble>& Y_in,
-
468 const ADDouble &T9,
-
469 const ADDouble &rho
-
470 ) const;
-
471 };
+
314 boost::numeric::ublas::compressed_matrix<int> m_stoichiometryMatrix;
+
315 boost::numeric::ublas::compressed_matrix<double> m_jacobianMatrix;
+
316
+
317 CppAD::ADFun<double> m_rhsADFun;
+
318
+ +
320 std::unique_ptr<screening::ScreeningModel> m_screeningModel = screening::selectScreeningModel(m_screeningType);
+
321
+
322 Config& m_config = Config::getInstance();
+
323 Constants& m_constants = Constants::getInstance();
+
324 quill::Logger* m_logger = LogManager::getInstance().getLogger("log");
+
325
+
326 private:
+
334 void syncInternalMaps();
+
335
+ +
343
+ +
351
+ +
359
+ +
368
+
378 void recordADTape();
+
379
+
389 [[nodiscard]] bool validateConservation() const;
+
390
+ +
403 const fourdst::composition::Composition &composition,
+
404 double culling,
+
405 double T9
+
406 );
+
407
+
421 template <IsArithmeticOrAD T>
+ + +
424 const std::vector<T> &Y,
+
425 const T T9,
+
426 const T rho
+
427 ) const;
+
428
+
441 template<IsArithmeticOrAD T>
+ +
443 const std::vector<T> &Y_in,
+
444 T T9,
+
445 T rho
+
446 ) const;
+
447
+ +
461 const std::vector<double>& Y_in,
+
462 const double T9,
+
463 const double rho
+
464 ) const;
+
465
+ +
479 const std::vector<ADDouble>& Y_in,
+
480 const ADDouble &T9,
+
481 const ADDouble &rho
+
482 ) const;
+
483 };
-
472
-
473
-
474 template<IsArithmeticOrAD T>
-
- -
476 const std::vector<T> &Y_in, T T9, T rho) const {
-
477
-
478 // --- Setup output derivatives structure ---
-
479 StepDerivatives<T> result;
-
480 result.dydt.resize(m_networkSpecies.size(), static_cast<T>(0.0));
-
481
-
482 // --- AD Pre-setup (flags to control conditionals in an AD safe / branch aware manner) ---
-
483 // ----- Constants for AD safe calculations ---
-
484 const T zero = static_cast<T>(0.0);
-
485 const T one = static_cast<T>(1.0);
-
486
-
487 // ----- Initialize variables for molar concentration product and thresholds ---
-
488 // Note: the logic here is that we use CppAD::CondExprLt to test thresholds and if they are less we set the flag
-
489 // to zero so that the final returned reaction flow is 0. This is as opposed to standard if statements
-
490 // which create branches that break the AD tape.
-
491 const T rho_threshold = static_cast<T>(MIN_DENSITY_THRESHOLD);
-
492
-
493 // --- Check if the density is below the threshold where we ignore reactions ---
-
494 T threshold_flag = CppAD::CondExpLt(rho, rho_threshold, zero, one); // If rho < threshold, set flag to 0
-
495
-
496 std::vector<T> Y = Y_in;
-
497 for (size_t i = 0; i < m_networkSpecies.size(); ++i) {
-
498 // We use CppAD::CondExpLt to handle AD taping and prevent branching
-
499 // Note that while this is syntactically more complex this is equivalent to
-
500 // if (Y[i] < 0) {Y[i] = 0;}
-
501 // The issue is that this would introduce a branch which would require the auto diff tape to be re-recorded
-
502 // each timestep, which is very inefficient.
-
503 Y[i] = CppAD::CondExpLt(Y[i], zero, zero, Y[i]); // Ensure no negative abundances
-
504 }
+
484
+
485
+
486 template<IsArithmeticOrAD T>
+
+ +
488 const std::vector<T> &Y_in, T T9, T rho) const {
+
489 std::vector<T> screeningFactors = m_screeningModel->calculateScreeningFactors(
+ + +
492 Y_in,
+
493 T9,
+
494 rho
+
495 );
+
496
+
497 // --- Setup output derivatives structure ---
+
498 StepDerivatives<T> result;
+
499 result.dydt.resize(m_networkSpecies.size(), static_cast<T>(0.0));
+
500
+
501 // --- AD Pre-setup (flags to control conditionals in an AD safe / branch aware manner) ---
+
502 // ----- Constants for AD safe calculations ---
+
503 const T zero = static_cast<T>(0.0);
+
504 const T one = static_cast<T>(1.0);
505
-
506 const T u = static_cast<T>(m_constants.get("u").value); // Atomic mass unit in grams
-
507 const T N_A = static_cast<T>(m_constants.get("N_a").value); // Avogadro's number in mol^-1
-
508 const T c = static_cast<T>(m_constants.get("c").value); // Speed of light in cm/s
-
509
-
510 // --- SINGLE LOOP OVER ALL REACTIONS ---
-
511 for (size_t reactionIndex = 0; reactionIndex < m_reactions.size(); ++reactionIndex) {
-
512 const auto& reaction = m_reactions[reactionIndex];
-
513
-
514 // 1. Calculate reaction rate
-
515 const T molarReactionFlow = calculateMolarReactionFlow<T>(reaction, Y, T9, rho);
-
516
-
517 // 2. Use the rate to update all relevant species derivatives (dY/dt)
-
518 for (size_t speciesIndex = 0; speciesIndex < m_networkSpecies.size(); ++speciesIndex) {
-
519 const T nu_ij = static_cast<T>(m_stoichiometryMatrix(speciesIndex, reactionIndex));
-
520 result.dydt[speciesIndex] += threshold_flag * nu_ij * molarReactionFlow / rho;
-
521 }
-
522 }
-
523
-
524 T massProductionRate = static_cast<T>(0.0); // [mol][s^-1]
-
525 for (const auto& [species, index] : m_speciesToIndexMap) {
-
526 massProductionRate += result.dydt[index] * species.mass() * u;
-
527 }
+
506 // ----- Initialize variables for molar concentration product and thresholds ---
+
507 // Note: the logic here is that we use CppAD::CondExprLt to test thresholds and if they are less we set the flag
+
508 // to zero so that the final returned reaction flow is 0. This is as opposed to standard if statements
+
509 // which create branches that break the AD tape.
+
510 const T rho_threshold = static_cast<T>(MIN_DENSITY_THRESHOLD);
+
511
+
512 // --- Check if the density is below the threshold where we ignore reactions ---
+
513 T threshold_flag = CppAD::CondExpLt(rho, rho_threshold, zero, one); // If rho < threshold, set flag to 0
+
514
+
515 std::vector<T> Y = Y_in;
+
516 for (size_t i = 0; i < m_networkSpecies.size(); ++i) {
+
517 // We use CppAD::CondExpLt to handle AD taping and prevent branching
+
518 // Note that while this is syntactically more complex this is equivalent to
+
519 // if (Y[i] < 0) {Y[i] = 0;}
+
520 // The issue is that this would introduce a branch which would require the auto diff tape to be re-recorded
+
521 // each timestep, which is very inefficient.
+
522 Y[i] = CppAD::CondExpLt(Y[i], zero, zero, Y[i]); // Ensure no negative abundances
+
523 }
+
524
+
525 const T u = static_cast<T>(m_constants.get("u").value); // Atomic mass unit in grams
+
526 const T N_A = static_cast<T>(m_constants.get("N_a").value); // Avogadro's number in mol^-1
+
527 const T c = static_cast<T>(m_constants.get("c").value); // Speed of light in cm/s
528
-
529 result.nuclearEnergyGenerationRate = -massProductionRate * N_A * c * c; // [cm^2][s^-3] = [erg][s^-1][g^-1]
-
530
-
531 return result;
-
532 }
-
-
533
-
534
-
535 template <IsArithmeticOrAD T>
-
- - -
538 const std::vector<T> &Y,
-
539 const T T9,
-
540 const T rho
-
541 ) const {
+
529 // --- SINGLE LOOP OVER ALL REACTIONS ---
+
530 for (size_t reactionIndex = 0; reactionIndex < m_reactions.size(); ++reactionIndex) {
+
531 const auto& reaction = m_reactions[reactionIndex];
+
532
+
533 // 1. Calculate reaction rate
+
534 const T molarReactionFlow = screeningFactors[reactionIndex] * calculateMolarReactionFlow<T>(reaction, Y, T9, rho);
+
535
+
536 // 2. Use the rate to update all relevant species derivatives (dY/dt)
+
537 for (size_t speciesIndex = 0; speciesIndex < m_networkSpecies.size(); ++speciesIndex) {
+
538 const T nu_ij = static_cast<T>(m_stoichiometryMatrix(speciesIndex, reactionIndex));
+
539 result.dydt[speciesIndex] += threshold_flag * nu_ij * molarReactionFlow / rho;
+
540 }
+
541 }
542
-
543 // --- Pre-setup (flags to control conditionals in an AD safe / branch aware manner) ---
-
544 // ----- Constants for AD safe calculations ---
-
545 const T zero = static_cast<T>(0.0);
-
546 const T one = static_cast<T>(1.0);
+
543 T massProductionRate = static_cast<T>(0.0); // [mol][s^-1]
+
544 for (const auto& [species, index] : m_speciesToIndexMap) {
+
545 massProductionRate += result.dydt[index] * species.mass() * u;
+
546 }
547
-
548 // ----- Initialize variables for molar concentration product and thresholds ---
-
549 // Note: the logic here is that we use CppAD::CondExprLt to test thresholds and if they are less we set the flag
-
550 // to zero so that the final returned reaction flow is 0. This is as opposed to standard if statements
-
551 // which create branches that break the AD tape.
-
552 const T Y_threshold = static_cast<T>(MIN_ABUNDANCE_THRESHOLD);
-
553 T threshold_flag = one;
-
554
-
555 // --- Calculate the molar reaction rate (in units of [s^-1][cm^3(N-1)][mol^(1-N)] for N reactants) ---
-
556 const T k_reaction = reaction.calculate_rate(T9);
-
557
-
558 // --- Cound the number of each reactant species to account for species multiplicity ---
-
559 std::unordered_map<std::string, int> reactant_counts;
-
560 reactant_counts.reserve(reaction.reactants().size());
-
561 for (const auto& reactant : reaction.reactants()) {
-
562 reactant_counts[std::string(reactant.name())]++;
-
563 }
-
564
-
565 // --- Accumulator for the molar concentration ---
-
566 auto molar_concentration_product = static_cast<T>(1.0);
-
567
-
568 // --- Loop through each unique reactant species and calculate the molar concentration for that species then multiply that into the accumulator ---
-
569 for (const auto& [species_name, count] : reactant_counts) {
-
570 // --- Resolve species to molar abundance ---
-
571 // PERF: Could probably optimize out this lookup
-
572 const auto species_it = m_speciesToIndexMap.find(m_networkSpeciesMap.at(species_name));
-
573 const size_t species_index = species_it->second;
-
574 const T Yi = Y[species_index];
-
575
-
576 // --- Check if the species abundance is below the threshold where we ignore reactions ---
-
577 threshold_flag *= CppAD::CondExpLt(Yi, Y_threshold, zero, one);
-
578
-
579 // --- Convert from molar abundance to molar concentration ---
-
580 T molar_concentration = Yi * rho;
-
581
-
582 // --- If count is > 1 , we need to raise the molar concentration to the power of count since there are really count bodies in that reaction ---
-
583 molar_concentration_product *= CppAD::pow(molar_concentration, static_cast<T>(count)); // ni^count
-
584
-
585 // --- Apply factorial correction for identical reactions ---
-
586 if (count > 1) {
-
587 molar_concentration_product /= static_cast<T>(std::tgamma(static_cast<double>(count + 1))); // Gamma function for factorial
-
588 }
-
589 }
-
590 // --- Final reaction flow calculation [mol][s^-1][cm^-3] ---
-
591 // Note: If the threshold flag ever gets set to zero this will return zero.
-
592 // This will result basically in multiple branches being written to the AD tape, which will make
-
593 // the tape more expensive to record, but it will also mean that we only need to record it once for
-
594 // the entire network.
-
595 return molar_concentration_product * k_reaction * threshold_flag;
-
596 }
+
548 result.nuclearEnergyGenerationRate = -massProductionRate * N_A * c * c; // [cm^2][s^-3] = [erg][s^-1][g^-1]
+
549
+
550 return result;
+
551 }
-
597};
-
Abstract class for engines supporting Jacobian and stoichiometry operations.
-
Constants & m_constants
Access to physical constants.
-
const std::vector< fourdst::atomic::Species > & getNetworkSpecies() const override
Gets the list of species in the network.
-
std::unordered_map< fourdst::atomic::Species, double > getSpeciesTimescales(const std::vector< double > &Y, double T9, double rho) const override
Computes timescales for all species in the network.
-
void populateReactionIDMap()
Populates the reaction ID map.
-
CppAD::ADFun< double > m_rhsADFun
CppAD function for the right-hand side of the ODE.
-
boost::numeric::ublas::compressed_matrix< double > m_jacobianMatrix
Jacobian matrix (species x species).
-
double getJacobianMatrixEntry(const int i, const int j) const override
Gets an entry from the previously generated Jacobian matrix.
-
std::unordered_map< std::string_view, fourdst::atomic::Species > m_networkSpeciesMap
Map from species name to Species object.
- -
void populateSpeciesToIndexMap()
Populates the species-to-index map.
-
quill::Logger * m_logger
-
void reserveJacobianMatrix()
Reserves space for the Jacobian matrix.
-
std::unordered_map< std::string_view, reaction::Reaction * > m_reactionIDMap
Map from reaction ID to REACLIBReaction. //PERF: This makes copies of REACLIBReaction and could be a ...
-
int getStoichiometryMatrixEntry(const int speciesIndex, const int reactionIndex) const override
Gets an entry from the stoichiometry matrix.
-
void exportToCSV(const std::string &filename) const
Exports the network to a CSV file for analysis.
-
StepDerivatives< double > calculateRHSAndEnergy(const std::vector< double > &Y, const double T9, const double rho) const override
Calculates the right-hand side (dY/dt) and energy generation rate.
-
static std::unordered_map< fourdst::atomic::Species, int > getNetReactionStoichiometry(const reaction::Reaction &reaction)
Gets the net stoichiometry for a given reaction.
-
double calculateMolarReactionFlow(const reaction::Reaction &reaction, const std::vector< double > &Y, const double T9, const double rho) const override
Calculates the molar reaction flow for a given reaction.
-
std::vector< fourdst::atomic::Species > m_networkSpecies
Vector of unique species in the network.
-
void recordADTape()
Records the AD tape for the right-hand side of the ODE.
-
GraphEngine(const fourdst::composition::Composition &composition)
Constructs a GraphEngine from a composition.
-
bool involvesSpecies(const fourdst::atomic::Species &species) const
Checks if a given species is involved in the network.
-
reaction::LogicalReactionSet m_reactions
Set of REACLIB reactions in the network.
-
void syncInternalMaps()
Synchronizes the internal maps.
-
bool validateConservation() const
Validates mass and charge conservation across all reactions.
-
boost::numeric::ublas::compressed_matrix< int > m_stoichiometryMatrix
Stoichiometry matrix (species x reactions).
-
const reaction::LogicalReactionSet & getNetworkReactions() const override
Gets the set of logical reactions in the network.
-
std::unordered_map< fourdst::atomic::Species, size_t > m_speciesToIndexMap
Map from species to their index in the stoichiometry matrix.
-
void exportToDot(const std::string &filename) const
Exports the network to a DOT file for visualization.
-
void generateJacobianMatrix(const std::vector< double > &Y, const double T9, const double rho) override
Generates the Jacobian matrix for the current state.
-
void generateStoichiometryMatrix() override
Generates the stoichiometry matrix for the network.
-
void collectNetworkSpecies()
Collects the unique species in the network.
-
void validateComposition(const fourdst::composition::Composition &composition, double culling, double T9)
Validates the composition against the current reaction set.
-
StepDerivatives< T > calculateAllDerivatives(const std::vector< T > &Y_in, T T9, T rho) const
Calculates all derivatives (dY/dt) and the energy generation rate.
-
A collection of LogicalReaction objects.
Definition reaction.h:554
-
Represents a single nuclear reaction from a specific data source.
Definition reaction.h:71
+
552
+
553
+
554 template <IsArithmeticOrAD T>
+
+ + +
557 const std::vector<T> &Y,
+
558 const T T9,
+
559 const T rho
+
560 ) const {
+
561
+
562 // --- Pre-setup (flags to control conditionals in an AD safe / branch aware manner) ---
+
563 // ----- Constants for AD safe calculations ---
+
564 const T zero = static_cast<T>(0.0);
+
565 const T one = static_cast<T>(1.0);
+
566
+
567 // ----- Initialize variables for molar concentration product and thresholds ---
+
568 // Note: the logic here is that we use CppAD::CondExprLt to test thresholds and if they are less we set the flag
+
569 // to zero so that the final returned reaction flow is 0. This is as opposed to standard if statements
+
570 // which create branches that break the AD tape.
+
571 const T Y_threshold = static_cast<T>(MIN_ABUNDANCE_THRESHOLD);
+
572 T threshold_flag = one;
+
573
+
574 // --- Calculate the molar reaction rate (in units of [s^-1][cm^3(N-1)][mol^(1-N)] for N reactants) ---
+
575 const T k_reaction = reaction.calculate_rate(T9);
+
576
+
577 // --- Cound the number of each reactant species to account for species multiplicity ---
+
578 std::unordered_map<std::string, int> reactant_counts;
+
579 reactant_counts.reserve(reaction.reactants().size());
+
580 for (const auto& reactant : reaction.reactants()) {
+
581 reactant_counts[std::string(reactant.name())]++;
+
582 }
+
583
+
584 // --- Accumulator for the molar concentration ---
+
585 auto molar_concentration_product = static_cast<T>(1.0);
+
586
+
587 // --- Loop through each unique reactant species and calculate the molar concentration for that species then multiply that into the accumulator ---
+
588 for (const auto& [species_name, count] : reactant_counts) {
+
589 // --- Resolve species to molar abundance ---
+
590 // PERF: Could probably optimize out this lookup
+
591 const auto species_it = m_speciesToIndexMap.find(m_networkSpeciesMap.at(species_name));
+
592 const size_t species_index = species_it->second;
+
593 const T Yi = Y[species_index];
+
594
+
595 // --- Check if the species abundance is below the threshold where we ignore reactions ---
+
596 threshold_flag *= CppAD::CondExpLt(Yi, Y_threshold, zero, one);
+
597
+
598 // --- Convert from molar abundance to molar concentration ---
+
599 T molar_concentration = Yi * rho;
+
600
+
601 // --- If count is > 1 , we need to raise the molar concentration to the power of count since there are really count bodies in that reaction ---
+
602 molar_concentration_product *= CppAD::pow(molar_concentration, static_cast<T>(count)); // ni^count
+
603
+
604 // --- Apply factorial correction for identical reactions ---
+
605 if (count > 1) {
+
606 molar_concentration_product /= static_cast<T>(std::tgamma(static_cast<double>(count + 1))); // Gamma function for factorial
+
607 }
+
608 }
+
609 // --- Final reaction flow calculation [mol][s^-1][cm^-3] ---
+
610 // Note: If the threshold flag ever gets set to zero this will return zero.
+
611 // This will result basically in multiple branches being written to the AD tape, which will make
+
612 // the tape more expensive to record, but it will also mean that we only need to record it once for
+
613 // the entire network.
+
614 return molar_concentration_product * k_reaction * threshold_flag;
+
615 }
+
+
616};
+
Abstract class for engines supporting Jacobian and stoichiometry operations.
+
Constants & m_constants
Access to physical constants.
+
const std::vector< fourdst::atomic::Species > & getNetworkSpecies() const override
Gets the list of species in the network.
+
std::unordered_map< fourdst::atomic::Species, double > getSpeciesTimescales(const std::vector< double > &Y, double T9, double rho) const override
Computes timescales for all species in the network.
+
void populateReactionIDMap()
Populates the reaction ID map.
+
CppAD::ADFun< double > m_rhsADFun
CppAD function for the right-hand side of the ODE.
+
boost::numeric::ublas::compressed_matrix< double > m_jacobianMatrix
Jacobian matrix (species x species).
+
double getJacobianMatrixEntry(const int i, const int j) const override
Gets an entry from the previously generated Jacobian matrix.
+
std::unordered_map< std::string_view, fourdst::atomic::Species > m_networkSpeciesMap
Map from species name to Species object.
+ +
void populateSpeciesToIndexMap()
Populates the species-to-index map.
+
quill::Logger * m_logger
+
void update(const NetIn &netIn) override
+
screening::ScreeningType m_screeningType
Screening type for the reaction network. Default to no screening.
+
void reserveJacobianMatrix()
Reserves space for the Jacobian matrix.
+
std::unordered_map< std::string_view, reaction::Reaction * > m_reactionIDMap
Map from reaction ID to REACLIBReaction. //PERF: This makes copies of REACLIBReaction and could be a ...
+
screening::ScreeningType getScreeningModel() const override
+
int getStoichiometryMatrixEntry(const int speciesIndex, const int reactionIndex) const override
Gets an entry from the stoichiometry matrix.
+
void setScreeningModel(screening::ScreeningType) override
+
void exportToCSV(const std::string &filename) const
Exports the network to a CSV file for analysis.
+
StepDerivatives< double > calculateRHSAndEnergy(const std::vector< double > &Y, const double T9, const double rho) const override
Calculates the right-hand side (dY/dt) and energy generation rate.
+
static std::unordered_map< fourdst::atomic::Species, int > getNetReactionStoichiometry(const reaction::Reaction &reaction)
Gets the net stoichiometry for a given reaction.
+
double calculateMolarReactionFlow(const reaction::Reaction &reaction, const std::vector< double > &Y, const double T9, const double rho) const override
Calculates the molar reaction flow for a given reaction.
+
std::vector< fourdst::atomic::Species > m_networkSpecies
Vector of unique species in the network.
+
void recordADTape()
Records the AD tape for the right-hand side of the ODE.
+
GraphEngine(const fourdst::composition::Composition &composition)
Constructs a GraphEngine from a composition.
+
bool involvesSpecies(const fourdst::atomic::Species &species) const
Checks if a given species is involved in the network.
+
reaction::LogicalReactionSet m_reactions
Set of REACLIB reactions in the network.
+
void syncInternalMaps()
Synchronizes the internal maps.
+
bool validateConservation() const
Validates mass and charge conservation across all reactions.
+
boost::numeric::ublas::compressed_matrix< int > m_stoichiometryMatrix
Stoichiometry matrix (species x reactions).
+
const reaction::LogicalReactionSet & getNetworkReactions() const override
Gets the set of logical reactions in the network.
+
std::unordered_map< fourdst::atomic::Species, size_t > m_speciesToIndexMap
Map from species to their index in the stoichiometry matrix.
+
void exportToDot(const std::string &filename) const
Exports the network to a DOT file for visualization.
+
void generateJacobianMatrix(const std::vector< double > &Y, const double T9, const double rho) override
Generates the Jacobian matrix for the current state.
+
void generateStoichiometryMatrix() override
Generates the stoichiometry matrix for the network.
+
void collectNetworkSpecies()
Collects the unique species in the network.
+
void validateComposition(const fourdst::composition::Composition &composition, double culling, double T9)
Validates the composition against the current reaction set.
+
std::unique_ptr< screening::ScreeningModel > m_screeningModel
+
StepDerivatives< T > calculateAllDerivatives(const std::vector< T > &Y_in, T T9, T rho) const
Calculates all derivatives (dY/dt) and the energy generation rate.
+
Represents a single nuclear reaction from a specific data source.
Definition reaction.h:72
Abstract interfaces for reaction network engines in GridFire.
- - -
CppAD::AD< double > ADDouble
Alias for CppAD AD type for double precision.
-
static constexpr double MIN_ABUNDANCE_THRESHOLD
Minimum abundance threshold below which species are ignored.
-
static constexpr double MIN_DENSITY_THRESHOLD
Minimum density threshold below which reactions are ignored.
-
static constexpr double MIN_JACOBIAN_THRESHOLD
Minimum value for Jacobian matrix entries.
+ +
TemplatedReactionSet< LogicalReaction > LogicalReactionSet
A set of logical reactions.
Definition reaction.h:557
+
std::unique_ptr< ScreeningModel > selectScreeningModel(ScreeningType type)
+ + + +
CppAD::AD< double > ADDouble
Alias for CppAD AD type for double precision.
+
static constexpr double MIN_ABUNDANCE_THRESHOLD
Minimum abundance threshold below which species are ignored.
+
static constexpr double MIN_DENSITY_THRESHOLD
Minimum density threshold below which reactions are ignored.
+
static constexpr double MIN_JACOBIAN_THRESHOLD
Minimum value for Jacobian matrix entries.
Defines classes for representing and managing nuclear reactions.
-
Structure holding derivatives and energy generation for a network step.
-
T nuclearEnergyGenerationRate
Specific energy generation rate (e.g., erg/g/s).
-
std::vector< T > dydt
Derivatives of abundances (dY/dt for each species).
+ + + +
Structure holding derivatives and energy generation for a network step.
+
T nuclearEnergyGenerationRate
Specific energy generation rate (e.g., erg/g/s).
+
std::vector< T > dydt
Derivatives of abundances (dY/dt for each species).
diff --git a/docs/html/engine__view__abstract_8h.html b/docs/html/engine__view__abstract_8h.html index 01b441bd..853819d8 100644 --- a/docs/html/engine__view__abstract_8h.html +++ b/docs/html/engine__view__abstract_8h.html @@ -5,7 +5,7 @@ -GridFire: src/network/include/gridfire/engine/engine_view_abstract.h File Reference +GridFire: src/network/include/gridfire/engine/views/engine_view_abstract.h File Reference @@ -148,7 +148,7 @@ Concepts diff --git a/docs/html/engine__view__abstract_8h_source.html b/docs/html/engine__view__abstract_8h_source.html index 0cd2349b..07524d67 100644 --- a/docs/html/engine__view__abstract_8h_source.html +++ b/docs/html/engine__view__abstract_8h_source.html @@ -5,7 +5,7 @@ -GridFire: src/network/include/gridfire/engine/engine_view_abstract.h Source File +GridFire: src/network/include/gridfire/engine/views/engine_view_abstract.h Source File @@ -128,13 +128,13 @@ $(function(){initNavTree('engine__view__abstract_8h_source.html',''); initResiza
virtual const EngineT & getBaseEngine() const =0
Access the underlying engine instance.
Concept for types allowed as engine bases in EngineView.
Abstract interfaces for reaction network engines in GridFire.
- +
diff --git a/docs/html/files.html b/docs/html/files.html index 01f467de..79339359 100644 --- a/docs/html/files.html +++ b/docs/html/files.html @@ -103,7 +103,7 @@ $(function(){initNavTree('files.html',''); initResizable(true); });
Here is a list of all files with brief descriptions:
-
[detail level 123456]

Files

+
[detail level 1234567]
@@ -111,29 +111,50 @@ $(function(){initNavTree('files.html',''); initResizable(true); }); - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  docs
 static
  src
  include
  gridfire
  engine
 engine_abstract.hAbstract interfaces for reaction network engines in GridFire
 engine_adaptive.h
 engine_approx8.h
 engine_graph.h
 engine_view_abstract.hAbstract interfaces for engine "views" in GridFire
  reaction
 reaclib.h
 reaction.hDefines classes for representing and managing nuclear reactions
 reactions_data.h
  solver
 solver.h
 network.h
  lib
  engine
 engine_adaptive.cpp
 engine_approx8.cpp
 engine_graph.cpp
  reaction
 reaclib.cpp
 reaction.cpp
  solver
 solver.cpp
 network.cpp
  views
 engine_adaptive.h
 engine_defined.h
 engine_view_abstract.hAbstract interfaces for engine "views" in GridFire
 engine_abstract.hAbstract interfaces for reaction network engines in GridFire
 engine_approx8.h
 engine_graph.h
  io
 network_file.h
  reaction
 reaclib.h
 reaction.hDefines classes for representing and managing nuclear reactions
 reactions_data.h
  screening
 screening_abstract.h
 screening_bare.h
 screening_types.h
 screening_weak.h
  solver
 solver.h
  utils
 logging.h
 network.h
  lib
  engine
  views
 engine_adaptive.cpp
 engine_defined.cpp
 engine_approx8.cpp
 engine_graph.cpp
  io
 network_file.cpp
  reaction
 reaclib.cpp
 reaction.cpp
  screening
 screening_bare.cpp
 screening_types.cpp
 screening_weak.cpp
  solver
 solver.cpp
  utils
 logging.cpp
 network.cpp
diff --git a/docs/html/functions.html b/docs/html/functions.html index 036cc58b..7559a656 100644 --- a/docs/html/functions.html +++ b/docs/html/functions.html @@ -110,7 +110,8 @@ $(function(){initNavTree('functions.html',''); initResizable(true); });
  • a5 : gridfire::reaction::RateCoefficientSet
  • a6 : gridfire::reaction::RateCoefficientSet
  • AdaptiveEngineView() : gridfire::AdaptiveEngineView
  • -
  • add_reaction() : gridfire::reaction::LogicalReaction, gridfire::reaction::ReactionSet
  • +
  • add_reaction() : gridfire::reaction::LogicalReaction, gridfire::reaction::TemplatedReactionSet< ReactionT >
  • +
  • ADDouble : gridfire::screening::BareScreeningModel, gridfire::screening::ScreeningModel
  • aIon : gridfire::approx8::Approx8Net
  • all_species() : gridfire::reaction::Reaction
  • Approx8Network() : gridfire::approx8::Approx8Network
  • diff --git a/docs/html/functions_b.html b/docs/html/functions_b.html index 43112d91..b8f2e87b 100644 --- a/docs/html/functions_b.html +++ b/docs/html/functions_b.html @@ -102,7 +102,8 @@ $(function(){initNavTree('functions_b.html',''); initResizable(true); });
    Here is a list of all class members with links to the classes they belong to:

    - b -

    diff --git a/docs/html/functions_c.html b/docs/html/functions_c.html index 8c4855d3..7bb53e63 100644 --- a/docs/html/functions_c.html +++ b/docs/html/functions_c.html @@ -104,23 +104,27 @@ $(function(){initNavTree('functions_c.html',''); initResizable(true); });

    - c -

    diff --git a/docs/html/functions_d.html b/docs/html/functions_d.html index 315c0848..e5aacf28 100644 --- a/docs/html/functions_d.html +++ b/docs/html/functions_d.html @@ -103,7 +103,7 @@ $(function(){initNavTree('functions_d.html',''); initResizable(true); });

    - d -

    • density : gridfire::NetIn
    • -
    • df() : gridfire::solver::QSENetworkSolver::EigenFunctor< T >
    • +
    • df() : gridfire::solver::QSENetworkSolver::EigenFunctor< T >
    • dt0 : gridfire::NetIn
    • dydt : gridfire::StepDerivatives< T >
    • dynamicSpeciesIndices : gridfire::solver::dynamicQSESpeciesIndices
    • diff --git a/docs/html/functions_e.html b/docs/html/functions_e.html index 6b12be14..21de92ae 100644 --- a/docs/html/functions_e.html +++ b/docs/html/functions_e.html @@ -102,8 +102,8 @@ $(function(){initNavTree('functions_e.html',''); initResizable(true); });
      Here is a list of all class members with links to the classes they belong to:

      - e -

        -
      • EigenFunctor() : gridfire::solver::QSENetworkSolver::EigenFunctor< T >
      • -
      • end() : gridfire::reaction::LogicalReaction, gridfire::reaction::LogicalReactionSet, gridfire::reaction::ReactionSet
      • +
      • EigenFunctor() : gridfire::solver::QSENetworkSolver::EigenFunctor< T >
      • +
      • end() : gridfire::reaction::LogicalReaction, gridfire::reaction::TemplatedReactionSet< ReactionT >
      • energy : gridfire::NetIn, gridfire::NetOut
      • evaluate() : gridfire::approx8::Approx8Network, gridfire::Network, gridfire::solver::DirectNetworkSolver, gridfire::solver::NetworkSolverStrategy< EngineT >, gridfire::solver::QSENetworkSolver
      • excess_energy() : gridfire::reaction::Reaction
      • diff --git a/docs/html/functions_f.html b/docs/html/functions_f.html index 83910171..aefd66bd 100644 --- a/docs/html/functions_f.html +++ b/docs/html/functions_f.html @@ -102,6 +102,9 @@ $(function(){initNavTree('functions_f.html',''); initResizable(true); });
        Here is a list of all class members with links to the classes they belong to:

        - f -

        diff --git a/docs/html/functions_func.html b/docs/html/functions_func.html index bbb5643a..533dfdb0 100644 --- a/docs/html/functions_func.html +++ b/docs/html/functions_func.html @@ -103,176 +103,10 @@ $(function(){initNavTree('functions_func.html',''); initResizable(true); });

        - a -

        - - -

        - b -

        - - -

        - c -

        - - -

        - d -

        - - -

        - e -

        - - -

        - g -

        - - -

        - h -

        - - -

        - i -

        - - -

        - j -

        - - -

        - l -

        - - -

        - m -

        - - -

        - n -

        - - -

        - o -

        - - -

        - p -

        - - -

        - q -

        - - -

        - r -

        - - -

        - s -

        - - -

        - u -

        - - -

        - v -

        - - -

        - ~ -

        diff --git a/docs/html/functions_g.html b/docs/html/functions_g.html index 985c1d8e..bd6b1da2 100644 --- a/docs/html/functions_g.html +++ b/docs/html/functions_g.html @@ -102,16 +102,18 @@ $(function(){initNavTree('functions_g.html',''); initResizable(true); });
        Here is a list of all class members with links to the classes they belong to:

        - g -

        diff --git a/docs/html/functions_h.html b/docs/html/functions_h.html index ecc72e39..74b6867e 100644 --- a/docs/html/functions_h.html +++ b/docs/html/functions_h.html @@ -102,7 +102,7 @@ $(function(){initNavTree('functions_h.html',''); initResizable(true); });
        Here is a list of all class members with links to the classes they belong to:

        - h -

        diff --git a/docs/html/functions_i.html b/docs/html/functions_i.html index 242a3d0c..9a9676d3 100644 --- a/docs/html/functions_i.html +++ b/docs/html/functions_i.html @@ -113,6 +113,8 @@ $(function(){initNavTree('functions_i.html',''); initResizable(true); });
      • in14 : gridfire::approx8::Approx8Net
      • ine20 : gridfire::approx8::Approx8Net
      • initializeNetworkWithShortIgnition() : gridfire::solver::QSENetworkSolver
      • +
      • inputs() : gridfire::solver::QSENetworkSolver::EigenFunctor< T >
      • +
      • InputsAtCompileTime : gridfire::solver::QSENetworkSolver::EigenFunctor< T >
      • InputType : gridfire::solver::QSENetworkSolver::EigenFunctor< T >
      • involvesSpecies() : gridfire::GraphEngine
      • io16 : gridfire::approx8::Approx8Net
      • diff --git a/docs/html/functions_l.html b/docs/html/functions_l.html index 08323ed7..594b2dab 100644 --- a/docs/html/functions_l.html +++ b/docs/html/functions_l.html @@ -104,8 +104,7 @@ $(function(){initNavTree('functions_l.html',''); initResizable(true); });

        - l -

        diff --git a/docs/html/functions_m.html b/docs/html/functions_m.html index abcfe5f0..4a28e2a4 100644 --- a/docs/html/functions_m.html +++ b/docs/html/functions_m.html @@ -102,26 +102,29 @@ $(function(){initNavTree('functions_m.html',''); initResizable(true); });
        Here is a list of all class members with links to the classes they belong to:

        - m -

        diff --git a/docs/html/functions_o.html b/docs/html/functions_o.html index ab23320e..f320806f 100644 --- a/docs/html/functions_o.html +++ b/docs/html/functions_o.html @@ -102,12 +102,12 @@ $(function(){initNavTree('functions_o.html',''); initResizable(true); });
        Here is a list of all class members with links to the classes they belong to:

        - o -

        diff --git a/docs/html/functions_p.html b/docs/html/functions_p.html index 6dd07e16..389bfc18 100644 --- a/docs/html/functions_p.html +++ b/docs/html/functions_p.html @@ -103,6 +103,7 @@ $(function(){initNavTree('functions_p.html',''); initResizable(true); });

        - p -

        +

        - l -

        + +

        - m -

        • matrix_type : gridfire::approx8
        • MIN_ABUNDANCE_THRESHOLD : gridfire
        • @@ -176,6 +182,7 @@ $(function(){initNavTree('namespacemembers.html',''); initResizable(true); });

          - p -

          @@ -184,12 +191,15 @@ $(function(){initNavTree('namespacemembers.html',''); initResizable(true); });

          - r -

          - s -

          diff --git a/docs/html/namespacemembers_enum.html b/docs/html/namespacemembers_enum.html index 2ff97610..0d249441 100644 --- a/docs/html/namespacemembers_enum.html +++ b/docs/html/namespacemembers_enum.html @@ -101,6 +101,7 @@ $(function(){initNavTree('namespacemembers_enum.html',''); initResizable(true);
          Here is a list of all namespace enums with links to the namespace documentation for each enum:
          diff --git a/docs/html/namespacemembers_func.html b/docs/html/namespacemembers_func.html index be8de679..a131aabe 100644 --- a/docs/html/namespacemembers_func.html +++ b/docs/html/namespacemembers_func.html @@ -106,6 +106,7 @@ $(function(){initNavTree('namespacemembers_func.html',''); initResizable(true);
        • c12o16_rate() : gridfire::approx8
        • c12p_rate() : gridfire::approx8
        • dp_rate() : gridfire::approx8
        • +
        • formatNuclearTimescaleLogString() : gridfire::utils
        • get_all_reactions() : gridfire::reaclib
        • get_T9_array() : gridfire::approx8
        • he3he3_rate() : gridfire::approx8
        • @@ -120,9 +121,11 @@ $(function(){initNavTree('namespacemembers_func.html',''); initResizable(true);
        • o16a_rate() : gridfire::approx8
        • o16p_rate() : gridfire::approx8
        • operator<<() : gridfire::reaclib
        • +
        • packReactionSetToLogicalReactionSet() : gridfire::reaction
        • parseSpeciesString() : gridfire::reaclib
        • pp_rate() : gridfire::approx8
        • rate_fit() : gridfire::approx8
        • +
        • selectScreeningModel() : gridfire::screening
        • sum_product() : gridfire::approx8
        • trim_whitespace() : gridfire
        • triple_alpha_rate() : gridfire::approx8
        • diff --git a/docs/html/namespacemembers_type.html b/docs/html/namespacemembers_type.html index 7483fe18..37f7c53e 100644 --- a/docs/html/namespacemembers_type.html +++ b/docs/html/namespacemembers_type.html @@ -101,9 +101,11 @@ $(function(){initNavTree('namespacemembers_type.html',''); initResizable(true);
          Here is a list of all namespace typedefs with links to the namespace documentation for each typedef:
          diff --git a/docs/html/namespacestd.html b/docs/html/namespacestd.html index a235b2d7..2884f0c6 100644 --- a/docs/html/namespacestd.html +++ b/docs/html/namespacestd.html @@ -203,6 +203,8 @@ Classes class  fstream  STL class.
            +struct  hash< gridfire::reaction::LogicalReactionSet > +  struct  hash< gridfire::reaction::Reaction >   struct  hash< gridfire::reaction::ReactionSet > diff --git a/docs/html/namespacestd.js b/docs/html/namespacestd.js index 5e750f70..a437583c 100644 --- a/docs/html/namespacestd.js +++ b/docs/html/namespacestd.js @@ -1,5 +1,6 @@ var namespacestd = [ + [ "hash< gridfire::reaction::LogicalReactionSet >", "structstd_1_1hash_3_01gridfire_1_1reaction_1_1_logical_reaction_set_01_4.html", "structstd_1_1hash_3_01gridfire_1_1reaction_1_1_logical_reaction_set_01_4" ], [ "hash< gridfire::reaction::Reaction >", "structstd_1_1hash_3_01gridfire_1_1reaction_1_1_reaction_01_4.html", "structstd_1_1hash_3_01gridfire_1_1reaction_1_1_reaction_01_4" ], [ "hash< gridfire::reaction::ReactionSet >", "structstd_1_1hash_3_01gridfire_1_1reaction_1_1_reaction_set_01_4.html", "structstd_1_1hash_3_01gridfire_1_1reaction_1_1_reaction_set_01_4" ] ]; \ No newline at end of file diff --git a/docs/html/navtreedata.js b/docs/html/navtreedata.js index dd5b4776..b6134c79 100644 --- a/docs/html/navtreedata.js +++ b/docs/html/navtreedata.js @@ -57,9 +57,10 @@ var NAVTREE = [ "Class Hierarchy", "hierarchy.html", "hierarchy" ], [ "Class Members", "functions.html", [ [ "All", "functions.html", "functions_dup" ], - [ "Functions", "functions_func.html", null ], + [ "Functions", "functions_func.html", "functions_func" ], [ "Variables", "functions_vars.html", null ], [ "Typedefs", "functions_type.html", null ], + [ "Enumerator", "functions_eval.html", null ], [ "Related Symbols", "functions_rela.html", null ] ] ] ] ], @@ -78,9 +79,10 @@ var NAVTREE = var NAVTREEINDEX = [ "_2_users_2tboudreaux_2_programming_24_d_s_t_a_r_2_grid_fire_2src_2network_2include_2gridfire_2engine_2engine_approx8_8h-example.html", -"classgridfire_1_1reaction_1_1_logical_reaction_set.html#a00001bbc0f888b167da50ae9fc2a75af", -"functions_u.html", -"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#a93b46ca95ddf9e4d21d02700621e6285" +"classgridfire_1_1_graph_engine.html#acf4cfccea20f5cb31c9886bf233a28be", +"classgridfire_1_1reaction_1_1_templated_reaction_set.html#aac76ec883b4ecebb2a94b2485dae7105", +"namespacegridfire_1_1reaction.html#aa86f08712565f278adacc7cd2361eb31", +"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_jacobian_functor.html#a2071ce797f94ae1a3ea6d934748672ce" ]; var SYNCONMSG = 'click to disable panel synchronization'; diff --git a/docs/html/navtreeindex0.js b/docs/html/navtreeindex0.js index 9a04e4e5..1c2d6abd 100644 --- a/docs/html/navtreeindex0.js +++ b/docs/html/navtreeindex0.js @@ -3,251 +3,251 @@ var NAVTREEINDEX0 = "_2_users_2tboudreaux_2_programming_24_d_s_t_a_r_2_grid_fire_2src_2network_2include_2gridfire_2engine_2engine_approx8_8h-example.html":[6,0], "annotated.html":[4,0], "classes.html":[4,1], -"classgridfire_1_1_adaptive_engine_view.html":[2,0,0,4], -"classgridfire_1_1_adaptive_engine_view.html":[4,0,0,4], -"classgridfire_1_1_adaptive_engine_view.html#a048d4b1d41ecb4125a558d1b9ed7cb31":[2,0,0,4,4], -"classgridfire_1_1_adaptive_engine_view.html#a048d4b1d41ecb4125a558d1b9ed7cb31":[4,0,0,4,4], -"classgridfire_1_1_adaptive_engine_view.html#a12cc2f352678fba9688363ba1876ab9c":[2,0,0,4,12], -"classgridfire_1_1_adaptive_engine_view.html#a12cc2f352678fba9688363ba1876ab9c":[4,0,0,4,12], -"classgridfire_1_1_adaptive_engine_view.html#a14171a9ccc45a63996a967c72983de30":[2,0,0,4,25], -"classgridfire_1_1_adaptive_engine_view.html#a14171a9ccc45a63996a967c72983de30":[4,0,0,4,25], -"classgridfire_1_1_adaptive_engine_view.html#a19fc7e02e216b797aa643fa35e429800":[2,0,0,4,22], -"classgridfire_1_1_adaptive_engine_view.html#a19fc7e02e216b797aa643fa35e429800":[4,0,0,4,22], -"classgridfire_1_1_adaptive_engine_view.html#a21c6e33bbf8c18fd5b5eaabb469054de":[2,0,0,4,28], -"classgridfire_1_1_adaptive_engine_view.html#a21c6e33bbf8c18fd5b5eaabb469054de":[4,0,0,4,28], -"classgridfire_1_1_adaptive_engine_view.html#a231193a61ba5a31e8eb92b0d4ce69111":[2,0,0,4,9], -"classgridfire_1_1_adaptive_engine_view.html#a231193a61ba5a31e8eb92b0d4ce69111":[4,0,0,4,9], -"classgridfire_1_1_adaptive_engine_view.html#a256d14a333f9401039b826cc889761a8":[2,0,0,4,18], -"classgridfire_1_1_adaptive_engine_view.html#a256d14a333f9401039b826cc889761a8":[4,0,0,4,18], -"classgridfire_1_1_adaptive_engine_view.html#a3d9d8e862d1c2f0a8ba460c57f6a7f44":[2,0,0,4,19], -"classgridfire_1_1_adaptive_engine_view.html#a3d9d8e862d1c2f0a8ba460c57f6a7f44":[4,0,0,4,19], -"classgridfire_1_1_adaptive_engine_view.html#a44c4fb7568ddbb20a08f328c2fbf1fdf":[2,0,0,4,20], -"classgridfire_1_1_adaptive_engine_view.html#a44c4fb7568ddbb20a08f328c2fbf1fdf":[4,0,0,4,20], -"classgridfire_1_1_adaptive_engine_view.html#a4710d218c8a0fd161e994ecd60b48e58":[2,0,0,4,11], -"classgridfire_1_1_adaptive_engine_view.html#a4710d218c8a0fd161e994ecd60b48e58":[4,0,0,4,11], -"classgridfire_1_1_adaptive_engine_view.html#a4d38b46be9f25c7afe7ddd2b284253f8":[2,0,0,4,24], -"classgridfire_1_1_adaptive_engine_view.html#a4d38b46be9f25c7afe7ddd2b284253f8":[4,0,0,4,24], -"classgridfire_1_1_adaptive_engine_view.html#a5eaf7c3a4e28cd3a4f34979b88a80103":[2,0,0,4,2], -"classgridfire_1_1_adaptive_engine_view.html#a5eaf7c3a4e28cd3a4f34979b88a80103":[4,0,0,4,2], -"classgridfire_1_1_adaptive_engine_view.html#a5f66204a0ff5b27eed243afddecb0093":[2,0,0,4,29], -"classgridfire_1_1_adaptive_engine_view.html#a5f66204a0ff5b27eed243afddecb0093":[4,0,0,4,29], -"classgridfire_1_1_adaptive_engine_view.html#a63580db57e0f48f508906a11ccfd465e":[2,0,0,4,26], -"classgridfire_1_1_adaptive_engine_view.html#a63580db57e0f48f508906a11ccfd465e":[4,0,0,4,26], -"classgridfire_1_1_adaptive_engine_view.html#a67b4ea8cad115394bb4a42cc39d696f9":[2,0,0,4,15], -"classgridfire_1_1_adaptive_engine_view.html#a67b4ea8cad115394bb4a42cc39d696f9":[4,0,0,4,15], -"classgridfire_1_1_adaptive_engine_view.html#a68695f056b660e91285b7e5a931612e1":[2,0,0,4,16], -"classgridfire_1_1_adaptive_engine_view.html#a68695f056b660e91285b7e5a931612e1":[4,0,0,4,16], -"classgridfire_1_1_adaptive_engine_view.html#a7b276b7210be588263395bdb0497fc6d":[2,0,0,4,5], -"classgridfire_1_1_adaptive_engine_view.html#a7b276b7210be588263395bdb0497fc6d":[4,0,0,4,5], -"classgridfire_1_1_adaptive_engine_view.html#a89614f4a48f60c4170a0197f45303e7c":[2,0,0,4,6], -"classgridfire_1_1_adaptive_engine_view.html#a89614f4a48f60c4170a0197f45303e7c":[4,0,0,4,6], -"classgridfire_1_1_adaptive_engine_view.html#a896d29325b4233e83d9298850b617a2d":[2,0,0,4,7], -"classgridfire_1_1_adaptive_engine_view.html#a896d29325b4233e83d9298850b617a2d":[4,0,0,4,7], -"classgridfire_1_1_adaptive_engine_view.html#a91e742642d8a8d9ec0620779927e5101":[2,0,0,4,17], -"classgridfire_1_1_adaptive_engine_view.html#a91e742642d8a8d9ec0620779927e5101":[4,0,0,4,17], -"classgridfire_1_1_adaptive_engine_view.html#a93b38d0fdc4647f6f7340172dae17872":[2,0,0,4,14], -"classgridfire_1_1_adaptive_engine_view.html#a93b38d0fdc4647f6f7340172dae17872":[4,0,0,4,14], -"classgridfire_1_1_adaptive_engine_view.html#ac5bdbe46f87d38d9f23ece5743dcd193":[2,0,0,4,27], -"classgridfire_1_1_adaptive_engine_view.html#ac5bdbe46f87d38d9f23ece5743dcd193":[4,0,0,4,27], -"classgridfire_1_1_adaptive_engine_view.html#ac83a8efe25c0e5b9bf7756ac3a500bb1":[2,0,0,4,13], -"classgridfire_1_1_adaptive_engine_view.html#ac83a8efe25c0e5b9bf7756ac3a500bb1":[4,0,0,4,13], -"classgridfire_1_1_adaptive_engine_view.html#ac9aab6f60e80a9228b2b19b1b10449ef":[2,0,0,4,8], -"classgridfire_1_1_adaptive_engine_view.html#ac9aab6f60e80a9228b2b19b1b10449ef":[4,0,0,4,8], -"classgridfire_1_1_adaptive_engine_view.html#ad599363cdd457e72e2e2937b0222c455":[2,0,0,4,3], -"classgridfire_1_1_adaptive_engine_view.html#ad599363cdd457e72e2e2937b0222c455":[4,0,0,4,3], -"classgridfire_1_1_adaptive_engine_view.html#aedc0dedb51c81e03f253cc409a5d5c40":[2,0,0,4,21], -"classgridfire_1_1_adaptive_engine_view.html#aedc0dedb51c81e03f253cc409a5d5c40":[4,0,0,4,21], -"classgridfire_1_1_adaptive_engine_view.html#aee095b30a9dce5fcb5ae2fa1d2aa192c":[2,0,0,4,10], -"classgridfire_1_1_adaptive_engine_view.html#aee095b30a9dce5fcb5ae2fa1d2aa192c":[4,0,0,4,10], -"classgridfire_1_1_adaptive_engine_view.html#af4bc9fc6e4afcd6a53c49ca6e2a95940":[2,0,0,4,23], -"classgridfire_1_1_adaptive_engine_view.html#af4bc9fc6e4afcd6a53c49ca6e2a95940":[4,0,0,4,23], -"classgridfire_1_1_adaptive_engine_view.html#afec39b2faa34ea65c5488dd8e11ba3c3":[2,0,0,4,1], -"classgridfire_1_1_adaptive_engine_view.html#afec39b2faa34ea65c5488dd8e11ba3c3":[4,0,0,4,1], -"classgridfire_1_1_dynamic_engine.html":[2,0,0,5], -"classgridfire_1_1_dynamic_engine.html":[4,0,0,5], -"classgridfire_1_1_dynamic_engine.html#a05d15ff35a6bc06a2fa7eda19838bd07":[2,0,0,5,3], -"classgridfire_1_1_dynamic_engine.html#a05d15ff35a6bc06a2fa7eda19838bd07":[4,0,0,5,3], -"classgridfire_1_1_dynamic_engine.html#a0a2fb3435ee3271ab9c806f225c61a7f":[2,0,0,5,1], -"classgridfire_1_1_dynamic_engine.html#a0a2fb3435ee3271ab9c806f225c61a7f":[4,0,0,5,1], -"classgridfire_1_1_dynamic_engine.html#a5d8ba98b230d2849035ee2507728fa15":[2,0,0,5,5], -"classgridfire_1_1_dynamic_engine.html#a5d8ba98b230d2849035ee2507728fa15":[4,0,0,5,5], -"classgridfire_1_1_dynamic_engine.html#a6633b1757c41dd9e1c397333f4f9e785":[2,0,0,5,0], -"classgridfire_1_1_dynamic_engine.html#a6633b1757c41dd9e1c397333f4f9e785":[4,0,0,5,0], -"classgridfire_1_1_dynamic_engine.html#ad2a82099edbb374bbb2c9509ccdb1037":[2,0,0,5,4], -"classgridfire_1_1_dynamic_engine.html#ad2a82099edbb374bbb2c9509ccdb1037":[4,0,0,5,4], -"classgridfire_1_1_dynamic_engine.html#aeae6d84ef74d88fd2cdf07b82e98a16f":[2,0,0,5,2], -"classgridfire_1_1_dynamic_engine.html#aeae6d84ef74d88fd2cdf07b82e98a16f":[4,0,0,5,2], -"classgridfire_1_1_dynamic_engine.html#afa108dd5227dbb1045e90d7b3bd8b84f":[2,0,0,5,6], -"classgridfire_1_1_dynamic_engine.html#afa108dd5227dbb1045e90d7b3bd8b84f":[4,0,0,5,6], -"classgridfire_1_1_engine.html":[2,0,0,6], -"classgridfire_1_1_engine.html":[4,0,0,6], -"classgridfire_1_1_engine.html#a020e1b493d6964cafdad08fde697ceb3":[2,0,0,6,2], -"classgridfire_1_1_engine.html#a020e1b493d6964cafdad08fde697ceb3":[4,0,0,6,2], -"classgridfire_1_1_engine.html#a2e7970bed2100699f226f4141d5db037":[2,0,0,6,0], -"classgridfire_1_1_engine.html#a2e7970bed2100699f226f4141d5db037":[4,0,0,6,0], -"classgridfire_1_1_engine.html#ac8b56124b6b49cd1802addb74a9a47c2":[2,0,0,6,1], -"classgridfire_1_1_engine.html#ac8b56124b6b49cd1802addb74a9a47c2":[4,0,0,6,1], -"classgridfire_1_1_engine_view.html":[2,0,0,7], -"classgridfire_1_1_engine_view.html":[4,0,0,7], -"classgridfire_1_1_engine_view.html#a994660f2d553f3a123512dc5eb421e74":[2,0,0,7,0], -"classgridfire_1_1_engine_view.html#a994660f2d553f3a123512dc5eb421e74":[4,0,0,7,0], -"classgridfire_1_1_engine_view.html#ad294227f8b5cf6d970c349eabf5447a6":[2,0,0,7,1], -"classgridfire_1_1_engine_view.html#ad294227f8b5cf6d970c349eabf5447a6":[4,0,0,7,1], -"classgridfire_1_1_graph_engine.html":[2,0,0,8], -"classgridfire_1_1_graph_engine.html":[4,0,0,8], -"classgridfire_1_1_graph_engine.html#a0837bab6dcd111d9075c9343b90d64f1":[2,0,0,8,28], -"classgridfire_1_1_graph_engine.html#a0837bab6dcd111d9075c9343b90d64f1":[4,0,0,8,28], -"classgridfire_1_1_graph_engine.html#a0ed390f3e598ebba4e245ac90bb78767":[2,0,0,8,16], -"classgridfire_1_1_graph_engine.html#a0ed390f3e598ebba4e245ac90bb78767":[4,0,0,8,16], -"classgridfire_1_1_graph_engine.html#a26215593544c3a52597194602e4e25dd":[2,0,0,8,17], -"classgridfire_1_1_graph_engine.html#a26215593544c3a52597194602e4e25dd":[4,0,0,8,17], -"classgridfire_1_1_graph_engine.html#a26602e1b3c610780a47b5a6511d6d567":[2,0,0,8,20], -"classgridfire_1_1_graph_engine.html#a26602e1b3c610780a47b5a6511d6d567":[4,0,0,8,20], -"classgridfire_1_1_graph_engine.html#a2e22b111f6d00ecc9e3804a71f1ce876":[2,0,0,8,35], -"classgridfire_1_1_graph_engine.html#a2e22b111f6d00ecc9e3804a71f1ce876":[4,0,0,8,35], -"classgridfire_1_1_graph_engine.html#a2f1718c89d4aaad028102724d18fa910":[2,0,0,8,29], -"classgridfire_1_1_graph_engine.html#a2f1718c89d4aaad028102724d18fa910":[4,0,0,8,29], -"classgridfire_1_1_graph_engine.html#a303e6093591cde91430f866a04a8be7c":[2,0,0,8,13], -"classgridfire_1_1_graph_engine.html#a303e6093591cde91430f866a04a8be7c":[4,0,0,8,13], -"classgridfire_1_1_graph_engine.html#a30e09ed0bce6aa5fc89beaa316a7b827":[2,0,0,8,32], -"classgridfire_1_1_graph_engine.html#a30e09ed0bce6aa5fc89beaa316a7b827":[4,0,0,8,32], -"classgridfire_1_1_graph_engine.html#a3b17102b143435ddfdc015d7a50c4b18":[2,0,0,8,27], -"classgridfire_1_1_graph_engine.html#a3b17102b143435ddfdc015d7a50c4b18":[4,0,0,8,27], -"classgridfire_1_1_graph_engine.html#a47202c43342b96480070874bffce1391":[2,0,0,8,21], -"classgridfire_1_1_graph_engine.html#a47202c43342b96480070874bffce1391":[4,0,0,8,21], -"classgridfire_1_1_graph_engine.html#a483979fc154adc88d029b3b672066d53":[2,0,0,8,30], -"classgridfire_1_1_graph_engine.html#a483979fc154adc88d029b3b672066d53":[4,0,0,8,30], -"classgridfire_1_1_graph_engine.html#a5a5458ed01923124f2d7e1f04f32f138":[2,0,0,8,23], -"classgridfire_1_1_graph_engine.html#a5a5458ed01923124f2d7e1f04f32f138":[4,0,0,8,23], -"classgridfire_1_1_graph_engine.html#a5d6cc63b99b467c2a976d1fbaaa1dfa3":[2,0,0,8,33], -"classgridfire_1_1_graph_engine.html#a5d6cc63b99b467c2a976d1fbaaa1dfa3":[4,0,0,8,33], -"classgridfire_1_1_graph_engine.html#a5e96b5a0b34c8932f0e14eabda57f1a4":[2,0,0,8,6], -"classgridfire_1_1_graph_engine.html#a5e96b5a0b34c8932f0e14eabda57f1a4":[4,0,0,8,6], -"classgridfire_1_1_graph_engine.html#a6b5feaf788bade212b7c8df7ac8c8152":[2,0,0,8,18], -"classgridfire_1_1_graph_engine.html#a6b5feaf788bade212b7c8df7ac8c8152":[4,0,0,8,18], -"classgridfire_1_1_graph_engine.html#a71a3d1181b90c3becdc5d9a3da05b9c9":[2,0,0,8,2], -"classgridfire_1_1_graph_engine.html#a71a3d1181b90c3becdc5d9a3da05b9c9":[4,0,0,8,2], -"classgridfire_1_1_graph_engine.html#a832e2fe066381811a3e0464806ff5e95":[2,0,0,8,9], -"classgridfire_1_1_graph_engine.html#a832e2fe066381811a3e0464806ff5e95":[4,0,0,8,9], -"classgridfire_1_1_graph_engine.html#a8b3baf29829c7ae0a61430ea70632bbf":[2,0,0,8,7], -"classgridfire_1_1_graph_engine.html#a8b3baf29829c7ae0a61430ea70632bbf":[4,0,0,8,7], -"classgridfire_1_1_graph_engine.html#a8c29d8bbde407e913be5eb77efb2c0c9":[2,0,0,8,14], -"classgridfire_1_1_graph_engine.html#a8c29d8bbde407e913be5eb77efb2c0c9":[4,0,0,8,14], -"classgridfire_1_1_graph_engine.html#a9245642b741f215e52861d00e756fb3f":[2,0,0,8,5], -"classgridfire_1_1_graph_engine.html#a9245642b741f215e52861d00e756fb3f":[4,0,0,8,5], -"classgridfire_1_1_graph_engine.html#a92d26068ba139e47d335f5fe9e2814cc":[2,0,0,8,31], -"classgridfire_1_1_graph_engine.html#a92d26068ba139e47d335f5fe9e2814cc":[4,0,0,8,31], -"classgridfire_1_1_graph_engine.html#a95563f6bc86007d9ee053a0f1e15b889":[2,0,0,8,22], -"classgridfire_1_1_graph_engine.html#a95563f6bc86007d9ee053a0f1e15b889":[4,0,0,8,22], -"classgridfire_1_1_graph_engine.html#a9c285e3a38de6e73503a4e19666678e2":[2,0,0,8,1], -"classgridfire_1_1_graph_engine.html#a9c285e3a38de6e73503a4e19666678e2":[4,0,0,8,1], -"classgridfire_1_1_graph_engine.html#a9f74786ff930ab72664b31f29d05a30c":[2,0,0,8,0], -"classgridfire_1_1_graph_engine.html#a9f74786ff930ab72664b31f29d05a30c":[4,0,0,8,0], -"classgridfire_1_1_graph_engine.html#aa6202cee0c3c481eda77cc9a91bc126b":[2,0,0,8,19], -"classgridfire_1_1_graph_engine.html#aa6202cee0c3c481eda77cc9a91bc126b":[4,0,0,8,19], -"classgridfire_1_1_graph_engine.html#aaf4d54e4b774ab8ec8eabec006579d31":[2,0,0,8,3], -"classgridfire_1_1_graph_engine.html#aaf4d54e4b774ab8ec8eabec006579d31":[4,0,0,8,3], -"classgridfire_1_1_graph_engine.html#acb7c4f5108b0efeae48ad15598e808c3":[2,0,0,8,34], -"classgridfire_1_1_graph_engine.html#acb7c4f5108b0efeae48ad15598e808c3":[4,0,0,8,34], -"classgridfire_1_1_graph_engine.html#acdce8d87e23a2cd1504bc9472e538c0f":[2,0,0,8,24], -"classgridfire_1_1_graph_engine.html#acdce8d87e23a2cd1504bc9472e538c0f":[4,0,0,8,24], -"classgridfire_1_1_graph_engine.html#acf4cfccea20f5cb31c9886bf233a28be":[2,0,0,8,26], -"classgridfire_1_1_graph_engine.html#acf4cfccea20f5cb31c9886bf233a28be":[4,0,0,8,26], -"classgridfire_1_1_graph_engine.html#ad1cb5fd32efc37668e2d9ecf0c72ad24":[2,0,0,8,37], -"classgridfire_1_1_graph_engine.html#ad1cb5fd32efc37668e2d9ecf0c72ad24":[4,0,0,8,37], -"classgridfire_1_1_graph_engine.html#ad45650d10fc5dff1673ae3f806d067da":[2,0,0,8,15], -"classgridfire_1_1_graph_engine.html#ad45650d10fc5dff1673ae3f806d067da":[4,0,0,8,15], -"classgridfire_1_1_graph_engine.html#ad8237c252145a75092202d00f5e1ddf7":[2,0,0,8,36], -"classgridfire_1_1_graph_engine.html#ad8237c252145a75092202d00f5e1ddf7":[4,0,0,8,36], -"classgridfire_1_1_graph_engine.html#adac8c7d62bae76e17fc060e86dadd929":[2,0,0,8,10], -"classgridfire_1_1_graph_engine.html#adac8c7d62bae76e17fc060e86dadd929":[4,0,0,8,10], -"classgridfire_1_1_graph_engine.html#ae347ff0316e532e0298ec8c913908105":[2,0,0,8,11], -"classgridfire_1_1_graph_engine.html#ae347ff0316e532e0298ec8c913908105":[4,0,0,8,11], -"classgridfire_1_1_graph_engine.html#aed726d36ee2b3796beff6067a1e4db38":[2,0,0,8,12], -"classgridfire_1_1_graph_engine.html#aed726d36ee2b3796beff6067a1e4db38":[4,0,0,8,12], -"classgridfire_1_1_graph_engine.html#aedf42d83bfcc28313b6b6454034d2efa":[2,0,0,8,8], -"classgridfire_1_1_graph_engine.html#aedf42d83bfcc28313b6b6454034d2efa":[4,0,0,8,8], -"classgridfire_1_1_graph_engine.html#aeeafeab40a5f4dbfae78bdc87e25e93f":[2,0,0,8,25], -"classgridfire_1_1_graph_engine.html#aeeafeab40a5f4dbfae78bdc87e25e93f":[4,0,0,8,25], -"classgridfire_1_1_graph_engine.html#af41df9ce979b6410e12642cb093916c9":[2,0,0,8,4], -"classgridfire_1_1_graph_engine.html#af41df9ce979b6410e12642cb093916c9":[4,0,0,8,4], -"classgridfire_1_1_network.html":[2,0,0,11], -"classgridfire_1_1_network.html":[4,0,0,11], -"classgridfire_1_1_network.html#a0bb7c7be9a3c3212ef6dcbf26dcacb16":[2,0,0,11,11], -"classgridfire_1_1_network.html#a0bb7c7be9a3c3212ef6dcbf26dcacb16":[4,0,0,11,11], -"classgridfire_1_1_network.html#a20b631f2404bfdec2333f680a62abf55":[2,0,0,11,0], -"classgridfire_1_1_network.html#a20b631f2404bfdec2333f680a62abf55":[4,0,0,11,0], -"classgridfire_1_1_network.html#a315a123499719178286b29e2aca69118":[2,0,0,11,3], -"classgridfire_1_1_network.html#a315a123499719178286b29e2aca69118":[4,0,0,11,3], -"classgridfire_1_1_network.html#a37218e18f1bdbda7be94aa230f47dd18":[2,0,0,11,9], -"classgridfire_1_1_network.html#a37218e18f1bdbda7be94aa230f47dd18":[4,0,0,11,9], -"classgridfire_1_1_network.html#a787c601f6e4bd06600bf946efbcc98d4":[2,0,0,11,5], -"classgridfire_1_1_network.html#a787c601f6e4bd06600bf946efbcc98d4":[4,0,0,11,5], -"classgridfire_1_1_network.html#a84de2d691af06c4b62cfab5022b1e8fe":[2,0,0,11,6], -"classgridfire_1_1_network.html#a84de2d691af06c4b62cfab5022b1e8fe":[4,0,0,11,6], -"classgridfire_1_1_network.html#a960d309defc570f92d296ce4b93920e5":[2,0,0,11,10], -"classgridfire_1_1_network.html#a960d309defc570f92d296ce4b93920e5":[4,0,0,11,10], -"classgridfire_1_1_network.html#a9f8802012728ef5fea0e8cd465044e09":[2,0,0,11,7], -"classgridfire_1_1_network.html#a9f8802012728ef5fea0e8cd465044e09":[4,0,0,11,7], -"classgridfire_1_1_network.html#ab8d83289b62dda9b4e02f25311f85b79":[2,0,0,11,1], -"classgridfire_1_1_network.html#ab8d83289b62dda9b4e02f25311f85b79":[4,0,0,11,1], -"classgridfire_1_1_network.html#adf7002883160101c9f9d1b376b265410":[2,0,0,11,8], -"classgridfire_1_1_network.html#adf7002883160101c9f9d1b376b265410":[4,0,0,11,8], -"classgridfire_1_1_network.html#ae93ad65deba79def4b77d420e7affa0b":[2,0,0,11,4], -"classgridfire_1_1_network.html#ae93ad65deba79def4b77d420e7affa0b":[4,0,0,11,4], -"classgridfire_1_1_network.html#aefe364ae5af783e19e7b93bfd475566e":[2,0,0,11,12], -"classgridfire_1_1_network.html#aefe364ae5af783e19e7b93bfd475566e":[4,0,0,11,12], -"classgridfire_1_1_network.html#afc8d5172dd0e2295248b42dcb52b655c":[2,0,0,11,2], -"classgridfire_1_1_network.html#afc8d5172dd0e2295248b42dcb52b655c":[4,0,0,11,2], -"classgridfire_1_1approx8_1_1_approx8_network.html":[2,0,0,0,1], -"classgridfire_1_1approx8_1_1_approx8_network.html":[4,0,0,0,1], -"classgridfire_1_1approx8_1_1_approx8_network.html#a56426da6f1af7eb8a6d1cc70bc8e742a":[2,0,0,0,1,1], -"classgridfire_1_1approx8_1_1_approx8_network.html#a56426da6f1af7eb8a6d1cc70bc8e742a":[4,0,0,0,1,1], -"classgridfire_1_1approx8_1_1_approx8_network.html#a5b17b2831389829533385900ce19a37a":[2,0,0,0,1,3], -"classgridfire_1_1approx8_1_1_approx8_network.html#a5b17b2831389829533385900ce19a37a":[4,0,0,0,1,3], -"classgridfire_1_1approx8_1_1_approx8_network.html#a65066078081c544be4e56e25eb407c8b":[2,0,0,0,1,0], -"classgridfire_1_1approx8_1_1_approx8_network.html#a65066078081c544be4e56e25eb407c8b":[4,0,0,0,1,0], -"classgridfire_1_1approx8_1_1_approx8_network.html#a697cb49bebc8d0659eb791500c451c67":[2,0,0,0,1,6], -"classgridfire_1_1approx8_1_1_approx8_network.html#a697cb49bebc8d0659eb791500c451c67":[4,0,0,0,1,6], -"classgridfire_1_1approx8_1_1_approx8_network.html#a6ed8022834e9541b3e547dd867648b0f":[2,0,0,0,1,5], -"classgridfire_1_1approx8_1_1_approx8_network.html#a6ed8022834e9541b3e547dd867648b0f":[4,0,0,0,1,5], -"classgridfire_1_1approx8_1_1_approx8_network.html#a6fadf388f07c160f1887a3cb72eaa869":[2,0,0,0,1,7], -"classgridfire_1_1approx8_1_1_approx8_network.html#a6fadf388f07c160f1887a3cb72eaa869":[4,0,0,0,1,7], -"classgridfire_1_1approx8_1_1_approx8_network.html#a888734a3cdde4259e921e2efece411ee":[2,0,0,0,1,2], -"classgridfire_1_1approx8_1_1_approx8_network.html#a888734a3cdde4259e921e2efece411ee":[4,0,0,0,1,2], -"classgridfire_1_1approx8_1_1_approx8_network.html#abf9f13ff532917ddac4a7d987698836d":[2,0,0,0,1,8], -"classgridfire_1_1approx8_1_1_approx8_network.html#abf9f13ff532917ddac4a7d987698836d":[4,0,0,0,1,8], -"classgridfire_1_1approx8_1_1_approx8_network.html#aefed972081514c29cdaaa1efd857ad8d":[2,0,0,0,1,4], -"classgridfire_1_1approx8_1_1_approx8_network.html#aefed972081514c29cdaaa1efd857ad8d":[4,0,0,0,1,4], -"classgridfire_1_1reaction_1_1_logical_reaction.html":[2,0,0,2,0], -"classgridfire_1_1reaction_1_1_logical_reaction.html":[4,0,0,2,0], -"classgridfire_1_1reaction_1_1_logical_reaction.html#a019b721d83741acdb16036f00739f87c":[2,0,0,2,0,6], -"classgridfire_1_1reaction_1_1_logical_reaction.html#a019b721d83741acdb16036f00739f87c":[4,0,0,2,0,6], -"classgridfire_1_1reaction_1_1_logical_reaction.html#a054994f733b44293b4d79f3a9b207560":[2,0,0,2,0,8], -"classgridfire_1_1reaction_1_1_logical_reaction.html#a054994f733b44293b4d79f3a9b207560":[4,0,0,2,0,8], -"classgridfire_1_1reaction_1_1_logical_reaction.html#a14a24cb8ea25a1514134acc51197f1de":[2,0,0,2,0,1], -"classgridfire_1_1reaction_1_1_logical_reaction.html#a14a24cb8ea25a1514134acc51197f1de":[4,0,0,2,0,1], -"classgridfire_1_1reaction_1_1_logical_reaction.html#a1d2fb3b6a6a1860ace98b32447d1dd1b":[2,0,0,2,0,5], -"classgridfire_1_1reaction_1_1_logical_reaction.html#a1d2fb3b6a6a1860ace98b32447d1dd1b":[4,0,0,2,0,5], -"classgridfire_1_1reaction_1_1_logical_reaction.html#a4ae3806e5e1a802b86a6de292d043476":[2,0,0,2,0,2], -"classgridfire_1_1reaction_1_1_logical_reaction.html#a4ae3806e5e1a802b86a6de292d043476":[4,0,0,2,0,2], -"classgridfire_1_1reaction_1_1_logical_reaction.html#a5d410de1053f8028faed1f0d0a6083f5":[2,0,0,2,0,3], -"classgridfire_1_1reaction_1_1_logical_reaction.html#a5d410de1053f8028faed1f0d0a6083f5":[4,0,0,2,0,3], -"classgridfire_1_1reaction_1_1_logical_reaction.html#a6965906ea33ebd0d615811219d9e9537":[2,0,0,2,0,0], -"classgridfire_1_1reaction_1_1_logical_reaction.html#a6965906ea33ebd0d615811219d9e9537":[4,0,0,2,0,0], -"classgridfire_1_1reaction_1_1_logical_reaction.html#a7fe91d24e20ebc76d612f6ad742f476f":[2,0,0,2,0,12], -"classgridfire_1_1reaction_1_1_logical_reaction.html#a7fe91d24e20ebc76d612f6ad742f476f":[4,0,0,2,0,12], -"classgridfire_1_1reaction_1_1_logical_reaction.html#a81f75f0085f8a5a45169f0b7240c809d":[2,0,0,2,0,11], -"classgridfire_1_1reaction_1_1_logical_reaction.html#a81f75f0085f8a5a45169f0b7240c809d":[4,0,0,2,0,11], -"classgridfire_1_1reaction_1_1_logical_reaction.html#adad6f4297c1d8ce487eab092b73cdd32":[2,0,0,2,0,4], -"classgridfire_1_1reaction_1_1_logical_reaction.html#adad6f4297c1d8ce487eab092b73cdd32":[4,0,0,2,0,4], -"classgridfire_1_1reaction_1_1_logical_reaction.html#add094eda0e71126f8443698d7f3317f4":[2,0,0,2,0,10], -"classgridfire_1_1reaction_1_1_logical_reaction.html#add094eda0e71126f8443698d7f3317f4":[4,0,0,2,0,10], -"classgridfire_1_1reaction_1_1_logical_reaction.html#af8d23557326e6c8499fa4919ac0bd972":[2,0,0,2,0,7], -"classgridfire_1_1reaction_1_1_logical_reaction.html#af8d23557326e6c8499fa4919ac0bd972":[4,0,0,2,0,7], -"classgridfire_1_1reaction_1_1_logical_reaction.html#afa41050855b842c63db16c94d2e9b897":[2,0,0,2,0,9], -"classgridfire_1_1reaction_1_1_logical_reaction.html#afa41050855b842c63db16c94d2e9b897":[4,0,0,2,0,9], -"classgridfire_1_1reaction_1_1_logical_reaction_set.html":[2,0,0,2,1], -"classgridfire_1_1reaction_1_1_logical_reaction_set.html":[4,0,0,2,1], -"classgridfire_1_1reaction_1_1_logical_reaction_set.html#a00001bbc0f888b167da50ae9fc2a75af":[2,0,0,2,1,6] +"classgridfire_1_1_adaptive_engine_view.html":[2,0,0,7], +"classgridfire_1_1_adaptive_engine_view.html":[4,0,0,6], +"classgridfire_1_1_adaptive_engine_view.html#a048d4b1d41ecb4125a558d1b9ed7cb31":[2,0,0,7,5], +"classgridfire_1_1_adaptive_engine_view.html#a048d4b1d41ecb4125a558d1b9ed7cb31":[4,0,0,6,5], +"classgridfire_1_1_adaptive_engine_view.html#a0ab1199f900a58f309c3c36532c9164f":[2,0,0,7,18], +"classgridfire_1_1_adaptive_engine_view.html#a0ab1199f900a58f309c3c36532c9164f":[4,0,0,6,18], +"classgridfire_1_1_adaptive_engine_view.html#a0ed21f7e7c1034fc87b40d4116c4221b":[2,0,0,7,11], +"classgridfire_1_1_adaptive_engine_view.html#a0ed21f7e7c1034fc87b40d4116c4221b":[4,0,0,6,11], +"classgridfire_1_1_adaptive_engine_view.html#a12cc2f352678fba9688363ba1876ab9c":[2,0,0,7,16], +"classgridfire_1_1_adaptive_engine_view.html#a12cc2f352678fba9688363ba1876ab9c":[4,0,0,6,16], +"classgridfire_1_1_adaptive_engine_view.html#a14171a9ccc45a63996a967c72983de30":[2,0,0,7,31], +"classgridfire_1_1_adaptive_engine_view.html#a14171a9ccc45a63996a967c72983de30":[4,0,0,6,31], +"classgridfire_1_1_adaptive_engine_view.html#a19fc7e02e216b797aa643fa35e429800":[2,0,0,7,28], +"classgridfire_1_1_adaptive_engine_view.html#a19fc7e02e216b797aa643fa35e429800":[4,0,0,6,28], +"classgridfire_1_1_adaptive_engine_view.html#a21c6e33bbf8c18fd5b5eaabb469054de":[2,0,0,7,34], +"classgridfire_1_1_adaptive_engine_view.html#a21c6e33bbf8c18fd5b5eaabb469054de":[4,0,0,6,34], +"classgridfire_1_1_adaptive_engine_view.html#a231193a61ba5a31e8eb92b0d4ce69111":[2,0,0,7,13], +"classgridfire_1_1_adaptive_engine_view.html#a231193a61ba5a31e8eb92b0d4ce69111":[4,0,0,6,13], +"classgridfire_1_1_adaptive_engine_view.html#a256d14a333f9401039b826cc889761a8":[2,0,0,7,23], +"classgridfire_1_1_adaptive_engine_view.html#a256d14a333f9401039b826cc889761a8":[4,0,0,6,23], +"classgridfire_1_1_adaptive_engine_view.html#a3d9d8e862d1c2f0a8ba460c57f6a7f44":[2,0,0,7,24], +"classgridfire_1_1_adaptive_engine_view.html#a3d9d8e862d1c2f0a8ba460c57f6a7f44":[4,0,0,6,24], +"classgridfire_1_1_adaptive_engine_view.html#a42417e96fe9fd623458af109401daf08":[2,0,0,7,9], +"classgridfire_1_1_adaptive_engine_view.html#a42417e96fe9fd623458af109401daf08":[4,0,0,6,9], +"classgridfire_1_1_adaptive_engine_view.html#a4710d218c8a0fd161e994ecd60b48e58":[2,0,0,7,15], +"classgridfire_1_1_adaptive_engine_view.html#a4710d218c8a0fd161e994ecd60b48e58":[4,0,0,6,15], +"classgridfire_1_1_adaptive_engine_view.html#a4d38b46be9f25c7afe7ddd2b284253f8":[2,0,0,7,30], +"classgridfire_1_1_adaptive_engine_view.html#a4d38b46be9f25c7afe7ddd2b284253f8":[4,0,0,6,30], +"classgridfire_1_1_adaptive_engine_view.html#a5eaf7c3a4e28cd3a4f34979b88a80103":[2,0,0,7,2], +"classgridfire_1_1_adaptive_engine_view.html#a5eaf7c3a4e28cd3a4f34979b88a80103":[4,0,0,6,2], +"classgridfire_1_1_adaptive_engine_view.html#a5f66204a0ff5b27eed243afddecb0093":[2,0,0,7,35], +"classgridfire_1_1_adaptive_engine_view.html#a5f66204a0ff5b27eed243afddecb0093":[4,0,0,6,35], +"classgridfire_1_1_adaptive_engine_view.html#a63580db57e0f48f508906a11ccfd465e":[2,0,0,7,32], +"classgridfire_1_1_adaptive_engine_view.html#a63580db57e0f48f508906a11ccfd465e":[4,0,0,6,32], +"classgridfire_1_1_adaptive_engine_view.html#a67b4ea8cad115394bb4a42cc39d696f9":[2,0,0,7,20], +"classgridfire_1_1_adaptive_engine_view.html#a67b4ea8cad115394bb4a42cc39d696f9":[4,0,0,6,20], +"classgridfire_1_1_adaptive_engine_view.html#a68695f056b660e91285b7e5a931612e1":[2,0,0,7,21], +"classgridfire_1_1_adaptive_engine_view.html#a68695f056b660e91285b7e5a931612e1":[4,0,0,6,21], +"classgridfire_1_1_adaptive_engine_view.html#a7b276b7210be588263395bdb0497fc6d":[2,0,0,7,6], +"classgridfire_1_1_adaptive_engine_view.html#a7b276b7210be588263395bdb0497fc6d":[4,0,0,6,6], +"classgridfire_1_1_adaptive_engine_view.html#a7d61e73f5158f1574cda3edc90c51f7e":[2,0,0,7,26], +"classgridfire_1_1_adaptive_engine_view.html#a7d61e73f5158f1574cda3edc90c51f7e":[4,0,0,6,26], +"classgridfire_1_1_adaptive_engine_view.html#a89614f4a48f60c4170a0197f45303e7c":[2,0,0,7,7], +"classgridfire_1_1_adaptive_engine_view.html#a89614f4a48f60c4170a0197f45303e7c":[4,0,0,6,7], +"classgridfire_1_1_adaptive_engine_view.html#a896d29325b4233e83d9298850b617a2d":[2,0,0,7,8], +"classgridfire_1_1_adaptive_engine_view.html#a896d29325b4233e83d9298850b617a2d":[4,0,0,6,8], +"classgridfire_1_1_adaptive_engine_view.html#a91e742642d8a8d9ec0620779927e5101":[2,0,0,7,22], +"classgridfire_1_1_adaptive_engine_view.html#a91e742642d8a8d9ec0620779927e5101":[4,0,0,6,22], +"classgridfire_1_1_adaptive_engine_view.html#a93b38d0fdc4647f6f7340172dae17872":[2,0,0,7,19], +"classgridfire_1_1_adaptive_engine_view.html#a93b38d0fdc4647f6f7340172dae17872":[4,0,0,6,19], +"classgridfire_1_1_adaptive_engine_view.html#aa79fb382c98461b02a2c30668491e6c5":[2,0,0,7,10], +"classgridfire_1_1_adaptive_engine_view.html#aa79fb382c98461b02a2c30668491e6c5":[4,0,0,6,10], +"classgridfire_1_1_adaptive_engine_view.html#aae4ddbef1c4e2202fd236221a4bf376b":[2,0,0,7,25], +"classgridfire_1_1_adaptive_engine_view.html#aae4ddbef1c4e2202fd236221a4bf376b":[4,0,0,6,25], +"classgridfire_1_1_adaptive_engine_view.html#abdbaf4b87629efe43ac1255dad424c0c":[2,0,0,7,4], +"classgridfire_1_1_adaptive_engine_view.html#abdbaf4b87629efe43ac1255dad424c0c":[4,0,0,6,4], +"classgridfire_1_1_adaptive_engine_view.html#ac5bdbe46f87d38d9f23ece5743dcd193":[2,0,0,7,33], +"classgridfire_1_1_adaptive_engine_view.html#ac5bdbe46f87d38d9f23ece5743dcd193":[4,0,0,6,33], +"classgridfire_1_1_adaptive_engine_view.html#ac83a8efe25c0e5b9bf7756ac3a500bb1":[2,0,0,7,17], +"classgridfire_1_1_adaptive_engine_view.html#ac83a8efe25c0e5b9bf7756ac3a500bb1":[4,0,0,6,17], +"classgridfire_1_1_adaptive_engine_view.html#ac9aab6f60e80a9228b2b19b1b10449ef":[2,0,0,7,12], +"classgridfire_1_1_adaptive_engine_view.html#ac9aab6f60e80a9228b2b19b1b10449ef":[4,0,0,6,12], +"classgridfire_1_1_adaptive_engine_view.html#ad599363cdd457e72e2e2937b0222c455":[2,0,0,7,3], +"classgridfire_1_1_adaptive_engine_view.html#ad599363cdd457e72e2e2937b0222c455":[4,0,0,6,3], +"classgridfire_1_1_adaptive_engine_view.html#aedc0dedb51c81e03f253cc409a5d5c40":[2,0,0,7,27], +"classgridfire_1_1_adaptive_engine_view.html#aedc0dedb51c81e03f253cc409a5d5c40":[4,0,0,6,27], +"classgridfire_1_1_adaptive_engine_view.html#aee095b30a9dce5fcb5ae2fa1d2aa192c":[2,0,0,7,14], +"classgridfire_1_1_adaptive_engine_view.html#aee095b30a9dce5fcb5ae2fa1d2aa192c":[4,0,0,6,14], +"classgridfire_1_1_adaptive_engine_view.html#af4bc9fc6e4afcd6a53c49ca6e2a95940":[2,0,0,7,29], +"classgridfire_1_1_adaptive_engine_view.html#af4bc9fc6e4afcd6a53c49ca6e2a95940":[4,0,0,6,29], +"classgridfire_1_1_adaptive_engine_view.html#afec39b2faa34ea65c5488dd8e11ba3c3":[2,0,0,7,1], +"classgridfire_1_1_adaptive_engine_view.html#afec39b2faa34ea65c5488dd8e11ba3c3":[4,0,0,6,1], +"classgridfire_1_1_dynamic_engine.html":[2,0,0,8], +"classgridfire_1_1_dynamic_engine.html":[4,0,0,7], +"classgridfire_1_1_dynamic_engine.html#a05d15ff35a6bc06a2fa7eda19838bd07":[2,0,0,8,3], +"classgridfire_1_1_dynamic_engine.html#a05d15ff35a6bc06a2fa7eda19838bd07":[4,0,0,7,3], +"classgridfire_1_1_dynamic_engine.html#a0a2fb3435ee3271ab9c806f225c61a7f":[2,0,0,8,1], +"classgridfire_1_1_dynamic_engine.html#a0a2fb3435ee3271ab9c806f225c61a7f":[4,0,0,7,1], +"classgridfire_1_1_dynamic_engine.html#a3fb44b6f55563a2f590f31916528f2bd":[2,0,0,8,8], +"classgridfire_1_1_dynamic_engine.html#a3fb44b6f55563a2f590f31916528f2bd":[4,0,0,7,8], +"classgridfire_1_1_dynamic_engine.html#a5d8ba98b230d2849035ee2507728fa15":[2,0,0,8,6], +"classgridfire_1_1_dynamic_engine.html#a5d8ba98b230d2849035ee2507728fa15":[4,0,0,7,6], +"classgridfire_1_1_dynamic_engine.html#a6633b1757c41dd9e1c397333f4f9e785":[2,0,0,8,0], +"classgridfire_1_1_dynamic_engine.html#a6633b1757c41dd9e1c397333f4f9e785":[4,0,0,7,0], +"classgridfire_1_1_dynamic_engine.html#a7a203f8e0f3a6744ddc912dfbcfdbcc0":[2,0,0,8,5], +"classgridfire_1_1_dynamic_engine.html#a7a203f8e0f3a6744ddc912dfbcfdbcc0":[4,0,0,7,5], +"classgridfire_1_1_dynamic_engine.html#acd500e1cd788df1dc105d28a20dc5f4f":[2,0,0,8,9], +"classgridfire_1_1_dynamic_engine.html#acd500e1cd788df1dc105d28a20dc5f4f":[4,0,0,7,9], +"classgridfire_1_1_dynamic_engine.html#ad2a82099edbb374bbb2c9509ccdb1037":[2,0,0,8,4], +"classgridfire_1_1_dynamic_engine.html#ad2a82099edbb374bbb2c9509ccdb1037":[4,0,0,7,4], +"classgridfire_1_1_dynamic_engine.html#aeae6d84ef74d88fd2cdf07b82e98a16f":[2,0,0,8,2], +"classgridfire_1_1_dynamic_engine.html#aeae6d84ef74d88fd2cdf07b82e98a16f":[4,0,0,7,2], +"classgridfire_1_1_dynamic_engine.html#afa108dd5227dbb1045e90d7b3bd8b84f":[2,0,0,8,7], +"classgridfire_1_1_dynamic_engine.html#afa108dd5227dbb1045e90d7b3bd8b84f":[4,0,0,7,7], +"classgridfire_1_1_engine.html":[2,0,0,9], +"classgridfire_1_1_engine.html":[4,0,0,8], +"classgridfire_1_1_engine.html#a020e1b493d6964cafdad08fde697ceb3":[2,0,0,9,2], +"classgridfire_1_1_engine.html#a020e1b493d6964cafdad08fde697ceb3":[4,0,0,8,2], +"classgridfire_1_1_engine.html#a2e7970bed2100699f226f4141d5db037":[2,0,0,9,0], +"classgridfire_1_1_engine.html#a2e7970bed2100699f226f4141d5db037":[4,0,0,8,0], +"classgridfire_1_1_engine.html#ac8b56124b6b49cd1802addb74a9a47c2":[2,0,0,9,1], +"classgridfire_1_1_engine.html#ac8b56124b6b49cd1802addb74a9a47c2":[4,0,0,8,1], +"classgridfire_1_1_engine_view.html":[2,0,0,10], +"classgridfire_1_1_engine_view.html":[4,0,0,9], +"classgridfire_1_1_engine_view.html#a994660f2d553f3a123512dc5eb421e74":[2,0,0,10,0], +"classgridfire_1_1_engine_view.html#a994660f2d553f3a123512dc5eb421e74":[4,0,0,9,0], +"classgridfire_1_1_engine_view.html#ad294227f8b5cf6d970c349eabf5447a6":[2,0,0,10,1], +"classgridfire_1_1_engine_view.html#ad294227f8b5cf6d970c349eabf5447a6":[4,0,0,9,1], +"classgridfire_1_1_file_defined_engine_view.html":[2,0,0,11], +"classgridfire_1_1_file_defined_engine_view.html":[4,0,0,10], +"classgridfire_1_1_file_defined_engine_view.html#a0a9b07176cb93b54c677b6ce71fda500":[2,0,0,11,32], +"classgridfire_1_1_file_defined_engine_view.html#a0a9b07176cb93b54c677b6ce71fda500":[4,0,0,10,32], +"classgridfire_1_1_file_defined_engine_view.html#a0ef8804780d13bbfce0856237bb00470":[2,0,0,11,11], +"classgridfire_1_1_file_defined_engine_view.html#a0ef8804780d13bbfce0856237bb00470":[4,0,0,10,11], +"classgridfire_1_1_file_defined_engine_view.html#a1b343998b93955025a589b2b4541e33b":[2,0,0,11,29], +"classgridfire_1_1_file_defined_engine_view.html#a1b343998b93955025a589b2b4541e33b":[4,0,0,10,29], +"classgridfire_1_1_file_defined_engine_view.html#a27a5163157cc15c4cb3b99a5d3564dbd":[2,0,0,11,9], +"classgridfire_1_1_file_defined_engine_view.html#a27a5163157cc15c4cb3b99a5d3564dbd":[4,0,0,10,9], +"classgridfire_1_1_file_defined_engine_view.html#a299a0c61aa4f26029c770013c9feff5e":[2,0,0,11,26], +"classgridfire_1_1_file_defined_engine_view.html#a299a0c61aa4f26029c770013c9feff5e":[4,0,0,10,26], +"classgridfire_1_1_file_defined_engine_view.html#a2c1d88b06568f9ea4c65e794d012ebfb":[2,0,0,11,5], +"classgridfire_1_1_file_defined_engine_view.html#a2c1d88b06568f9ea4c65e794d012ebfb":[4,0,0,10,5], +"classgridfire_1_1_file_defined_engine_view.html#a3b5162b7be35405285ef9f825ec2663b":[2,0,0,11,3], +"classgridfire_1_1_file_defined_engine_view.html#a3b5162b7be35405285ef9f825ec2663b":[4,0,0,10,3], +"classgridfire_1_1_file_defined_engine_view.html#a48b2451f96b8f5511ffc4071519c0810":[2,0,0,11,8], +"classgridfire_1_1_file_defined_engine_view.html#a48b2451f96b8f5511ffc4071519c0810":[4,0,0,10,8], +"classgridfire_1_1_file_defined_engine_view.html#a4c8b273c5cb3d470567c5691b68493a3":[2,0,0,11,10], +"classgridfire_1_1_file_defined_engine_view.html#a4c8b273c5cb3d470567c5691b68493a3":[4,0,0,10,10], +"classgridfire_1_1_file_defined_engine_view.html#a51ba09ff01fdcac1125d42f276c9a0a7":[2,0,0,11,7], +"classgridfire_1_1_file_defined_engine_view.html#a51ba09ff01fdcac1125d42f276c9a0a7":[4,0,0,10,7], +"classgridfire_1_1_file_defined_engine_view.html#a5bbea17b69cc8f81bc251a04f4435a0c":[2,0,0,11,12], +"classgridfire_1_1_file_defined_engine_view.html#a5bbea17b69cc8f81bc251a04f4435a0c":[4,0,0,10,12], +"classgridfire_1_1_file_defined_engine_view.html#a63f8f85e75ecaab6fa39d48d7a846187":[2,0,0,11,0], +"classgridfire_1_1_file_defined_engine_view.html#a63f8f85e75ecaab6fa39d48d7a846187":[4,0,0,10,0], +"classgridfire_1_1_file_defined_engine_view.html#a6e421bc748933be31bed9ff53f12b595":[2,0,0,11,30], +"classgridfire_1_1_file_defined_engine_view.html#a6e421bc748933be31bed9ff53f12b595":[4,0,0,10,30], +"classgridfire_1_1_file_defined_engine_view.html#a7a80966c023ae722239491af58609362":[2,0,0,11,28], +"classgridfire_1_1_file_defined_engine_view.html#a7a80966c023ae722239491af58609362":[4,0,0,10,28], +"classgridfire_1_1_file_defined_engine_view.html#a8bb583e039b49608272997ed2d3387fa":[2,0,0,11,13], +"classgridfire_1_1_file_defined_engine_view.html#a8bb583e039b49608272997ed2d3387fa":[4,0,0,10,13], +"classgridfire_1_1_file_defined_engine_view.html#a8d2c6b9a33b9c8c172bbd2c2e2e9ffaf":[2,0,0,11,20], +"classgridfire_1_1_file_defined_engine_view.html#a8d2c6b9a33b9c8c172bbd2c2e2e9ffaf":[4,0,0,10,20], +"classgridfire_1_1_file_defined_engine_view.html#a8f2f64bab0f516ed2a6fd529912e0acd":[2,0,0,11,2], +"classgridfire_1_1_file_defined_engine_view.html#a8f2f64bab0f516ed2a6fd529912e0acd":[4,0,0,10,2], +"classgridfire_1_1_file_defined_engine_view.html#a92f14da849e99d07c1ff1347addb9263":[2,0,0,11,21], +"classgridfire_1_1_file_defined_engine_view.html#a92f14da849e99d07c1ff1347addb9263":[4,0,0,10,21], +"classgridfire_1_1_file_defined_engine_view.html#a97e5ee4651dbe6754678fe96e4702fee":[2,0,0,11,17], +"classgridfire_1_1_file_defined_engine_view.html#a97e5ee4651dbe6754678fe96e4702fee":[4,0,0,10,17], +"classgridfire_1_1_file_defined_engine_view.html#a9d93633ed4ab68de94b7274f879a0432":[2,0,0,11,31], +"classgridfire_1_1_file_defined_engine_view.html#a9d93633ed4ab68de94b7274f879a0432":[4,0,0,10,31], +"classgridfire_1_1_file_defined_engine_view.html#a9da9224f5c99a5068f3d8cbf066e4693":[2,0,0,11,16], +"classgridfire_1_1_file_defined_engine_view.html#a9da9224f5c99a5068f3d8cbf066e4693":[4,0,0,10,16], +"classgridfire_1_1_file_defined_engine_view.html#ac231044e37e0962f664f8465e1ccb022":[2,0,0,11,18], +"classgridfire_1_1_file_defined_engine_view.html#ac231044e37e0962f664f8465e1ccb022":[4,0,0,10,18], +"classgridfire_1_1_file_defined_engine_view.html#ac371fb66fd0a76a04df204c9dd9a05ef":[2,0,0,11,4], +"classgridfire_1_1_file_defined_engine_view.html#ac371fb66fd0a76a04df204c9dd9a05ef":[4,0,0,10,4], +"classgridfire_1_1_file_defined_engine_view.html#acbb1a9bcb775e6d50de512a333afed08":[2,0,0,11,1], +"classgridfire_1_1_file_defined_engine_view.html#acbb1a9bcb775e6d50de512a333afed08":[4,0,0,10,1], +"classgridfire_1_1_file_defined_engine_view.html#ace3568eadaba69e7357b4386c5ca3eb0":[2,0,0,11,23], +"classgridfire_1_1_file_defined_engine_view.html#ace3568eadaba69e7357b4386c5ca3eb0":[4,0,0,10,23], +"classgridfire_1_1_file_defined_engine_view.html#ace3c6ea4841318c08695973ab3dcddc6":[2,0,0,11,15], +"classgridfire_1_1_file_defined_engine_view.html#ace3c6ea4841318c08695973ab3dcddc6":[4,0,0,10,15], +"classgridfire_1_1_file_defined_engine_view.html#ad8454c98fa9a4bb45dc81059bc51fc81":[2,0,0,11,27], +"classgridfire_1_1_file_defined_engine_view.html#ad8454c98fa9a4bb45dc81059bc51fc81":[4,0,0,10,27], +"classgridfire_1_1_file_defined_engine_view.html#ad96bbee6d3d37b50d9236a975ef704c0":[2,0,0,11,22], +"classgridfire_1_1_file_defined_engine_view.html#ad96bbee6d3d37b50d9236a975ef704c0":[4,0,0,10,22], +"classgridfire_1_1_file_defined_engine_view.html#adbc50f397445f92b810d80cf329b8626":[2,0,0,11,14], +"classgridfire_1_1_file_defined_engine_view.html#adbc50f397445f92b810d80cf329b8626":[4,0,0,10,14], +"classgridfire_1_1_file_defined_engine_view.html#ae012da2b1f6169cb13e6075a73353ab2":[2,0,0,11,25], +"classgridfire_1_1_file_defined_engine_view.html#ae012da2b1f6169cb13e6075a73353ab2":[4,0,0,10,25], +"classgridfire_1_1_file_defined_engine_view.html#ae3f99002ab2c56a5bcdec00839f8628f":[2,0,0,11,24], +"classgridfire_1_1_file_defined_engine_view.html#ae3f99002ab2c56a5bcdec00839f8628f":[4,0,0,10,24], +"classgridfire_1_1_file_defined_engine_view.html#ae7d6f0ff9076d59d1245c047bbd1bdb9":[2,0,0,11,19], +"classgridfire_1_1_file_defined_engine_view.html#ae7d6f0ff9076d59d1245c047bbd1bdb9":[4,0,0,10,19], +"classgridfire_1_1_file_defined_engine_view.html#aebb3f3548f8781506f31580706810a4e":[2,0,0,11,6], +"classgridfire_1_1_file_defined_engine_view.html#aebb3f3548f8781506f31580706810a4e":[4,0,0,10,6], +"classgridfire_1_1_file_defined_engine_view.html#aebd4a1a584f2784f1df3d503645be03b":[2,0,0,11,34], +"classgridfire_1_1_file_defined_engine_view.html#aebd4a1a584f2784f1df3d503645be03b":[4,0,0,10,34], +"classgridfire_1_1_file_defined_engine_view.html#af0a77a4749a15aae87bdecfccbd1736e":[2,0,0,11,33], +"classgridfire_1_1_file_defined_engine_view.html#af0a77a4749a15aae87bdecfccbd1736e":[4,0,0,10,33], +"classgridfire_1_1_graph_engine.html":[2,0,0,12], +"classgridfire_1_1_graph_engine.html":[4,0,0,11], +"classgridfire_1_1_graph_engine.html#a0837bab6dcd111d9075c9343b90d64f1":[2,0,0,12,31], +"classgridfire_1_1_graph_engine.html#a0837bab6dcd111d9075c9343b90d64f1":[4,0,0,11,31], +"classgridfire_1_1_graph_engine.html#a0ed390f3e598ebba4e245ac90bb78767":[2,0,0,12,16], +"classgridfire_1_1_graph_engine.html#a0ed390f3e598ebba4e245ac90bb78767":[4,0,0,11,16], +"classgridfire_1_1_graph_engine.html#a26215593544c3a52597194602e4e25dd":[2,0,0,12,18], +"classgridfire_1_1_graph_engine.html#a26215593544c3a52597194602e4e25dd":[4,0,0,11,18], +"classgridfire_1_1_graph_engine.html#a26602e1b3c610780a47b5a6511d6d567":[2,0,0,12,21], +"classgridfire_1_1_graph_engine.html#a26602e1b3c610780a47b5a6511d6d567":[4,0,0,11,21], +"classgridfire_1_1_graph_engine.html#a2e22b111f6d00ecc9e3804a71f1ce876":[2,0,0,12,38], +"classgridfire_1_1_graph_engine.html#a2e22b111f6d00ecc9e3804a71f1ce876":[4,0,0,11,38], +"classgridfire_1_1_graph_engine.html#a2f1718c89d4aaad028102724d18fa910":[2,0,0,12,32], +"classgridfire_1_1_graph_engine.html#a2f1718c89d4aaad028102724d18fa910":[4,0,0,11,32], +"classgridfire_1_1_graph_engine.html#a303e6093591cde91430f866a04a8be7c":[2,0,0,12,13], +"classgridfire_1_1_graph_engine.html#a303e6093591cde91430f866a04a8be7c":[4,0,0,11,13], +"classgridfire_1_1_graph_engine.html#a30e09ed0bce6aa5fc89beaa316a7b827":[2,0,0,12,35], +"classgridfire_1_1_graph_engine.html#a30e09ed0bce6aa5fc89beaa316a7b827":[4,0,0,11,35], +"classgridfire_1_1_graph_engine.html#a3b17102b143435ddfdc015d7a50c4b18":[2,0,0,12,30], +"classgridfire_1_1_graph_engine.html#a3b17102b143435ddfdc015d7a50c4b18":[4,0,0,11,30], +"classgridfire_1_1_graph_engine.html#a47202c43342b96480070874bffce1391":[2,0,0,12,22], +"classgridfire_1_1_graph_engine.html#a47202c43342b96480070874bffce1391":[4,0,0,11,22], +"classgridfire_1_1_graph_engine.html#a483979fc154adc88d029b3b672066d53":[2,0,0,12,33], +"classgridfire_1_1_graph_engine.html#a483979fc154adc88d029b3b672066d53":[4,0,0,11,33], +"classgridfire_1_1_graph_engine.html#a51b4cedf9b00de79fb6eef243631b04d":[2,0,0,12,27], +"classgridfire_1_1_graph_engine.html#a51b4cedf9b00de79fb6eef243631b04d":[4,0,0,11,27], +"classgridfire_1_1_graph_engine.html#a52edc3e88f1e8fc497e1e63972d63c80":[2,0,0,12,40], +"classgridfire_1_1_graph_engine.html#a52edc3e88f1e8fc497e1e63972d63c80":[4,0,0,11,40], +"classgridfire_1_1_graph_engine.html#a5a5458ed01923124f2d7e1f04f32f138":[2,0,0,12,24], +"classgridfire_1_1_graph_engine.html#a5a5458ed01923124f2d7e1f04f32f138":[4,0,0,11,24], +"classgridfire_1_1_graph_engine.html#a5d6cc63b99b467c2a976d1fbaaa1dfa3":[2,0,0,12,36], +"classgridfire_1_1_graph_engine.html#a5d6cc63b99b467c2a976d1fbaaa1dfa3":[4,0,0,11,36], +"classgridfire_1_1_graph_engine.html#a5e96b5a0b34c8932f0e14eabda57f1a4":[2,0,0,12,6], +"classgridfire_1_1_graph_engine.html#a5e96b5a0b34c8932f0e14eabda57f1a4":[4,0,0,11,6], +"classgridfire_1_1_graph_engine.html#a697f2004e0d02c59e83c7890742d7c9a":[2,0,0,12,17], +"classgridfire_1_1_graph_engine.html#a697f2004e0d02c59e83c7890742d7c9a":[4,0,0,11,17], +"classgridfire_1_1_graph_engine.html#a6b5feaf788bade212b7c8df7ac8c8152":[2,0,0,12,19], +"classgridfire_1_1_graph_engine.html#a6b5feaf788bade212b7c8df7ac8c8152":[4,0,0,11,19], +"classgridfire_1_1_graph_engine.html#a71a3d1181b90c3becdc5d9a3da05b9c9":[2,0,0,12,2], +"classgridfire_1_1_graph_engine.html#a71a3d1181b90c3becdc5d9a3da05b9c9":[4,0,0,11,2], +"classgridfire_1_1_graph_engine.html#a8110e687844f921438bb517e1d8ce62f":[2,0,0,12,25], +"classgridfire_1_1_graph_engine.html#a8110e687844f921438bb517e1d8ce62f":[4,0,0,11,25], +"classgridfire_1_1_graph_engine.html#a832e2fe066381811a3e0464806ff5e95":[2,0,0,12,9], +"classgridfire_1_1_graph_engine.html#a832e2fe066381811a3e0464806ff5e95":[4,0,0,11,9], +"classgridfire_1_1_graph_engine.html#a8b3baf29829c7ae0a61430ea70632bbf":[2,0,0,12,7], +"classgridfire_1_1_graph_engine.html#a8b3baf29829c7ae0a61430ea70632bbf":[4,0,0,11,7], +"classgridfire_1_1_graph_engine.html#a8c29d8bbde407e913be5eb77efb2c0c9":[2,0,0,12,14], +"classgridfire_1_1_graph_engine.html#a8c29d8bbde407e913be5eb77efb2c0c9":[4,0,0,11,14], +"classgridfire_1_1_graph_engine.html#a9245642b741f215e52861d00e756fb3f":[2,0,0,12,5], +"classgridfire_1_1_graph_engine.html#a9245642b741f215e52861d00e756fb3f":[4,0,0,11,5], +"classgridfire_1_1_graph_engine.html#a92d26068ba139e47d335f5fe9e2814cc":[2,0,0,12,34], +"classgridfire_1_1_graph_engine.html#a92d26068ba139e47d335f5fe9e2814cc":[4,0,0,11,34], +"classgridfire_1_1_graph_engine.html#a95563f6bc86007d9ee053a0f1e15b889":[2,0,0,12,23], +"classgridfire_1_1_graph_engine.html#a95563f6bc86007d9ee053a0f1e15b889":[4,0,0,11,23], +"classgridfire_1_1_graph_engine.html#a9c285e3a38de6e73503a4e19666678e2":[2,0,0,12,1], +"classgridfire_1_1_graph_engine.html#a9c285e3a38de6e73503a4e19666678e2":[4,0,0,11,1], +"classgridfire_1_1_graph_engine.html#a9f74786ff930ab72664b31f29d05a30c":[2,0,0,12,0], +"classgridfire_1_1_graph_engine.html#a9f74786ff930ab72664b31f29d05a30c":[4,0,0,11,0], +"classgridfire_1_1_graph_engine.html#aa6202cee0c3c481eda77cc9a91bc126b":[2,0,0,12,20], +"classgridfire_1_1_graph_engine.html#aa6202cee0c3c481eda77cc9a91bc126b":[4,0,0,11,20], +"classgridfire_1_1_graph_engine.html#aaf4d54e4b774ab8ec8eabec006579d31":[2,0,0,12,3], +"classgridfire_1_1_graph_engine.html#aaf4d54e4b774ab8ec8eabec006579d31":[4,0,0,11,3], +"classgridfire_1_1_graph_engine.html#acb7c4f5108b0efeae48ad15598e808c3":[2,0,0,12,37], +"classgridfire_1_1_graph_engine.html#acb7c4f5108b0efeae48ad15598e808c3":[4,0,0,11,37], +"classgridfire_1_1_graph_engine.html#acdce8d87e23a2cd1504bc9472e538c0f":[2,0,0,12,26], +"classgridfire_1_1_graph_engine.html#acdce8d87e23a2cd1504bc9472e538c0f":[4,0,0,11,26], +"classgridfire_1_1_graph_engine.html#acf4cfccea20f5cb31c9886bf233a28be":[2,0,0,12,29] }; diff --git a/docs/html/navtreeindex1.js b/docs/html/navtreeindex1.js index 308d5b7a..4af06d65 100644 --- a/docs/html/navtreeindex1.js +++ b/docs/html/navtreeindex1.js @@ -1,253 +1,253 @@ var NAVTREEINDEX1 = { -"classgridfire_1_1reaction_1_1_logical_reaction_set.html#a00001bbc0f888b167da50ae9fc2a75af":[4,0,0,2,1,6], -"classgridfire_1_1reaction_1_1_logical_reaction_set.html#a04f5579b45258e623a0b8f1d3d43fee9":[2,0,0,2,1,11], -"classgridfire_1_1reaction_1_1_logical_reaction_set.html#a04f5579b45258e623a0b8f1d3d43fee9":[4,0,0,2,1,11], -"classgridfire_1_1reaction_1_1_logical_reaction_set.html#a129d55e5f57ec3c2e256070fd219e2df":[2,0,0,2,1,1], -"classgridfire_1_1reaction_1_1_logical_reaction_set.html#a129d55e5f57ec3c2e256070fd219e2df":[4,0,0,2,1,1], -"classgridfire_1_1reaction_1_1_logical_reaction_set.html#a15f08e96cce0ed23ca93fb83399eb8a4":[2,0,0,2,1,3], -"classgridfire_1_1reaction_1_1_logical_reaction_set.html#a15f08e96cce0ed23ca93fb83399eb8a4":[4,0,0,2,1,3], -"classgridfire_1_1reaction_1_1_logical_reaction_set.html#a3bcdf2f98c19e9b95e03ad62d6ff7da7":[2,0,0,2,1,7], -"classgridfire_1_1reaction_1_1_logical_reaction_set.html#a3bcdf2f98c19e9b95e03ad62d6ff7da7":[4,0,0,2,1,7], -"classgridfire_1_1reaction_1_1_logical_reaction_set.html#a49280e0f29d2d4e322d76831688f7f27":[2,0,0,2,1,10], -"classgridfire_1_1reaction_1_1_logical_reaction_set.html#a49280e0f29d2d4e322d76831688f7f27":[4,0,0,2,1,10], -"classgridfire_1_1reaction_1_1_logical_reaction_set.html#a70b669622690196e68eedfd2a8fd6318":[2,0,0,2,1,5], -"classgridfire_1_1reaction_1_1_logical_reaction_set.html#a70b669622690196e68eedfd2a8fd6318":[4,0,0,2,1,5], -"classgridfire_1_1reaction_1_1_logical_reaction_set.html#a7e21865d3dafb65d2bf3b051ee55c4c2":[2,0,0,2,1,8], -"classgridfire_1_1reaction_1_1_logical_reaction_set.html#a7e21865d3dafb65d2bf3b051ee55c4c2":[4,0,0,2,1,8], -"classgridfire_1_1reaction_1_1_logical_reaction_set.html#a9707407faf8efd3f4da745a54d3fa9e2":[2,0,0,2,1,4], -"classgridfire_1_1reaction_1_1_logical_reaction_set.html#a9707407faf8efd3f4da745a54d3fa9e2":[4,0,0,2,1,4], -"classgridfire_1_1reaction_1_1_logical_reaction_set.html#ac650a2a2c83cfb618f11a924552e251d":[2,0,0,2,1,0], -"classgridfire_1_1reaction_1_1_logical_reaction_set.html#ac650a2a2c83cfb618f11a924552e251d":[4,0,0,2,1,0], -"classgridfire_1_1reaction_1_1_logical_reaction_set.html#ad5c1f6a1642c47437dbf8cc20a32b51e":[2,0,0,2,1,9], -"classgridfire_1_1reaction_1_1_logical_reaction_set.html#ad5c1f6a1642c47437dbf8cc20a32b51e":[4,0,0,2,1,9], -"classgridfire_1_1reaction_1_1_logical_reaction_set.html#afeed26abc72e5c529a76c1da41edfa67":[2,0,0,2,1,2], -"classgridfire_1_1reaction_1_1_logical_reaction_set.html#afeed26abc72e5c529a76c1da41edfa67":[4,0,0,2,1,2], -"classgridfire_1_1reaction_1_1_reaction.html":[2,0,0,2,3], -"classgridfire_1_1reaction_1_1_reaction.html":[4,0,0,2,3], -"classgridfire_1_1reaction_1_1_reaction.html#a0185c6be5465d113f25e00aee1297cd6":[2,0,0,2,3,36], -"classgridfire_1_1reaction_1_1_reaction.html#a0185c6be5465d113f25e00aee1297cd6":[4,0,0,2,3,36], -"classgridfire_1_1reaction_1_1_reaction.html#a01c67726efbaa2ff8e4d6f2c965f485c":[2,0,0,2,3,18], -"classgridfire_1_1reaction_1_1_reaction.html#a01c67726efbaa2ff8e4d6f2c965f485c":[4,0,0,2,3,18], -"classgridfire_1_1reaction_1_1_reaction.html#a074d3cd2421fd5d0133e47f0522403e2":[2,0,0,2,3,8], -"classgridfire_1_1reaction_1_1_reaction.html#a074d3cd2421fd5d0133e47f0522403e2":[4,0,0,2,3,8], -"classgridfire_1_1reaction_1_1_reaction.html#a084c38181408ed5e6fa2a2dd4d0ec905":[2,0,0,2,3,12], -"classgridfire_1_1reaction_1_1_reaction.html#a084c38181408ed5e6fa2a2dd4d0ec905":[4,0,0,2,3,12], -"classgridfire_1_1reaction_1_1_reaction.html#a0b0b9ac498080aae91ffd466d1ae85a9":[2,0,0,2,3,35], -"classgridfire_1_1reaction_1_1_reaction.html#a0b0b9ac498080aae91ffd466d1ae85a9":[4,0,0,2,3,35], -"classgridfire_1_1reaction_1_1_reaction.html#a0b543e9b0bb4a21efe4b29780d9bdf5b":[2,0,0,2,3,23], -"classgridfire_1_1reaction_1_1_reaction.html#a0b543e9b0bb4a21efe4b29780d9bdf5b":[4,0,0,2,3,23], -"classgridfire_1_1reaction_1_1_reaction.html#a16f9cbb6269817099d3dc07d4e63da7b":[2,0,0,2,3,27], -"classgridfire_1_1reaction_1_1_reaction.html#a16f9cbb6269817099d3dc07d4e63da7b":[4,0,0,2,3,27], -"classgridfire_1_1reaction_1_1_reaction.html#a1d3c8ab6d55155f9a21ad80ed8b9ef97":[2,0,0,2,3,14], -"classgridfire_1_1reaction_1_1_reaction.html#a1d3c8ab6d55155f9a21ad80ed8b9ef97":[4,0,0,2,3,14], -"classgridfire_1_1reaction_1_1_reaction.html#a2f1c115a99bc7c477a2e858ff18b1b51":[2,0,0,2,3,15], -"classgridfire_1_1reaction_1_1_reaction.html#a2f1c115a99bc7c477a2e858ff18b1b51":[4,0,0,2,3,15], -"classgridfire_1_1reaction_1_1_reaction.html#a410e2ab0784ad751f82bbe55be603db0":[2,0,0,2,3,24], -"classgridfire_1_1reaction_1_1_reaction.html#a410e2ab0784ad751f82bbe55be603db0":[4,0,0,2,3,24], -"classgridfire_1_1reaction_1_1_reaction.html#a4b5607ed413acdf29539b8a57461e49e":[2,0,0,2,3,31], -"classgridfire_1_1reaction_1_1_reaction.html#a4b5607ed413acdf29539b8a57461e49e":[4,0,0,2,3,31], -"classgridfire_1_1reaction_1_1_reaction.html#a59122a2898bb9af640cc3e9aeb49028b":[2,0,0,2,3,32], -"classgridfire_1_1reaction_1_1_reaction.html#a59122a2898bb9af640cc3e9aeb49028b":[4,0,0,2,3,32], -"classgridfire_1_1reaction_1_1_reaction.html#a5c685e5a736b51799e5b9f6746c4126b":[2,0,0,2,3,28], -"classgridfire_1_1reaction_1_1_reaction.html#a5c685e5a736b51799e5b9f6746c4126b":[4,0,0,2,3,28], -"classgridfire_1_1reaction_1_1_reaction.html#a5cb438adfefb640e4bc58e09053bd629":[2,0,0,2,3,6], -"classgridfire_1_1reaction_1_1_reaction.html#a5cb438adfefb640e4bc58e09053bd629":[4,0,0,2,3,6], -"classgridfire_1_1reaction_1_1_reaction.html#a6124aa9fc2306349e1dd879a37923248":[2,0,0,2,3,30], -"classgridfire_1_1reaction_1_1_reaction.html#a6124aa9fc2306349e1dd879a37923248":[4,0,0,2,3,30], -"classgridfire_1_1reaction_1_1_reaction.html#a648b9ed6108bed2469dc028fb7e351af":[2,0,0,2,3,5], -"classgridfire_1_1reaction_1_1_reaction.html#a648b9ed6108bed2469dc028fb7e351af":[4,0,0,2,3,5], -"classgridfire_1_1reaction_1_1_reaction.html#a6e2ff61b9e8409f2a561663628b8ce02":[2,0,0,2,3,19], -"classgridfire_1_1reaction_1_1_reaction.html#a6e2ff61b9e8409f2a561663628b8ce02":[4,0,0,2,3,19], -"classgridfire_1_1reaction_1_1_reaction.html#a7044d0a1d59d85502ce554e4ec2167e4":[2,0,0,2,3,29], -"classgridfire_1_1reaction_1_1_reaction.html#a7044d0a1d59d85502ce554e4ec2167e4":[4,0,0,2,3,29], -"classgridfire_1_1reaction_1_1_reaction.html#a735192a42f72cd68f289493753e1a616":[2,0,0,2,3,3], -"classgridfire_1_1reaction_1_1_reaction.html#a735192a42f72cd68f289493753e1a616":[4,0,0,2,3,3], -"classgridfire_1_1reaction_1_1_reaction.html#a78f42664cc957e266b6cf15fda09be97":[2,0,0,2,3,17], -"classgridfire_1_1reaction_1_1_reaction.html#a78f42664cc957e266b6cf15fda09be97":[4,0,0,2,3,17], -"classgridfire_1_1reaction_1_1_reaction.html#a7dc8fda87e0581fde6da0a81cf4d7224":[2,0,0,2,3,2], -"classgridfire_1_1reaction_1_1_reaction.html#a7dc8fda87e0581fde6da0a81cf4d7224":[4,0,0,2,3,2], -"classgridfire_1_1reaction_1_1_reaction.html#a7dff19d387e771d96c26e98d75ee9d5c":[2,0,0,2,3,1], -"classgridfire_1_1reaction_1_1_reaction.html#a7dff19d387e771d96c26e98d75ee9d5c":[4,0,0,2,3,1], -"classgridfire_1_1reaction_1_1_reaction.html#a855ea65e4b62fb0cddc550424a4bc923":[2,0,0,2,3,22], -"classgridfire_1_1reaction_1_1_reaction.html#a855ea65e4b62fb0cddc550424a4bc923":[4,0,0,2,3,22], -"classgridfire_1_1reaction_1_1_reaction.html#a85968076e686e67763f4fdf4f72a892e":[2,0,0,2,3,21], -"classgridfire_1_1reaction_1_1_reaction.html#a85968076e686e67763f4fdf4f72a892e":[4,0,0,2,3,21], -"classgridfire_1_1reaction_1_1_reaction.html#a87a065b3c7806bcdb5eadb7de2978a11":[2,0,0,2,3,34], -"classgridfire_1_1reaction_1_1_reaction.html#a87a065b3c7806bcdb5eadb7de2978a11":[4,0,0,2,3,34], -"classgridfire_1_1reaction_1_1_reaction.html#aa1d71e38fc55ae691dbb9ec459a612a5":[2,0,0,2,3,10], -"classgridfire_1_1reaction_1_1_reaction.html#aa1d71e38fc55ae691dbb9ec459a612a5":[4,0,0,2,3,10], -"classgridfire_1_1reaction_1_1_reaction.html#aa61a9a024d7c4ff66a351ccd0277ec72":[2,0,0,2,3,33], -"classgridfire_1_1reaction_1_1_reaction.html#aa61a9a024d7c4ff66a351ccd0277ec72":[4,0,0,2,3,33], -"classgridfire_1_1reaction_1_1_reaction.html#aa67d05dfabf007c1acad34052d9a1dba":[2,0,0,2,3,13], -"classgridfire_1_1reaction_1_1_reaction.html#aa67d05dfabf007c1acad34052d9a1dba":[4,0,0,2,3,13], -"classgridfire_1_1reaction_1_1_reaction.html#aaf0c94db6536b4a9ac1ec08a5c8f01ac":[2,0,0,2,3,26], -"classgridfire_1_1reaction_1_1_reaction.html#aaf0c94db6536b4a9ac1ec08a5c8f01ac":[4,0,0,2,3,26], -"classgridfire_1_1reaction_1_1_reaction.html#ab1860df84843be70f97469761e11ab6a":[2,0,0,2,3,0], -"classgridfire_1_1reaction_1_1_reaction.html#ab1860df84843be70f97469761e11ab6a":[4,0,0,2,3,0], -"classgridfire_1_1reaction_1_1_reaction.html#ab92785f331a446e51a0960b75d60b37b":[2,0,0,2,3,7], -"classgridfire_1_1reaction_1_1_reaction.html#ab92785f331a446e51a0960b75d60b37b":[4,0,0,2,3,7], -"classgridfire_1_1reaction_1_1_reaction.html#abbe243affa61ba9b2cd2a7b905cd5e45":[2,0,0,2,3,9], -"classgridfire_1_1reaction_1_1_reaction.html#abbe243affa61ba9b2cd2a7b905cd5e45":[4,0,0,2,3,9], -"classgridfire_1_1reaction_1_1_reaction.html#abda0b4e4313e6d4ba57acf37d5976fb8":[2,0,0,2,3,20], -"classgridfire_1_1reaction_1_1_reaction.html#abda0b4e4313e6d4ba57acf37d5976fb8":[4,0,0,2,3,20], -"classgridfire_1_1reaction_1_1_reaction.html#ac426457cf0a54a15b206549422083bac":[2,0,0,2,3,16], -"classgridfire_1_1reaction_1_1_reaction.html#ac426457cf0a54a15b206549422083bac":[4,0,0,2,3,16], -"classgridfire_1_1reaction_1_1_reaction.html#ad359c06d7196c1a7a955a7b66a51dbe3":[2,0,0,2,3,25], -"classgridfire_1_1reaction_1_1_reaction.html#ad359c06d7196c1a7a955a7b66a51dbe3":[4,0,0,2,3,25], -"classgridfire_1_1reaction_1_1_reaction.html#ad81e9b2a1773470059ca6989c60556ec":[2,0,0,2,3,4], -"classgridfire_1_1reaction_1_1_reaction.html#ad81e9b2a1773470059ca6989c60556ec":[4,0,0,2,3,4], -"classgridfire_1_1reaction_1_1_reaction.html#af6c20e6d03a2d9f87632f71a90b88cb5":[2,0,0,2,3,11], -"classgridfire_1_1reaction_1_1_reaction.html#af6c20e6d03a2d9f87632f71a90b88cb5":[4,0,0,2,3,11], -"classgridfire_1_1reaction_1_1_reaction_set.html":[2,0,0,2,4], -"classgridfire_1_1reaction_1_1_reaction_set.html":[4,0,0,2,4], -"classgridfire_1_1reaction_1_1_reaction_set.html#a1177193b1e46b4e5be630028883ab8dd":[2,0,0,2,4,20], -"classgridfire_1_1reaction_1_1_reaction_set.html#a1177193b1e46b4e5be630028883ab8dd":[4,0,0,2,4,20], -"classgridfire_1_1reaction_1_1_reaction_set.html#a228f2a00f46a6ee01be887490a722613":[2,0,0,2,4,4], -"classgridfire_1_1reaction_1_1_reaction_set.html#a228f2a00f46a6ee01be887490a722613":[4,0,0,2,4,4], -"classgridfire_1_1reaction_1_1_reaction_set.html#a256998eddf292f744d51cdc3e178d4c2":[2,0,0,2,4,10], -"classgridfire_1_1reaction_1_1_reaction_set.html#a256998eddf292f744d51cdc3e178d4c2":[4,0,0,2,4,10], -"classgridfire_1_1reaction_1_1_reaction_set.html#a2f6b165c86634a68f35032c2267255f8":[2,0,0,2,4,7], -"classgridfire_1_1reaction_1_1_reaction_set.html#a2f6b165c86634a68f35032c2267255f8":[4,0,0,2,4,7], -"classgridfire_1_1reaction_1_1_reaction_set.html#a3209bb7c2a41deabaab059f6c671776f":[2,0,0,2,4,14], -"classgridfire_1_1reaction_1_1_reaction_set.html#a3209bb7c2a41deabaab059f6c671776f":[4,0,0,2,4,14], -"classgridfire_1_1reaction_1_1_reaction_set.html#a4057f74ae647b691f4f61f150553c52b":[2,0,0,2,4,19], -"classgridfire_1_1reaction_1_1_reaction_set.html#a4057f74ae647b691f4f61f150553c52b":[4,0,0,2,4,19], -"classgridfire_1_1reaction_1_1_reaction_set.html#a436f9c4b8f8a4e115b19728d57d8e105":[2,0,0,2,4,13], -"classgridfire_1_1reaction_1_1_reaction_set.html#a436f9c4b8f8a4e115b19728d57d8e105":[4,0,0,2,4,13], -"classgridfire_1_1reaction_1_1_reaction_set.html#a4bdf50219d686a6cbc0b3cc5365dc18e":[2,0,0,2,4,9], -"classgridfire_1_1reaction_1_1_reaction_set.html#a4bdf50219d686a6cbc0b3cc5365dc18e":[4,0,0,2,4,9], -"classgridfire_1_1reaction_1_1_reaction_set.html#a4e572e823a80b905e7d002b612123135":[2,0,0,2,4,17], -"classgridfire_1_1reaction_1_1_reaction_set.html#a4e572e823a80b905e7d002b612123135":[4,0,0,2,4,17], -"classgridfire_1_1reaction_1_1_reaction_set.html#a529189f464aebc6b5ac5c717f70e14b8":[2,0,0,2,4,15], -"classgridfire_1_1reaction_1_1_reaction_set.html#a529189f464aebc6b5ac5c717f70e14b8":[4,0,0,2,4,15], -"classgridfire_1_1reaction_1_1_reaction_set.html#a5b872a8519740a6d06cfaed03784826a":[2,0,0,2,4,11], -"classgridfire_1_1reaction_1_1_reaction_set.html#a5b872a8519740a6d06cfaed03784826a":[4,0,0,2,4,11], -"classgridfire_1_1reaction_1_1_reaction_set.html#a64ca23fc5bdc41b868c3fbeb5aef6d98":[2,0,0,2,4,2], -"classgridfire_1_1reaction_1_1_reaction_set.html#a64ca23fc5bdc41b868c3fbeb5aef6d98":[4,0,0,2,4,2], -"classgridfire_1_1reaction_1_1_reaction_set.html#a6b07a81a3500e4e91d3bcd336b66e35d":[2,0,0,2,4,21], -"classgridfire_1_1reaction_1_1_reaction_set.html#a6b07a81a3500e4e91d3bcd336b66e35d":[4,0,0,2,4,21], -"classgridfire_1_1reaction_1_1_reaction_set.html#a896b4e492ef596d9174aeda4b59c46cd":[2,0,0,2,4,18], -"classgridfire_1_1reaction_1_1_reaction_set.html#a896b4e492ef596d9174aeda4b59c46cd":[4,0,0,2,4,18], -"classgridfire_1_1reaction_1_1_reaction_set.html#aa8e0d65aafc6e0320690b4906e1bf300":[2,0,0,2,4,6], -"classgridfire_1_1reaction_1_1_reaction_set.html#aa8e0d65aafc6e0320690b4906e1bf300":[4,0,0,2,4,6], -"classgridfire_1_1reaction_1_1_reaction_set.html#aaa3c40cb22b8bd056cf62b047ae4937c":[2,0,0,2,4,25], -"classgridfire_1_1reaction_1_1_reaction_set.html#aaa3c40cb22b8bd056cf62b047ae4937c":[4,0,0,2,4,25], -"classgridfire_1_1reaction_1_1_reaction_set.html#aac890bf7fdf689890d765ff67489520a":[2,0,0,2,4,16], -"classgridfire_1_1reaction_1_1_reaction_set.html#aac890bf7fdf689890d765ff67489520a":[4,0,0,2,4,16], -"classgridfire_1_1reaction_1_1_reaction_set.html#abae9fbc4b4306479a6cd3173ac628987":[2,0,0,2,4,12], -"classgridfire_1_1reaction_1_1_reaction_set.html#abae9fbc4b4306479a6cd3173ac628987":[4,0,0,2,4,12], -"classgridfire_1_1reaction_1_1_reaction_set.html#acea41c2ffb010e46bc5cf56f5f244fac":[2,0,0,2,4,3], -"classgridfire_1_1reaction_1_1_reaction_set.html#acea41c2ffb010e46bc5cf56f5f244fac":[4,0,0,2,4,3], -"classgridfire_1_1reaction_1_1_reaction_set.html#acfe2341ae1f016ad82098b6f5a1efc45":[2,0,0,2,4,1], -"classgridfire_1_1reaction_1_1_reaction_set.html#acfe2341ae1f016ad82098b6f5a1efc45":[4,0,0,2,4,1], -"classgridfire_1_1reaction_1_1_reaction_set.html#ad3e2715e9e4d6b4f1dc54b969a1322f4":[2,0,0,2,4,24], -"classgridfire_1_1reaction_1_1_reaction_set.html#ad3e2715e9e4d6b4f1dc54b969a1322f4":[4,0,0,2,4,24], -"classgridfire_1_1reaction_1_1_reaction_set.html#adb73fe9ff0178359409e2bea46a620c2":[2,0,0,2,4,5], -"classgridfire_1_1reaction_1_1_reaction_set.html#adb73fe9ff0178359409e2bea46a620c2":[4,0,0,2,4,5], -"classgridfire_1_1reaction_1_1_reaction_set.html#ae5f8078e77a700a8356487fbd69ba387":[2,0,0,2,4,8], -"classgridfire_1_1reaction_1_1_reaction_set.html#ae5f8078e77a700a8356487fbd69ba387":[4,0,0,2,4,8], -"classgridfire_1_1reaction_1_1_reaction_set.html#af92e3003b2a3606b48ab857cdedc3111":[2,0,0,2,4,22], -"classgridfire_1_1reaction_1_1_reaction_set.html#af92e3003b2a3606b48ab857cdedc3111":[4,0,0,2,4,22], -"classgridfire_1_1reaction_1_1_reaction_set.html#afc40e3783576867229fad3115b3d39d3":[2,0,0,2,4,0], -"classgridfire_1_1reaction_1_1_reaction_set.html#afc40e3783576867229fad3115b3d39d3":[4,0,0,2,4,0], -"classgridfire_1_1reaction_1_1_reaction_set.html#aff5ae284012009164d4b3033577709eb":[2,0,0,2,4,23], -"classgridfire_1_1reaction_1_1_reaction_set.html#aff5ae284012009164d4b3033577709eb":[4,0,0,2,4,23], -"classgridfire_1_1solver_1_1_direct_network_solver.html":[2,0,0,3,0], -"classgridfire_1_1solver_1_1_direct_network_solver.html":[4,0,0,3,0], -"classgridfire_1_1solver_1_1_direct_network_solver.html#a093aa89fd23c2fe03266e286871c7079":[2,0,0,3,0,4], -"classgridfire_1_1solver_1_1_direct_network_solver.html#a093aa89fd23c2fe03266e286871c7079":[4,0,0,3,0,4], -"classgridfire_1_1solver_1_1_direct_network_solver.html#a0d1b52d06b0521e7c556d75cd8d2ffe6":[2,0,0,3,0,3], -"classgridfire_1_1solver_1_1_direct_network_solver.html#a0d1b52d06b0521e7c556d75cd8d2ffe6":[4,0,0,3,0,3], -"classgridfire_1_1solver_1_1_direct_network_solver.html#a0e8a4b8ef656e0b084d11bea982e412a":[2,0,0,3,0,2], -"classgridfire_1_1solver_1_1_direct_network_solver.html#a0e8a4b8ef656e0b084d11bea982e412a":[4,0,0,3,0,2], -"classgridfire_1_1solver_1_1_network_solver_strategy.html":[2,0,0,3,2], -"classgridfire_1_1solver_1_1_network_solver_strategy.html":[4,0,0,3,2], -"classgridfire_1_1solver_1_1_network_solver_strategy.html#a01cbbec0eb5c3a60f50da38cdaf66505":[2,0,0,3,2,0], -"classgridfire_1_1solver_1_1_network_solver_strategy.html#a01cbbec0eb5c3a60f50da38cdaf66505":[4,0,0,3,2,0], -"classgridfire_1_1solver_1_1_network_solver_strategy.html#a1693dc93f63599c89587d729aca8e318":[2,0,0,3,2,1], -"classgridfire_1_1solver_1_1_network_solver_strategy.html#a1693dc93f63599c89587d729aca8e318":[4,0,0,3,2,1], -"classgridfire_1_1solver_1_1_network_solver_strategy.html#a724924d94eaf82b67d9988a55c3261e8":[2,0,0,3,2,3], -"classgridfire_1_1solver_1_1_network_solver_strategy.html#a724924d94eaf82b67d9988a55c3261e8":[4,0,0,3,2,3], -"classgridfire_1_1solver_1_1_network_solver_strategy.html#ace539b0482db171845ff1bd38d76b70f":[2,0,0,3,2,2], -"classgridfire_1_1solver_1_1_network_solver_strategy.html#ace539b0482db171845ff1bd38d76b70f":[4,0,0,3,2,2], -"classgridfire_1_1solver_1_1_q_s_e_network_solver.html":[2,0,0,3,3], -"classgridfire_1_1solver_1_1_q_s_e_network_solver.html":[4,0,0,3,3], -"classgridfire_1_1solver_1_1_q_s_e_network_solver.html#a00d112f6087f6e3a93f4d40a519308d2":[2,0,0,3,3,3], -"classgridfire_1_1solver_1_1_q_s_e_network_solver.html#a00d112f6087f6e3a93f4d40a519308d2":[4,0,0,3,3,3], -"classgridfire_1_1solver_1_1_q_s_e_network_solver.html#a35f1f6ede393f15c8bb8862f3f1c3b07":[2,0,0,3,3,7], -"classgridfire_1_1solver_1_1_q_s_e_network_solver.html#a35f1f6ede393f15c8bb8862f3f1c3b07":[4,0,0,3,3,7], -"classgridfire_1_1solver_1_1_q_s_e_network_solver.html#a3c9d46c8f5c519854cd65309a588772f":[2,0,0,3,3,10], -"classgridfire_1_1solver_1_1_q_s_e_network_solver.html#a3c9d46c8f5c519854cd65309a588772f":[4,0,0,3,3,10], -"classgridfire_1_1solver_1_1_q_s_e_network_solver.html#a428b49fa7878559665363de06f1a44a7":[2,0,0,3,3,11], -"classgridfire_1_1solver_1_1_q_s_e_network_solver.html#a428b49fa7878559665363de06f1a44a7":[4,0,0,3,3,11], -"classgridfire_1_1solver_1_1_q_s_e_network_solver.html#a53b5496db7fed6f345dca39656bf9c0e":[2,0,0,3,3,4], -"classgridfire_1_1solver_1_1_q_s_e_network_solver.html#a53b5496db7fed6f345dca39656bf9c0e":[4,0,0,3,3,4], -"classgridfire_1_1solver_1_1_q_s_e_network_solver.html#a5d81ee5bfcfd5e77fe52201ba9e63719":[2,0,0,3,3,6], -"classgridfire_1_1solver_1_1_q_s_e_network_solver.html#a5d81ee5bfcfd5e77fe52201ba9e63719":[4,0,0,3,3,6], -"classgridfire_1_1solver_1_1_q_s_e_network_solver.html#a7d19b6e50db34d38c81afec76bbedee1":[2,0,0,3,3,8], -"classgridfire_1_1solver_1_1_q_s_e_network_solver.html#a7d19b6e50db34d38c81afec76bbedee1":[4,0,0,3,3,8], -"classgridfire_1_1solver_1_1_q_s_e_network_solver.html#ab07e68fd418ab058f890502d191b3f18":[2,0,0,3,3,9], -"classgridfire_1_1solver_1_1_q_s_e_network_solver.html#ab07e68fd418ab058f890502d191b3f18":[4,0,0,3,3,9], -"classgridfire_1_1solver_1_1_q_s_e_network_solver.html#abaa567001df0007b714f474febae408b":[2,0,0,3,3,5], -"classgridfire_1_1solver_1_1_q_s_e_network_solver.html#abaa567001df0007b714f474febae408b":[4,0,0,3,3,5], -"conceptgridfire_1_1_engine_type.html":[2,0,0,14], -"conceptgridfire_1_1_engine_type.html":[3,0,1], -"conceptgridfire_1_1_is_arithmetic_or_a_d.html":[2,0,0,13], -"conceptgridfire_1_1_is_arithmetic_or_a_d.html":[3,0,0], -"concepts.html":[3], -"dir_1cdf727c700d393da216e23f923be8b4.html":[5,0,1,0,1,0], -"dir_2a1262ef5950eb718393488a3eb5aa9f.html":[5,0,1,0,0,0], -"dir_3c60707488650cd3ec07ac1739eb797f.html":[5,0,1,0,0,0,1], -"dir_49e56c817e5e54854c35e136979f97ca.html":[5,0,0], -"dir_5cccfa813acdf3744b542715860d37b2.html":[5,0,1,0,0], -"dir_68267d1309a1af8e8297ef4c3efbcdba.html":[5,0,1], -"dir_6b2e1e22dfdea3280d50981209bf7529.html":[5,0,1,0,0,0,0], -"dir_93d547a749bb04fb4b43758550ab11b5.html":[5,0,1,0,1,2], -"dir_a7655658c851688eff9381235a9676f0.html":[5,0,1,0,1], -"dir_aa1cdef39099aefa25ac81305b9dae77.html":[5,0,1,0,0,0,2], -"dir_c34d5e8363cf0aa3fabc4f3fad3412a4.html":[5,0,0,0], -"dir_d5f908f1a3b7d6921d55b8696a8e83bc.html":[5,0,1,0,1,1], -"dir_fc4c7f03e1a69a98c370fae55a743828.html":[5,0,1,0], -"engine__abstract_8h.html":[5,0,1,0,0,0,0,0], -"engine__abstract_8h_source.html":[5,0,1,0,0,0,0,0], -"engine__adaptive_8cpp.html":[5,0,1,0,1,0,0], -"engine__adaptive_8cpp_source.html":[5,0,1,0,1,0,0], -"engine__adaptive_8h.html":[5,0,1,0,0,0,0,1], -"engine__adaptive_8h_source.html":[5,0,1,0,0,0,0,1], -"engine__approx8_8cpp.html":[5,0,1,0,1,0,1], -"engine__approx8_8cpp_source.html":[5,0,1,0,1,0,1], -"engine__approx8_8h.html":[5,0,1,0,0,0,0,2], -"engine__approx8_8h_source.html":[5,0,1,0,0,0,0,2], -"engine__graph_8cpp.html":[5,0,1,0,1,0,2], -"engine__graph_8cpp_source.html":[5,0,1,0,1,0,2], -"engine__graph_8h.html":[5,0,1,0,0,0,0,3], -"engine__graph_8h_source.html":[5,0,1,0,0,0,0,3], -"engine__view__abstract_8h.html":[5,0,1,0,0,0,0,4], -"engine__view__abstract_8h_source.html":[5,0,1,0,0,0,0,4], -"examples.html":[6], -"files.html":[5,0], -"functions.html":[4,3,0], -"functions.html":[4,3,0,0], -"functions_b.html":[4,3,0,1], -"functions_c.html":[4,3,0,2], -"functions_d.html":[4,3,0,3], -"functions_e.html":[4,3,0,4], -"functions_f.html":[4,3,0,5], -"functions_func.html":[4,3,1], -"functions_g.html":[4,3,0,6], -"functions_h.html":[4,3,0,7], -"functions_i.html":[4,3,0,8], -"functions_j.html":[4,3,0,9], -"functions_l.html":[4,3,0,10], -"functions_m.html":[4,3,0,11], -"functions_n.html":[4,3,0,12], -"functions_o.html":[4,3,0,13], -"functions_p.html":[4,3,0,14], -"functions_q.html":[4,3,0,15], -"functions_r.html":[4,3,0,16], -"functions_rela.html":[4,3,4], -"functions_s.html":[4,3,0,17], -"functions_t.html":[4,3,0,18], -"functions_type.html":[4,3,3] +"classgridfire_1_1_graph_engine.html#acf4cfccea20f5cb31c9886bf233a28be":[4,0,0,11,29], +"classgridfire_1_1_graph_engine.html#ad1cb5fd32efc37668e2d9ecf0c72ad24":[2,0,0,12,42], +"classgridfire_1_1_graph_engine.html#ad1cb5fd32efc37668e2d9ecf0c72ad24":[4,0,0,11,42], +"classgridfire_1_1_graph_engine.html#ad45650d10fc5dff1673ae3f806d067da":[2,0,0,12,15], +"classgridfire_1_1_graph_engine.html#ad45650d10fc5dff1673ae3f806d067da":[4,0,0,11,15], +"classgridfire_1_1_graph_engine.html#ad8237c252145a75092202d00f5e1ddf7":[2,0,0,12,41], +"classgridfire_1_1_graph_engine.html#ad8237c252145a75092202d00f5e1ddf7":[4,0,0,11,41], +"classgridfire_1_1_graph_engine.html#adac8c7d62bae76e17fc060e86dadd929":[2,0,0,12,10], +"classgridfire_1_1_graph_engine.html#adac8c7d62bae76e17fc060e86dadd929":[4,0,0,11,10], +"classgridfire_1_1_graph_engine.html#ae347ff0316e532e0298ec8c913908105":[2,0,0,12,11], +"classgridfire_1_1_graph_engine.html#ae347ff0316e532e0298ec8c913908105":[4,0,0,11,11], +"classgridfire_1_1_graph_engine.html#aed726d36ee2b3796beff6067a1e4db38":[2,0,0,12,12], +"classgridfire_1_1_graph_engine.html#aed726d36ee2b3796beff6067a1e4db38":[4,0,0,11,12], +"classgridfire_1_1_graph_engine.html#aedf42d83bfcc28313b6b6454034d2efa":[2,0,0,12,8], +"classgridfire_1_1_graph_engine.html#aedf42d83bfcc28313b6b6454034d2efa":[4,0,0,11,8], +"classgridfire_1_1_graph_engine.html#aeeafeab40a5f4dbfae78bdc87e25e93f":[2,0,0,12,28], +"classgridfire_1_1_graph_engine.html#aeeafeab40a5f4dbfae78bdc87e25e93f":[4,0,0,11,28], +"classgridfire_1_1_graph_engine.html#af17cf3762abac3efcab9a8e87c961210":[2,0,0,12,39], +"classgridfire_1_1_graph_engine.html#af17cf3762abac3efcab9a8e87c961210":[4,0,0,11,39], +"classgridfire_1_1_graph_engine.html#af41df9ce979b6410e12642cb093916c9":[2,0,0,12,4], +"classgridfire_1_1_graph_engine.html#af41df9ce979b6410e12642cb093916c9":[4,0,0,11,4], +"classgridfire_1_1_network.html":[2,0,0,15], +"classgridfire_1_1_network.html":[4,0,0,14], +"classgridfire_1_1_network.html#a0bb7c7be9a3c3212ef6dcbf26dcacb16":[2,0,0,15,11], +"classgridfire_1_1_network.html#a0bb7c7be9a3c3212ef6dcbf26dcacb16":[4,0,0,14,11], +"classgridfire_1_1_network.html#a20b631f2404bfdec2333f680a62abf55":[2,0,0,15,0], +"classgridfire_1_1_network.html#a20b631f2404bfdec2333f680a62abf55":[4,0,0,14,0], +"classgridfire_1_1_network.html#a315a123499719178286b29e2aca69118":[2,0,0,15,3], +"classgridfire_1_1_network.html#a315a123499719178286b29e2aca69118":[4,0,0,14,3], +"classgridfire_1_1_network.html#a37218e18f1bdbda7be94aa230f47dd18":[2,0,0,15,9], +"classgridfire_1_1_network.html#a37218e18f1bdbda7be94aa230f47dd18":[4,0,0,14,9], +"classgridfire_1_1_network.html#a787c601f6e4bd06600bf946efbcc98d4":[2,0,0,15,5], +"classgridfire_1_1_network.html#a787c601f6e4bd06600bf946efbcc98d4":[4,0,0,14,5], +"classgridfire_1_1_network.html#a84de2d691af06c4b62cfab5022b1e8fe":[2,0,0,15,6], +"classgridfire_1_1_network.html#a84de2d691af06c4b62cfab5022b1e8fe":[4,0,0,14,6], +"classgridfire_1_1_network.html#a960d309defc570f92d296ce4b93920e5":[2,0,0,15,10], +"classgridfire_1_1_network.html#a960d309defc570f92d296ce4b93920e5":[4,0,0,14,10], +"classgridfire_1_1_network.html#a9f8802012728ef5fea0e8cd465044e09":[2,0,0,15,7], +"classgridfire_1_1_network.html#a9f8802012728ef5fea0e8cd465044e09":[4,0,0,14,7], +"classgridfire_1_1_network.html#ab8d83289b62dda9b4e02f25311f85b79":[2,0,0,15,1], +"classgridfire_1_1_network.html#ab8d83289b62dda9b4e02f25311f85b79":[4,0,0,14,1], +"classgridfire_1_1_network.html#adf7002883160101c9f9d1b376b265410":[2,0,0,15,8], +"classgridfire_1_1_network.html#adf7002883160101c9f9d1b376b265410":[4,0,0,14,8], +"classgridfire_1_1_network.html#ae93ad65deba79def4b77d420e7affa0b":[2,0,0,15,4], +"classgridfire_1_1_network.html#ae93ad65deba79def4b77d420e7affa0b":[4,0,0,14,4], +"classgridfire_1_1_network.html#aefe364ae5af783e19e7b93bfd475566e":[2,0,0,15,12], +"classgridfire_1_1_network.html#aefe364ae5af783e19e7b93bfd475566e":[4,0,0,14,12], +"classgridfire_1_1_network.html#afc8d5172dd0e2295248b42dcb52b655c":[2,0,0,15,2], +"classgridfire_1_1_network.html#afc8d5172dd0e2295248b42dcb52b655c":[4,0,0,14,2], +"classgridfire_1_1approx8_1_1_approx8_network.html":[2,0,0,0,1], +"classgridfire_1_1approx8_1_1_approx8_network.html":[4,0,0,0,1], +"classgridfire_1_1approx8_1_1_approx8_network.html#a56426da6f1af7eb8a6d1cc70bc8e742a":[2,0,0,0,1,1], +"classgridfire_1_1approx8_1_1_approx8_network.html#a56426da6f1af7eb8a6d1cc70bc8e742a":[4,0,0,0,1,1], +"classgridfire_1_1approx8_1_1_approx8_network.html#a5b17b2831389829533385900ce19a37a":[2,0,0,0,1,3], +"classgridfire_1_1approx8_1_1_approx8_network.html#a5b17b2831389829533385900ce19a37a":[4,0,0,0,1,3], +"classgridfire_1_1approx8_1_1_approx8_network.html#a65066078081c544be4e56e25eb407c8b":[2,0,0,0,1,0], +"classgridfire_1_1approx8_1_1_approx8_network.html#a65066078081c544be4e56e25eb407c8b":[4,0,0,0,1,0], +"classgridfire_1_1approx8_1_1_approx8_network.html#a697cb49bebc8d0659eb791500c451c67":[2,0,0,0,1,6], +"classgridfire_1_1approx8_1_1_approx8_network.html#a697cb49bebc8d0659eb791500c451c67":[4,0,0,0,1,6], +"classgridfire_1_1approx8_1_1_approx8_network.html#a6ed8022834e9541b3e547dd867648b0f":[2,0,0,0,1,5], +"classgridfire_1_1approx8_1_1_approx8_network.html#a6ed8022834e9541b3e547dd867648b0f":[4,0,0,0,1,5], +"classgridfire_1_1approx8_1_1_approx8_network.html#a6fadf388f07c160f1887a3cb72eaa869":[2,0,0,0,1,7], +"classgridfire_1_1approx8_1_1_approx8_network.html#a6fadf388f07c160f1887a3cb72eaa869":[4,0,0,0,1,7], +"classgridfire_1_1approx8_1_1_approx8_network.html#a888734a3cdde4259e921e2efece411ee":[2,0,0,0,1,2], +"classgridfire_1_1approx8_1_1_approx8_network.html#a888734a3cdde4259e921e2efece411ee":[4,0,0,0,1,2], +"classgridfire_1_1approx8_1_1_approx8_network.html#abf9f13ff532917ddac4a7d987698836d":[2,0,0,0,1,8], +"classgridfire_1_1approx8_1_1_approx8_network.html#abf9f13ff532917ddac4a7d987698836d":[4,0,0,0,1,8], +"classgridfire_1_1approx8_1_1_approx8_network.html#aefed972081514c29cdaaa1efd857ad8d":[2,0,0,0,1,4], +"classgridfire_1_1approx8_1_1_approx8_network.html#aefed972081514c29cdaaa1efd857ad8d":[4,0,0,0,1,4], +"classgridfire_1_1io_1_1_m_e_s_a_network_file_parser.html":[2,0,0,1,0], +"classgridfire_1_1io_1_1_m_e_s_a_network_file_parser.html":[4,0,0,1,0], +"classgridfire_1_1io_1_1_m_e_s_a_network_file_parser.html#a568194277733b5c537901f8af32ee329":[2,0,0,1,0,3], +"classgridfire_1_1io_1_1_m_e_s_a_network_file_parser.html#a568194277733b5c537901f8af32ee329":[4,0,0,1,0,3], +"classgridfire_1_1io_1_1_m_e_s_a_network_file_parser.html#a84aa6894a331ad57bdab1e1ab85d4055":[2,0,0,1,0,1], +"classgridfire_1_1io_1_1_m_e_s_a_network_file_parser.html#a84aa6894a331ad57bdab1e1ab85d4055":[4,0,0,1,0,1], +"classgridfire_1_1io_1_1_m_e_s_a_network_file_parser.html#ab7f82597abf17f16c401bcdf528bd099":[2,0,0,1,0,5], +"classgridfire_1_1io_1_1_m_e_s_a_network_file_parser.html#ab7f82597abf17f16c401bcdf528bd099":[4,0,0,1,0,5], +"classgridfire_1_1io_1_1_m_e_s_a_network_file_parser.html#ab9c683289d48e58edf06bf59215b4937":[2,0,0,1,0,6], +"classgridfire_1_1io_1_1_m_e_s_a_network_file_parser.html#ab9c683289d48e58edf06bf59215b4937":[4,0,0,1,0,6], +"classgridfire_1_1io_1_1_m_e_s_a_network_file_parser.html#ac5963d0da6780de753df996b490f8d2c":[2,0,0,1,0,2], +"classgridfire_1_1io_1_1_m_e_s_a_network_file_parser.html#ac5963d0da6780de753df996b490f8d2c":[4,0,0,1,0,2], +"classgridfire_1_1io_1_1_m_e_s_a_network_file_parser.html#aea206c3a7600db8d657666fef88fa20d":[2,0,0,1,0,4], +"classgridfire_1_1io_1_1_m_e_s_a_network_file_parser.html#aea206c3a7600db8d657666fef88fa20d":[4,0,0,1,0,4], +"classgridfire_1_1io_1_1_m_e_s_a_network_file_parser.html#af43ad8375abf1cedfdccc296b9958c2b":[2,0,0,1,0,0], +"classgridfire_1_1io_1_1_m_e_s_a_network_file_parser.html#af43ad8375abf1cedfdccc296b9958c2b":[4,0,0,1,0,0], +"classgridfire_1_1io_1_1_network_file_parser.html":[2,0,0,1,1], +"classgridfire_1_1io_1_1_network_file_parser.html":[4,0,0,1,1], +"classgridfire_1_1io_1_1_network_file_parser.html#a66e8e724c903d6ef4dd1c8103276bdbf":[2,0,0,1,1,1], +"classgridfire_1_1io_1_1_network_file_parser.html#a66e8e724c903d6ef4dd1c8103276bdbf":[4,0,0,1,1,1], +"classgridfire_1_1io_1_1_network_file_parser.html#a9b4095d06fad5df3805c92ae97b3eab3":[2,0,0,1,1,0], +"classgridfire_1_1io_1_1_network_file_parser.html#a9b4095d06fad5df3805c92ae97b3eab3":[4,0,0,1,1,0], +"classgridfire_1_1io_1_1_simple_reaction_list_file_parser.html":[2,0,0,1,3], +"classgridfire_1_1io_1_1_simple_reaction_list_file_parser.html":[4,0,0,1,3], +"classgridfire_1_1io_1_1_simple_reaction_list_file_parser.html#a4061e99bd77a3de0d6d9e317bfc74874":[2,0,0,1,3,4], +"classgridfire_1_1io_1_1_simple_reaction_list_file_parser.html#a4061e99bd77a3de0d6d9e317bfc74874":[4,0,0,1,3,4], +"classgridfire_1_1io_1_1_simple_reaction_list_file_parser.html#a4df01e3a93e1291d2cde0458545325f8":[2,0,0,1,3,3], +"classgridfire_1_1io_1_1_simple_reaction_list_file_parser.html#a4df01e3a93e1291d2cde0458545325f8":[4,0,0,1,3,3], +"classgridfire_1_1io_1_1_simple_reaction_list_file_parser.html#a6f8f9a1f54cd2be5ec66c3181be892de":[2,0,0,1,3,1], +"classgridfire_1_1io_1_1_simple_reaction_list_file_parser.html#a6f8f9a1f54cd2be5ec66c3181be892de":[4,0,0,1,3,1], +"classgridfire_1_1io_1_1_simple_reaction_list_file_parser.html#acef7eafe3cbea159259f69c88d309b66":[2,0,0,1,3,5], +"classgridfire_1_1io_1_1_simple_reaction_list_file_parser.html#acef7eafe3cbea159259f69c88d309b66":[4,0,0,1,3,5], +"classgridfire_1_1io_1_1_simple_reaction_list_file_parser.html#ad913155a5a2a36b29e4ce4ca8d71c036":[2,0,0,1,3,0], +"classgridfire_1_1io_1_1_simple_reaction_list_file_parser.html#ad913155a5a2a36b29e4ce4ca8d71c036":[4,0,0,1,3,0], +"classgridfire_1_1io_1_1_simple_reaction_list_file_parser.html#afc8ed91e8c98205c505e3d9f0cff1993":[2,0,0,1,3,2], +"classgridfire_1_1io_1_1_simple_reaction_list_file_parser.html#afc8ed91e8c98205c505e3d9f0cff1993":[4,0,0,1,3,2], +"classgridfire_1_1reaction_1_1_logical_reaction.html":[2,0,0,3,0], +"classgridfire_1_1reaction_1_1_logical_reaction.html":[4,0,0,3,0], +"classgridfire_1_1reaction_1_1_logical_reaction.html#a019b721d83741acdb16036f00739f87c":[2,0,0,3,0,6], +"classgridfire_1_1reaction_1_1_logical_reaction.html#a019b721d83741acdb16036f00739f87c":[4,0,0,3,0,6], +"classgridfire_1_1reaction_1_1_logical_reaction.html#a054994f733b44293b4d79f3a9b207560":[2,0,0,3,0,8], +"classgridfire_1_1reaction_1_1_logical_reaction.html#a054994f733b44293b4d79f3a9b207560":[4,0,0,3,0,8], +"classgridfire_1_1reaction_1_1_logical_reaction.html#a10cbea11653524dae2f7eafb5c22c90f":[2,0,0,3,0,11], +"classgridfire_1_1reaction_1_1_logical_reaction.html#a10cbea11653524dae2f7eafb5c22c90f":[4,0,0,3,0,11], +"classgridfire_1_1reaction_1_1_logical_reaction.html#a14a24cb8ea25a1514134acc51197f1de":[2,0,0,3,0,1], +"classgridfire_1_1reaction_1_1_logical_reaction.html#a14a24cb8ea25a1514134acc51197f1de":[4,0,0,3,0,1], +"classgridfire_1_1reaction_1_1_logical_reaction.html#a1d2fb3b6a6a1860ace98b32447d1dd1b":[2,0,0,3,0,5], +"classgridfire_1_1reaction_1_1_logical_reaction.html#a1d2fb3b6a6a1860ace98b32447d1dd1b":[4,0,0,3,0,5], +"classgridfire_1_1reaction_1_1_logical_reaction.html#a4ae3806e5e1a802b86a6de292d043476":[2,0,0,3,0,2], +"classgridfire_1_1reaction_1_1_logical_reaction.html#a4ae3806e5e1a802b86a6de292d043476":[4,0,0,3,0,2], +"classgridfire_1_1reaction_1_1_logical_reaction.html#a5d410de1053f8028faed1f0d0a6083f5":[2,0,0,3,0,3], +"classgridfire_1_1reaction_1_1_logical_reaction.html#a5d410de1053f8028faed1f0d0a6083f5":[4,0,0,3,0,3], +"classgridfire_1_1reaction_1_1_logical_reaction.html#a6965906ea33ebd0d615811219d9e9537":[2,0,0,3,0,0], +"classgridfire_1_1reaction_1_1_logical_reaction.html#a6965906ea33ebd0d615811219d9e9537":[4,0,0,3,0,0], +"classgridfire_1_1reaction_1_1_logical_reaction.html#a7fe91d24e20ebc76d612f6ad742f476f":[2,0,0,3,0,13], +"classgridfire_1_1reaction_1_1_logical_reaction.html#a7fe91d24e20ebc76d612f6ad742f476f":[4,0,0,3,0,13], +"classgridfire_1_1reaction_1_1_logical_reaction.html#a81f75f0085f8a5a45169f0b7240c809d":[2,0,0,3,0,12], +"classgridfire_1_1reaction_1_1_logical_reaction.html#a81f75f0085f8a5a45169f0b7240c809d":[4,0,0,3,0,12], +"classgridfire_1_1reaction_1_1_logical_reaction.html#adad6f4297c1d8ce487eab092b73cdd32":[2,0,0,3,0,4], +"classgridfire_1_1reaction_1_1_logical_reaction.html#adad6f4297c1d8ce487eab092b73cdd32":[4,0,0,3,0,4], +"classgridfire_1_1reaction_1_1_logical_reaction.html#add094eda0e71126f8443698d7f3317f4":[2,0,0,3,0,10], +"classgridfire_1_1reaction_1_1_logical_reaction.html#add094eda0e71126f8443698d7f3317f4":[4,0,0,3,0,10], +"classgridfire_1_1reaction_1_1_logical_reaction.html#af8d23557326e6c8499fa4919ac0bd972":[2,0,0,3,0,7], +"classgridfire_1_1reaction_1_1_logical_reaction.html#af8d23557326e6c8499fa4919ac0bd972":[4,0,0,3,0,7], +"classgridfire_1_1reaction_1_1_logical_reaction.html#afa41050855b842c63db16c94d2e9b897":[2,0,0,3,0,9], +"classgridfire_1_1reaction_1_1_logical_reaction.html#afa41050855b842c63db16c94d2e9b897":[4,0,0,3,0,9], +"classgridfire_1_1reaction_1_1_reaction.html":[2,0,0,3,2], +"classgridfire_1_1reaction_1_1_reaction.html":[4,0,0,3,2], +"classgridfire_1_1reaction_1_1_reaction.html#a0185c6be5465d113f25e00aee1297cd6":[2,0,0,3,2,37], +"classgridfire_1_1reaction_1_1_reaction.html#a0185c6be5465d113f25e00aee1297cd6":[4,0,0,3,2,37], +"classgridfire_1_1reaction_1_1_reaction.html#a01c67726efbaa2ff8e4d6f2c965f485c":[2,0,0,3,2,18], +"classgridfire_1_1reaction_1_1_reaction.html#a01c67726efbaa2ff8e4d6f2c965f485c":[4,0,0,3,2,18], +"classgridfire_1_1reaction_1_1_reaction.html#a074d3cd2421fd5d0133e47f0522403e2":[2,0,0,3,2,8], +"classgridfire_1_1reaction_1_1_reaction.html#a074d3cd2421fd5d0133e47f0522403e2":[4,0,0,3,2,8], +"classgridfire_1_1reaction_1_1_reaction.html#a084c38181408ed5e6fa2a2dd4d0ec905":[2,0,0,3,2,12], +"classgridfire_1_1reaction_1_1_reaction.html#a084c38181408ed5e6fa2a2dd4d0ec905":[4,0,0,3,2,12], +"classgridfire_1_1reaction_1_1_reaction.html#a0b0b9ac498080aae91ffd466d1ae85a9":[2,0,0,3,2,36], +"classgridfire_1_1reaction_1_1_reaction.html#a0b0b9ac498080aae91ffd466d1ae85a9":[4,0,0,3,2,36], +"classgridfire_1_1reaction_1_1_reaction.html#a0b543e9b0bb4a21efe4b29780d9bdf5b":[2,0,0,3,2,23], +"classgridfire_1_1reaction_1_1_reaction.html#a0b543e9b0bb4a21efe4b29780d9bdf5b":[4,0,0,3,2,23], +"classgridfire_1_1reaction_1_1_reaction.html#a16f9cbb6269817099d3dc07d4e63da7b":[2,0,0,3,2,28], +"classgridfire_1_1reaction_1_1_reaction.html#a16f9cbb6269817099d3dc07d4e63da7b":[4,0,0,3,2,28], +"classgridfire_1_1reaction_1_1_reaction.html#a1d3c8ab6d55155f9a21ad80ed8b9ef97":[2,0,0,3,2,14], +"classgridfire_1_1reaction_1_1_reaction.html#a1d3c8ab6d55155f9a21ad80ed8b9ef97":[4,0,0,3,2,14], +"classgridfire_1_1reaction_1_1_reaction.html#a2b05ab608187216fc751bd2e42e8b7d8":[2,0,0,3,2,27], +"classgridfire_1_1reaction_1_1_reaction.html#a2b05ab608187216fc751bd2e42e8b7d8":[4,0,0,3,2,27], +"classgridfire_1_1reaction_1_1_reaction.html#a2f1c115a99bc7c477a2e858ff18b1b51":[2,0,0,3,2,15], +"classgridfire_1_1reaction_1_1_reaction.html#a2f1c115a99bc7c477a2e858ff18b1b51":[4,0,0,3,2,15], +"classgridfire_1_1reaction_1_1_reaction.html#a410e2ab0784ad751f82bbe55be603db0":[2,0,0,3,2,24], +"classgridfire_1_1reaction_1_1_reaction.html#a410e2ab0784ad751f82bbe55be603db0":[4,0,0,3,2,24], +"classgridfire_1_1reaction_1_1_reaction.html#a4b5607ed413acdf29539b8a57461e49e":[2,0,0,3,2,32], +"classgridfire_1_1reaction_1_1_reaction.html#a4b5607ed413acdf29539b8a57461e49e":[4,0,0,3,2,32], +"classgridfire_1_1reaction_1_1_reaction.html#a59122a2898bb9af640cc3e9aeb49028b":[2,0,0,3,2,33], +"classgridfire_1_1reaction_1_1_reaction.html#a59122a2898bb9af640cc3e9aeb49028b":[4,0,0,3,2,33], +"classgridfire_1_1reaction_1_1_reaction.html#a5c685e5a736b51799e5b9f6746c4126b":[2,0,0,3,2,29], +"classgridfire_1_1reaction_1_1_reaction.html#a5c685e5a736b51799e5b9f6746c4126b":[4,0,0,3,2,29], +"classgridfire_1_1reaction_1_1_reaction.html#a5cb438adfefb640e4bc58e09053bd629":[2,0,0,3,2,6], +"classgridfire_1_1reaction_1_1_reaction.html#a5cb438adfefb640e4bc58e09053bd629":[4,0,0,3,2,6], +"classgridfire_1_1reaction_1_1_reaction.html#a6124aa9fc2306349e1dd879a37923248":[2,0,0,3,2,31], +"classgridfire_1_1reaction_1_1_reaction.html#a6124aa9fc2306349e1dd879a37923248":[4,0,0,3,2,31], +"classgridfire_1_1reaction_1_1_reaction.html#a648b9ed6108bed2469dc028fb7e351af":[2,0,0,3,2,5], +"classgridfire_1_1reaction_1_1_reaction.html#a648b9ed6108bed2469dc028fb7e351af":[4,0,0,3,2,5], +"classgridfire_1_1reaction_1_1_reaction.html#a6e2ff61b9e8409f2a561663628b8ce02":[2,0,0,3,2,19], +"classgridfire_1_1reaction_1_1_reaction.html#a6e2ff61b9e8409f2a561663628b8ce02":[4,0,0,3,2,19], +"classgridfire_1_1reaction_1_1_reaction.html#a7044d0a1d59d85502ce554e4ec2167e4":[2,0,0,3,2,30], +"classgridfire_1_1reaction_1_1_reaction.html#a7044d0a1d59d85502ce554e4ec2167e4":[4,0,0,3,2,30], +"classgridfire_1_1reaction_1_1_reaction.html#a735192a42f72cd68f289493753e1a616":[2,0,0,3,2,3], +"classgridfire_1_1reaction_1_1_reaction.html#a735192a42f72cd68f289493753e1a616":[4,0,0,3,2,3], +"classgridfire_1_1reaction_1_1_reaction.html#a78f42664cc957e266b6cf15fda09be97":[2,0,0,3,2,17], +"classgridfire_1_1reaction_1_1_reaction.html#a78f42664cc957e266b6cf15fda09be97":[4,0,0,3,2,17], +"classgridfire_1_1reaction_1_1_reaction.html#a7dc8fda87e0581fde6da0a81cf4d7224":[2,0,0,3,2,2], +"classgridfire_1_1reaction_1_1_reaction.html#a7dc8fda87e0581fde6da0a81cf4d7224":[4,0,0,3,2,2], +"classgridfire_1_1reaction_1_1_reaction.html#a7dff19d387e771d96c26e98d75ee9d5c":[2,0,0,3,2,1], +"classgridfire_1_1reaction_1_1_reaction.html#a7dff19d387e771d96c26e98d75ee9d5c":[4,0,0,3,2,1], +"classgridfire_1_1reaction_1_1_reaction.html#a855ea65e4b62fb0cddc550424a4bc923":[2,0,0,3,2,22], +"classgridfire_1_1reaction_1_1_reaction.html#a855ea65e4b62fb0cddc550424a4bc923":[4,0,0,3,2,22], +"classgridfire_1_1reaction_1_1_reaction.html#a85968076e686e67763f4fdf4f72a892e":[2,0,0,3,2,21], +"classgridfire_1_1reaction_1_1_reaction.html#a85968076e686e67763f4fdf4f72a892e":[4,0,0,3,2,21], +"classgridfire_1_1reaction_1_1_reaction.html#a87a065b3c7806bcdb5eadb7de2978a11":[2,0,0,3,2,35], +"classgridfire_1_1reaction_1_1_reaction.html#a87a065b3c7806bcdb5eadb7de2978a11":[4,0,0,3,2,35], +"classgridfire_1_1reaction_1_1_reaction.html#aa1d71e38fc55ae691dbb9ec459a612a5":[2,0,0,3,2,10], +"classgridfire_1_1reaction_1_1_reaction.html#aa1d71e38fc55ae691dbb9ec459a612a5":[4,0,0,3,2,10], +"classgridfire_1_1reaction_1_1_reaction.html#aa61a9a024d7c4ff66a351ccd0277ec72":[2,0,0,3,2,34], +"classgridfire_1_1reaction_1_1_reaction.html#aa61a9a024d7c4ff66a351ccd0277ec72":[4,0,0,3,2,34], +"classgridfire_1_1reaction_1_1_reaction.html#aa67d05dfabf007c1acad34052d9a1dba":[2,0,0,3,2,13], +"classgridfire_1_1reaction_1_1_reaction.html#aa67d05dfabf007c1acad34052d9a1dba":[4,0,0,3,2,13], +"classgridfire_1_1reaction_1_1_reaction.html#aaf0c94db6536b4a9ac1ec08a5c8f01ac":[2,0,0,3,2,26], +"classgridfire_1_1reaction_1_1_reaction.html#aaf0c94db6536b4a9ac1ec08a5c8f01ac":[4,0,0,3,2,26], +"classgridfire_1_1reaction_1_1_reaction.html#ab1860df84843be70f97469761e11ab6a":[2,0,0,3,2,0], +"classgridfire_1_1reaction_1_1_reaction.html#ab1860df84843be70f97469761e11ab6a":[4,0,0,3,2,0], +"classgridfire_1_1reaction_1_1_reaction.html#ab92785f331a446e51a0960b75d60b37b":[2,0,0,3,2,7], +"classgridfire_1_1reaction_1_1_reaction.html#ab92785f331a446e51a0960b75d60b37b":[4,0,0,3,2,7], +"classgridfire_1_1reaction_1_1_reaction.html#abbe243affa61ba9b2cd2a7b905cd5e45":[2,0,0,3,2,9], +"classgridfire_1_1reaction_1_1_reaction.html#abbe243affa61ba9b2cd2a7b905cd5e45":[4,0,0,3,2,9], +"classgridfire_1_1reaction_1_1_reaction.html#abda0b4e4313e6d4ba57acf37d5976fb8":[2,0,0,3,2,20], +"classgridfire_1_1reaction_1_1_reaction.html#abda0b4e4313e6d4ba57acf37d5976fb8":[4,0,0,3,2,20], +"classgridfire_1_1reaction_1_1_reaction.html#ac426457cf0a54a15b206549422083bac":[2,0,0,3,2,16], +"classgridfire_1_1reaction_1_1_reaction.html#ac426457cf0a54a15b206549422083bac":[4,0,0,3,2,16], +"classgridfire_1_1reaction_1_1_reaction.html#ad359c06d7196c1a7a955a7b66a51dbe3":[2,0,0,3,2,25], +"classgridfire_1_1reaction_1_1_reaction.html#ad359c06d7196c1a7a955a7b66a51dbe3":[4,0,0,3,2,25], +"classgridfire_1_1reaction_1_1_reaction.html#ad81e9b2a1773470059ca6989c60556ec":[2,0,0,3,2,4], +"classgridfire_1_1reaction_1_1_reaction.html#ad81e9b2a1773470059ca6989c60556ec":[4,0,0,3,2,4], +"classgridfire_1_1reaction_1_1_reaction.html#af6c20e6d03a2d9f87632f71a90b88cb5":[2,0,0,3,2,11], +"classgridfire_1_1reaction_1_1_reaction.html#af6c20e6d03a2d9f87632f71a90b88cb5":[4,0,0,3,2,11], +"classgridfire_1_1reaction_1_1_templated_reaction_set.html":[2,0,0,3,3], +"classgridfire_1_1reaction_1_1_templated_reaction_set.html":[4,0,0,3,3], +"classgridfire_1_1reaction_1_1_templated_reaction_set.html#a05f71d318564d880079fd6c96d59ae21":[2,0,0,3,3,5], +"classgridfire_1_1reaction_1_1_templated_reaction_set.html#a05f71d318564d880079fd6c96d59ae21":[4,0,0,3,3,5], +"classgridfire_1_1reaction_1_1_templated_reaction_set.html#a128660f5fbc67054f73811ed2982d24d":[2,0,0,3,3,17], +"classgridfire_1_1reaction_1_1_templated_reaction_set.html#a128660f5fbc67054f73811ed2982d24d":[4,0,0,3,3,17], +"classgridfire_1_1reaction_1_1_templated_reaction_set.html#a13e003529a17fa61aafdce3abd2dc773":[2,0,0,3,3,18], +"classgridfire_1_1reaction_1_1_templated_reaction_set.html#a13e003529a17fa61aafdce3abd2dc773":[4,0,0,3,3,18], +"classgridfire_1_1reaction_1_1_templated_reaction_set.html#a1596de3439735a45ac344fa85ace6c82":[2,0,0,3,3,13], +"classgridfire_1_1reaction_1_1_templated_reaction_set.html#a1596de3439735a45ac344fa85ace6c82":[4,0,0,3,3,13], +"classgridfire_1_1reaction_1_1_templated_reaction_set.html#a272800016c83f259f5c6a92dc797353c":[2,0,0,3,3,14], +"classgridfire_1_1reaction_1_1_templated_reaction_set.html#a272800016c83f259f5c6a92dc797353c":[4,0,0,3,3,14], +"classgridfire_1_1reaction_1_1_templated_reaction_set.html#a339dbbf883b6ae20e33d9782d8376bcf":[2,0,0,3,3,2], +"classgridfire_1_1reaction_1_1_templated_reaction_set.html#a339dbbf883b6ae20e33d9782d8376bcf":[4,0,0,3,3,2], +"classgridfire_1_1reaction_1_1_templated_reaction_set.html#a3a4c2448865580001fd3c797b9f56979":[2,0,0,3,3,25], +"classgridfire_1_1reaction_1_1_templated_reaction_set.html#a3a4c2448865580001fd3c797b9f56979":[4,0,0,3,3,25], +"classgridfire_1_1reaction_1_1_templated_reaction_set.html#a443ec5d7138764b32975232e13071ccf":[2,0,0,3,3,8], +"classgridfire_1_1reaction_1_1_templated_reaction_set.html#a443ec5d7138764b32975232e13071ccf":[4,0,0,3,3,8], +"classgridfire_1_1reaction_1_1_templated_reaction_set.html#a47265467dbf2c324ce3e4c85ebbaa6a7":[2,0,0,3,3,22], +"classgridfire_1_1reaction_1_1_templated_reaction_set.html#a47265467dbf2c324ce3e4c85ebbaa6a7":[4,0,0,3,3,22], +"classgridfire_1_1reaction_1_1_templated_reaction_set.html#a54c8cd7c34564277fe28eefc623f666e":[2,0,0,3,3,0], +"classgridfire_1_1reaction_1_1_templated_reaction_set.html#a54c8cd7c34564277fe28eefc623f666e":[4,0,0,3,3,0], +"classgridfire_1_1reaction_1_1_templated_reaction_set.html#a5962968fe478c79250e9d88d80a87600":[2,0,0,3,3,26], +"classgridfire_1_1reaction_1_1_templated_reaction_set.html#a5962968fe478c79250e9d88d80a87600":[4,0,0,3,3,26], +"classgridfire_1_1reaction_1_1_templated_reaction_set.html#a5fda3af5ea9ae0ecfb60a61a9e07f5b4":[2,0,0,3,3,23], +"classgridfire_1_1reaction_1_1_templated_reaction_set.html#a5fda3af5ea9ae0ecfb60a61a9e07f5b4":[4,0,0,3,3,23], +"classgridfire_1_1reaction_1_1_templated_reaction_set.html#a638067a3e55ec2a422206055881aaaad":[2,0,0,3,3,19], +"classgridfire_1_1reaction_1_1_templated_reaction_set.html#a638067a3e55ec2a422206055881aaaad":[4,0,0,3,3,19], +"classgridfire_1_1reaction_1_1_templated_reaction_set.html#a6a1dc3c56690386ae9f6aa5c2aa37ba2":[2,0,0,3,3,21], +"classgridfire_1_1reaction_1_1_templated_reaction_set.html#a6a1dc3c56690386ae9f6aa5c2aa37ba2":[4,0,0,3,3,21], +"classgridfire_1_1reaction_1_1_templated_reaction_set.html#a7777ecd0f594fdf66ce57d22610fad3c":[2,0,0,3,3,7], +"classgridfire_1_1reaction_1_1_templated_reaction_set.html#a7777ecd0f594fdf66ce57d22610fad3c":[4,0,0,3,3,7], +"classgridfire_1_1reaction_1_1_templated_reaction_set.html#a87257704009fcd57b553f86cdaacb597":[2,0,0,3,3,3], +"classgridfire_1_1reaction_1_1_templated_reaction_set.html#a87257704009fcd57b553f86cdaacb597":[4,0,0,3,3,3], +"classgridfire_1_1reaction_1_1_templated_reaction_set.html#a89c4c5af12aef7fbfc24316c88237e22":[2,0,0,3,3,20], +"classgridfire_1_1reaction_1_1_templated_reaction_set.html#a89c4c5af12aef7fbfc24316c88237e22":[4,0,0,3,3,20], +"classgridfire_1_1reaction_1_1_templated_reaction_set.html#aac76ec883b4ecebb2a94b2485dae7105":[2,0,0,3,3,15] }; diff --git a/docs/html/navtreeindex2.js b/docs/html/navtreeindex2.js index aedb419c..3a5e081b 100644 --- a/docs/html/navtreeindex2.js +++ b/docs/html/navtreeindex2.js @@ -1,5 +1,186 @@ var NAVTREEINDEX2 = { +"classgridfire_1_1reaction_1_1_templated_reaction_set.html#aac76ec883b4ecebb2a94b2485dae7105":[4,0,0,3,3,15], +"classgridfire_1_1reaction_1_1_templated_reaction_set.html#ab8cb5fbce6b819b9e4e44b0c2db54c6f":[2,0,0,3,3,6], +"classgridfire_1_1reaction_1_1_templated_reaction_set.html#ab8cb5fbce6b819b9e4e44b0c2db54c6f":[4,0,0,3,3,6], +"classgridfire_1_1reaction_1_1_templated_reaction_set.html#ac128da7417955ef8c5cb2bde5a1293c9":[2,0,0,3,3,12], +"classgridfire_1_1reaction_1_1_templated_reaction_set.html#ac128da7417955ef8c5cb2bde5a1293c9":[4,0,0,3,3,12], +"classgridfire_1_1reaction_1_1_templated_reaction_set.html#ac42606350d7557106f7954b1f114c128":[2,0,0,3,3,9], +"classgridfire_1_1reaction_1_1_templated_reaction_set.html#ac42606350d7557106f7954b1f114c128":[4,0,0,3,3,9], +"classgridfire_1_1reaction_1_1_templated_reaction_set.html#ac510dce14a6033551318c0c7b241f3c8":[2,0,0,3,3,16], +"classgridfire_1_1reaction_1_1_templated_reaction_set.html#ac510dce14a6033551318c0c7b241f3c8":[4,0,0,3,3,16], +"classgridfire_1_1reaction_1_1_templated_reaction_set.html#ac6fcc5b08938b73ff6dac680e5bf28d9":[2,0,0,3,3,24], +"classgridfire_1_1reaction_1_1_templated_reaction_set.html#ac6fcc5b08938b73ff6dac680e5bf28d9":[4,0,0,3,3,24], +"classgridfire_1_1reaction_1_1_templated_reaction_set.html#ad19adbee44a71559a53785e3b1fc7e92":[2,0,0,3,3,11], +"classgridfire_1_1reaction_1_1_templated_reaction_set.html#ad19adbee44a71559a53785e3b1fc7e92":[4,0,0,3,3,11], +"classgridfire_1_1reaction_1_1_templated_reaction_set.html#ad870856d206d93f27125c88d44ff9e34":[2,0,0,3,3,10], +"classgridfire_1_1reaction_1_1_templated_reaction_set.html#ad870856d206d93f27125c88d44ff9e34":[4,0,0,3,3,10], +"classgridfire_1_1reaction_1_1_templated_reaction_set.html#ada1d1880be53b81a9ed7b966fd6ade5a":[2,0,0,3,3,1], +"classgridfire_1_1reaction_1_1_templated_reaction_set.html#ada1d1880be53b81a9ed7b966fd6ade5a":[4,0,0,3,3,1], +"classgridfire_1_1reaction_1_1_templated_reaction_set.html#aee42bb25973dadc6629bdb5cb1db6369":[2,0,0,3,3,4], +"classgridfire_1_1reaction_1_1_templated_reaction_set.html#aee42bb25973dadc6629bdb5cb1db6369":[4,0,0,3,3,4], +"classgridfire_1_1screening_1_1_bare_screening_model.html":[2,0,0,4,0], +"classgridfire_1_1screening_1_1_bare_screening_model.html":[4,0,0,4,0], +"classgridfire_1_1screening_1_1_bare_screening_model.html#a51119d705267e0b415aae8b4881d8c96":[2,0,0,4,0,0], +"classgridfire_1_1screening_1_1_bare_screening_model.html#a51119d705267e0b415aae8b4881d8c96":[4,0,0,4,0,0], +"classgridfire_1_1screening_1_1_bare_screening_model.html#a6c93b72c8ca34623127f0846d8dee50a":[2,0,0,4,0,1], +"classgridfire_1_1screening_1_1_bare_screening_model.html#a6c93b72c8ca34623127f0846d8dee50a":[4,0,0,4,0,1], +"classgridfire_1_1screening_1_1_bare_screening_model.html#ac35ad34c5da7e1b5087552aa5c83fe60":[2,0,0,4,0,3], +"classgridfire_1_1screening_1_1_bare_screening_model.html#ac35ad34c5da7e1b5087552aa5c83fe60":[4,0,0,4,0,3], +"classgridfire_1_1screening_1_1_bare_screening_model.html#ac5647d633cd5bbd7cb5136b7fa4cad99":[2,0,0,4,0,2], +"classgridfire_1_1screening_1_1_bare_screening_model.html#ac5647d633cd5bbd7cb5136b7fa4cad99":[4,0,0,4,0,2], +"classgridfire_1_1screening_1_1_screening_model.html":[2,0,0,4,1], +"classgridfire_1_1screening_1_1_screening_model.html":[4,0,0,4,1], +"classgridfire_1_1screening_1_1_screening_model.html#a107ff2897f040d6f27f69d56a0bdd28d":[2,0,0,4,1,0], +"classgridfire_1_1screening_1_1_screening_model.html#a107ff2897f040d6f27f69d56a0bdd28d":[4,0,0,4,1,0], +"classgridfire_1_1screening_1_1_screening_model.html#a6c381a823cb9c1680d3e9c846da4ae22":[2,0,0,4,1,2], +"classgridfire_1_1screening_1_1_screening_model.html#a6c381a823cb9c1680d3e9c846da4ae22":[4,0,0,4,1,2], +"classgridfire_1_1screening_1_1_screening_model.html#aaec9184d80c86a2d8674e395dad81bde":[2,0,0,4,1,3], +"classgridfire_1_1screening_1_1_screening_model.html#aaec9184d80c86a2d8674e395dad81bde":[4,0,0,4,1,3], +"classgridfire_1_1screening_1_1_screening_model.html#adef175acdbd911527f56a1f1592579a7":[2,0,0,4,1,1], +"classgridfire_1_1screening_1_1_screening_model.html#adef175acdbd911527f56a1f1592579a7":[4,0,0,4,1,1], +"classgridfire_1_1screening_1_1_weak_screening_model.html":[2,0,0,4,2], +"classgridfire_1_1screening_1_1_weak_screening_model.html":[4,0,0,4,2], +"classgridfire_1_1screening_1_1_weak_screening_model.html#a0a4d7d6d36dbe7b764b613d34f18386f":[2,0,0,4,2,3], +"classgridfire_1_1screening_1_1_weak_screening_model.html#a0a4d7d6d36dbe7b764b613d34f18386f":[4,0,0,4,2,3], +"classgridfire_1_1screening_1_1_weak_screening_model.html#a2695206d46b9d2c2503f8e58c44df88f":[2,0,0,4,2,0], +"classgridfire_1_1screening_1_1_weak_screening_model.html#a2695206d46b9d2c2503f8e58c44df88f":[4,0,0,4,2,0], +"classgridfire_1_1screening_1_1_weak_screening_model.html#ac6bc78769670a460af1ff88284cb8ad4":[2,0,0,4,2,1], +"classgridfire_1_1screening_1_1_weak_screening_model.html#ac6bc78769670a460af1ff88284cb8ad4":[4,0,0,4,2,1], +"classgridfire_1_1screening_1_1_weak_screening_model.html#afbaeaefe6b3ab3ecf81889ddc1cff76c":[2,0,0,4,2,2], +"classgridfire_1_1screening_1_1_weak_screening_model.html#afbaeaefe6b3ab3ecf81889ddc1cff76c":[4,0,0,4,2,2], +"classgridfire_1_1solver_1_1_direct_network_solver.html":[2,0,0,5,0], +"classgridfire_1_1solver_1_1_direct_network_solver.html":[4,0,0,5,0], +"classgridfire_1_1solver_1_1_direct_network_solver.html#a093aa89fd23c2fe03266e286871c7079":[2,0,0,5,0,4], +"classgridfire_1_1solver_1_1_direct_network_solver.html#a093aa89fd23c2fe03266e286871c7079":[4,0,0,5,0,4], +"classgridfire_1_1solver_1_1_direct_network_solver.html#a0d1b52d06b0521e7c556d75cd8d2ffe6":[2,0,0,5,0,3], +"classgridfire_1_1solver_1_1_direct_network_solver.html#a0d1b52d06b0521e7c556d75cd8d2ffe6":[4,0,0,5,0,3], +"classgridfire_1_1solver_1_1_direct_network_solver.html#a0e8a4b8ef656e0b084d11bea982e412a":[2,0,0,5,0,2], +"classgridfire_1_1solver_1_1_direct_network_solver.html#a0e8a4b8ef656e0b084d11bea982e412a":[4,0,0,5,0,2], +"classgridfire_1_1solver_1_1_network_solver_strategy.html":[2,0,0,5,2], +"classgridfire_1_1solver_1_1_network_solver_strategy.html":[4,0,0,5,2], +"classgridfire_1_1solver_1_1_network_solver_strategy.html#a01cbbec0eb5c3a60f50da38cdaf66505":[2,0,0,5,2,0], +"classgridfire_1_1solver_1_1_network_solver_strategy.html#a01cbbec0eb5c3a60f50da38cdaf66505":[4,0,0,5,2,0], +"classgridfire_1_1solver_1_1_network_solver_strategy.html#a1693dc93f63599c89587d729aca8e318":[2,0,0,5,2,1], +"classgridfire_1_1solver_1_1_network_solver_strategy.html#a1693dc93f63599c89587d729aca8e318":[4,0,0,5,2,1], +"classgridfire_1_1solver_1_1_network_solver_strategy.html#a724924d94eaf82b67d9988a55c3261e8":[2,0,0,5,2,3], +"classgridfire_1_1solver_1_1_network_solver_strategy.html#a724924d94eaf82b67d9988a55c3261e8":[4,0,0,5,2,3], +"classgridfire_1_1solver_1_1_network_solver_strategy.html#ace539b0482db171845ff1bd38d76b70f":[2,0,0,5,2,2], +"classgridfire_1_1solver_1_1_network_solver_strategy.html#ace539b0482db171845ff1bd38d76b70f":[4,0,0,5,2,2], +"classgridfire_1_1solver_1_1_q_s_e_network_solver.html":[2,0,0,5,3], +"classgridfire_1_1solver_1_1_q_s_e_network_solver.html":[4,0,0,5,3], +"classgridfire_1_1solver_1_1_q_s_e_network_solver.html#a00d112f6087f6e3a93f4d40a519308d2":[2,0,0,5,3,3], +"classgridfire_1_1solver_1_1_q_s_e_network_solver.html#a00d112f6087f6e3a93f4d40a519308d2":[4,0,0,5,3,3], +"classgridfire_1_1solver_1_1_q_s_e_network_solver.html#a35f1f6ede393f15c8bb8862f3f1c3b07":[2,0,0,5,3,7], +"classgridfire_1_1solver_1_1_q_s_e_network_solver.html#a35f1f6ede393f15c8bb8862f3f1c3b07":[4,0,0,5,3,7], +"classgridfire_1_1solver_1_1_q_s_e_network_solver.html#a3c9d46c8f5c519854cd65309a588772f":[2,0,0,5,3,10], +"classgridfire_1_1solver_1_1_q_s_e_network_solver.html#a3c9d46c8f5c519854cd65309a588772f":[4,0,0,5,3,10], +"classgridfire_1_1solver_1_1_q_s_e_network_solver.html#a428b49fa7878559665363de06f1a44a7":[2,0,0,5,3,11], +"classgridfire_1_1solver_1_1_q_s_e_network_solver.html#a428b49fa7878559665363de06f1a44a7":[4,0,0,5,3,11], +"classgridfire_1_1solver_1_1_q_s_e_network_solver.html#a53b5496db7fed6f345dca39656bf9c0e":[2,0,0,5,3,4], +"classgridfire_1_1solver_1_1_q_s_e_network_solver.html#a53b5496db7fed6f345dca39656bf9c0e":[4,0,0,5,3,4], +"classgridfire_1_1solver_1_1_q_s_e_network_solver.html#a5d81ee5bfcfd5e77fe52201ba9e63719":[2,0,0,5,3,6], +"classgridfire_1_1solver_1_1_q_s_e_network_solver.html#a5d81ee5bfcfd5e77fe52201ba9e63719":[4,0,0,5,3,6], +"classgridfire_1_1solver_1_1_q_s_e_network_solver.html#a7d19b6e50db34d38c81afec76bbedee1":[2,0,0,5,3,8], +"classgridfire_1_1solver_1_1_q_s_e_network_solver.html#a7d19b6e50db34d38c81afec76bbedee1":[4,0,0,5,3,8], +"classgridfire_1_1solver_1_1_q_s_e_network_solver.html#ab07e68fd418ab058f890502d191b3f18":[2,0,0,5,3,9], +"classgridfire_1_1solver_1_1_q_s_e_network_solver.html#ab07e68fd418ab058f890502d191b3f18":[4,0,0,5,3,9], +"classgridfire_1_1solver_1_1_q_s_e_network_solver.html#abaa567001df0007b714f474febae408b":[2,0,0,5,3,5], +"classgridfire_1_1solver_1_1_q_s_e_network_solver.html#abaa567001df0007b714f474febae408b":[4,0,0,5,3,5], +"conceptgridfire_1_1_engine_type.html":[2,0,0,18], +"conceptgridfire_1_1_engine_type.html":[3,0,1], +"conceptgridfire_1_1_is_arithmetic_or_a_d.html":[2,0,0,17], +"conceptgridfire_1_1_is_arithmetic_or_a_d.html":[3,0,0], +"concepts.html":[3], +"dir_0cbec3bc536a3e05d15a7545c8625ac1.html":[5,0,1,0,0,0,5], +"dir_1cdf727c700d393da216e23f923be8b4.html":[5,0,1,0,1,0], +"dir_2a1262ef5950eb718393488a3eb5aa9f.html":[5,0,1,0,0,0], +"dir_2d53942b5372593aa67f4b74882cd581.html":[5,0,1,0,1,1], +"dir_3c60707488650cd3ec07ac1739eb797f.html":[5,0,1,0,0,0,2], +"dir_41ae00bf8f9a98ba9c6aece2e6262882.html":[5,0,1,0,0,0,1], +"dir_49e56c817e5e54854c35e136979f97ca.html":[5,0,0], +"dir_52d70f305d86d4a2338c5425f7bc4d9c.html":[5,0,1,0,1,3], +"dir_5cccfa813acdf3744b542715860d37b2.html":[5,0,1,0,0], +"dir_68267d1309a1af8e8297ef4c3efbcdba.html":[5,0,1], +"dir_6b2e1e22dfdea3280d50981209bf7529.html":[5,0,1,0,0,0,0], +"dir_93d547a749bb04fb4b43758550ab11b5.html":[5,0,1,0,1,4], +"dir_a1a1065684fbb5b386566d81dc65d72d.html":[5,0,1,0,0,0,3], +"dir_a7655658c851688eff9381235a9676f0.html":[5,0,1,0,1], +"dir_aa1cdef39099aefa25ac81305b9dae77.html":[5,0,1,0,0,0,4], +"dir_ae72e87b2c96ef2ff3f9c3faf556f8b7.html":[5,0,1,0,1,0,0], +"dir_c34d5e8363cf0aa3fabc4f3fad3412a4.html":[5,0,0,0], +"dir_d5f908f1a3b7d6921d55b8696a8e83bc.html":[5,0,1,0,1,2], +"dir_d95b5b8e5cbbc1b508cb3c0cf16f7ce7.html":[5,0,1,0,1,5], +"dir_fb341b7e674a7e4701415d4572cba12f.html":[5,0,1,0,0,0,0,0], +"dir_fc4c7f03e1a69a98c370fae55a743828.html":[5,0,1,0], +"engine__abstract_8h.html":[5,0,1,0,0,0,0,1], +"engine__abstract_8h_source.html":[5,0,1,0,0,0,0,1], +"engine__adaptive_8cpp.html":[5,0,1,0,1,0,0,0], +"engine__adaptive_8cpp_source.html":[5,0,1,0,1,0,0,0], +"engine__adaptive_8h.html":[5,0,1,0,0,0,0,0,0], +"engine__adaptive_8h_source.html":[5,0,1,0,0,0,0,0,0], +"engine__approx8_8cpp.html":[5,0,1,0,1,0,1], +"engine__approx8_8cpp_source.html":[5,0,1,0,1,0,1], +"engine__approx8_8h.html":[5,0,1,0,0,0,0,2], +"engine__approx8_8h_source.html":[5,0,1,0,0,0,0,2], +"engine__defined_8cpp.html":[5,0,1,0,1,0,0,1], +"engine__defined_8cpp_source.html":[5,0,1,0,1,0,0,1], +"engine__defined_8h.html":[5,0,1,0,0,0,0,0,1], +"engine__defined_8h_source.html":[5,0,1,0,0,0,0,0,1], +"engine__graph_8cpp.html":[5,0,1,0,1,0,2], +"engine__graph_8cpp_source.html":[5,0,1,0,1,0,2], +"engine__graph_8h.html":[5,0,1,0,0,0,0,3], +"engine__graph_8h_source.html":[5,0,1,0,0,0,0,3], +"engine__view__abstract_8h.html":[5,0,1,0,0,0,0,0,2], +"engine__view__abstract_8h_source.html":[5,0,1,0,0,0,0,0,2], +"examples.html":[6], +"files.html":[5,0], +"functions.html":[4,3,0], +"functions.html":[4,3,0,0], +"functions_b.html":[4,3,0,1], +"functions_c.html":[4,3,0,2], +"functions_d.html":[4,3,0,3], +"functions_e.html":[4,3,0,4], +"functions_eval.html":[4,3,4], +"functions_f.html":[4,3,0,5], +"functions_func.html":[4,3,1], +"functions_func.html":[4,3,1,0], +"functions_func_b.html":[4,3,1,1], +"functions_func_c.html":[4,3,1,2], +"functions_func_d.html":[4,3,1,3], +"functions_func_e.html":[4,3,1,4], +"functions_func_f.html":[4,3,1,5], +"functions_func_g.html":[4,3,1,6], +"functions_func_h.html":[4,3,1,7], +"functions_func_i.html":[4,3,1,8], +"functions_func_j.html":[4,3,1,9], +"functions_func_l.html":[4,3,1,10], +"functions_func_m.html":[4,3,1,11], +"functions_func_n.html":[4,3,1,12], +"functions_func_o.html":[4,3,1,13], +"functions_func_p.html":[4,3,1,14], +"functions_func_q.html":[4,3,1,15], +"functions_func_r.html":[4,3,1,16], +"functions_func_s.html":[4,3,1,17], +"functions_func_t.html":[4,3,1,18], +"functions_func_u.html":[4,3,1,19], +"functions_func_v.html":[4,3,1,20], +"functions_func_~.html":[4,3,1,21], +"functions_g.html":[4,3,0,6], +"functions_h.html":[4,3,0,7], +"functions_i.html":[4,3,0,8], +"functions_j.html":[4,3,0,9], +"functions_l.html":[4,3,0,10], +"functions_m.html":[4,3,0,11], +"functions_n.html":[4,3,0,12], +"functions_o.html":[4,3,0,13], +"functions_p.html":[4,3,0,14], +"functions_q.html":[4,3,0,15], +"functions_r.html":[4,3,0,16], +"functions_rela.html":[4,3,5], +"functions_s.html":[4,3,0,17], +"functions_t.html":[4,3,0,18], +"functions_type.html":[4,3,3], "functions_u.html":[4,3,0,19], "functions_v.html":[4,3,0,20], "functions_vars.html":[4,3,2], @@ -20,18 +201,22 @@ var NAVTREEINDEX2 = "index.html#autotoc_md7":[0,3,2], "index.html#autotoc_md8":[0,4], "index.html#autotoc_md9":[0,5], +"logging_8cpp.html":[5,0,1,0,1,5,0], +"logging_8cpp_source.html":[5,0,1,0,1,5,0], +"logging_8h.html":[5,0,1,0,0,0,5,0], +"logging_8h_source.html":[5,0,1,0,0,0,5,0], "namespacegridfire.html":[2,0,0], -"namespacegridfire.html#a1121d0b2d005195333412559fa29d3cc":[2,0,0,15], -"namespacegridfire.html#a3f3d6b3f9742b70e62049ccefbb60f37":[2,0,0,16], -"namespacegridfire.html#a3f3d6b3f9742b70e62049ccefbb60f37a1fc7adf719c40457abfdb8334675faea":[2,0,0,16,0], -"namespacegridfire.html#a3f3d6b3f9742b70e62049ccefbb60f37a9b8db7b445ae4f1bd114caa42a583182":[2,0,0,16,1], -"namespacegridfire.html#a3f3d6b3f9742b70e62049ccefbb60f37aac700abde5f6ff8b7328193eb19697b2":[2,0,0,16,2], -"namespacegridfire.html#a4e9cabad30b57d636c2f0d73d8cc6bb4":[2,0,0,19], -"namespacegridfire.html#a8b245f261cd8d1711ae8d593b054cf98":[2,0,0,18], -"namespacegridfire.html#a96c062f94713921e5d7568ecedcdcb06":[2,0,0,20], -"namespacegridfire.html#aa77f83539d9ae90e3bf541309bd9c83a":[2,0,0,17], -"namespacegridfire.html#ada3c137c014ecd8d06200fea2d1a9f50":[2,0,0,21], -"namespacegridfire.html#ae01b1738df1921db565bcbd68dd6cf64":[2,0,0,22], +"namespacegridfire.html#a1121d0b2d005195333412559fa29d3cc":[2,0,0,19], +"namespacegridfire.html#a3f3d6b3f9742b70e62049ccefbb60f37":[2,0,0,20], +"namespacegridfire.html#a3f3d6b3f9742b70e62049ccefbb60f37a1fc7adf719c40457abfdb8334675faea":[2,0,0,20,0], +"namespacegridfire.html#a3f3d6b3f9742b70e62049ccefbb60f37a9b8db7b445ae4f1bd114caa42a583182":[2,0,0,20,1], +"namespacegridfire.html#a3f3d6b3f9742b70e62049ccefbb60f37aac700abde5f6ff8b7328193eb19697b2":[2,0,0,20,2], +"namespacegridfire.html#a4e9cabad30b57d636c2f0d73d8cc6bb4":[2,0,0,23], +"namespacegridfire.html#a8b245f261cd8d1711ae8d593b054cf98":[2,0,0,22], +"namespacegridfire.html#a96c062f94713921e5d7568ecedcdcb06":[2,0,0,24], +"namespacegridfire.html#aa77f83539d9ae90e3bf541309bd9c83a":[2,0,0,21], +"namespacegridfire.html#ada3c137c014ecd8d06200fea2d1a9f50":[2,0,0,25], +"namespacegridfire.html#ae01b1738df1921db565bcbd68dd6cf64":[2,0,0,26], "namespacegridfire_1_1approx8.html":[2,0,0,0], "namespacegridfire_1_1approx8.html#a12cb71ba6ed03750af9e7659464197ea":[2,0,0,0,13], "namespacegridfire_1_1approx8.html#a16739298c01e56967ce784a9a957439f":[2,0,0,0,23], @@ -56,198 +241,13 @@ var NAVTREEINDEX2 = "namespacegridfire_1_1approx8.html#ad7a6f894fa4bdeebb4cae0eba3b2c210":[2,0,0,0,20], "namespacegridfire_1_1approx8.html#aed8175751b4920a53922f87f8c0e63c4":[2,0,0,0,24], "namespacegridfire_1_1approx8.html#af7d9b901dbb3c88c151d927912d5121f":[2,0,0,0,7], -"namespacegridfire_1_1reaclib.html":[2,0,0,1], -"namespacegridfire_1_1reaclib.html#a02ff11b88be94392151873e06a30b276":[2,0,0,1,2], -"namespacegridfire_1_1reaclib.html#a5dba5efc372d2a9e9e846dfd6563f3c0":[2,0,0,1,5], -"namespacegridfire_1_1reaclib.html#a6bb94d5adc7bb9db5a67f770f7453e63":[2,0,0,1,3], -"namespacegridfire_1_1reaclib.html#a91c7971c9d0a2971b9a6fa4d841c761d":[2,0,0,1,1], -"namespacegridfire_1_1reaclib.html#af6ff0dfe7ffe34c73ba9acbab5ef8a66":[2,0,0,1,6], -"namespacegridfire_1_1reaclib.html#afc0deac6cbef076e8884e66fd3ab66e0":[2,0,0,1,4], -"namespacegridfire_1_1reaction.html":[2,0,0,2], -"namespacegridfire_1_1solver.html":[2,0,0,3], -"namespacegridfire_1_1solver.html#a5361d6cf364f0ba2f88285a60bb9cd92":[2,0,0,3,6], -"namespacegridfire_1_1solver.html#a8118d08bc25e439754b43a3f5ecc1db3":[2,0,0,3,5], -"namespacegridfire_1_1solver.html#af3b10822ab58b55365577755c1f4faf6":[2,0,0,3,4], -"namespacemembers.html":[2,1,0], -"namespacemembers_enum.html":[2,1,4], -"namespacemembers_eval.html":[2,1,5], -"namespacemembers_func.html":[2,1,1], -"namespacemembers_type.html":[2,1,3], -"namespacemembers_vars.html":[2,1,2], -"namespaces.html":[2,0], -"namespacestd.html":[2,0,1], -"network_8cpp.html":[5,0,1,0,1,3], -"network_8cpp_source.html":[5,0,1,0,1,3], -"network_8h.html":[5,0,1,0,0,0,3], -"network_8h_source.html":[5,0,1,0,0,0,3], -"pages.html":[], -"reaclib_8cpp.html":[5,0,1,0,1,1,0], -"reaclib_8cpp.html#a2c6902cf3e699a1a65e871efa878a6ab":[5,0,1,0,1,1,0,5], -"reaclib_8cpp_source.html":[5,0,1,0,1,1,0], -"reaclib_8h.html":[5,0,1,0,0,0,1,0], -"reaclib_8h_source.html":[5,0,1,0,0,0,1,0], -"reaction_8cpp.html":[5,0,1,0,1,1,1], -"reaction_8cpp_source.html":[5,0,1,0,1,1,1], -"reaction_8h.html":[5,0,1,0,0,0,1,1], -"reaction_8h_source.html":[5,0,1,0,0,0,1,1], -"reactions__data_8h.html":[5,0,1,0,0,0,1,2], -"reactions__data_8h.html#a32dea82d95667c3df395d58fb469ce2a":[5,0,1,0,0,0,1,2,1], -"reactions__data_8h.html#aeb44e2b3b67960dfd83ecd7136c7d38b":[5,0,1,0,0,0,1,2,0], -"reactions__data_8h_source.html":[5,0,1,0,0,0,1,2], -"solver_8cpp.html":[5,0,1,0,1,2,0], -"solver_8cpp_source.html":[5,0,1,0,1,2,0], -"solver_8h.html":[5,0,1,0,0,0,2,0], -"solver_8h_source.html":[5,0,1,0,0,0,2,0], -"structgridfire_1_1_adaptive_engine_view_1_1_reaction_flow.html":[2,0,0,4,0], -"structgridfire_1_1_adaptive_engine_view_1_1_reaction_flow.html":[4,0,0,4,0], -"structgridfire_1_1_adaptive_engine_view_1_1_reaction_flow.html#a6c2e9087f6c8af5d89a5f0de7bd4a5b4":[2,0,0,4,0,0], -"structgridfire_1_1_adaptive_engine_view_1_1_reaction_flow.html#a6c2e9087f6c8af5d89a5f0de7bd4a5b4":[4,0,0,4,0,0], -"structgridfire_1_1_adaptive_engine_view_1_1_reaction_flow.html#afc894db76a799be17be91130ff3ae6d9":[2,0,0,4,0,1], -"structgridfire_1_1_adaptive_engine_view_1_1_reaction_flow.html#afc894db76a799be17be91130ff3ae6d9":[4,0,0,4,0,1], -"structgridfire_1_1_net_in.html":[2,0,0,9], -"structgridfire_1_1_net_in.html":[4,0,0,9], -"structgridfire_1_1_net_in.html#a06f0dff9f8927b7cf2da3004c8fa1577":[2,0,0,9,3], -"structgridfire_1_1_net_in.html#a06f0dff9f8927b7cf2da3004c8fa1577":[4,0,0,9,3], -"structgridfire_1_1_net_in.html#a0a8d820cfeaa92ee31f253795c57e0d1":[2,0,0,9,7], -"structgridfire_1_1_net_in.html#a0a8d820cfeaa92ee31f253795c57e0d1":[4,0,0,9,7], -"structgridfire_1_1_net_in.html#a13058f4929e72c1187abbebcddb8aed1":[2,0,0,9,1], -"structgridfire_1_1_net_in.html#a13058f4929e72c1187abbebcddb8aed1":[4,0,0,9,1], -"structgridfire_1_1_net_in.html#a47781e8d5503e3b4f12d669e2cbcfb65":[2,0,0,9,0], -"structgridfire_1_1_net_in.html#a47781e8d5503e3b4f12d669e2cbcfb65":[4,0,0,9,0], -"structgridfire_1_1_net_in.html#a4e556f7bb18f46654b3445476734076a":[2,0,0,9,4], -"structgridfire_1_1_net_in.html#a4e556f7bb18f46654b3445476734076a":[4,0,0,9,4], -"structgridfire_1_1_net_in.html#a5be0f5195a5cd1dd177b9fc5ab83a7be":[2,0,0,9,6], -"structgridfire_1_1_net_in.html#a5be0f5195a5cd1dd177b9fc5ab83a7be":[4,0,0,9,6], -"structgridfire_1_1_net_in.html#a6a5e909b46094ffa20da9a3da906e43f":[2,0,0,9,2], -"structgridfire_1_1_net_in.html#a6a5e909b46094ffa20da9a3da906e43f":[4,0,0,9,2], -"structgridfire_1_1_net_in.html#ae1fbce804bafa6ad2be4ac3470dac93b":[2,0,0,9,5], -"structgridfire_1_1_net_in.html#ae1fbce804bafa6ad2be4ac3470dac93b":[4,0,0,9,5], -"structgridfire_1_1_net_out.html":[2,0,0,10], -"structgridfire_1_1_net_out.html":[4,0,0,10], -"structgridfire_1_1_net_out.html#a073529511ae0e52f868b47cce0e8ac0a":[2,0,0,10,1], -"structgridfire_1_1_net_out.html#a073529511ae0e52f868b47cce0e8ac0a":[4,0,0,10,1], -"structgridfire_1_1_net_out.html#a43d5a861708992c949f616aa2a035ec6":[2,0,0,10,2], -"structgridfire_1_1_net_out.html#a43d5a861708992c949f616aa2a035ec6":[4,0,0,10,2], -"structgridfire_1_1_net_out.html#a51c16703132cf739ec2fd89eae7badd6":[2,0,0,10,3], -"structgridfire_1_1_net_out.html#a51c16703132cf739ec2fd89eae7badd6":[4,0,0,10,3], -"structgridfire_1_1_net_out.html#a6996f06951c2a873e5464773ddc7319b":[2,0,0,10,0], -"structgridfire_1_1_net_out.html#a6996f06951c2a873e5464773ddc7319b":[4,0,0,10,0], -"structgridfire_1_1_step_derivatives.html":[2,0,0,12], -"structgridfire_1_1_step_derivatives.html":[4,0,0,12], -"structgridfire_1_1_step_derivatives.html#ab4aeb41be952c7b5844e1ee81fef9008":[2,0,0,12,1], -"structgridfire_1_1_step_derivatives.html#ab4aeb41be952c7b5844e1ee81fef9008":[4,0,0,12,1], -"structgridfire_1_1_step_derivatives.html#ae0de268b86c2404379409c4feae0b34d":[2,0,0,12,0], -"structgridfire_1_1_step_derivatives.html#ae0de268b86c2404379409c4feae0b34d":[4,0,0,12,0], -"structgridfire_1_1approx8_1_1_approx8_net.html":[2,0,0,0,0], -"structgridfire_1_1approx8_1_1_approx8_net.html":[4,0,0,0,0], -"structgridfire_1_1approx8_1_1_approx8_net.html#a010df59d40b3bc8a802224968922ebde":[2,0,0,0,0,11], -"structgridfire_1_1approx8_1_1_approx8_net.html#a010df59d40b3bc8a802224968922ebde":[4,0,0,0,0,11], -"structgridfire_1_1approx8_1_1_approx8_net.html#a18501627dceb5d084bc7ba19f119826f":[2,0,0,0,0,3], -"structgridfire_1_1approx8_1_1_approx8_net.html#a18501627dceb5d084bc7ba19f119826f":[4,0,0,0,0,3], -"structgridfire_1_1approx8_1_1_approx8_net.html#a1af9135867aa3786721b89dbfdc4aee0":[2,0,0,0,0,8], -"structgridfire_1_1approx8_1_1_approx8_net.html#a1af9135867aa3786721b89dbfdc4aee0":[4,0,0,0,0,8], -"structgridfire_1_1approx8_1_1_approx8_net.html#a296e54c1b22f0c5d4d07a13577c6e069":[2,0,0,0,0,0], -"structgridfire_1_1approx8_1_1_approx8_net.html#a296e54c1b22f0c5d4d07a13577c6e069":[4,0,0,0,0,0], -"structgridfire_1_1approx8_1_1_approx8_net.html#a31928b4041479da6515a90569322fc02":[2,0,0,0,0,13], -"structgridfire_1_1approx8_1_1_approx8_net.html#a31928b4041479da6515a90569322fc02":[4,0,0,0,0,13], -"structgridfire_1_1approx8_1_1_approx8_net.html#a562c2383f585d3e9984225584d61c037":[2,0,0,0,0,2], -"structgridfire_1_1approx8_1_1_approx8_net.html#a562c2383f585d3e9984225584d61c037":[4,0,0,0,0,2], -"structgridfire_1_1approx8_1_1_approx8_net.html#a7218aa9b3dbe7c6eca52119e115692db":[2,0,0,0,0,14], -"structgridfire_1_1approx8_1_1_approx8_net.html#a7218aa9b3dbe7c6eca52119e115692db":[4,0,0,0,0,14], -"structgridfire_1_1approx8_1_1_approx8_net.html#a82977ad3df7f620e80a6235b3fe64731":[2,0,0,0,0,6], -"structgridfire_1_1approx8_1_1_approx8_net.html#a82977ad3df7f620e80a6235b3fe64731":[4,0,0,0,0,6], -"structgridfire_1_1approx8_1_1_approx8_net.html#a928b7810cb2993d59d40aa73c2faef18":[2,0,0,0,0,12], -"structgridfire_1_1approx8_1_1_approx8_net.html#a928b7810cb2993d59d40aa73c2faef18":[4,0,0,0,0,12], -"structgridfire_1_1approx8_1_1_approx8_net.html#a95b9a07e29285884e6de523f8132f653":[2,0,0,0,0,1], -"structgridfire_1_1approx8_1_1_approx8_net.html#a95b9a07e29285884e6de523f8132f653":[4,0,0,0,0,1], -"structgridfire_1_1approx8_1_1_approx8_net.html#a9647205f52fb0fa21316be39c3a6d709":[2,0,0,0,0,7], -"structgridfire_1_1approx8_1_1_approx8_net.html#a9647205f52fb0fa21316be39c3a6d709":[4,0,0,0,0,7], -"structgridfire_1_1approx8_1_1_approx8_net.html#ab0a43fee658efcaacfe7e6fb4870569b":[2,0,0,0,0,5], -"structgridfire_1_1approx8_1_1_approx8_net.html#ab0a43fee658efcaacfe7e6fb4870569b":[4,0,0,0,0,5], -"structgridfire_1_1approx8_1_1_approx8_net.html#ab4e95622dc0414ad7e636ef811e600af":[2,0,0,0,0,10], -"structgridfire_1_1approx8_1_1_approx8_net.html#ab4e95622dc0414ad7e636ef811e600af":[4,0,0,0,0,10], -"structgridfire_1_1approx8_1_1_approx8_net.html#acc735a17e005f7e25c68a86d9735ec4c":[2,0,0,0,0,4], -"structgridfire_1_1approx8_1_1_approx8_net.html#acc735a17e005f7e25c68a86d9735ec4c":[4,0,0,0,0,4], -"structgridfire_1_1approx8_1_1_approx8_net.html#ad43418fd8c536ebc814d5e6de555256c":[2,0,0,0,0,9], -"structgridfire_1_1approx8_1_1_approx8_net.html#ad43418fd8c536ebc814d5e6de555256c":[4,0,0,0,0,9], -"structgridfire_1_1approx8_1_1_jacobian.html":[2,0,0,0,2], -"structgridfire_1_1approx8_1_1_jacobian.html":[4,0,0,0,2], -"structgridfire_1_1approx8_1_1_jacobian.html#a548431915b5895082eb96ce66d5494fa":[2,0,0,0,2,0], -"structgridfire_1_1approx8_1_1_jacobian.html#a548431915b5895082eb96ce66d5494fa":[4,0,0,0,2,0], -"structgridfire_1_1approx8_1_1_o_d_e.html":[2,0,0,0,3], -"structgridfire_1_1approx8_1_1_o_d_e.html":[4,0,0,0,3], -"structgridfire_1_1approx8_1_1_o_d_e.html#a2e1eb1ce2aa7949c225d45ce4edf03d0":[2,0,0,0,3,0], -"structgridfire_1_1approx8_1_1_o_d_e.html#a2e1eb1ce2aa7949c225d45ce4edf03d0":[4,0,0,0,3,0], -"structgridfire_1_1reaclib_1_1_reaction_record.html":[2,0,0,1,0], -"structgridfire_1_1reaclib_1_1_reaction_record.html":[4,0,0,1,0], -"structgridfire_1_1reaclib_1_1_reaction_record.html#a2165deb1c0a54a5086b496cf34604fa5":[2,0,0,1,0,2], -"structgridfire_1_1reaclib_1_1_reaction_record.html#a2165deb1c0a54a5086b496cf34604fa5":[4,0,0,1,0,2], -"structgridfire_1_1reaclib_1_1_reaction_record.html#a523b7cfb0a6d8ddccd785aef2f425ad1":[2,0,0,1,0,7], -"structgridfire_1_1reaclib_1_1_reaction_record.html#a523b7cfb0a6d8ddccd785aef2f425ad1":[4,0,0,1,0,7], -"structgridfire_1_1reaclib_1_1_reaction_record.html#a5c853b69a23b0a8c39ab4b55ac3fe3cc":[2,0,0,1,0,0], -"structgridfire_1_1reaclib_1_1_reaction_record.html#a5c853b69a23b0a8c39ab4b55ac3fe3cc":[4,0,0,1,0,0], -"structgridfire_1_1reaclib_1_1_reaction_record.html#a67afc513db8dbcc43d79733e22ca8d39":[2,0,0,1,0,5], -"structgridfire_1_1reaclib_1_1_reaction_record.html#a67afc513db8dbcc43d79733e22ca8d39":[4,0,0,1,0,5], -"structgridfire_1_1reaclib_1_1_reaction_record.html#a80803f612e574859fde0a163bca84bc0":[2,0,0,1,0,1], -"structgridfire_1_1reaclib_1_1_reaction_record.html#a80803f612e574859fde0a163bca84bc0":[4,0,0,1,0,1], -"structgridfire_1_1reaclib_1_1_reaction_record.html#aa1fd4f510d7c00d2e4197e9b9caf29fd":[2,0,0,1,0,6], -"structgridfire_1_1reaclib_1_1_reaction_record.html#aa1fd4f510d7c00d2e4197e9b9caf29fd":[4,0,0,1,0,6], -"structgridfire_1_1reaclib_1_1_reaction_record.html#aeeb8a1e078a27420e398663825cce644":[2,0,0,1,0,4], -"structgridfire_1_1reaclib_1_1_reaction_record.html#aeeb8a1e078a27420e398663825cce644":[4,0,0,1,0,4], -"structgridfire_1_1reaclib_1_1_reaction_record.html#af1b1d3b0308d965ef0697b247fcf9082":[2,0,0,1,0,3], -"structgridfire_1_1reaclib_1_1_reaction_record.html#af1b1d3b0308d965ef0697b247fcf9082":[4,0,0,1,0,3], -"structgridfire_1_1reaction_1_1_rate_coefficient_set.html":[2,0,0,2,2], -"structgridfire_1_1reaction_1_1_rate_coefficient_set.html":[4,0,0,2,2], -"structgridfire_1_1reaction_1_1_rate_coefficient_set.html#a2a9316d19bc2e8bf0a7872eb6fe8a53f":[2,0,0,2,2,3], -"structgridfire_1_1reaction_1_1_rate_coefficient_set.html#a2a9316d19bc2e8bf0a7872eb6fe8a53f":[4,0,0,2,2,3], -"structgridfire_1_1reaction_1_1_rate_coefficient_set.html#a2fa6b65e300dcd181222b743c2b3d6ed":[2,0,0,2,2,1], -"structgridfire_1_1reaction_1_1_rate_coefficient_set.html#a2fa6b65e300dcd181222b743c2b3d6ed":[4,0,0,2,2,1], -"structgridfire_1_1reaction_1_1_rate_coefficient_set.html#a31a92f95a27e4430209dfc2bdfa5c40f":[2,0,0,2,2,0], -"structgridfire_1_1reaction_1_1_rate_coefficient_set.html#a31a92f95a27e4430209dfc2bdfa5c40f":[4,0,0,2,2,0], -"structgridfire_1_1reaction_1_1_rate_coefficient_set.html#a3d047485ebb57d6c763adfe4aae493b1":[2,0,0,2,2,4], -"structgridfire_1_1reaction_1_1_rate_coefficient_set.html#a3d047485ebb57d6c763adfe4aae493b1":[4,0,0,2,2,4], -"structgridfire_1_1reaction_1_1_rate_coefficient_set.html#a8c79db4e649b4eb1d29c43ebe4e95458":[2,0,0,2,2,6], -"structgridfire_1_1reaction_1_1_rate_coefficient_set.html#a8c79db4e649b4eb1d29c43ebe4e95458":[4,0,0,2,2,6], -"structgridfire_1_1reaction_1_1_rate_coefficient_set.html#ace9dbd928e179784e47eaa108ce8d721":[2,0,0,2,2,2], -"structgridfire_1_1reaction_1_1_rate_coefficient_set.html#ace9dbd928e179784e47eaa108ce8d721":[4,0,0,2,2,2], -"structgridfire_1_1reaction_1_1_rate_coefficient_set.html#adf8e6ed7f91cb9e15d1469a808b1877a":[2,0,0,2,2,7], -"structgridfire_1_1reaction_1_1_rate_coefficient_set.html#adf8e6ed7f91cb9e15d1469a808b1877a":[4,0,0,2,2,7], -"structgridfire_1_1reaction_1_1_rate_coefficient_set.html#ae57b2eac71cb4ed9947f40c9cb8fc3ca":[2,0,0,2,2,5], -"structgridfire_1_1reaction_1_1_rate_coefficient_set.html#ae57b2eac71cb4ed9947f40c9cb8fc3ca":[4,0,0,2,2,5], -"structgridfire_1_1solver_1_1_direct_network_solver_1_1_jacobian_functor.html":[2,0,0,3,0,0], -"structgridfire_1_1solver_1_1_direct_network_solver_1_1_jacobian_functor.html":[4,0,0,3,0,0], -"structgridfire_1_1solver_1_1_direct_network_solver_1_1_jacobian_functor.html#a3f624142212b5e6ff65f5706953fe353":[2,0,0,3,0,0,3], -"structgridfire_1_1solver_1_1_direct_network_solver_1_1_jacobian_functor.html#a3f624142212b5e6ff65f5706953fe353":[4,0,0,3,0,0,3], -"structgridfire_1_1solver_1_1_direct_network_solver_1_1_jacobian_functor.html#a56f8b2b222fb2a7dac190ead0babfdd0":[2,0,0,3,0,0,2], -"structgridfire_1_1solver_1_1_direct_network_solver_1_1_jacobian_functor.html#a56f8b2b222fb2a7dac190ead0babfdd0":[4,0,0,3,0,0,2], -"structgridfire_1_1solver_1_1_direct_network_solver_1_1_jacobian_functor.html#a88f5fc48a555b369f1e2688d6bb67b83":[2,0,0,3,0,0,5], -"structgridfire_1_1solver_1_1_direct_network_solver_1_1_jacobian_functor.html#a88f5fc48a555b369f1e2688d6bb67b83":[4,0,0,3,0,0,5], -"structgridfire_1_1solver_1_1_direct_network_solver_1_1_jacobian_functor.html#a932c41aa9f1aa38e56a03b27cd2ccda4":[2,0,0,3,0,0,4], -"structgridfire_1_1solver_1_1_direct_network_solver_1_1_jacobian_functor.html#a932c41aa9f1aa38e56a03b27cd2ccda4":[4,0,0,3,0,0,4], -"structgridfire_1_1solver_1_1_direct_network_solver_1_1_jacobian_functor.html#ad4fc0b406218aa2f567f5c61a4eda3c9":[2,0,0,3,0,0,1], -"structgridfire_1_1solver_1_1_direct_network_solver_1_1_jacobian_functor.html#ad4fc0b406218aa2f567f5c61a4eda3c9":[4,0,0,3,0,0,1], -"structgridfire_1_1solver_1_1_direct_network_solver_1_1_jacobian_functor.html#afd2a548ffb907b0fb1fa28993ea99f25":[2,0,0,3,0,0,0], -"structgridfire_1_1solver_1_1_direct_network_solver_1_1_jacobian_functor.html#afd2a548ffb907b0fb1fa28993ea99f25":[4,0,0,3,0,0,0], -"structgridfire_1_1solver_1_1_direct_network_solver_1_1_r_h_s_functor.html":[2,0,0,3,0,1], -"structgridfire_1_1solver_1_1_direct_network_solver_1_1_r_h_s_functor.html":[4,0,0,3,0,1], -"structgridfire_1_1solver_1_1_direct_network_solver_1_1_r_h_s_functor.html#a04f8c84e46e6fbd0977e50fda4829d1a":[2,0,0,3,0,1,2], -"structgridfire_1_1solver_1_1_direct_network_solver_1_1_r_h_s_functor.html#a04f8c84e46e6fbd0977e50fda4829d1a":[4,0,0,3,0,1,2], -"structgridfire_1_1solver_1_1_direct_network_solver_1_1_r_h_s_functor.html#a082844f1eae0609e66620575210e8823":[2,0,0,3,0,1,5], -"structgridfire_1_1solver_1_1_direct_network_solver_1_1_r_h_s_functor.html#a082844f1eae0609e66620575210e8823":[4,0,0,3,0,1,5], -"structgridfire_1_1solver_1_1_direct_network_solver_1_1_r_h_s_functor.html#a3a7542b6c6b4c86b6fe53f54d7232919":[2,0,0,3,0,1,1], -"structgridfire_1_1solver_1_1_direct_network_solver_1_1_r_h_s_functor.html#a3a7542b6c6b4c86b6fe53f54d7232919":[4,0,0,3,0,1,1], -"structgridfire_1_1solver_1_1_direct_network_solver_1_1_r_h_s_functor.html#a7d4f7f04c4ee6f0b519194f87aa265e7":[2,0,0,3,0,1,4], -"structgridfire_1_1solver_1_1_direct_network_solver_1_1_r_h_s_functor.html#a7d4f7f04c4ee6f0b519194f87aa265e7":[4,0,0,3,0,1,4], -"structgridfire_1_1solver_1_1_direct_network_solver_1_1_r_h_s_functor.html#ac4a1af03d2a4fbc5cc2407b8a6833147":[2,0,0,3,0,1,3], -"structgridfire_1_1solver_1_1_direct_network_solver_1_1_r_h_s_functor.html#ac4a1af03d2a4fbc5cc2407b8a6833147":[4,0,0,3,0,1,3], -"structgridfire_1_1solver_1_1_direct_network_solver_1_1_r_h_s_functor.html#aed201b52ea757069c17a49e9638b3d3c":[2,0,0,3,0,1,0], -"structgridfire_1_1solver_1_1_direct_network_solver_1_1_r_h_s_functor.html#aed201b52ea757069c17a49e9638b3d3c":[4,0,0,3,0,1,0], -"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html":[2,0,0,3,3,0], -"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html":[4,0,0,3,3,0], -"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#a08ce53701b152f3ce108c1c18ce64de2":[2,0,0,3,3,0,6], -"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#a08ce53701b152f3ce108c1c18ce64de2":[4,0,0,3,3,0,6], -"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#a6771ae56ddd9058954b42ee92a378309":[2,0,0,3,3,0,10], -"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#a6771ae56ddd9058954b42ee92a378309":[4,0,0,3,3,0,10], -"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#a91c9c7c40c061dcfb6e57524e696676e":[2,0,0,3,3,0,5], -"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#a91c9c7c40c061dcfb6e57524e696676e":[4,0,0,3,3,0,5] +"namespacegridfire_1_1io.html":[2,0,0,1], +"namespacegridfire_1_1reaclib.html":[2,0,0,2], +"namespacegridfire_1_1reaclib.html#a02ff11b88be94392151873e06a30b276":[2,0,0,2,2], +"namespacegridfire_1_1reaclib.html#a5dba5efc372d2a9e9e846dfd6563f3c0":[2,0,0,2,5], +"namespacegridfire_1_1reaclib.html#a6bb94d5adc7bb9db5a67f770f7453e63":[2,0,0,2,3], +"namespacegridfire_1_1reaclib.html#a91c7971c9d0a2971b9a6fa4d841c761d":[2,0,0,2,1], +"namespacegridfire_1_1reaclib.html#af6ff0dfe7ffe34c73ba9acbab5ef8a66":[2,0,0,2,6], +"namespacegridfire_1_1reaclib.html#afc0deac6cbef076e8884e66fd3ab66e0":[2,0,0,2,4], +"namespacegridfire_1_1reaction.html":[2,0,0,3] }; diff --git a/docs/html/navtreeindex3.js b/docs/html/navtreeindex3.js index b54aae81..dd395d83 100644 --- a/docs/html/navtreeindex3.js +++ b/docs/html/navtreeindex3.js @@ -1,72 +1,253 @@ var NAVTREEINDEX3 = { -"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#a93b46ca95ddf9e4d21d02700621e6285":[2,0,0,3,3,0,7], -"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#a93b46ca95ddf9e4d21d02700621e6285":[4,0,0,3,3,0,7], -"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#ab0a0d4c166e97b971543cbbf2b0a1a2e":[2,0,0,3,3,0,9], -"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#ab0a0d4c166e97b971543cbbf2b0a1a2e":[4,0,0,3,3,0,9], -"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#abaf28fdd93e881ef56c24f541be7492d":[2,0,0,3,3,0,8], -"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#abaf28fdd93e881ef56c24f541be7492d":[4,0,0,3,3,0,8], -"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#abc86b32db81acf1b24feb3763dc4ddb0":[2,0,0,3,3,0,2], -"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#abc86b32db81acf1b24feb3763dc4ddb0":[4,0,0,3,3,0,2], -"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#ac46bd712296b03f31af1573f6a0f5644":[2,0,0,3,3,0,4], -"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#ac46bd712296b03f31af1573f6a0f5644":[4,0,0,3,3,0,4], -"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#ac4ec3c180a9778acdd604a9b80d25399":[2,0,0,3,3,0,0], -"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#ac4ec3c180a9778acdd604a9b80d25399":[4,0,0,3,3,0,0], -"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#ad42fdb6d5ae06eaa6ddccf03eba0a50c":[2,0,0,3,3,0,1], -"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#ad42fdb6d5ae06eaa6ddccf03eba0a50c":[4,0,0,3,3,0,1], -"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#af4f10300bde1e8e07b896bfca6335401":[2,0,0,3,3,0,11], -"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#af4f10300bde1e8e07b896bfca6335401":[4,0,0,3,3,0,11], -"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#af8650f704c2ca512c9c5b4562b3b0958":[2,0,0,3,3,0,3], -"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#af8650f704c2ca512c9c5b4562b3b0958":[4,0,0,3,3,0,3], -"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_jacobian_functor.html":[2,0,0,3,3,1], -"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_jacobian_functor.html":[4,0,0,3,3,1], -"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_jacobian_functor.html#a0907f7b6c1a87baf5e39fbc17a30df82":[2,0,0,3,3,1,5], -"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_jacobian_functor.html#a0907f7b6c1a87baf5e39fbc17a30df82":[4,0,0,3,3,1,5], -"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_jacobian_functor.html#a1b92391170eb46771bd499aa8d115334":[2,0,0,3,3,1,4], -"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_jacobian_functor.html#a1b92391170eb46771bd499aa8d115334":[4,0,0,3,3,1,4], -"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_jacobian_functor.html#a2071ce797f94ae1a3ea6d934748672ce":[2,0,0,3,3,1,2], -"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_jacobian_functor.html#a2071ce797f94ae1a3ea6d934748672ce":[4,0,0,3,3,1,2], -"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_jacobian_functor.html#a3668fae1e0f8e69ff3fd87275bf4a79d":[2,0,0,3,3,1,1], -"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_jacobian_functor.html#a3668fae1e0f8e69ff3fd87275bf4a79d":[4,0,0,3,3,1,1], -"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_jacobian_functor.html#a85f88639447a9a706008efece82ff289":[2,0,0,3,3,1,6], -"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_jacobian_functor.html#a85f88639447a9a706008efece82ff289":[4,0,0,3,3,1,6], -"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_jacobian_functor.html#aaaa82eff96e6127a6de05444f730e43a":[2,0,0,3,3,1,3], -"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_jacobian_functor.html#aaaa82eff96e6127a6de05444f730e43a":[4,0,0,3,3,1,3], -"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_jacobian_functor.html#ab8222646cd32670a046b6c74909bd83a":[2,0,0,3,3,1,0], -"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_jacobian_functor.html#ab8222646cd32670a046b6c74909bd83a":[4,0,0,3,3,1,0], -"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_r_h_s_functor.html":[2,0,0,3,3,2], -"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_r_h_s_functor.html":[4,0,0,3,3,2], -"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_r_h_s_functor.html#a02c23ef20d616bf5a591a274b66cd75a":[2,0,0,3,3,2,8], -"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_r_h_s_functor.html#a02c23ef20d616bf5a591a274b66cd75a":[4,0,0,3,3,2,8], -"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_r_h_s_functor.html#a0d8d28a6559cfed5e7cd683523d49b2c":[2,0,0,3,3,2,3], -"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_r_h_s_functor.html#a0d8d28a6559cfed5e7cd683523d49b2c":[4,0,0,3,3,2,3], -"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_r_h_s_functor.html#a35026100163c7cc6fdb4c2e4d988b8cb":[2,0,0,3,3,2,7], -"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_r_h_s_functor.html#a35026100163c7cc6fdb4c2e4d988b8cb":[4,0,0,3,3,2,7], -"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_r_h_s_functor.html#a3ac1ef529627d21f7d1ad718dc87f7f9":[2,0,0,3,3,2,2], -"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_r_h_s_functor.html#a3ac1ef529627d21f7d1ad718dc87f7f9":[4,0,0,3,3,2,2], -"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_r_h_s_functor.html#a5353d8e6f27b6c435084a167bc009e46":[2,0,0,3,3,2,0], -"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_r_h_s_functor.html#a5353d8e6f27b6c435084a167bc009e46":[4,0,0,3,3,2,0], -"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_r_h_s_functor.html#a6be7259897a47ce480b289144b06e269":[2,0,0,3,3,2,5], -"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_r_h_s_functor.html#a6be7259897a47ce480b289144b06e269":[4,0,0,3,3,2,5], -"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_r_h_s_functor.html#a81f964b87457847d7de13fed18499283":[2,0,0,3,3,2,4], -"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_r_h_s_functor.html#a81f964b87457847d7de13fed18499283":[4,0,0,3,3,2,4], -"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_r_h_s_functor.html#adc0f8e655af42f414dcb220a7224f261":[2,0,0,3,3,2,6], -"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_r_h_s_functor.html#adc0f8e655af42f414dcb220a7224f261":[4,0,0,3,3,2,6], -"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_r_h_s_functor.html#ae0b6362d9c0a14e69c7a47233db6a86a":[2,0,0,3,3,2,1], -"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_r_h_s_functor.html#ae0b6362d9c0a14e69c7a47233db6a86a":[4,0,0,3,3,2,1], -"structgridfire_1_1solver_1_1dynamic_q_s_e_species_indices.html":[2,0,0,3,1], -"structgridfire_1_1solver_1_1dynamic_q_s_e_species_indices.html":[4,0,0,3,1], -"structgridfire_1_1solver_1_1dynamic_q_s_e_species_indices.html#a7d4ba82d9e60a4914938ebebecaab4a2":[2,0,0,3,1,1], -"structgridfire_1_1solver_1_1dynamic_q_s_e_species_indices.html#a7d4ba82d9e60a4914938ebebecaab4a2":[4,0,0,3,1,1], -"structgridfire_1_1solver_1_1dynamic_q_s_e_species_indices.html#ac6e0419abdd3c78b32e34c16c0543157":[2,0,0,3,1,0], -"structgridfire_1_1solver_1_1dynamic_q_s_e_species_indices.html#ac6e0419abdd3c78b32e34c16c0543157":[4,0,0,3,1,0], -"structstd_1_1hash_3_01gridfire_1_1reaction_1_1_reaction_01_4.html":[2,0,1,0], -"structstd_1_1hash_3_01gridfire_1_1reaction_1_1_reaction_01_4.html":[4,0,1,0], -"structstd_1_1hash_3_01gridfire_1_1reaction_1_1_reaction_01_4.html#a48224b63a80690e4f0620f1312be5dd9":[2,0,1,0,0], -"structstd_1_1hash_3_01gridfire_1_1reaction_1_1_reaction_01_4.html#a48224b63a80690e4f0620f1312be5dd9":[4,0,1,0,0], -"structstd_1_1hash_3_01gridfire_1_1reaction_1_1_reaction_set_01_4.html":[2,0,1,1], -"structstd_1_1hash_3_01gridfire_1_1reaction_1_1_reaction_set_01_4.html":[4,0,1,1], -"structstd_1_1hash_3_01gridfire_1_1reaction_1_1_reaction_set_01_4.html#a32b976b3e3e4e0403c1295f9b467e921":[2,0,1,1,0], -"structstd_1_1hash_3_01gridfire_1_1reaction_1_1_reaction_set_01_4.html#a32b976b3e3e4e0403c1295f9b467e921":[4,0,1,1,0], -"todo.html":[1] +"namespacegridfire_1_1reaction.html#aa86f08712565f278adacc7cd2361eb31":[2,0,0,3,4], +"namespacegridfire_1_1reaction.html#abfcfafc0cda0c3ed56930a12e7ead67f":[2,0,0,3,6], +"namespacegridfire_1_1reaction.html#ad838ce3fb6cc02c3fd90b924a0dd91b1":[2,0,0,3,5], +"namespacegridfire_1_1screening.html":[2,0,0,4], +"namespacegridfire_1_1screening.html#a6ca8556d27ac373e176f5b23437c416e":[2,0,0,4,5], +"namespacegridfire_1_1screening.html#aa82aafbc4f8c28d0a75b60798e3a7d25":[2,0,0,4,4], +"namespacegridfire_1_1screening.html#aa82aafbc4f8c28d0a75b60798e3a7d25a32c7d8943bec86a6d7d5e03598670ca8":[2,0,0,4,4,1], +"namespacegridfire_1_1screening.html#aa82aafbc4f8c28d0a75b60798e3a7d25ad80b95b1abb9c8659fa4cc9d3d29bb71":[2,0,0,4,4,0], +"namespacegridfire_1_1screening.html#ae7dd1a7ccb7bf3c05084094ab008d8a3":[2,0,0,4,3], +"namespacegridfire_1_1solver.html":[2,0,0,5], +"namespacegridfire_1_1solver.html#a5361d6cf364f0ba2f88285a60bb9cd92":[2,0,0,5,6], +"namespacegridfire_1_1solver.html#a8118d08bc25e439754b43a3f5ecc1db3":[2,0,0,5,5], +"namespacegridfire_1_1solver.html#af3b10822ab58b55365577755c1f4faf6":[2,0,0,5,4], +"namespacegridfire_1_1utils.html":[2,0,0,6], +"namespacegridfire_1_1utils.html#af56693a70d9e2b40c8ae2c3bcd4b26c8":[2,0,0,6,0], +"namespacemembers.html":[2,1,0], +"namespacemembers_enum.html":[2,1,4], +"namespacemembers_eval.html":[2,1,5], +"namespacemembers_func.html":[2,1,1], +"namespacemembers_type.html":[2,1,3], +"namespacemembers_vars.html":[2,1,2], +"namespaces.html":[2,0], +"namespacestd.html":[2,0,1], +"network_8cpp.html":[5,0,1,0,1,6], +"network_8cpp_source.html":[5,0,1,0,1,6], +"network_8h.html":[5,0,1,0,0,0,6], +"network_8h_source.html":[5,0,1,0,0,0,6], +"network__file_8cpp.html":[5,0,1,0,1,1,0], +"network__file_8cpp_source.html":[5,0,1,0,1,1,0], +"network__file_8h.html":[5,0,1,0,0,0,1,0], +"network__file_8h_source.html":[5,0,1,0,0,0,1,0], +"pages.html":[], +"reaclib_8cpp.html":[5,0,1,0,1,2,0], +"reaclib_8cpp.html#a2c6902cf3e699a1a65e871efa878a6ab":[5,0,1,0,1,2,0,5], +"reaclib_8cpp_source.html":[5,0,1,0,1,2,0], +"reaclib_8h.html":[5,0,1,0,0,0,2,0], +"reaclib_8h_source.html":[5,0,1,0,0,0,2,0], +"reaction_8cpp.html":[5,0,1,0,1,2,1], +"reaction_8cpp_source.html":[5,0,1,0,1,2,1], +"reaction_8h.html":[5,0,1,0,0,0,2,1], +"reaction_8h_source.html":[5,0,1,0,0,0,2,1], +"reactions__data_8h.html":[5,0,1,0,0,0,2,2], +"reactions__data_8h.html#a32dea82d95667c3df395d58fb469ce2a":[5,0,1,0,0,0,2,2,1], +"reactions__data_8h.html#aeb44e2b3b67960dfd83ecd7136c7d38b":[5,0,1,0,0,0,2,2,0], +"reactions__data_8h_source.html":[5,0,1,0,0,0,2,2], +"screening__abstract_8h.html":[5,0,1,0,0,0,3,0], +"screening__abstract_8h_source.html":[5,0,1,0,0,0,3,0], +"screening__bare_8cpp.html":[5,0,1,0,1,3,0], +"screening__bare_8cpp_source.html":[5,0,1,0,1,3,0], +"screening__bare_8h.html":[5,0,1,0,0,0,3,1], +"screening__bare_8h_source.html":[5,0,1,0,0,0,3,1], +"screening__types_8cpp.html":[5,0,1,0,1,3,1], +"screening__types_8cpp_source.html":[5,0,1,0,1,3,1], +"screening__types_8h.html":[5,0,1,0,0,0,3,2], +"screening__types_8h_source.html":[5,0,1,0,0,0,3,2], +"screening__weak_8cpp.html":[5,0,1,0,1,3,2], +"screening__weak_8cpp_source.html":[5,0,1,0,1,3,2], +"screening__weak_8h.html":[5,0,1,0,0,0,3,3], +"screening__weak_8h_source.html":[5,0,1,0,0,0,3,3], +"solver_8cpp.html":[5,0,1,0,1,4,0], +"solver_8cpp_source.html":[5,0,1,0,1,4,0], +"solver_8h.html":[5,0,1,0,0,0,4,0], +"solver_8h_source.html":[5,0,1,0,0,0,4,0], +"structgridfire_1_1_adaptive_engine_view_1_1_reaction_flow.html":[2,0,0,7,0], +"structgridfire_1_1_adaptive_engine_view_1_1_reaction_flow.html":[4,0,0,6,0], +"structgridfire_1_1_adaptive_engine_view_1_1_reaction_flow.html#a3bb21f20df8115d37108cf3c3be3bc6f":[2,0,0,7,0,1], +"structgridfire_1_1_adaptive_engine_view_1_1_reaction_flow.html#a3bb21f20df8115d37108cf3c3be3bc6f":[4,0,0,6,0,1], +"structgridfire_1_1_adaptive_engine_view_1_1_reaction_flow.html#a6c2e9087f6c8af5d89a5f0de7bd4a5b4":[2,0,0,7,0,0], +"structgridfire_1_1_adaptive_engine_view_1_1_reaction_flow.html#a6c2e9087f6c8af5d89a5f0de7bd4a5b4":[4,0,0,6,0,0], +"structgridfire_1_1_net_in.html":[2,0,0,13], +"structgridfire_1_1_net_in.html":[4,0,0,12], +"structgridfire_1_1_net_in.html#a06f0dff9f8927b7cf2da3004c8fa1577":[2,0,0,13,3], +"structgridfire_1_1_net_in.html#a06f0dff9f8927b7cf2da3004c8fa1577":[4,0,0,12,3], +"structgridfire_1_1_net_in.html#a0a8d820cfeaa92ee31f253795c57e0d1":[2,0,0,13,7], +"structgridfire_1_1_net_in.html#a0a8d820cfeaa92ee31f253795c57e0d1":[4,0,0,12,7], +"structgridfire_1_1_net_in.html#a13058f4929e72c1187abbebcddb8aed1":[2,0,0,13,1], +"structgridfire_1_1_net_in.html#a13058f4929e72c1187abbebcddb8aed1":[4,0,0,12,1], +"structgridfire_1_1_net_in.html#a47781e8d5503e3b4f12d669e2cbcfb65":[2,0,0,13,0], +"structgridfire_1_1_net_in.html#a47781e8d5503e3b4f12d669e2cbcfb65":[4,0,0,12,0], +"structgridfire_1_1_net_in.html#a4e556f7bb18f46654b3445476734076a":[2,0,0,13,4], +"structgridfire_1_1_net_in.html#a4e556f7bb18f46654b3445476734076a":[4,0,0,12,4], +"structgridfire_1_1_net_in.html#a5be0f5195a5cd1dd177b9fc5ab83a7be":[2,0,0,13,6], +"structgridfire_1_1_net_in.html#a5be0f5195a5cd1dd177b9fc5ab83a7be":[4,0,0,12,6], +"structgridfire_1_1_net_in.html#a6a5e909b46094ffa20da9a3da906e43f":[2,0,0,13,2], +"structgridfire_1_1_net_in.html#a6a5e909b46094ffa20da9a3da906e43f":[4,0,0,12,2], +"structgridfire_1_1_net_in.html#ae1fbce804bafa6ad2be4ac3470dac93b":[2,0,0,13,5], +"structgridfire_1_1_net_in.html#ae1fbce804bafa6ad2be4ac3470dac93b":[4,0,0,12,5], +"structgridfire_1_1_net_out.html":[2,0,0,14], +"structgridfire_1_1_net_out.html":[4,0,0,13], +"structgridfire_1_1_net_out.html#a073529511ae0e52f868b47cce0e8ac0a":[2,0,0,14,1], +"structgridfire_1_1_net_out.html#a073529511ae0e52f868b47cce0e8ac0a":[4,0,0,13,1], +"structgridfire_1_1_net_out.html#a43d5a861708992c949f616aa2a035ec6":[2,0,0,14,2], +"structgridfire_1_1_net_out.html#a43d5a861708992c949f616aa2a035ec6":[4,0,0,13,2], +"structgridfire_1_1_net_out.html#a51c16703132cf739ec2fd89eae7badd6":[2,0,0,14,3], +"structgridfire_1_1_net_out.html#a51c16703132cf739ec2fd89eae7badd6":[4,0,0,13,3], +"structgridfire_1_1_net_out.html#a6996f06951c2a873e5464773ddc7319b":[2,0,0,14,0], +"structgridfire_1_1_net_out.html#a6996f06951c2a873e5464773ddc7319b":[4,0,0,13,0], +"structgridfire_1_1_step_derivatives.html":[2,0,0,16], +"structgridfire_1_1_step_derivatives.html":[4,0,0,15], +"structgridfire_1_1_step_derivatives.html#ab4aeb41be952c7b5844e1ee81fef9008":[2,0,0,16,1], +"structgridfire_1_1_step_derivatives.html#ab4aeb41be952c7b5844e1ee81fef9008":[4,0,0,15,1], +"structgridfire_1_1_step_derivatives.html#ae0de268b86c2404379409c4feae0b34d":[2,0,0,16,0], +"structgridfire_1_1_step_derivatives.html#ae0de268b86c2404379409c4feae0b34d":[4,0,0,15,0], +"structgridfire_1_1approx8_1_1_approx8_net.html":[2,0,0,0,0], +"structgridfire_1_1approx8_1_1_approx8_net.html":[4,0,0,0,0], +"structgridfire_1_1approx8_1_1_approx8_net.html#a010df59d40b3bc8a802224968922ebde":[2,0,0,0,0,11], +"structgridfire_1_1approx8_1_1_approx8_net.html#a010df59d40b3bc8a802224968922ebde":[4,0,0,0,0,11], +"structgridfire_1_1approx8_1_1_approx8_net.html#a18501627dceb5d084bc7ba19f119826f":[2,0,0,0,0,3], +"structgridfire_1_1approx8_1_1_approx8_net.html#a18501627dceb5d084bc7ba19f119826f":[4,0,0,0,0,3], +"structgridfire_1_1approx8_1_1_approx8_net.html#a1af9135867aa3786721b89dbfdc4aee0":[2,0,0,0,0,8], +"structgridfire_1_1approx8_1_1_approx8_net.html#a1af9135867aa3786721b89dbfdc4aee0":[4,0,0,0,0,8], +"structgridfire_1_1approx8_1_1_approx8_net.html#a296e54c1b22f0c5d4d07a13577c6e069":[2,0,0,0,0,0], +"structgridfire_1_1approx8_1_1_approx8_net.html#a296e54c1b22f0c5d4d07a13577c6e069":[4,0,0,0,0,0], +"structgridfire_1_1approx8_1_1_approx8_net.html#a31928b4041479da6515a90569322fc02":[2,0,0,0,0,13], +"structgridfire_1_1approx8_1_1_approx8_net.html#a31928b4041479da6515a90569322fc02":[4,0,0,0,0,13], +"structgridfire_1_1approx8_1_1_approx8_net.html#a562c2383f585d3e9984225584d61c037":[2,0,0,0,0,2], +"structgridfire_1_1approx8_1_1_approx8_net.html#a562c2383f585d3e9984225584d61c037":[4,0,0,0,0,2], +"structgridfire_1_1approx8_1_1_approx8_net.html#a7218aa9b3dbe7c6eca52119e115692db":[2,0,0,0,0,14], +"structgridfire_1_1approx8_1_1_approx8_net.html#a7218aa9b3dbe7c6eca52119e115692db":[4,0,0,0,0,14], +"structgridfire_1_1approx8_1_1_approx8_net.html#a82977ad3df7f620e80a6235b3fe64731":[2,0,0,0,0,6], +"structgridfire_1_1approx8_1_1_approx8_net.html#a82977ad3df7f620e80a6235b3fe64731":[4,0,0,0,0,6], +"structgridfire_1_1approx8_1_1_approx8_net.html#a928b7810cb2993d59d40aa73c2faef18":[2,0,0,0,0,12], +"structgridfire_1_1approx8_1_1_approx8_net.html#a928b7810cb2993d59d40aa73c2faef18":[4,0,0,0,0,12], +"structgridfire_1_1approx8_1_1_approx8_net.html#a95b9a07e29285884e6de523f8132f653":[2,0,0,0,0,1], +"structgridfire_1_1approx8_1_1_approx8_net.html#a95b9a07e29285884e6de523f8132f653":[4,0,0,0,0,1], +"structgridfire_1_1approx8_1_1_approx8_net.html#a9647205f52fb0fa21316be39c3a6d709":[2,0,0,0,0,7], +"structgridfire_1_1approx8_1_1_approx8_net.html#a9647205f52fb0fa21316be39c3a6d709":[4,0,0,0,0,7], +"structgridfire_1_1approx8_1_1_approx8_net.html#ab0a43fee658efcaacfe7e6fb4870569b":[2,0,0,0,0,5], +"structgridfire_1_1approx8_1_1_approx8_net.html#ab0a43fee658efcaacfe7e6fb4870569b":[4,0,0,0,0,5], +"structgridfire_1_1approx8_1_1_approx8_net.html#ab4e95622dc0414ad7e636ef811e600af":[2,0,0,0,0,10], +"structgridfire_1_1approx8_1_1_approx8_net.html#ab4e95622dc0414ad7e636ef811e600af":[4,0,0,0,0,10], +"structgridfire_1_1approx8_1_1_approx8_net.html#acc735a17e005f7e25c68a86d9735ec4c":[2,0,0,0,0,4], +"structgridfire_1_1approx8_1_1_approx8_net.html#acc735a17e005f7e25c68a86d9735ec4c":[4,0,0,0,0,4], +"structgridfire_1_1approx8_1_1_approx8_net.html#ad43418fd8c536ebc814d5e6de555256c":[2,0,0,0,0,9], +"structgridfire_1_1approx8_1_1_approx8_net.html#ad43418fd8c536ebc814d5e6de555256c":[4,0,0,0,0,9], +"structgridfire_1_1approx8_1_1_jacobian.html":[2,0,0,0,2], +"structgridfire_1_1approx8_1_1_jacobian.html":[4,0,0,0,2], +"structgridfire_1_1approx8_1_1_jacobian.html#a548431915b5895082eb96ce66d5494fa":[2,0,0,0,2,0], +"structgridfire_1_1approx8_1_1_jacobian.html#a548431915b5895082eb96ce66d5494fa":[4,0,0,0,2,0], +"structgridfire_1_1approx8_1_1_o_d_e.html":[2,0,0,0,3], +"structgridfire_1_1approx8_1_1_o_d_e.html":[4,0,0,0,3], +"structgridfire_1_1approx8_1_1_o_d_e.html#a2e1eb1ce2aa7949c225d45ce4edf03d0":[2,0,0,0,3,0], +"structgridfire_1_1approx8_1_1_o_d_e.html#a2e1eb1ce2aa7949c225d45ce4edf03d0":[4,0,0,0,3,0], +"structgridfire_1_1io_1_1_parsed_network_data.html":[2,0,0,1,2], +"structgridfire_1_1io_1_1_parsed_network_data.html":[4,0,0,1,2], +"structgridfire_1_1io_1_1_parsed_network_data.html#a5145c672877638e6113abf1f719b246d":[2,0,0,1,2,0], +"structgridfire_1_1io_1_1_parsed_network_data.html#a5145c672877638e6113abf1f719b246d":[4,0,0,1,2,0], +"structgridfire_1_1reaclib_1_1_reaction_record.html":[2,0,0,2,0], +"structgridfire_1_1reaclib_1_1_reaction_record.html":[4,0,0,2,0], +"structgridfire_1_1reaclib_1_1_reaction_record.html#a2165deb1c0a54a5086b496cf34604fa5":[2,0,0,2,0,2], +"structgridfire_1_1reaclib_1_1_reaction_record.html#a2165deb1c0a54a5086b496cf34604fa5":[4,0,0,2,0,2], +"structgridfire_1_1reaclib_1_1_reaction_record.html#a523b7cfb0a6d8ddccd785aef2f425ad1":[2,0,0,2,0,7], +"structgridfire_1_1reaclib_1_1_reaction_record.html#a523b7cfb0a6d8ddccd785aef2f425ad1":[4,0,0,2,0,7], +"structgridfire_1_1reaclib_1_1_reaction_record.html#a5c853b69a23b0a8c39ab4b55ac3fe3cc":[2,0,0,2,0,0], +"structgridfire_1_1reaclib_1_1_reaction_record.html#a5c853b69a23b0a8c39ab4b55ac3fe3cc":[4,0,0,2,0,0], +"structgridfire_1_1reaclib_1_1_reaction_record.html#a67afc513db8dbcc43d79733e22ca8d39":[2,0,0,2,0,5], +"structgridfire_1_1reaclib_1_1_reaction_record.html#a67afc513db8dbcc43d79733e22ca8d39":[4,0,0,2,0,5], +"structgridfire_1_1reaclib_1_1_reaction_record.html#a80803f612e574859fde0a163bca84bc0":[2,0,0,2,0,1], +"structgridfire_1_1reaclib_1_1_reaction_record.html#a80803f612e574859fde0a163bca84bc0":[4,0,0,2,0,1], +"structgridfire_1_1reaclib_1_1_reaction_record.html#aa1fd4f510d7c00d2e4197e9b9caf29fd":[2,0,0,2,0,6], +"structgridfire_1_1reaclib_1_1_reaction_record.html#aa1fd4f510d7c00d2e4197e9b9caf29fd":[4,0,0,2,0,6], +"structgridfire_1_1reaclib_1_1_reaction_record.html#aeeb8a1e078a27420e398663825cce644":[2,0,0,2,0,4], +"structgridfire_1_1reaclib_1_1_reaction_record.html#aeeb8a1e078a27420e398663825cce644":[4,0,0,2,0,4], +"structgridfire_1_1reaclib_1_1_reaction_record.html#af1b1d3b0308d965ef0697b247fcf9082":[2,0,0,2,0,3], +"structgridfire_1_1reaclib_1_1_reaction_record.html#af1b1d3b0308d965ef0697b247fcf9082":[4,0,0,2,0,3], +"structgridfire_1_1reaction_1_1_rate_coefficient_set.html":[2,0,0,3,1], +"structgridfire_1_1reaction_1_1_rate_coefficient_set.html":[4,0,0,3,1], +"structgridfire_1_1reaction_1_1_rate_coefficient_set.html#a2a9316d19bc2e8bf0a7872eb6fe8a53f":[2,0,0,3,1,3], +"structgridfire_1_1reaction_1_1_rate_coefficient_set.html#a2a9316d19bc2e8bf0a7872eb6fe8a53f":[4,0,0,3,1,3], +"structgridfire_1_1reaction_1_1_rate_coefficient_set.html#a2fa6b65e300dcd181222b743c2b3d6ed":[2,0,0,3,1,1], +"structgridfire_1_1reaction_1_1_rate_coefficient_set.html#a2fa6b65e300dcd181222b743c2b3d6ed":[4,0,0,3,1,1], +"structgridfire_1_1reaction_1_1_rate_coefficient_set.html#a31a92f95a27e4430209dfc2bdfa5c40f":[2,0,0,3,1,0], +"structgridfire_1_1reaction_1_1_rate_coefficient_set.html#a31a92f95a27e4430209dfc2bdfa5c40f":[4,0,0,3,1,0], +"structgridfire_1_1reaction_1_1_rate_coefficient_set.html#a3d047485ebb57d6c763adfe4aae493b1":[2,0,0,3,1,4], +"structgridfire_1_1reaction_1_1_rate_coefficient_set.html#a3d047485ebb57d6c763adfe4aae493b1":[4,0,0,3,1,4], +"structgridfire_1_1reaction_1_1_rate_coefficient_set.html#a8c79db4e649b4eb1d29c43ebe4e95458":[2,0,0,3,1,6], +"structgridfire_1_1reaction_1_1_rate_coefficient_set.html#a8c79db4e649b4eb1d29c43ebe4e95458":[4,0,0,3,1,6], +"structgridfire_1_1reaction_1_1_rate_coefficient_set.html#ace9dbd928e179784e47eaa108ce8d721":[2,0,0,3,1,2], +"structgridfire_1_1reaction_1_1_rate_coefficient_set.html#ace9dbd928e179784e47eaa108ce8d721":[4,0,0,3,1,2], +"structgridfire_1_1reaction_1_1_rate_coefficient_set.html#adf8e6ed7f91cb9e15d1469a808b1877a":[2,0,0,3,1,7], +"structgridfire_1_1reaction_1_1_rate_coefficient_set.html#adf8e6ed7f91cb9e15d1469a808b1877a":[4,0,0,3,1,7], +"structgridfire_1_1reaction_1_1_rate_coefficient_set.html#ae57b2eac71cb4ed9947f40c9cb8fc3ca":[2,0,0,3,1,5], +"structgridfire_1_1reaction_1_1_rate_coefficient_set.html#ae57b2eac71cb4ed9947f40c9cb8fc3ca":[4,0,0,3,1,5], +"structgridfire_1_1solver_1_1_direct_network_solver_1_1_jacobian_functor.html":[2,0,0,5,0,0], +"structgridfire_1_1solver_1_1_direct_network_solver_1_1_jacobian_functor.html":[4,0,0,5,0,0], +"structgridfire_1_1solver_1_1_direct_network_solver_1_1_jacobian_functor.html#a3f624142212b5e6ff65f5706953fe353":[2,0,0,5,0,0,3], +"structgridfire_1_1solver_1_1_direct_network_solver_1_1_jacobian_functor.html#a3f624142212b5e6ff65f5706953fe353":[4,0,0,5,0,0,3], +"structgridfire_1_1solver_1_1_direct_network_solver_1_1_jacobian_functor.html#a56f8b2b222fb2a7dac190ead0babfdd0":[2,0,0,5,0,0,2], +"structgridfire_1_1solver_1_1_direct_network_solver_1_1_jacobian_functor.html#a56f8b2b222fb2a7dac190ead0babfdd0":[4,0,0,5,0,0,2], +"structgridfire_1_1solver_1_1_direct_network_solver_1_1_jacobian_functor.html#a88f5fc48a555b369f1e2688d6bb67b83":[2,0,0,5,0,0,5], +"structgridfire_1_1solver_1_1_direct_network_solver_1_1_jacobian_functor.html#a88f5fc48a555b369f1e2688d6bb67b83":[4,0,0,5,0,0,5], +"structgridfire_1_1solver_1_1_direct_network_solver_1_1_jacobian_functor.html#a932c41aa9f1aa38e56a03b27cd2ccda4":[2,0,0,5,0,0,4], +"structgridfire_1_1solver_1_1_direct_network_solver_1_1_jacobian_functor.html#a932c41aa9f1aa38e56a03b27cd2ccda4":[4,0,0,5,0,0,4], +"structgridfire_1_1solver_1_1_direct_network_solver_1_1_jacobian_functor.html#ad4fc0b406218aa2f567f5c61a4eda3c9":[2,0,0,5,0,0,1], +"structgridfire_1_1solver_1_1_direct_network_solver_1_1_jacobian_functor.html#ad4fc0b406218aa2f567f5c61a4eda3c9":[4,0,0,5,0,0,1], +"structgridfire_1_1solver_1_1_direct_network_solver_1_1_jacobian_functor.html#afd2a548ffb907b0fb1fa28993ea99f25":[2,0,0,5,0,0,0], +"structgridfire_1_1solver_1_1_direct_network_solver_1_1_jacobian_functor.html#afd2a548ffb907b0fb1fa28993ea99f25":[4,0,0,5,0,0,0], +"structgridfire_1_1solver_1_1_direct_network_solver_1_1_r_h_s_functor.html":[2,0,0,5,0,1], +"structgridfire_1_1solver_1_1_direct_network_solver_1_1_r_h_s_functor.html":[4,0,0,5,0,1], +"structgridfire_1_1solver_1_1_direct_network_solver_1_1_r_h_s_functor.html#a04f8c84e46e6fbd0977e50fda4829d1a":[2,0,0,5,0,1,2], +"structgridfire_1_1solver_1_1_direct_network_solver_1_1_r_h_s_functor.html#a04f8c84e46e6fbd0977e50fda4829d1a":[4,0,0,5,0,1,2], +"structgridfire_1_1solver_1_1_direct_network_solver_1_1_r_h_s_functor.html#a082844f1eae0609e66620575210e8823":[2,0,0,5,0,1,6], +"structgridfire_1_1solver_1_1_direct_network_solver_1_1_r_h_s_functor.html#a082844f1eae0609e66620575210e8823":[4,0,0,5,0,1,6], +"structgridfire_1_1solver_1_1_direct_network_solver_1_1_r_h_s_functor.html#a3a7542b6c6b4c86b6fe53f54d7232919":[2,0,0,5,0,1,1], +"structgridfire_1_1solver_1_1_direct_network_solver_1_1_r_h_s_functor.html#a3a7542b6c6b4c86b6fe53f54d7232919":[4,0,0,5,0,1,1], +"structgridfire_1_1solver_1_1_direct_network_solver_1_1_r_h_s_functor.html#a7d4f7f04c4ee6f0b519194f87aa265e7":[2,0,0,5,0,1,5], +"structgridfire_1_1solver_1_1_direct_network_solver_1_1_r_h_s_functor.html#a7d4f7f04c4ee6f0b519194f87aa265e7":[4,0,0,5,0,1,5], +"structgridfire_1_1solver_1_1_direct_network_solver_1_1_r_h_s_functor.html#a9cf3e5b5206b5cd8650cbf620ca5007b":[2,0,0,5,0,1,3], +"structgridfire_1_1solver_1_1_direct_network_solver_1_1_r_h_s_functor.html#a9cf3e5b5206b5cd8650cbf620ca5007b":[4,0,0,5,0,1,3], +"structgridfire_1_1solver_1_1_direct_network_solver_1_1_r_h_s_functor.html#ac4a1af03d2a4fbc5cc2407b8a6833147":[2,0,0,5,0,1,4], +"structgridfire_1_1solver_1_1_direct_network_solver_1_1_r_h_s_functor.html#ac4a1af03d2a4fbc5cc2407b8a6833147":[4,0,0,5,0,1,4], +"structgridfire_1_1solver_1_1_direct_network_solver_1_1_r_h_s_functor.html#aed201b52ea757069c17a49e9638b3d3c":[2,0,0,5,0,1,0], +"structgridfire_1_1solver_1_1_direct_network_solver_1_1_r_h_s_functor.html#aed201b52ea757069c17a49e9638b3d3c":[4,0,0,5,0,1,0], +"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html":[2,0,0,5,3,0], +"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html":[4,0,0,5,3,0], +"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#a08ce53701b152f3ce108c1c18ce64de2":[2,0,0,5,3,0,8], +"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#a08ce53701b152f3ce108c1c18ce64de2":[4,0,0,5,3,0,8], +"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#a16dc10cb9c1392920f8d0ba95e0bc86e":[2,0,0,5,3,0,6], +"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#a16dc10cb9c1392920f8d0ba95e0bc86e":[4,0,0,5,3,0,6], +"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#a2dca32a9e0bea5aea2a565f94b99a8de":[2,0,0,5,3,0,13], +"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#a2dca32a9e0bea5aea2a565f94b99a8de":[4,0,0,5,3,0,13], +"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#a51687d7a9770164f79e485a763bd94b0":[2,0,0,5,3,0,4], +"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#a51687d7a9770164f79e485a763bd94b0":[4,0,0,5,3,0,4], +"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#a5ce08aab2f1976c9258dad2b67e1c5b6":[2,0,0,5,3,0,5], +"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#a5ce08aab2f1976c9258dad2b67e1c5b6":[4,0,0,5,3,0,5], +"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#a6771ae56ddd9058954b42ee92a378309":[2,0,0,5,3,0,12], +"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#a6771ae56ddd9058954b42ee92a378309":[4,0,0,5,3,0,12], +"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#a93b46ca95ddf9e4d21d02700621e6285":[2,0,0,5,3,0,9], +"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#a93b46ca95ddf9e4d21d02700621e6285":[4,0,0,5,3,0,9], +"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#a94a1e5994062c32bd45c248860be6fa4":[2,0,0,5,3,0,3], +"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#a94a1e5994062c32bd45c248860be6fa4":[4,0,0,5,3,0,3], +"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#aa9730f06a604c3c95ccc33ab6f0f8878":[2,0,0,5,3,0,7], +"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#aa9730f06a604c3c95ccc33ab6f0f8878":[4,0,0,5,3,0,7], +"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#ab0a0d4c166e97b971543cbbf2b0a1a2e":[2,0,0,5,3,0,11], +"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#ab0a0d4c166e97b971543cbbf2b0a1a2e":[4,0,0,5,3,0,11], +"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#abaf28fdd93e881ef56c24f541be7492d":[2,0,0,5,3,0,10], +"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#abaf28fdd93e881ef56c24f541be7492d":[4,0,0,5,3,0,10], +"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#abc86b32db81acf1b24feb3763dc4ddb0":[2,0,0,5,3,0,2], +"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#abc86b32db81acf1b24feb3763dc4ddb0":[4,0,0,5,3,0,2], +"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#ac4ec3c180a9778acdd604a9b80d25399":[2,0,0,5,3,0,0], +"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#ac4ec3c180a9778acdd604a9b80d25399":[4,0,0,5,3,0,0], +"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#ad42fdb6d5ae06eaa6ddccf03eba0a50c":[2,0,0,5,3,0,1], +"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#ad42fdb6d5ae06eaa6ddccf03eba0a50c":[4,0,0,5,3,0,1], +"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_jacobian_functor.html":[2,0,0,5,3,1], +"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_jacobian_functor.html":[4,0,0,5,3,1], +"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_jacobian_functor.html#a0907f7b6c1a87baf5e39fbc17a30df82":[2,0,0,5,3,1,5], +"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_jacobian_functor.html#a0907f7b6c1a87baf5e39fbc17a30df82":[4,0,0,5,3,1,5], +"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_jacobian_functor.html#a1b92391170eb46771bd499aa8d115334":[2,0,0,5,3,1,4], +"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_jacobian_functor.html#a1b92391170eb46771bd499aa8d115334":[4,0,0,5,3,1,4], +"structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_jacobian_functor.html#a2071ce797f94ae1a3ea6d934748672ce":[2,0,0,5,3,1,2] }; diff --git a/docs/html/network_8cpp.html b/docs/html/network_8cpp.html index d41a24ec..c0544be5 100644 --- a/docs/html/network_8cpp.html +++ b/docs/html/network_8cpp.html @@ -120,7 +120,7 @@ Namespaces - + diff --git a/docs/html/network_8cpp_source.html b/docs/html/network_8cpp_source.html index 3fc923f2..b322d8c2 100644 --- a/docs/html/network_8cpp_source.html +++ b/docs/html/network_8cpp_source.html @@ -174,7 +174,7 @@ $(function(){initNavTree('network_8cpp_source.html',''); initResizable(true); })
          63
          -
          64 reaction::LogicalReactionSet build_reaclib_nuclear_network(const fourdst::composition::Composition &composition, bool reverse) {
          +
          64 reaction::LogicalReactionSet build_reaclib_nuclear_network(const fourdst::composition::Composition &composition, bool reverse) {
          65 using namespace reaction;
          66 std::vector<Reaction> reaclibReactions;
          67 auto logger = fourdst::logging::LogManager::getInstance().getLogger("log");
          @@ -197,7 +197,7 @@ $(function(){initNavTree('network_8cpp_source.html',''); initResizable(true); })
          84 }
          85 }
          86 const ReactionSet reactionSet(reaclibReactions);
          -
          87 return LogicalReactionSet(reactionSet);
          +
          87 return packReactionSetToLogicalReactionSet(reactionSet);
          88 }
          89
          @@ -228,10 +228,10 @@ $(function(){initNavTree('network_8cpp_source.html',''); initResizable(true); })
          quill::Logger * m_logger
          Logger instance.
          Definition network.h:98
          fourdst::config::Config & m_config
          Configuration instance.
          Definition network.h:96
          fourdst::constant::Constants & m_constants
          Definition network.h:101
          -
          A collection of LogicalReaction objects.
          Definition reaction.h:554
          -
          const reaction::LogicalReactionSet & get_all_reactions()
          Provides global access to the fully initialized REACLIB reaction set.
          Definition reaclib.cpp:136
          - - +
          const reaction::LogicalReactionSet & get_all_reactions()
          Provides global access to the fully initialized REACLIB reaction set.
          Definition reaclib.cpp:138
          + +
          TemplatedReactionSet< LogicalReaction > LogicalReactionSet
          A set of logical reactions.
          Definition reaction.h:557
          +
          NetworkFormat
          Definition network.h:41
          @ UNKNOWN
          Definition network.h:44
          std::string trim_whitespace(const std::string &str)
          Definition network.cpp:91
          diff --git a/docs/html/network_8h.html b/docs/html/network_8h.html index 9b8a88b6..4aa62bf9 100644 --- a/docs/html/network_8h.html +++ b/docs/html/network_8h.html @@ -144,7 +144,7 @@ Enumerations

          Functions

          reaction::LogicalReactionSet gridfire::build_reaclib_nuclear_network (const fourdst::composition::Composition &composition, bool reverse)
          reaction::LogicalReactionSet gridfire::build_reaclib_nuclear_network (const fourdst::composition::Composition &composition, bool reverse)
           
          std::string gridfire::trim_whitespace (const std::string &str)
           
          - +

          Functions

          reaction::LogicalReactionSet gridfire::build_reaclib_nuclear_network (const fourdst::composition::Composition &composition, bool reverse)
          reaction::LogicalReactionSet gridfire::build_reaclib_nuclear_network (const fourdst::composition::Composition &composition, bool reverse)
           
          - +

          diff --git a/docs/html/network_8h_source.html b/docs/html/network_8h_source.html index 5ec5bb96..11541ea6 100644 --- a/docs/html/network_8h_source.html +++ b/docs/html/network_8h_source.html @@ -214,7 +214,7 @@ $(function(){initNavTree('network_8h_source.html',''); initResizable(true); });
          105
          106
          -
          107 reaction::LogicalReactionSet build_reaclib_nuclear_network(const fourdst::composition::Composition &composition, bool reverse);
          +
          107 reaction::LogicalReactionSet build_reaclib_nuclear_network(const fourdst::composition::Composition &composition, bool reverse);
          108
          109
          110} // namespace nuclearNetwork
          @@ -231,8 +231,8 @@ $(function(){initNavTree('network_8h_source.html',''); initResizable(true); });
          virtual bool isStiff() const
          Definition network.h:92
          bool m_stiff
          Flag indicating if the network is stiff.
          Definition network.h:103
          virtual NetOut evaluate(const NetIn &netIn)=0
          Evaluate the network based on the input parameters.
          -
          A collection of LogicalReaction objects.
          Definition reaction.h:554
          - +
          TemplatedReactionSet< LogicalReaction > LogicalReactionSet
          A set of logical reactions.
          Definition reaction.h:557
          +
          NetworkFormat
          Definition network.h:41
          @ APPROX8
          Approx8 nuclear reaction network format.
          Definition network.h:42
          @ REACLIB
          General REACLIB nuclear reaction network format.
          Definition network.h:43
          diff --git a/docs/html/reaclib_8cpp.html b/docs/html/reaclib_8cpp.html index f0e9809e..986e1437 100644 --- a/docs/html/reaclib_8cpp.html +++ b/docs/html/reaclib_8cpp.html @@ -141,13 +141,13 @@ Functions

           
          static void gridfire::reaclib::initializeAllReaclibReactions ()
           
          const reaction::LogicalReactionSetgridfire::reaclib::get_all_reactions ()
          const reaction::LogicalReactionSetgridfire::reaclib::get_all_reactions ()
           Provides global access to the fully initialized REACLIB reaction set.
           
          - +

          Variables

          static reaction::LogicalReactionSetgridfire::reaclib::s_all_reaclib_reactions_ptr = nullptr
          static reaction::LogicalReactionSetgridfire::reaclib::s_all_reaclib_reactions_ptr = nullptr
           

          Function Documentation

          diff --git a/docs/html/reaclib_8cpp_source.html b/docs/html/reaclib_8cpp_source.html index 0907d66a..8e27805b 100644 --- a/docs/html/reaclib_8cpp_source.html +++ b/docs/html/reaclib_8cpp_source.html @@ -132,7 +132,7 @@ $(function(){initNavTree('reaclib_8cpp_source.html',''); initResizable(true); })
          27
          28namespace gridfire::reaclib {
          - +
          30
          31 #pragma pack(push, 1)
          @@ -235,40 +235,43 @@ $(function(){initNavTree('reaclib_8cpp_source.html',''); initResizable(true); })
          122 }
          123
          124 // The ReactionSet takes the vector of all individual reactions.
          -
          125 reaction::ReactionSet reaction_set(std::move(reaction_list));
          +
          125 const reaction::ReactionSet reaction_set(std::move(reaction_list));
          126
          127 // The LogicalReactionSet groups reactions by their peName, which is what we want.
          - -
          129
          -
          130 s_initialized = true;
          -
          131 }
          + + +
          130 );
          +
          131
          +
          132 s_initialized = true;
          +
          133 }
          -
          132
          -
          133
          -
          134 // --- Public Interface Implementation ---
          +
          134
          135
          -
          - -
          137 // This ensures that the initialization happens only on the first call.
          -
          138 if (!s_initialized) {
          - -
          140 }
          -
          141 if (s_all_reaclib_reactions_ptr == nullptr) {
          -
          142 throw std::runtime_error("Reaclib reactions have not been initialized.");
          -
          143 }
          - -
          145 }
          +
          136 // --- Public Interface Implementation ---
          +
          137
          +
          + +
          139 // This ensures that the initialization happens only on the first call.
          +
          140 if (!s_initialized) {
          + +
          142 }
          +
          143 if (s_all_reaclib_reactions_ptr == nullptr) {
          +
          144 throw std::runtime_error("Reaclib reactions have not been initialized.");
          +
          145 }
          + +
          147 }
          -
          146} // namespace gridfire::reaclib
          -
          A collection of LogicalReaction objects.
          Definition reaction.h:554
          -
          A collection of Reaction objects.
          Definition reaction.h:307
          +
          148} // namespace gridfire::reaclib
          static void initializeAllReaclibReactions()
          Definition reaclib.cpp:79
          static reaction::LogicalReactionSet * s_all_reaclib_reactions_ptr
          Definition reaclib.cpp:29
          std::ostream & operator<<(std::ostream &os, const ReactionRecord &r)
          Definition reaclib.cpp:44
          -
          const reaction::LogicalReactionSet & get_all_reactions()
          Provides global access to the fully initialized REACLIB reaction set.
          Definition reaclib.cpp:136
          +
          const reaction::LogicalReactionSet & get_all_reactions()
          Provides global access to the fully initialized REACLIB reaction set.
          Definition reaclib.cpp:138
          static bool s_initialized
          Definition reaclib.h:7
          static std::vector< fourdst::atomic::Species > parseSpeciesString(const std::string_view str)
          Definition reaclib.cpp:58
          +
          TemplatedReactionSet< LogicalReaction > LogicalReactionSet
          A set of logical reactions.
          Definition reaction.h:557
          +
          LogicalReactionSet packReactionSetToLogicalReactionSet(const ReactionSet &reactionSet)
          Definition reaction.cpp:201
          +
          TemplatedReactionSet< Reaction > ReactionSet
          A set of reactions, typically from a single source like REACLIB.
          Definition reaction.h:556
          std::string trim_whitespace(const std::string &str)
          Definition network.cpp:91
          std::string trim_whitespace(const std::string &str)
          Definition reaclib.cpp:13
          @@ -285,7 +288,7 @@ $(function(){initNavTree('reaclib_8cpp_source.html',''); initResizable(true); }) -
          Holds the seven coefficients for the REACLIB rate equation.
          Definition reaction.h:32
          +
          Holds the seven coefficients for the REACLIB rate equation.
          Definition reaction.h:33
          diff --git a/docs/html/reaclib_8h.html b/docs/html/reaclib_8h.html index c1837ea7..1ea8edae 100644 --- a/docs/html/reaclib_8h.html +++ b/docs/html/reaclib_8h.html @@ -119,7 +119,7 @@ Namespaces - +

          Functions

          const reaction::LogicalReactionSetgridfire::reaclib::get_all_reactions ()
          const reaction::LogicalReactionSetgridfire::reaclib::get_all_reactions ()
           Provides global access to the fully initialized REACLIB reaction set.
           
          diff --git a/docs/html/reaclib_8h_source.html b/docs/html/reaclib_8h_source.html index 7de1ce0e..b158e1d2 100644 --- a/docs/html/reaclib_8h_source.html +++ b/docs/html/reaclib_8h_source.html @@ -111,14 +111,14 @@ $(function(){initNavTree('reaclib_8h_source.html',''); initResizable(true); });
          6
          7 static bool s_initialized = false;
          8
          - +
          18
          19} // namespace gridfire::reaclib
          -
          A collection of LogicalReaction objects.
          Definition reaction.h:554
          -
          const reaction::LogicalReactionSet & get_all_reactions()
          Provides global access to the fully initialized REACLIB reaction set.
          Definition reaclib.cpp:136
          +
          const reaction::LogicalReactionSet & get_all_reactions()
          Provides global access to the fully initialized REACLIB reaction set.
          Definition reaclib.cpp:138
          static bool s_initialized
          Definition reaclib.h:7
          +
          TemplatedReactionSet< LogicalReaction > LogicalReactionSet
          A set of logical reactions.
          Definition reaction.h:557
          Defines classes for representing and managing nuclear reactions.
          diff --git a/docs/html/reaction_8cpp.html b/docs/html/reaction_8cpp.html index 45cfe1d4..9959239f 100644 --- a/docs/html/reaction_8cpp.html +++ b/docs/html/reaction_8cpp.html @@ -101,7 +101,8 @@ $(function(){initNavTree('reaction_8cpp.html',''); initResizable(true); });
          reaction.cpp File Reference
          @@ -124,6 +125,8 @@ Classes
          + +
           
          struct  std::hash< gridfire::reaction::ReactionSet >
           
          struct  std::hash< gridfire::reaction::LogicalReactionSet >
           
          @@ -134,6 +137,11 @@ Namespaces +

          Namespaces

          namespace  std
           STL namespace.
           
          + + +

          +Functions

          LogicalReactionSet gridfire::reaction::packReactionSetToLogicalReactionSet (const ReactionSet &reactionSet)
           
          diff --git a/docs/html/reaction_8cpp.js b/docs/html/reaction_8cpp.js index c309bf18..395176c3 100644 --- a/docs/html/reaction_8cpp.js +++ b/docs/html/reaction_8cpp.js @@ -1,5 +1,7 @@ var reaction_8cpp = [ [ "std::hash< gridfire::reaction::Reaction >", "structstd_1_1hash_3_01gridfire_1_1reaction_1_1_reaction_01_4.html", "structstd_1_1hash_3_01gridfire_1_1reaction_1_1_reaction_01_4" ], - [ "std::hash< gridfire::reaction::ReactionSet >", "structstd_1_1hash_3_01gridfire_1_1reaction_1_1_reaction_set_01_4.html", "structstd_1_1hash_3_01gridfire_1_1reaction_1_1_reaction_set_01_4" ] + [ "std::hash< gridfire::reaction::ReactionSet >", "structstd_1_1hash_3_01gridfire_1_1reaction_1_1_reaction_set_01_4.html", "structstd_1_1hash_3_01gridfire_1_1reaction_1_1_reaction_set_01_4" ], + [ "std::hash< gridfire::reaction::LogicalReactionSet >", "structstd_1_1hash_3_01gridfire_1_1reaction_1_1_logical_reaction_set_01_4.html", "structstd_1_1hash_3_01gridfire_1_1reaction_1_1_logical_reaction_set_01_4" ], + [ "gridfire::reaction::packReactionSetToLogicalReactionSet", "namespacegridfire_1_1reaction.html#abfcfafc0cda0c3ed56930a12e7ead67f", null ] ]; \ No newline at end of file diff --git a/docs/html/reaction_8cpp_source.html b/docs/html/reaction_8cpp_source.html index 3c2d6280..8ef947dc 100644 --- a/docs/html/reaction_8cpp_source.html +++ b/docs/html/reaction_8cpp_source.html @@ -267,363 +267,178 @@ $(function(){initNavTree('reaction_8cpp_source.html',''); initResizable(true); }
          138 }
          139
          -
          - -
          141 std::vector<Reaction> reactions
          -
          142 ) :
          -
          143 m_reactions(std::move(reactions)) {
          -
          144 if (m_reactions.empty()) {
          -
          145 return; // Case where the reactions will be added later.
          -
          146 }
          -
          147 m_reactionNameMap.reserve(reactions.size());
          -
          148 for (const auto& reaction : m_reactions) {
          -
          149 m_id += reaction.id();
          -
          150 m_reactionNameMap.emplace(reaction.id(), reaction);
          -
          151 }
          -
          152 }
          +
          140
          +
          141
          +
          +
          142 LogicalReaction::LogicalReaction(const std::vector<Reaction>& reactants) :
          +
          143 Reaction(reactants.front().peName(),
          +
          144 reactants.front().peName(),
          +
          145 reactants.front().chapter(),
          +
          146 reactants.front().reactants(),
          +
          147 reactants.front().products(),
          +
          148 reactants.front().qValue(),
          +
          149 reactants.front().sourceLabel(),
          +
          150 reactants.front().rateCoefficients(),
          +
          151 reactants.front().is_reverse()) {
          +
          152
          +
          153 m_sources.reserve(reactants.size());
          +
          154 m_rates.reserve(reactants.size());
          +
          155 for (const auto& reaction : reactants) {
          +
          156 if (std::abs(std::abs(reaction.qValue()) - std::abs(m_qValue)) > 1e-6) {
          +
          157 LOG_ERROR(
          +
          158 m_logger,
          +
          159 "LogicalReaction constructed with reactions having different Q-values. Expected {} got {}.",
          +
          160 m_qValue,
          +
          161 reaction.qValue()
          +
          162 );
          +
          163 m_logger -> flush_log();
          +
          164 throw std::runtime_error("LogicalReaction constructed with reactions having different Q-values. Expected " + std::to_string(m_qValue) + " got " + std::to_string(reaction.qValue()) + " (difference : " + std::to_string(std::abs(reaction.qValue() - m_qValue)) + ").");
          +
          165 }
          +
          166 m_sources.push_back(std::string(reaction.sourceLabel()));
          +
          167 m_rates.push_back(reaction.rateCoefficients());
          +
          168 }
          +
          169 }
          -
          153
          -
          - -
          155 m_reactions.reserve(other.m_reactions.size());
          -
          156 for (const auto& reaction_ptr: other.m_reactions) {
          -
          157 m_reactions.push_back(reaction_ptr);
          -
          158 }
          -
          159
          -
          160 m_reactionNameMap.reserve(other.m_reactionNameMap.size());
          -
          161 for (const auto& reaction_ptr : m_reactions) {
          -
          162 m_reactionNameMap.emplace(reaction_ptr.id(), reaction_ptr);
          -
          163 }
          -
          164 }
          -
          -
          165
          -
          - -
          167 if (this != &other) {
          -
          168 ReactionSet temp(other);
          -
          169 std::swap(m_reactions, temp.m_reactions);
          -
          170 std::swap(m_reactionNameMap, temp.m_reactionNameMap);
          -
          171 }
          -
          172 return *this;
          -
          173 }
          -
          -
          174
          -
          - -
          176 m_reactions.emplace_back(reaction);
          -
          177 m_id += m_reactions.back().id();
          -
          178 m_reactionNameMap.emplace(m_reactions.back().id(), m_reactions.back());
          -
          179 }
          -
          -
          180
          -
          - -
          182 if (!m_reactionNameMap.contains(std::string(reaction.id()))) {
          -
          183 return;
          -
          184 }
          -
          185
          -
          186 m_reactionNameMap.erase(std::string(reaction.id()));
          -
          187
          -
          188 std::erase_if(m_reactions, [&reaction](const Reaction& r) {
          -
          189 return r == reaction;
          -
          190 });
          +
          170
          +
          + +
          172 if (reaction.peName() != m_id) {
          +
          173 LOG_ERROR(m_logger, "Cannot add reaction with different peName to LogicalReaction. Expected {} got {}.", m_id, reaction.peName());
          +
          174 m_logger -> flush_log();
          +
          175 throw std::runtime_error("Cannot add reaction with different peName to LogicalReaction. Expected " + std::string(m_id) + " got " + std::string(reaction.peName()) + ".");
          +
          176 }
          +
          177 for (const auto& source : m_sources) {
          +
          178 if (source == reaction.sourceLabel()) {
          +
          179 LOG_ERROR(m_logger, "Cannot add reaction with duplicate source label {} to LogicalReaction.", reaction.sourceLabel());
          +
          180 m_logger -> flush_log();
          +
          181 throw std::runtime_error("Cannot add reaction with duplicate source label " + std::string(reaction.sourceLabel()) + " to LogicalReaction.");
          +
          182 }
          +
          183 }
          +
          184 if (std::abs(reaction.qValue() - m_qValue) > 1e-6) {
          +
          185 LOG_ERROR(m_logger, "LogicalReaction constructed with reactions having different Q-values. Expected {} got {}.", m_qValue, reaction.qValue());
          +
          186 m_logger -> flush_log();
          +
          187 throw std::runtime_error("LogicalReaction constructed with reactions having different Q-values. Expected " + std::to_string(m_qValue) + " got " + std::to_string(reaction.qValue()) + ".");
          +
          188 }
          +
          189 m_sources.push_back(std::string(reaction.sourceLabel()));
          +
          190 m_rates.push_back(reaction.rateCoefficients());
          191 }
          192
          -
          193 bool ReactionSet::contains(const std::string_view& id) const {
          -
          194 for (const auto& reaction : m_reactions) {
          -
          195 if (reaction.id() == id) {
          -
          196 return true;
          -
          197 }
          -
          198 }
          -
          199 return false;
          -
          200 }
          +
          193 double LogicalReaction::calculate_rate(const double T9) const {
          +
          194 return calculate_rate<double>(T9);
          +
          195 }
          -
          201
          -
          - -
          203 for (const auto& r : m_reactions) {
          -
          204 if (r == reaction) {
          -
          205 return true;
          -
          206 }
          -
          207 }
          -
          208 return false;
          -
          209 }
          +
          196
          +
          +
          197 CppAD::AD<double> LogicalReaction::calculate_rate(const CppAD::AD<double> T9) const {
          + +
          199 }
          +
          200
          +
          + +
          202 std::unordered_map<std::string_view, std::vector<Reaction>> groupedReactions;
          +
          203
          +
          204 for (const auto& reaction: reactionSet) {
          +
          205 groupedReactions[reaction.peName()].push_back(reaction);
          +
          206 }
          +
          207
          +
          208 std::vector<LogicalReaction> reactions;
          +
          209 reactions.reserve(groupedReactions.size());
          210
          -
          - -
          212 m_reactions.clear();
          -
          213 m_reactionNameMap.clear();
          -
          214 }
          +
          211 for (const auto &reactionsGroup: groupedReactions | std::views::values) {
          +
          212 LogicalReaction logicalReaction(reactionsGroup);
          +
          213 reactions.push_back(logicalReaction);
          +
          214 }
          +
          215 return LogicalReactionSet(std::move(reactions));
          +
          216 }
          -
          215
          -
          -
          216 bool ReactionSet::contains_species(const Species& species) const {
          -
          217 for (const auto& reaction : m_reactions) {
          -
          218 if (reaction.contains(species)) {
          -
          219 return true;
          -
          220 }
          -
          221 }
          -
          222 return false;
          -
          223 }
          +
          217}
          +
          218
          +
          219namespace std {
          +
          220 template<>
          +
          +
          221 struct hash<gridfire::reaction::Reaction> {
          +
          +
          222 size_t operator()(const gridfire::reaction::Reaction& r) const noexcept {
          +
          223 return r.hash(0);
          +
          224 }
          -
          224
          -
          -
          225 bool ReactionSet::contains_reactant(const Species& species) const {
          -
          226 for (const auto& r : m_reactions) {
          -
          227 if (r.contains_reactant(species)) {
          -
          228 return true;
          -
          229 }
          -
          230 }
          -
          231 return false;
          -
          232 }
          +
          225 };
          +
          +
          226
          +
          227 template<>
          +
          +
          228 struct hash<gridfire::reaction::ReactionSet> {
          +
          +
          229 size_t operator()(const gridfire::reaction::ReactionSet& s) const noexcept {
          +
          230 return s.hash(0);
          +
          231 }
          +
          +
          232 };
          233
          -
          -
          234 bool ReactionSet::contains_product(const Species& species) const {
          -
          235 for (const auto& r : m_reactions) {
          -
          236 if (r.contains_product(species)) {
          -
          237 return true;
          -
          238 }
          -
          239 }
          -
          240 return false;
          -
          241 }
          +
          234 template<>
          +
          +
          235 struct hash<gridfire::reaction::LogicalReactionSet> {
          +
          +
          236 size_t operator()(const gridfire::reaction::LogicalReactionSet& s) const noexcept {
          +
          237 return s.hash(0);
          +
          238 }
          -
          242
          -
          -
          243 const Reaction& ReactionSet::operator[](const size_t index) const {
          -
          244 if (index >= m_reactions.size()) {
          -
          245 m_logger -> flush_log();
          -
          246 throw std::out_of_range("Index" + std::to_string(index) + " out of range for ReactionSet of size " + std::to_string(m_reactions.size()) + ".");
          -
          247 }
          -
          248 return m_reactions[index];
          -
          249 }
          +
          239 };
          -
          250
          -
          -
          251 const Reaction& ReactionSet::operator[](const std::string_view& id) const {
          -
          252 if (auto it = m_reactionNameMap.find(std::string(id)); it != m_reactionNameMap.end()) {
          -
          253 return it->second;
          -
          254 }
          -
          255 m_logger -> flush_log();
          -
          256 throw std::out_of_range("Species " + std::string(id) + " does not exist in ReactionSet.");
          -
          257 }
          -
          -
          258
          -
          -
          259 bool ReactionSet::operator==(const ReactionSet& other) const {
          -
          260 if (size() != other.size()) {
          -
          261 return false;
          -
          262 }
          -
          263 return hash() == other.hash();
          -
          264 }
          -
          -
          265
          -
          -
          266 bool ReactionSet::operator!=(const ReactionSet& other) const {
          -
          267 return !(*this == other);
          -
          268 }
          -
          -
          269
          -
          -
          270 uint64_t ReactionSet::hash(uint64_t seed) const {
          -
          271 if (m_reactions.empty()) {
          -
          272 return XXHash64::hash(nullptr, 0, seed);
          -
          273 }
          -
          274 std::vector<uint64_t> individualReactionHashes;
          -
          275 individualReactionHashes.reserve(m_reactions.size());
          -
          276 for (const auto& reaction : m_reactions) {
          -
          277 individualReactionHashes.push_back(reaction.hash(seed));
          -
          278 }
          -
          279
          -
          280 std::ranges::sort(individualReactionHashes);
          -
          281
          -
          282 const void* data = static_cast<const void*>(individualReactionHashes.data());
          -
          283 size_t sizeInBytes = individualReactionHashes.size() * sizeof(uint64_t);
          -
          284 return XXHash64::hash(data, sizeInBytes, seed);
          -
          285 }
          -
          -
          286
          -
          287
          -
          -
          288 LogicalReaction::LogicalReaction(const std::vector<Reaction>& reactants) :
          -
          289 Reaction(reactants.front().peName(),
          -
          290 reactants.front().peName(),
          -
          291 reactants.front().chapter(),
          -
          292 reactants.front().reactants(),
          -
          293 reactants.front().products(),
          -
          294 reactants.front().qValue(),
          -
          295 reactants.front().sourceLabel(),
          -
          296 reactants.front().rateCoefficients(),
          -
          297 reactants.front().is_reverse()) {
          -
          298
          -
          299 m_sources.reserve(reactants.size());
          -
          300 m_rates.reserve(reactants.size());
          -
          301 for (const auto& reaction : reactants) {
          -
          302 if (std::abs(std::abs(reaction.qValue()) - std::abs(m_qValue)) > 1e-6) {
          -
          303 LOG_ERROR(
          -
          304 m_logger,
          -
          305 "LogicalReaction constructed with reactions having different Q-values. Expected {} got {}.",
          -
          306 m_qValue,
          -
          307 reaction.qValue()
          -
          308 );
          -
          309 m_logger -> flush_log();
          -
          310 throw std::runtime_error("LogicalReaction constructed with reactions having different Q-values. Expected " + std::to_string(m_qValue) + " got " + std::to_string(reaction.qValue()) + " (difference : " + std::to_string(std::abs(reaction.qValue() - m_qValue)) + ").");
          -
          311 }
          -
          312 m_sources.push_back(std::string(reaction.sourceLabel()));
          -
          313 m_rates.push_back(reaction.rateCoefficients());
          -
          314 }
          -
          315 }
          -
          -
          316
          -
          - -
          318 if (reaction.peName() != m_id) {
          -
          319 LOG_ERROR(m_logger, "Cannot add reaction with different peName to LogicalReaction. Expected {} got {}.", m_id, reaction.peName());
          -
          320 m_logger -> flush_log();
          -
          321 throw std::runtime_error("Cannot add reaction with different peName to LogicalReaction. Expected " + std::string(m_id) + " got " + std::string(reaction.peName()) + ".");
          -
          322 }
          -
          323 for (const auto& source : m_sources) {
          -
          324 if (source == reaction.sourceLabel()) {
          -
          325 LOG_ERROR(m_logger, "Cannot add reaction with duplicate source label {} to LogicalReaction.", reaction.sourceLabel());
          -
          326 m_logger -> flush_log();
          -
          327 throw std::runtime_error("Cannot add reaction with duplicate source label " + std::string(reaction.sourceLabel()) + " to LogicalReaction.");
          -
          328 }
          -
          329 }
          -
          330 if (std::abs(reaction.qValue() - m_qValue) > 1e-6) {
          -
          331 LOG_ERROR(m_logger, "LogicalReaction constructed with reactions having different Q-values. Expected {} got {}.", m_qValue, reaction.qValue());
          -
          332 m_logger -> flush_log();
          -
          333 throw std::runtime_error("LogicalReaction constructed with reactions having different Q-values. Expected " + std::to_string(m_qValue) + " got " + std::to_string(reaction.qValue()) + ".");
          -
          334 }
          -
          335 m_sources.push_back(std::string(reaction.sourceLabel()));
          -
          336 m_rates.push_back(reaction.rateCoefficients());
          -
          337 }
          -
          -
          338
          -
          -
          339 double LogicalReaction::calculate_rate(const double T9) const {
          -
          340 return calculate_rate<double>(T9);
          -
          341 }
          -
          -
          342
          -
          -
          343 CppAD::AD<double> LogicalReaction::calculate_rate(const CppAD::AD<double> T9) const {
          - -
          345 }
          -
          -
          346
          -
          - -
          348 ReactionSet(std::vector<Reaction>()) {
          -
          349
          -
          350 std::unordered_map<std::string_view, std::vector<Reaction>> grouped_reactions;
          -
          351
          -
          352 for (const auto& reaction : reactionSet) {
          -
          353 grouped_reactions[reaction.peName()].push_back(reaction);
          -
          354 }
          -
          355 m_reactions.reserve(grouped_reactions.size());
          -
          356 m_reactionNameMap.reserve(grouped_reactions.size());
          -
          357 for (const auto &reactions_for_peName: grouped_reactions | std::views::values) {
          -
          358 LogicalReaction logical_reaction(reactions_for_peName);
          -
          359 m_reactionNameMap.emplace(logical_reaction.id(), logical_reaction);
          -
          360 m_reactions.push_back(std::move(logical_reaction));
          -
          361 }
          -
          362 }
          -
          -
          363}
          -
          364
          -
          365namespace std {
          -
          366 template<>
          -
          -
          367 struct hash<gridfire::reaction::Reaction> {
          -
          -
          368 size_t operator()(const gridfire::reaction::Reaction& r) const noexcept {
          -
          369 return r.hash(0);
          -
          370 }
          -
          -
          371 };
          -
          -
          372
          -
          373 template<>
          -
          -
          374 struct hash<gridfire::reaction::ReactionSet> {
          -
          -
          375 size_t operator()(const gridfire::reaction::ReactionSet& s) const noexcept {
          -
          376 return s.hash(0);
          -
          377 }
          -
          -
          378 };
          -
          -
          379} // namespace std
          -
          Represents a "logical" reaction that aggregates rates from multiple sources.
          Definition reaction.h:459
          -
          void add_reaction(const Reaction &reaction)
          Adds another Reaction source to this logical reaction.
          Definition reaction.cpp:317
          -
          double calculate_rate(const double T9) const override
          Calculates the total reaction rate by summing all source rates.
          Definition reaction.cpp:339
          -
          LogicalReaction(const std::vector< Reaction > &reactions)
          Constructs a LogicalReaction from a vector of Reaction objects.
          Definition reaction.cpp:288
          -
          std::vector< std::string > m_sources
          List of source labels.
          Definition reaction.h:513
          -
          std::vector< RateCoefficientSet > m_rates
          List of rate coefficient sets from each source.
          Definition reaction.h:514
          -
          std::vector< LogicalReaction > m_reactions
          Definition reaction.h:593
          -
          std::unordered_map< std::string, LogicalReaction > m_reactionNameMap
          Maps reaction IDs to LogicalReaction objects for quick lookup.
          Definition reaction.h:595
          -
          LogicalReactionSet()=delete
          Deleted default constructor.
          -
          Represents a single nuclear reaction from a specific data source.
          Definition reaction.h:71
          -
          std::string m_sourceLabel
          Source label for the rate data (e.g., "wc12w", "st08").
          Definition reaction.h:263
          +
          240} // namespace std
          +
          Represents a "logical" reaction that aggregates rates from multiple sources.
          Definition reaction.h:308
          +
          void add_reaction(const Reaction &reaction)
          Adds another Reaction source to this logical reaction.
          Definition reaction.cpp:171
          +
          double calculate_rate(const double T9) const override
          Calculates the total reaction rate by summing all source rates.
          Definition reaction.cpp:193
          +
          LogicalReaction(const std::vector< Reaction > &reactions)
          Constructs a LogicalReaction from a vector of Reaction objects.
          Definition reaction.cpp:142
          +
          std::vector< std::string > m_sources
          List of source labels.
          Definition reaction.h:368
          +
          std::vector< RateCoefficientSet > m_rates
          List of rate coefficient sets from each source.
          Definition reaction.h:369
          +
          Represents a single nuclear reaction from a specific data source.
          Definition reaction.h:72
          +
          std::string m_sourceLabel
          Source label for the rate data (e.g., "wc12w", "st08").
          Definition reaction.h:268
          std::unordered_set< fourdst::atomic::Species > product_species() const
          Gets a set of all unique product species.
          Definition reaction.cpp:85
          bool contains_product(const fourdst::atomic::Species &species) const
          Checks if the reaction involves a given species as a product.
          Definition reaction.cpp:61
          -
          std::string_view id() const
          Gets the unique identifier of the reaction.
          Definition reaction.h:201
          -
          bool m_reverse
          Flag indicating if this is a reverse reaction rate.
          Definition reaction.h:265
          -
          const std::vector< fourdst::atomic::Species > & reactants() const
          Gets the vector of reactant species.
          Definition reaction.h:213
          -
          int m_chapter
          Chapter number from the REACLIB database, defining the reaction structure.
          Definition reaction.h:259
          +
          std::string_view id() const
          Gets the unique identifier of the reaction.
          Definition reaction.h:202
          +
          bool m_reverse
          Flag indicating if this is a reverse reaction rate.
          Definition reaction.h:270
          +
          const std::vector< fourdst::atomic::Species > & reactants() const
          Gets the vector of reactant species.
          Definition reaction.h:214
          +
          int m_chapter
          Chapter number from the REACLIB database, defining the reaction structure.
          Definition reaction.h:264
          size_t num_species() const
          Gets the number of unique species involved in the reaction.
          Definition reaction.cpp:108
          -
          std::string_view sourceLabel() const
          Gets the source label for the rate data.
          Definition reaction.h:131
          -
          std::vector< fourdst::atomic::Species > m_products
          Products of the reaction.
          Definition reaction.h:262
          -
          double m_qValue
          Q-value of the reaction in MeV.
          Definition reaction.h:260
          -
          std::string m_id
          Unique identifier for the reaction (e.g., "h1+h1=>h2+e+nu").
          Definition reaction.h:257
          -
          int chapter() const
          Gets the REACLIB chapter number.
          Definition reaction.h:125
          -
          std::string m_peName
          Name of the reaction in (projectile, ejectile) notation (e.g. "p(p,g)d").
          Definition reaction.h:258
          -
          const std::vector< fourdst::atomic::Species > & products() const
          Gets the vector of product species.
          Definition reaction.h:219
          -
          quill::Logger * m_logger
          Definition reaction.h:256
          -
          virtual std::string_view peName() const
          Gets the reaction name in (projectile, ejectile) notation.
          Definition reaction.h:119
          +
          std::string_view sourceLabel() const
          Gets the source label for the rate data.
          Definition reaction.h:132
          +
          std::vector< fourdst::atomic::Species > m_products
          Products of the reaction.
          Definition reaction.h:267
          +
          double m_qValue
          Q-value of the reaction in MeV.
          Definition reaction.h:265
          +
          std::string m_id
          Unique identifier for the reaction (e.g., "h1+h1=>h2+e+nu").
          Definition reaction.h:262
          +
          int chapter() const
          Gets the REACLIB chapter number.
          Definition reaction.h:126
          +
          std::string m_peName
          Name of the reaction in (projectile, ejectile) notation (e.g. "p(p,g)d").
          Definition reaction.h:263
          +
          const std::vector< fourdst::atomic::Species > & products() const
          Gets the vector of product species.
          Definition reaction.h:220
          +
          quill::Logger * m_logger
          Definition reaction.h:261
          +
          virtual std::string_view peName() const
          Gets the reaction name in (projectile, ejectile) notation.
          Definition reaction.h:120
          std::unordered_set< fourdst::atomic::Species > all_species() const
          Gets a set of all unique species involved in the reaction.
          Definition reaction.cpp:70
          Reaction(const std::string_view id, const std::string_view peName, const int chapter, const std::vector< fourdst::atomic::Species > &reactants, const std::vector< fourdst::atomic::Species > &products, const double qValue, const std::string_view label, const RateCoefficientSet &sets, const bool reverse=false)
          Constructs a Reaction object.
          Definition reaction.cpp:19
          std::unordered_set< fourdst::atomic::Species > reactant_species() const
          Gets a set of all unique reactant species.
          Definition reaction.cpp:77
          -
          const RateCoefficientSet & rateCoefficients() const
          Gets the set of rate coefficients.
          Definition reaction.h:137
          -
          std::vector< fourdst::atomic::Species > m_reactants
          Reactants of the reaction.
          Definition reaction.h:261
          +
          const RateCoefficientSet & rateCoefficients() const
          Gets the set of rate coefficients.
          Definition reaction.h:138
          +
          std::vector< fourdst::atomic::Species > m_reactants
          Reactants of the reaction.
          Definition reaction.h:266
          double excess_energy() const
          Calculates the excess energy from the mass difference of reactants and products.
          Definition reaction.cpp:123
          -
          RateCoefficientSet m_rateCoefficients
          The seven rate coefficients.
          Definition reaction.h:264
          -
          bool is_reverse() const
          Checks if this is a reverse reaction rate.
          Definition reaction.h:225
          +
          RateCoefficientSet m_rateCoefficients
          The seven rate coefficients.
          Definition reaction.h:269
          +
          bool is_reverse() const
          Checks if this is a reverse reaction rate.
          Definition reaction.h:226
          bool contains(const fourdst::atomic::Species &species) const
          Checks if the reaction involves a given species as a reactant or product.
          Definition reaction.cpp:47
          bool contains_reactant(const fourdst::atomic::Species &species) const
          Checks if the reaction involves a given species as a reactant.
          Definition reaction.cpp:52
          -
          double qValue() const
          Gets the Q-value of the reaction.
          Definition reaction.h:207
          +
          double qValue() const
          Gets the Q-value of the reaction.
          Definition reaction.h:208
          std::unordered_map< fourdst::atomic::Species, int > stoichiometry() const
          Gets a map of all species to their stoichiometric coefficients.
          Definition reaction.cpp:112
          virtual double calculate_rate(const double T9) const
          Calculates the reaction rate for a given temperature.
          Definition reaction.cpp:39
          uint64_t hash(uint64_t seed=0) const
          Computes a hash for the reaction based on its ID.
          Definition reaction.cpp:136
          -
          A collection of Reaction objects.
          Definition reaction.h:307
          -
          virtual void remove_reaction(const Reaction &reaction)
          Removes a reaction from the set.
          Definition reaction.cpp:181
          -
          bool contains_reactant(const fourdst::atomic::Species &species) const
          Checks if any reaction in the set contains the given species as a reactant.
          Definition reaction.cpp:225
          -
          uint64_t hash(uint64_t seed=0) const
          Computes a hash for the entire set.
          Definition reaction.cpp:270
          -
          virtual const Reaction & operator[](size_t index) const
          Accesses a reaction by its index.
          Definition reaction.cpp:243
          -
          bool contains_product(const fourdst::atomic::Species &species) const
          Checks if any reaction in the set contains the given species as a product.
          Definition reaction.cpp:234
          -
          bool operator==(const ReactionSet &other) const
          Compares this set with another for equality.
          Definition reaction.cpp:259
          -
          bool operator!=(const ReactionSet &other) const
          Compares this set with another for inequality.
          Definition reaction.cpp:266
          -
          bool contains_species(const fourdst::atomic::Species &species) const
          Checks if any reaction in the set involves the given species.
          Definition reaction.cpp:216
          -
          virtual size_t size() const
          Gets the number of reactions in the set.
          Definition reaction.h:363
          -
          void clear()
          Removes all reactions from the set.
          Definition reaction.cpp:211
          -
          std::vector< Reaction > m_reactions
          Definition reaction.h:442
          -
          ReactionSet & operator=(const ReactionSet &other)
          Copy assignment operator.
          Definition reaction.cpp:166
          -
          virtual void add_reaction(Reaction reaction)
          Adds a reaction to the set.
          Definition reaction.cpp:175
          -
          std::unordered_map< std::string, Reaction > m_reactionNameMap
          Maps reaction IDs to Reaction objects for quick lookup.
          Definition reaction.h:444
          -
          bool contains(const std::string_view &id) const
          Checks if the set contains a reaction with the given ID.
          Definition reaction.cpp:193
          - -
          ReactionSet(std::vector< Reaction > reactions)
          Constructs a ReactionSet from a vector of reactions.
          Definition reaction.cpp:140
          - - - + +
          TemplatedReactionSet< LogicalReaction > LogicalReactionSet
          A set of logical reactions.
          Definition reaction.h:557
          +
          LogicalReactionSet packReactionSetToLogicalReactionSet(const ReactionSet &reactionSet)
          Definition reaction.cpp:201
          +
          TemplatedReactionSet< Reaction > ReactionSet
          A set of reactions, typically from a single source like REACLIB.
          Definition reaction.h:556
          +
          STL namespace.
          Defines classes for representing and managing nuclear reactions.
          -
          Holds the seven coefficients for the REACLIB rate equation.
          Definition reaction.h:32
          -
          size_t operator()(const gridfire::reaction::Reaction &r) const noexcept
          Definition reaction.cpp:368
          -
          size_t operator()(const gridfire::reaction::ReactionSet &s) const noexcept
          Definition reaction.cpp:375
          +
          Holds the seven coefficients for the REACLIB rate equation.
          Definition reaction.h:33
          +
          size_t operator()(const gridfire::reaction::LogicalReactionSet &s) const noexcept
          Definition reaction.cpp:236
          +
          size_t operator()(const gridfire::reaction::Reaction &r) const noexcept
          Definition reaction.cpp:222
          +
          size_t operator()(const gridfire::reaction::ReactionSet &s) const noexcept
          Definition reaction.cpp:229
          diff --git a/docs/html/reaction_8h.html b/docs/html/reaction_8h.html index 03c8126f..83470f12 100644 --- a/docs/html/reaction_8h.html +++ b/docs/html/reaction_8h.html @@ -101,7 +101,9 @@ $(function(){initNavTree('reaction_8h.html',''); initResizable(true); });
          reaction.h File Reference
          @@ -116,6 +118,7 @@ $(function(){initNavTree('reaction_8h.html',''); initResizable(true); }); #include <vector>
          #include <unordered_set>
          #include "cppad/cppad.hpp"
          +#include "xxhash64.h"

          Go to the source code of this file.

          @@ -127,14 +130,10 @@ Classes - - - - - +
          class  gridfire::reaction::Reaction
           Represents a single nuclear reaction from a specific data source. More...
           
          class  gridfire::reaction::ReactionSet
           A collection of Reaction objects. More...
           
          class  gridfire::reaction::LogicalReaction
           Represents a "logical" reaction that aggregates rates from multiple sources. More...
           
          class  gridfire::reaction::LogicalReactionSet
           A collection of LogicalReaction objects. More...
          class  gridfire::reaction::TemplatedReactionSet< ReactionT >
           
          +

          @@ -143,6 +142,20 @@ Namespaces

           
          namespace  gridfire::reaction
           
          + + + + + + + +

          +Typedefs

          using gridfire::reaction::ReactionSet = TemplatedReactionSet<Reaction>
           A set of reactions, typically from a single source like REACLIB.
           
          using gridfire::reaction::LogicalReactionSet = TemplatedReactionSet<LogicalReaction>
           A set of logical reactions.
           
          + + +

          +Functions

          LogicalReactionSet gridfire::reaction::packReactionSetToLogicalReactionSet (const ReactionSet &reactionSet)
           

          Detailed Description

          Defines classes for representing and managing nuclear reactions.

          diff --git a/docs/html/reaction_8h.js b/docs/html/reaction_8h.js index d97ae73f..6191d4da 100644 --- a/docs/html/reaction_8h.js +++ b/docs/html/reaction_8h.js @@ -2,7 +2,9 @@ var reaction_8h = [ [ "gridfire::reaction::RateCoefficientSet", "structgridfire_1_1reaction_1_1_rate_coefficient_set.html", "structgridfire_1_1reaction_1_1_rate_coefficient_set" ], [ "gridfire::reaction::Reaction", "classgridfire_1_1reaction_1_1_reaction.html", "classgridfire_1_1reaction_1_1_reaction" ], - [ "gridfire::reaction::ReactionSet", "classgridfire_1_1reaction_1_1_reaction_set.html", "classgridfire_1_1reaction_1_1_reaction_set" ], [ "gridfire::reaction::LogicalReaction", "classgridfire_1_1reaction_1_1_logical_reaction.html", "classgridfire_1_1reaction_1_1_logical_reaction" ], - [ "gridfire::reaction::LogicalReactionSet", "classgridfire_1_1reaction_1_1_logical_reaction_set.html", "classgridfire_1_1reaction_1_1_logical_reaction_set" ] + [ "gridfire::reaction::TemplatedReactionSet< ReactionT >", "classgridfire_1_1reaction_1_1_templated_reaction_set.html", "classgridfire_1_1reaction_1_1_templated_reaction_set" ], + [ "gridfire::reaction::LogicalReactionSet", "namespacegridfire_1_1reaction.html#aa86f08712565f278adacc7cd2361eb31", null ], + [ "gridfire::reaction::ReactionSet", "namespacegridfire_1_1reaction.html#ad838ce3fb6cc02c3fd90b924a0dd91b1", null ], + [ "gridfire::reaction::packReactionSetToLogicalReactionSet", "namespacegridfire_1_1reaction.html#abfcfafc0cda0c3ed56930a12e7ead67f", null ] ]; \ No newline at end of file diff --git a/docs/html/reaction_8h_source.html b/docs/html/reaction_8h_source.html index 416dbc68..f142756f 100644 --- a/docs/html/reaction_8h_source.html +++ b/docs/html/reaction_8h_source.html @@ -115,347 +115,566 @@ $(function(){initNavTree('reaction_8h_source.html',''); initResizable(true); });
          11
          12
          13#include "cppad/cppad.hpp"
          -
          14
          -
          - -
          - -
          33 double a0;
          -
          34 double a1;
          -
          35 double a2;
          -
          36 double a3;
          -
          37 double a4;
          -
          38 double a5;
          -
          39 double a6;
          -
          40
          -
          -
          47 friend std::ostream& operator<<(std::ostream& os, const RateCoefficientSet& r) {
          -
          48 os << "[" << r.a0 << ", " << r.a1 << ", " << r.a2 << ", "
          -
          49 << r.a3 << ", " << r.a4 << ", " << r.a5 << ", " << r.a6 << "]";
          -
          50 return os;
          -
          51 }
          +
          14#include "xxhash64.h"
          +
          15
          +
          + +
          + +
          34 double a0;
          +
          35 double a1;
          +
          36 double a2;
          +
          37 double a3;
          +
          38 double a4;
          +
          39 double a5;
          +
          40 double a6;
          +
          41
          +
          +
          48 friend std::ostream& operator<<(std::ostream& os, const RateCoefficientSet& r) {
          +
          49 os << "[" << r.a0 << ", " << r.a1 << ", " << r.a2 << ", "
          +
          50 << r.a3 << ", " << r.a4 << ", " << r.a5 << ", " << r.a6 << "]";
          +
          51 return os;
          +
          52 }
          -
          52 };
          +
          53 };
          -
          53
          -
          -
          71 class Reaction {
          -
          72 public:
          -
          76 virtual ~Reaction() = default;
          -
          77
          - -
          91 const std::string_view id,
          -
          92 const std::string_view peName,
          -
          93 const int chapter,
          -
          94 const std::vector<fourdst::atomic::Species> &reactants,
          -
          95 const std::vector<fourdst::atomic::Species> &products,
          -
          96 const double qValue,
          -
          97 const std::string_view label,
          -
          98 const RateCoefficientSet &sets,
          -
          99 const bool reverse = false);
          -
          100
          -
          106 [[nodiscard]] virtual double calculate_rate(const double T9) const;
          -
          107
          -
          113 [[nodiscard]] virtual CppAD::AD<double> calculate_rate(const CppAD::AD<double> T9) const;
          -
          114
          -
          119 [[nodiscard]] virtual std::string_view peName() const { return m_peName; }
          -
          120
          -
          125 [[nodiscard]] int chapter() const { return m_chapter; }
          -
          126
          -
          131 [[nodiscard]] std::string_view sourceLabel() const { return m_sourceLabel; }
          -
          132
          -
          137 [[nodiscard]] const RateCoefficientSet& rateCoefficients() const { return m_rateCoefficients; }
          -
          138
          -
          144 [[nodiscard]] bool contains(const fourdst::atomic::Species& species) const;
          -
          145
          -
          151 [[nodiscard]] bool contains_reactant(const fourdst::atomic::Species& species) const;
          -
          152
          -
          158 [[nodiscard]] bool contains_product(const fourdst::atomic::Species& species) const;
          -
          159
          -
          164 [[nodiscard]] std::unordered_set<fourdst::atomic::Species> all_species() const;
          -
          165
          -
          170 [[nodiscard]] std::unordered_set<fourdst::atomic::Species> reactant_species() const;
          -
          171
          -
          176 [[nodiscard]] std::unordered_set<fourdst::atomic::Species> product_species() const;
          -
          177
          -
          182 [[nodiscard]] size_t num_species() const;
          -
          183
          -
          189 [[nodiscard]] int stoichiometry(const fourdst::atomic::Species& species) const;
          -
          190
          -
          195 [[nodiscard]] std::unordered_map<fourdst::atomic::Species, int> stoichiometry() const;
          -
          196
          -
          201 [[nodiscard]] std::string_view id() const { return m_id; }
          -
          202
          -
          207 [[nodiscard]] double qValue() const { return m_qValue; }
          -
          208
          -
          213 [[nodiscard]] const std::vector<fourdst::atomic::Species>& reactants() const { return m_reactants; }
          -
          214
          -
          219 [[nodiscard]] const std::vector<fourdst::atomic::Species>& products() const { return m_products; }
          -
          220
          -
          225 [[nodiscard]] bool is_reverse() const { return m_reverse; }
          -
          226
          -
          231 [[nodiscard]] double excess_energy() const;
          -
          232
          -
          238 bool operator==(const Reaction& other) const { return m_id == other.m_id; }
          -
          239
          -
          245 bool operator!=(const Reaction& other) const { return !(*this == other); }
          -
          246
          -
          253 [[nodiscard]] uint64_t hash(uint64_t seed = 0) const;
          -
          254
          -
          255 protected:
          -
          256 quill::Logger* m_logger = fourdst::logging::LogManager::getInstance().getLogger("log");
          -
          257 std::string m_id;
          -
          258 std::string m_peName;
          - -
          260 double m_qValue = 0.0;
          -
          261 std::vector<fourdst::atomic::Species> m_reactants;
          -
          262 std::vector<fourdst::atomic::Species> m_products;
          -
          263 std::string m_sourceLabel;
          - -
          265 bool m_reverse = false;
          -
          266 private:
          -
          275 template <typename T>
          -
          -
          276 [[nodiscard]] T calculate_rate(const T T9) const {
          -
          277 const T T913 = CppAD::pow(T9, 1.0/3.0);
          -
          278 const T T953 = CppAD::pow(T9, 5.0/3.0);
          -
          279 const T logT9 = CppAD::log(T9);
          -
          280 const T exponent = m_rateCoefficients.a0 +
          -
          281 m_rateCoefficients.a1 / T9 +
          -
          282 m_rateCoefficients.a2 / T913 +
          -
          283 m_rateCoefficients.a3 * T913 +
          -
          284 m_rateCoefficients.a4 * T9 +
          -
          285 m_rateCoefficients.a5 * T953 +
          -
          286 m_rateCoefficients.a6 * logT9;
          -
          287 return CppAD::exp(exponent);
          -
          288 }
          +
          54
          +
          +
          72 class Reaction {
          +
          73 public:
          +
          77 virtual ~Reaction() = default;
          +
          78
          + +
          92 const std::string_view id,
          +
          93 const std::string_view peName,
          +
          94 const int chapter,
          +
          95 const std::vector<fourdst::atomic::Species> &reactants,
          +
          96 const std::vector<fourdst::atomic::Species> &products,
          +
          97 const double qValue,
          +
          98 const std::string_view label,
          +
          99 const RateCoefficientSet &sets,
          +
          100 const bool reverse = false);
          +
          101
          +
          107 [[nodiscard]] virtual double calculate_rate(const double T9) const;
          +
          108
          +
          114 [[nodiscard]] virtual CppAD::AD<double> calculate_rate(const CppAD::AD<double> T9) const;
          +
          115
          +
          120 [[nodiscard]] virtual std::string_view peName() const { return m_peName; }
          +
          121
          +
          126 [[nodiscard]] int chapter() const { return m_chapter; }
          +
          127
          +
          132 [[nodiscard]] std::string_view sourceLabel() const { return m_sourceLabel; }
          +
          133
          +
          138 [[nodiscard]] const RateCoefficientSet& rateCoefficients() const { return m_rateCoefficients; }
          +
          139
          +
          145 [[nodiscard]] bool contains(const fourdst::atomic::Species& species) const;
          +
          146
          +
          152 [[nodiscard]] bool contains_reactant(const fourdst::atomic::Species& species) const;
          +
          153
          +
          159 [[nodiscard]] bool contains_product(const fourdst::atomic::Species& species) const;
          +
          160
          +
          165 [[nodiscard]] std::unordered_set<fourdst::atomic::Species> all_species() const;
          +
          166
          +
          171 [[nodiscard]] std::unordered_set<fourdst::atomic::Species> reactant_species() const;
          +
          172
          +
          177 [[nodiscard]] std::unordered_set<fourdst::atomic::Species> product_species() const;
          +
          178
          +
          183 [[nodiscard]] size_t num_species() const;
          +
          184
          +
          190 [[nodiscard]] int stoichiometry(const fourdst::atomic::Species& species) const;
          +
          191
          +
          196 [[nodiscard]] std::unordered_map<fourdst::atomic::Species, int> stoichiometry() const;
          +
          197
          +
          202 [[nodiscard]] std::string_view id() const { return m_id; }
          +
          203
          +
          208 [[nodiscard]] double qValue() const { return m_qValue; }
          +
          209
          +
          214 [[nodiscard]] const std::vector<fourdst::atomic::Species>& reactants() const { return m_reactants; }
          +
          215
          +
          220 [[nodiscard]] const std::vector<fourdst::atomic::Species>& products() const { return m_products; }
          +
          221
          +
          226 [[nodiscard]] bool is_reverse() const { return m_reverse; }
          +
          227
          +
          232 [[nodiscard]] double excess_energy() const;
          +
          233
          +
          239 bool operator==(const Reaction& other) const { return m_id == other.m_id; }
          +
          240
          +
          246 bool operator!=(const Reaction& other) const { return !(*this == other); }
          +
          247
          +
          254 [[nodiscard]] uint64_t hash(uint64_t seed = 0) const;
          +
          255
          +
          +
          256 friend std::ostream& operator<<(std::ostream& os, const Reaction& r) {
          +
          257 return os << "(Reaction:" << r.m_id << ")";
          +
          258 }
          -
          289 };
          +
          259
          +
          260 protected:
          +
          261 quill::Logger* m_logger = fourdst::logging::LogManager::getInstance().getLogger("log");
          +
          262 std::string m_id;
          +
          263 std::string m_peName;
          + +
          265 double m_qValue = 0.0;
          +
          266 std::vector<fourdst::atomic::Species> m_reactants;
          +
          267 std::vector<fourdst::atomic::Species> m_products;
          +
          268 std::string m_sourceLabel;
          + +
          270 bool m_reverse = false;
          +
          271 private:
          +
          280 template <typename T>
          +
          +
          281 [[nodiscard]] T calculate_rate(const T T9) const {
          +
          282 const T T913 = CppAD::pow(T9, 1.0/3.0);
          +
          283 const T T953 = CppAD::pow(T9, 5.0/3.0);
          +
          284 const T logT9 = CppAD::log(T9);
          +
          285 const T exponent = m_rateCoefficients.a0 +
          +
          286 m_rateCoefficients.a1 / T9 +
          +
          287 m_rateCoefficients.a2 / T913 +
          +
          288 m_rateCoefficients.a3 * T913 +
          +
          289 m_rateCoefficients.a4 * T9 +
          +
          290 m_rateCoefficients.a5 * T953 +
          +
          291 m_rateCoefficients.a6 * logT9;
          +
          292 return CppAD::exp(exponent);
          +
          293 }
          -
          290
          -
          - -
          308 public:
          -
          313 explicit ReactionSet(std::vector<Reaction> reactions);
          -
          314
          -
          319 ReactionSet(const ReactionSet& other);
          -
          320
          -
          326 ReactionSet& operator=(const ReactionSet& other);
          -
          327
          -
          331 virtual ~ReactionSet() = default;
          -
          332
          -
          337 virtual void add_reaction(Reaction reaction);
          -
          338
          -
          343 virtual void remove_reaction(const Reaction& reaction);
          -
          344
          -
          350 [[nodiscard]] bool contains(const std::string_view& id) const;
          -
          351
          -
          357 [[nodiscard]] bool contains(const Reaction& reaction) const;
          -
          358
          -
          363 [[nodiscard]] virtual size_t size() const { return m_reactions.size(); }
          -
          364
          -
          368 void clear();
          -
          369
          -
          375 [[nodiscard]] bool contains_species(const fourdst::atomic::Species& species) const;
          -
          376
          -
          382 [[nodiscard]] bool contains_reactant(const fourdst::atomic::Species& species) const;
          -
          383
          -
          389 [[nodiscard]] bool contains_product(const fourdst::atomic::Species& species) const;
          -
          390
          -
          397 [[nodiscard]] virtual const Reaction& operator[](size_t index) const;
          -
          398
          -
          405 [[nodiscard]] const Reaction& operator[](const std::string_view& id) const;
          -
          406
          -
          412 bool operator==(const ReactionSet& other) const;
          -
          413
          -
          419 bool operator!=(const ReactionSet& other) const;
          -
          420
          -
          429 [[nodiscard]] uint64_t hash(uint64_t seed = 0) const;
          -
          430
          -
          435 auto begin() { return m_reactions.begin(); }
          -
          436 [[nodiscard]] auto begin() const { return m_reactions.cbegin(); }
          -
          437 auto end() { return m_reactions.end(); }
          -
          438 [[nodiscard]] auto end() const { return m_reactions.cend(); }
          -
          440 private:
          -
          441 quill::Logger* m_logger = fourdst::logging::LogManager::getInstance().getLogger("log");
          -
          442 std::vector<Reaction> m_reactions;
          -
          443 std::string m_id;
          -
          444 std::unordered_map<std::string, Reaction> m_reactionNameMap;
          -
          445
          -
          446 };
          +
          294 };
          -
          447
          +
          295
          +
          296
          +
          297
          +
          +
          308 class LogicalReaction final : public Reaction {
          +
          309 public:
          +
          315 explicit LogicalReaction(const std::vector<Reaction> &reactions);
          +
          316
          +
          323 void add_reaction(const Reaction& reaction);
          +
          324
          +
          329 [[nodiscard]] size_t size() const { return m_rates.size(); }
          +
          330
          +
          335 [[nodiscard]] std::vector<std::string> sources() const { return m_sources; }
          +
          336
          +
          342 [[nodiscard]] double calculate_rate(const double T9) const override;
          +
          343
          +
          349 [[nodiscard]] CppAD::AD<double> calculate_rate(const CppAD::AD<double> T9) const override;
          +
          350
          +
          355 auto begin() { return m_rates.begin(); }
          +
          356 [[nodiscard]] auto begin() const { return m_rates.cbegin(); }
          +
          357 auto end() { return m_rates.end(); }
          +
          358 [[nodiscard]] auto end() const { return m_rates.cend(); }
          +
          361
          +
          +
          362 friend std::ostream& operator<<(std::ostream& os, const LogicalReaction& r) {
          +
          363 os << "(LogicalReaction: " << r.id() << ", reverse: " << r.is_reverse() << ")";
          +
          364 return os;
          +
          365 }
          +
          +
          366
          +
          367 private:
          +
          368 std::vector<std::string> m_sources;
          +
          369 std::vector<RateCoefficientSet> m_rates;
          +
          370
          +
          371 private:
          +
          380 template <typename T>
          +
          +
          381 [[nodiscard]] T calculate_rate(const T T9) const {
          +
          382 T sum = static_cast<T>(0.0);
          +
          383 const T T913 = CppAD::pow(T9, 1.0/3.0);
          +
          384 const T T953 = CppAD::pow(T9, 5.0/3.0);
          +
          385 const T logT9 = CppAD::log(T9);
          +
          386 // ReSharper disable once CppUseStructuredBinding
          +
          387 for (const auto& rate : m_rates) {
          +
          388 const T exponent = rate.a0 +
          +
          389 rate.a1 / T9 +
          +
          390 rate.a2 / T913 +
          +
          391 rate.a3 * T913 +
          +
          392 rate.a4 * T9 +
          +
          393 rate.a5 * T953 +
          +
          394 rate.a6 * logT9;
          +
          395 sum += CppAD::exp(exponent);
          +
          396 }
          +
          397 return sum;
          +
          398 }
          +
          +
          399 };
          +
          +
          400
          +
          401 template <typename ReactionT>
          +
          + +
          403 public:
          +
          408 explicit TemplatedReactionSet(std::vector<ReactionT> reactions);
          +
          409
          + +
          415
          + +
          422
          +
          427 void add_reaction(ReactionT reaction);
          +
          428
          +
          433 void remove_reaction(const ReactionT& reaction);
          +
          434
          +
          440 [[nodiscard]] bool contains(const std::string_view& id) const;
          +
          441
          +
          447 [[nodiscard]] bool contains(const Reaction& reaction) const;
          448
          -
          -
          459 class LogicalReaction final : public Reaction {
          -
          460 public:
          -
          466 explicit LogicalReaction(const std::vector<Reaction> &reactions);
          -
          467
          -
          474 void add_reaction(const Reaction& reaction);
          -
          475
          -
          480 [[nodiscard]] size_t size() const { return m_rates.size(); }
          -
          481
          -
          486 [[nodiscard]] std::vector<std::string> sources() const { return m_sources; }
          -
          487
          -
          493 [[nodiscard]] double calculate_rate(const double T9) const override;
          -
          494
          -
          500 [[nodiscard]] CppAD::AD<double> calculate_rate(const CppAD::AD<double> T9) const override;
          -
          501
          -
          506 auto begin() { return m_rates.begin(); }
          -
          507 [[nodiscard]] auto begin() const { return m_rates.cbegin(); }
          -
          508 auto end() { return m_rates.end(); }
          -
          509 [[nodiscard]] auto end() const { return m_rates.cend(); }
          -
          511
          -
          512 private:
          -
          513 std::vector<std::string> m_sources;
          -
          514 std::vector<RateCoefficientSet> m_rates;
          -
          515
          -
          516 private:
          -
          525 template <typename T>
          -
          -
          526 [[nodiscard]] T calculate_rate(const T T9) const {
          -
          527 T sum = static_cast<T>(0.0);
          -
          528 const T T913 = CppAD::pow(T9, 1.0/3.0);
          -
          529 const T T953 = CppAD::pow(T9, 5.0/3.0);
          -
          530 const T logT9 = CppAD::log(T9);
          -
          531 // ReSharper disable once CppUseStructuredBinding
          -
          532 for (const auto& rate : m_rates) {
          -
          533 const T exponent = rate.a0 +
          -
          534 rate.a1 / T9 +
          -
          535 rate.a2 / T913 +
          -
          536 rate.a3 * T913 +
          -
          537 rate.a4 * T9 +
          -
          538 rate.a5 * T953 +
          -
          539 rate.a6 * logT9;
          -
          540 sum += CppAD::exp(exponent);
          -
          541 }
          -
          542 return sum;
          -
          543 }
          +
          453 [[nodiscard]] size_t size() const { return m_reactions.size(); }
          +
          454
          +
          458 void clear();
          +
          459
          +
          465 [[nodiscard]] bool contains_species(const fourdst::atomic::Species& species) const;
          +
          466
          +
          472 [[nodiscard]] bool contains_reactant(const fourdst::atomic::Species& species) const;
          +
          473
          +
          479 [[nodiscard]] bool contains_product(const fourdst::atomic::Species& species) const;
          +
          480
          +
          487 [[nodiscard]] const ReactionT& operator[](size_t index) const;
          +
          488
          +
          495 [[nodiscard]] const ReactionT& operator[](const std::string_view& id) const;
          +
          496
          +
          502 bool operator==(const TemplatedReactionSet& other) const;
          +
          503
          +
          509 bool operator!=(const TemplatedReactionSet& other) const;
          +
          510
          +
          519 [[nodiscard]] uint64_t hash(uint64_t seed = 0) const;
          +
          520
          +
          525 auto begin() { return m_reactions.begin(); }
          +
          526 [[nodiscard]] auto begin() const { return m_reactions.cbegin(); }
          +
          527 auto end() { return m_reactions.end(); }
          +
          528 [[nodiscard]] auto end() const { return m_reactions.cend(); }
          +
          +
          531 friend std::ostream& operator<<(std::ostream& os, const TemplatedReactionSet<ReactionT>& r) {
          +
          532 os << "(ReactionSet: [";
          +
          533 int counter = 0;
          +
          534 for (const auto& reaction : r.m_reactions) {
          +
          535 os << reaction;
          +
          536 if (counter < r.m_reactions.size() - 2) {
          +
          537 os << ", ";
          +
          538 } else if (counter == r.m_reactions.size() - 2) {
          +
          539 os << " and ";
          +
          540 }
          +
          541 ++counter;
          +
          542 }
          +
          543 os << "])";
          +
          544 return os;
          +
          545 }
          -
          544 };
          +
          546
          +
          547 [[nodiscard]] std::unordered_set<fourdst::atomic::Species> getReactionSetSpecies() const;
          +
          548 private:
          +
          549 quill::Logger* m_logger = fourdst::logging::LogManager::getInstance().getLogger("log");
          +
          550 std::vector<ReactionT> m_reactions;
          +
          551 std::string m_id;
          +
          552 std::unordered_map<std::string, ReactionT> m_reactionNameMap;
          +
          553
          +
          554 };
          -
          545
          -
          -
          554 class LogicalReactionSet final : public ReactionSet {
          -
          555 public:
          - -
          560
          -
          567 explicit LogicalReactionSet(const ReactionSet& reactionSet);
          -
          568
          -
          573 auto begin() { return m_reactions.begin(); }
          -
          574 [[nodiscard]] auto begin() const { return m_reactions.cbegin(); }
          -
          575 auto end() { return m_reactions.end(); }
          -
          576 [[nodiscard]] auto end() const { return m_reactions.cend(); }
          -
          578
          -
          583 [[nodiscard]] size_t size() const { return m_reactions.size(); }
          -
          584
          -
          590 [[nodiscard]] const LogicalReaction& operator[](size_t index) const { return m_reactions[index]; }
          -
          591 private:
          -
          592 quill::Logger* m_logger = fourdst::logging::LogManager::getInstance().getLogger("log");
          -
          593 std::vector<LogicalReaction> m_reactions;
          -
          594 std::string m_id;
          -
          595 std::unordered_map<std::string, LogicalReaction> m_reactionNameMap;
          -
          596 };
          +
          555
          + + +
          558
          + +
          560
          +
          561 template <typename ReactionT>
          +
          + +
          563 std::vector<ReactionT> reactions
          +
          564 ) :
          +
          565 m_reactions(std::move(reactions)) {
          +
          566 if (m_reactions.empty()) {
          +
          567 return; // Case where the reactions will be added later.
          +
          568 }
          +
          569 m_reactionNameMap.reserve(reactions.size());
          +
          570 for (const auto& reaction : m_reactions) {
          +
          571 m_id += reaction.id();
          +
          572 m_reactionNameMap.emplace(reaction.id(), reaction);
          +
          573 }
          +
          574 }
          -
          597
          -
          598}
          +
          575
          +
          576 template <typename ReactionT>
          +
          + +
          578 m_reactions.reserve(other.m_reactions.size());
          +
          579 for (const auto& reaction_ptr: other.m_reactions) {
          +
          580 m_reactions.push_back(reaction_ptr);
          +
          581 }
          +
          582
          +
          583 m_reactionNameMap.reserve(other.m_reactionNameMap.size());
          +
          584 for (const auto& reaction_ptr : m_reactions) {
          +
          585 m_reactionNameMap.emplace(reaction_ptr.id(), reaction_ptr);
          +
          586 }
          +
          587 }
          -
          599
          -
          Represents a "logical" reaction that aggregates rates from multiple sources.
          Definition reaction.h:459
          -
          T calculate_rate(const T T9) const
          Template implementation for calculating the total reaction rate.
          Definition reaction.h:526
          - -
          void add_reaction(const Reaction &reaction)
          Adds another Reaction source to this logical reaction.
          Definition reaction.cpp:317
          -
          double calculate_rate(const double T9) const override
          Calculates the total reaction rate by summing all source rates.
          Definition reaction.cpp:339
          - - -
          LogicalReaction(const std::vector< Reaction > &reactions)
          Constructs a LogicalReaction from a vector of Reaction objects.
          Definition reaction.cpp:288
          -
          std::vector< std::string > m_sources
          List of source labels.
          Definition reaction.h:513
          -
          std::vector< RateCoefficientSet > m_rates
          List of rate coefficient sets from each source.
          Definition reaction.h:514
          -
          std::vector< std::string > sources() const
          Gets the list of source labels for the aggregated rates.
          Definition reaction.h:486
          - -
          size_t size() const
          Gets the number of source rates contributing to this logical reaction.
          Definition reaction.h:480
          -
          const LogicalReaction & operator[](size_t index) const
          Accesses a logical reaction by its index.
          Definition reaction.h:590
          -
          std::vector< LogicalReaction > m_reactions
          Definition reaction.h:593
          - -
          size_t size() const
          Gets the number of logical reactions in the set.
          Definition reaction.h:583
          -
          std::unordered_map< std::string, LogicalReaction > m_reactionNameMap
          Maps reaction IDs to LogicalReaction objects for quick lookup.
          Definition reaction.h:595
          - - - -
          LogicalReactionSet()=delete
          Deleted default constructor.
          - - -
          Represents a single nuclear reaction from a specific data source.
          Definition reaction.h:71
          -
          std::string m_sourceLabel
          Source label for the rate data (e.g., "wc12w", "st08").
          Definition reaction.h:263
          +
          588
          +
          589 template <typename ReactionT>
          +
          + +
          591 if (this != &other) {
          +
          592 TemplatedReactionSet temp(other);
          +
          593 std::swap(m_reactions, temp.m_reactions);
          +
          594 std::swap(m_reactionNameMap, temp.m_reactionNameMap);
          +
          595 }
          +
          596 return *this;
          +
          597 }
          +
          +
          598
          +
          599 template <typename ReactionT>
          +
          + +
          601 m_reactions.emplace_back(reaction);
          +
          602 m_id += m_reactions.back().id();
          +
          603 m_reactionNameMap.emplace(m_reactions.back().id(), m_reactions.back());
          +
          604 }
          +
          +
          605
          +
          606 template <typename ReactionT>
          +
          + +
          608 if (!m_reactionNameMap.contains(std::string(reaction.id()))) {
          +
          609 return;
          +
          610 }
          +
          611
          +
          612 m_reactionNameMap.erase(std::string(reaction.id()));
          +
          613
          +
          614 std::erase_if(m_reactions, [&reaction](const Reaction& r) {
          +
          615 return r == reaction;
          +
          616 });
          +
          617 }
          +
          +
          618
          +
          619 template <typename ReactionT>
          +
          +
          620 bool TemplatedReactionSet<ReactionT>::contains(const std::string_view& id) const {
          +
          621 for (const auto& reaction : m_reactions) {
          +
          622 if (reaction.id() == id) {
          +
          623 return true;
          +
          624 }
          +
          625 }
          +
          626 return false;
          +
          627 }
          +
          +
          628
          +
          629 template <typename ReactionT>
          +
          + +
          631 for (const auto& r : m_reactions) {
          +
          632 if (r == reaction) {
          +
          633 return true;
          +
          634 }
          +
          635 }
          +
          636 return false;
          +
          637 }
          +
          +
          638
          +
          639 template <typename ReactionT>
          +
          + +
          641 m_reactions.clear();
          +
          642 m_reactionNameMap.clear();
          +
          643 }
          +
          +
          644
          +
          645 template <typename ReactionT>
          +
          +
          646 bool TemplatedReactionSet<ReactionT>::contains_species(const fourdst::atomic::Species& species) const {
          +
          647 for (const auto& reaction : m_reactions) {
          +
          648 if (reaction.contains(species)) {
          +
          649 return true;
          +
          650 }
          +
          651 }
          +
          652 return false;
          +
          653 }
          +
          +
          654
          +
          655 template <typename ReactionT>
          +
          +
          656 bool TemplatedReactionSet<ReactionT>::contains_reactant(const fourdst::atomic::Species& species) const {
          +
          657 for (const auto& r : m_reactions) {
          +
          658 if (r.contains_reactant(species)) {
          +
          659 return true;
          +
          660 }
          +
          661 }
          +
          662 return false;
          +
          663 }
          +
          +
          664
          +
          665 template <typename ReactionT>
          +
          +
          666 bool TemplatedReactionSet<ReactionT>::contains_product(const fourdst::atomic::Species& species) const {
          +
          667 for (const auto& r : m_reactions) {
          +
          668 if (r.contains_product(species)) {
          +
          669 return true;
          +
          670 }
          +
          671 }
          +
          672 return false;
          +
          673 }
          +
          +
          674
          +
          675 template <typename ReactionT>
          +
          +
          676 const ReactionT& TemplatedReactionSet<ReactionT>::operator[](const size_t index) const {
          +
          677 if (index >= m_reactions.size()) {
          +
          678 m_logger -> flush_log();
          +
          679 throw std::out_of_range("Index" + std::to_string(index) + " out of range for ReactionSet of size " + std::to_string(m_reactions.size()) + ".");
          +
          680 }
          +
          681 return m_reactions[index];
          +
          682 }
          +
          +
          683
          +
          684 template <typename ReactionT>
          +
          +
          685 const ReactionT& TemplatedReactionSet<ReactionT>::operator[](const std::string_view& id) const {
          +
          686 if (auto it = m_reactionNameMap.find(std::string(id)); it != m_reactionNameMap.end()) {
          +
          687 return it->second;
          +
          688 }
          +
          689 m_logger -> flush_log();
          +
          690 throw std::out_of_range("Species " + std::string(id) + " does not exist in ReactionSet.");
          +
          691 }
          +
          +
          692
          +
          693 template <typename ReactionT>
          +
          + +
          695 if (size() != other.size()) {
          +
          696 return false;
          +
          697 }
          +
          698 return hash() == other.hash();
          +
          699 }
          +
          +
          700
          +
          701 template <typename ReactionT>
          +
          + +
          703 return !(*this == other);
          +
          704 }
          +
          +
          705
          +
          706 template <typename ReactionT>
          +
          +
          707 uint64_t TemplatedReactionSet<ReactionT>::hash(uint64_t seed) const {
          +
          708 if (m_reactions.empty()) {
          +
          709 return XXHash64::hash(nullptr, 0, seed);
          +
          710 }
          +
          711 std::vector<uint64_t> individualReactionHashes;
          +
          712 individualReactionHashes.reserve(m_reactions.size());
          +
          713 for (const auto& reaction : m_reactions) {
          +
          714 individualReactionHashes.push_back(reaction.hash(seed));
          +
          715 }
          +
          716
          +
          717 std::ranges::sort(individualReactionHashes);
          +
          718
          +
          719 const auto data = static_cast<const void*>(individualReactionHashes.data());
          +
          720 const size_t sizeInBytes = individualReactionHashes.size() * sizeof(uint64_t);
          +
          721 return XXHash64::hash(data, sizeInBytes, seed);
          +
          722 }
          +
          +
          723
          +
          724 template<typename ReactionT>
          +
          +
          725 std::unordered_set<fourdst::atomic::Species> TemplatedReactionSet<ReactionT>::getReactionSetSpecies() const {
          +
          726 std::unordered_set<fourdst::atomic::Species> species;
          +
          727 for (const auto& reaction : m_reactions) {
          +
          728 const auto reactionSpecies = reaction.all_species();
          +
          729 species.insert(reactionSpecies.begin(), reactionSpecies.end());
          +
          730 }
          +
          731 return species;
          +
          732 }
          +
          +
          733}
          +
          +
          734
          +
          T calculate_rate(const T T9) const
          Template implementation for calculating the total reaction rate.
          Definition reaction.h:381
          + +
          friend std::ostream & operator<<(std::ostream &os, const LogicalReaction &r)
          Definition reaction.h:362
          +
          void add_reaction(const Reaction &reaction)
          Adds another Reaction source to this logical reaction.
          Definition reaction.cpp:171
          +
          double calculate_rate(const double T9) const override
          Calculates the total reaction rate by summing all source rates.
          Definition reaction.cpp:193
          + + +
          LogicalReaction(const std::vector< Reaction > &reactions)
          Constructs a LogicalReaction from a vector of Reaction objects.
          Definition reaction.cpp:142
          +
          std::vector< std::string > m_sources
          List of source labels.
          Definition reaction.h:368
          +
          std::vector< RateCoefficientSet > m_rates
          List of rate coefficient sets from each source.
          Definition reaction.h:369
          +
          std::vector< std::string > sources() const
          Gets the list of source labels for the aggregated rates.
          Definition reaction.h:335
          + +
          size_t size() const
          Gets the number of source rates contributing to this logical reaction.
          Definition reaction.h:329
          +
          Represents a single nuclear reaction from a specific data source.
          Definition reaction.h:72
          +
          std::string m_sourceLabel
          Source label for the rate data (e.g., "wc12w", "st08").
          Definition reaction.h:268
          std::unordered_set< fourdst::atomic::Species > product_species() const
          Gets a set of all unique product species.
          Definition reaction.cpp:85
          bool contains_product(const fourdst::atomic::Species &species) const
          Checks if the reaction involves a given species as a product.
          Definition reaction.cpp:61
          -
          std::string_view id() const
          Gets the unique identifier of the reaction.
          Definition reaction.h:201
          -
          bool m_reverse
          Flag indicating if this is a reverse reaction rate.
          Definition reaction.h:265
          -
          const std::vector< fourdst::atomic::Species > & reactants() const
          Gets the vector of reactant species.
          Definition reaction.h:213
          -
          int m_chapter
          Chapter number from the REACLIB database, defining the reaction structure.
          Definition reaction.h:259
          +
          std::string_view id() const
          Gets the unique identifier of the reaction.
          Definition reaction.h:202
          +
          bool m_reverse
          Flag indicating if this is a reverse reaction rate.
          Definition reaction.h:270
          +
          const std::vector< fourdst::atomic::Species > & reactants() const
          Gets the vector of reactant species.
          Definition reaction.h:214
          +
          int m_chapter
          Chapter number from the REACLIB database, defining the reaction structure.
          Definition reaction.h:264
          size_t num_species() const
          Gets the number of unique species involved in the reaction.
          Definition reaction.cpp:108
          -
          bool operator!=(const Reaction &other) const
          Compares this reaction with another for inequality.
          Definition reaction.h:245
          -
          std::string_view sourceLabel() const
          Gets the source label for the rate data.
          Definition reaction.h:131
          -
          std::vector< fourdst::atomic::Species > m_products
          Products of the reaction.
          Definition reaction.h:262
          -
          double m_qValue
          Q-value of the reaction in MeV.
          Definition reaction.h:260
          -
          std::string m_id
          Unique identifier for the reaction (e.g., "h1+h1=>h2+e+nu").
          Definition reaction.h:257
          -
          int chapter() const
          Gets the REACLIB chapter number.
          Definition reaction.h:125
          -
          std::string m_peName
          Name of the reaction in (projectile, ejectile) notation (e.g. "p(p,g)d").
          Definition reaction.h:258
          -
          T calculate_rate(const T T9) const
          Template implementation for calculating the reaction rate.
          Definition reaction.h:276
          -
          const std::vector< fourdst::atomic::Species > & products() const
          Gets the vector of product species.
          Definition reaction.h:219
          -
          quill::Logger * m_logger
          Definition reaction.h:256
          -
          virtual std::string_view peName() const
          Gets the reaction name in (projectile, ejectile) notation.
          Definition reaction.h:119
          +
          friend std::ostream & operator<<(std::ostream &os, const Reaction &r)
          Definition reaction.h:256
          +
          bool operator!=(const Reaction &other) const
          Compares this reaction with another for inequality.
          Definition reaction.h:246
          +
          std::string_view sourceLabel() const
          Gets the source label for the rate data.
          Definition reaction.h:132
          +
          std::vector< fourdst::atomic::Species > m_products
          Products of the reaction.
          Definition reaction.h:267
          +
          double m_qValue
          Q-value of the reaction in MeV.
          Definition reaction.h:265
          +
          std::string m_id
          Unique identifier for the reaction (e.g., "h1+h1=>h2+e+nu").
          Definition reaction.h:262
          +
          int chapter() const
          Gets the REACLIB chapter number.
          Definition reaction.h:126
          +
          std::string m_peName
          Name of the reaction in (projectile, ejectile) notation (e.g. "p(p,g)d").
          Definition reaction.h:263
          +
          T calculate_rate(const T T9) const
          Template implementation for calculating the reaction rate.
          Definition reaction.h:281
          +
          const std::vector< fourdst::atomic::Species > & products() const
          Gets the vector of product species.
          Definition reaction.h:220
          +
          quill::Logger * m_logger
          Definition reaction.h:261
          +
          virtual std::string_view peName() const
          Gets the reaction name in (projectile, ejectile) notation.
          Definition reaction.h:120
          std::unordered_set< fourdst::atomic::Species > all_species() const
          Gets a set of all unique species involved in the reaction.
          Definition reaction.cpp:70
          Reaction(const std::string_view id, const std::string_view peName, const int chapter, const std::vector< fourdst::atomic::Species > &reactants, const std::vector< fourdst::atomic::Species > &products, const double qValue, const std::string_view label, const RateCoefficientSet &sets, const bool reverse=false)
          Constructs a Reaction object.
          Definition reaction.cpp:19
          std::unordered_set< fourdst::atomic::Species > reactant_species() const
          Gets a set of all unique reactant species.
          Definition reaction.cpp:77
          -
          const RateCoefficientSet & rateCoefficients() const
          Gets the set of rate coefficients.
          Definition reaction.h:137
          -
          std::vector< fourdst::atomic::Species > m_reactants
          Reactants of the reaction.
          Definition reaction.h:261
          +
          const RateCoefficientSet & rateCoefficients() const
          Gets the set of rate coefficients.
          Definition reaction.h:138
          +
          std::vector< fourdst::atomic::Species > m_reactants
          Reactants of the reaction.
          Definition reaction.h:266
          double excess_energy() const
          Calculates the excess energy from the mass difference of reactants and products.
          Definition reaction.cpp:123
          -
          RateCoefficientSet m_rateCoefficients
          The seven rate coefficients.
          Definition reaction.h:264
          -
          bool is_reverse() const
          Checks if this is a reverse reaction rate.
          Definition reaction.h:225
          +
          RateCoefficientSet m_rateCoefficients
          The seven rate coefficients.
          Definition reaction.h:269
          +
          bool is_reverse() const
          Checks if this is a reverse reaction rate.
          Definition reaction.h:226
          int stoichiometry(const fourdst::atomic::Species &species) const
          Calculates the stoichiometric coefficient for a given species.
          virtual ~Reaction()=default
          Virtual destructor.
          bool contains(const fourdst::atomic::Species &species) const
          Checks if the reaction involves a given species as a reactant or product.
          Definition reaction.cpp:47
          bool contains_reactant(const fourdst::atomic::Species &species) const
          Checks if the reaction involves a given species as a reactant.
          Definition reaction.cpp:52
          -
          double qValue() const
          Gets the Q-value of the reaction.
          Definition reaction.h:207
          -
          bool operator==(const Reaction &other) const
          Compares this reaction with another for equality based on their IDs.
          Definition reaction.h:238
          +
          double qValue() const
          Gets the Q-value of the reaction.
          Definition reaction.h:208
          +
          bool operator==(const Reaction &other) const
          Compares this reaction with another for equality based on their IDs.
          Definition reaction.h:239
          std::unordered_map< fourdst::atomic::Species, int > stoichiometry() const
          Gets a map of all species to their stoichiometric coefficients.
          Definition reaction.cpp:112
          virtual double calculate_rate(const double T9) const
          Calculates the reaction rate for a given temperature.
          Definition reaction.cpp:39
          uint64_t hash(uint64_t seed=0) const
          Computes a hash for the reaction based on its ID.
          Definition reaction.cpp:136
          -
          A collection of Reaction objects.
          Definition reaction.h:307
          -
          virtual void remove_reaction(const Reaction &reaction)
          Removes a reaction from the set.
          Definition reaction.cpp:181
          - -
          bool contains_reactant(const fourdst::atomic::Species &species) const
          Checks if any reaction in the set contains the given species as a reactant.
          Definition reaction.cpp:225
          -
          uint64_t hash(uint64_t seed=0) const
          Computes a hash for the entire set.
          Definition reaction.cpp:270
          -
          virtual const Reaction & operator[](size_t index) const
          Accesses a reaction by its index.
          Definition reaction.cpp:243
          - -
          bool contains_product(const fourdst::atomic::Species &species) const
          Checks if any reaction in the set contains the given species as a product.
          Definition reaction.cpp:234
          -
          bool operator==(const ReactionSet &other) const
          Compares this set with another for equality.
          Definition reaction.cpp:259
          -
          bool operator!=(const ReactionSet &other) const
          Compares this set with another for inequality.
          Definition reaction.cpp:266
          -
          bool contains_species(const fourdst::atomic::Species &species) const
          Checks if any reaction in the set involves the given species.
          Definition reaction.cpp:216
          -
          virtual ~ReactionSet()=default
          Virtual destructor.
          -
          virtual size_t size() const
          Gets the number of reactions in the set.
          Definition reaction.h:363
          -
          void clear()
          Removes all reactions from the set.
          Definition reaction.cpp:211
          -
          std::vector< Reaction > m_reactions
          Definition reaction.h:442
          -
          ReactionSet & operator=(const ReactionSet &other)
          Copy assignment operator.
          Definition reaction.cpp:166
          - -
          virtual void add_reaction(Reaction reaction)
          Adds a reaction to the set.
          Definition reaction.cpp:175
          -
          std::unordered_map< std::string, Reaction > m_reactionNameMap
          Maps reaction IDs to Reaction objects for quick lookup.
          Definition reaction.h:444
          - -
          bool contains(const std::string_view &id) const
          Checks if the set contains a reaction with the given ID.
          Definition reaction.cpp:193
          - -
          ReactionSet(std::vector< Reaction > reactions)
          Constructs a ReactionSet from a vector of reactions.
          Definition reaction.cpp:140
          - - -
          Holds the seven coefficients for the REACLIB rate equation.
          Definition reaction.h:32
          - - -
          friend std::ostream & operator<<(std::ostream &os, const RateCoefficientSet &r)
          Overloads the stream insertion operator for easy printing.
          Definition reaction.h:47
          - - - - - + +
          void clear()
          Removes all reactions from the set.
          Definition reaction.h:640
          +
          bool operator==(const TemplatedReactionSet &other) const
          Compares this set with another for equality.
          Definition reaction.h:694
          +
          const ReactionT & operator[](const std::string_view &id) const
          Accesses a reaction by its ID.
          Definition reaction.h:685
          +
          std::unordered_set< fourdst::atomic::Species > getReactionSetSpecies() const
          Definition reaction.h:725
          +
          uint64_t hash(uint64_t seed=0) const
          Computes a hash for the entire set.
          Definition reaction.h:707
          +
          void add_reaction(ReactionT reaction)
          Adds a reaction to the set.
          Definition reaction.h:600
          +
          std::unordered_map< std::string, Reaction > m_reactionNameMap
          Definition reaction.h:552
          +
          bool contains_product(const fourdst::atomic::Species &species) const
          Checks if any reaction in the set contains the given species as a product.
          Definition reaction.h:666
          +
          friend std::ostream & operator<<(std::ostream &os, const TemplatedReactionSet< ReactionT > &r)
          Definition reaction.h:531
          +
          TemplatedReactionSet(std::vector< ReactionT > reactions)
          Constructs a ReactionSet from a vector of reactions.
          Definition reaction.h:562
          + + +
          const ReactionT & operator[](size_t index) const
          Accesses a reaction by its index.
          Definition reaction.h:676
          +
          size_t size() const
          Gets the number of reactions in the set.
          Definition reaction.h:453
          +
          bool contains(const std::string_view &id) const
          Checks if the set contains a reaction with the given ID.
          Definition reaction.h:620
          + +
          void remove_reaction(const ReactionT &reaction)
          Removes a reaction from the set.
          Definition reaction.h:607
          +
          bool operator!=(const TemplatedReactionSet &other) const
          Compares this set with another for inequality.
          Definition reaction.h:702
          +
          bool contains(const Reaction &reaction) const
          Checks if the set contains the given reaction.
          Definition reaction.h:630
          + +
          bool contains_reactant(const fourdst::atomic::Species &species) const
          Checks if any reaction in the set contains the given species as a reactant.
          Definition reaction.h:656
          +
          TemplatedReactionSet< ReactionT > & operator=(const TemplatedReactionSet< ReactionT > &other)
          Copy assignment operator.
          Definition reaction.h:590
          + + +
          bool contains_species(const fourdst::atomic::Species &species) const
          Checks if any reaction in the set involves the given species.
          Definition reaction.h:646
          +
          TemplatedReactionSet(const TemplatedReactionSet< ReactionT > &other)
          Copy constructor.
          Definition reaction.h:577
          + + +
          TemplatedReactionSet< LogicalReaction > LogicalReactionSet
          A set of logical reactions.
          Definition reaction.h:557
          +
          LogicalReactionSet packReactionSetToLogicalReactionSet(const ReactionSet &reactionSet)
          Definition reaction.cpp:201
          +
          TemplatedReactionSet< Reaction > ReactionSet
          A set of reactions, typically from a single source like REACLIB.
          Definition reaction.h:556
          +
          STL namespace.
          +
          Holds the seven coefficients for the REACLIB rate equation.
          Definition reaction.h:33
          + + +
          friend std::ostream & operator<<(std::ostream &os, const RateCoefficientSet &r)
          Overloads the stream insertion operator for easy printing.
          Definition reaction.h:48
          + + + + +
          diff --git a/docs/html/search/all_0.js b/docs/html/search/all_0.js index 66ca3bf3..980b4d9f 100644 --- a/docs/html/search/all_0.js +++ b/docs/html/search/all_0.js @@ -10,8 +10,8 @@ var searchData= ['a6_7',['a6',['../structgridfire_1_1reaction_1_1_rate_coefficient_set.html#adf8e6ed7f91cb9e15d1469a808b1877a',1,'gridfire::reaction::RateCoefficientSet']]], ['adaptiveengineview_8',['AdaptiveEngineView',['../classgridfire_1_1_adaptive_engine_view.html',1,'gridfire::AdaptiveEngineView'],['../classgridfire_1_1_adaptive_engine_view.html#ad599363cdd457e72e2e2937b0222c455',1,'gridfire::AdaptiveEngineView::AdaptiveEngineView()']]], ['adaptivenetworksolverstrategy_9',['AdaptiveNetworkSolverStrategy',['../namespacegridfire_1_1solver.html#af3b10822ab58b55365577755c1f4faf6',1,'gridfire::solver']]], - ['add_5freaction_10',['add_reaction',['../classgridfire_1_1reaction_1_1_reaction_set.html#acea41c2ffb010e46bc5cf56f5f244fac',1,'gridfire::reaction::ReactionSet::add_reaction()'],['../classgridfire_1_1reaction_1_1_logical_reaction.html#a14a24cb8ea25a1514134acc51197f1de',1,'gridfire::reaction::LogicalReaction::add_reaction()']]], - ['addouble_11',['ADDouble',['../namespacegridfire.html#a1121d0b2d005195333412559fa29d3cc',1,'gridfire']]], + ['add_5freaction_10',['add_reaction',['../classgridfire_1_1reaction_1_1_logical_reaction.html#a14a24cb8ea25a1514134acc51197f1de',1,'gridfire::reaction::LogicalReaction::add_reaction()'],['../classgridfire_1_1reaction_1_1_templated_reaction_set.html#a339dbbf883b6ae20e33d9782d8376bcf',1,'gridfire::reaction::TemplatedReactionSet::add_reaction()']]], + ['addouble_11',['ADDouble',['../classgridfire_1_1screening_1_1_screening_model.html#a107ff2897f040d6f27f69d56a0bdd28d',1,'gridfire::screening::ScreeningModel::ADDouble'],['../classgridfire_1_1screening_1_1_bare_screening_model.html#a51119d705267e0b415aae8b4881d8c96',1,'gridfire::screening::BareScreeningModel::ADDouble'],['../namespacegridfire.html#a1121d0b2d005195333412559fa29d3cc',1,'gridfire::ADDouble'],['../namespacegridfire_1_1screening.html#ae7dd1a7ccb7bf3c05084094ab008d8a3',1,'gridfire::screening::ADDouble']]], ['aion_12',['aIon',['../structgridfire_1_1approx8_1_1_approx8_net.html#a296e54c1b22f0c5d4d07a13577c6e069',1,'gridfire::approx8::Approx8Net']]], ['all_5fspecies_13',['all_species',['../classgridfire_1_1reaction_1_1_reaction.html#a7dc8fda87e0581fde6da0a81cf4d7224',1,'gridfire::reaction::Reaction']]], ['approx8_14',['APPROX8',['../namespacegridfire.html#a3f3d6b3f9742b70e62049ccefbb60f37a1fc7adf719c40457abfdb8334675faea',1,'gridfire']]], diff --git a/docs/html/search/all_1.js b/docs/html/search/all_1.js index 94d38ef5..90542a36 100644 --- a/docs/html/search/all_1.js +++ b/docs/html/search/all_1.js @@ -1,6 +1,9 @@ var searchData= [ - ['begin_0',['begin',['../classgridfire_1_1reaction_1_1_reaction_set.html#a228f2a00f46a6ee01be887490a722613',1,'gridfire::reaction::ReactionSet::begin()'],['../classgridfire_1_1reaction_1_1_reaction_set.html#adb73fe9ff0178359409e2bea46a620c2',1,'gridfire::reaction::ReactionSet::begin() const'],['../classgridfire_1_1reaction_1_1_logical_reaction.html#a4ae3806e5e1a802b86a6de292d043476',1,'gridfire::reaction::LogicalReaction::begin()'],['../classgridfire_1_1reaction_1_1_logical_reaction.html#a5d410de1053f8028faed1f0d0a6083f5',1,'gridfire::reaction::LogicalReaction::begin() const'],['../classgridfire_1_1reaction_1_1_logical_reaction_set.html#afeed26abc72e5c529a76c1da41edfa67',1,'gridfire::reaction::LogicalReactionSet::begin()'],['../classgridfire_1_1reaction_1_1_logical_reaction_set.html#a15f08e96cce0ed23ca93fb83399eb8a4',1,'gridfire::reaction::LogicalReactionSet::begin() const']]], - ['build_5freaclib_5fnuclear_5fnetwork_1',['build_reaclib_nuclear_network',['../namespacegridfire.html#aa77f83539d9ae90e3bf541309bd9c83a',1,'gridfire']]], - ['building_20the_20project_2',['Building the Project',['../index.html#autotoc_md9',1,'']]] + ['bare_0',['BARE',['../namespacegridfire_1_1screening.html#aa82aafbc4f8c28d0a75b60798e3a7d25ad80b95b1abb9c8659fa4cc9d3d29bb71',1,'gridfire::screening']]], + ['barescreeningmodel_1',['BareScreeningModel',['../classgridfire_1_1screening_1_1_bare_screening_model.html',1,'gridfire::screening']]], + ['begin_2',['begin',['../classgridfire_1_1reaction_1_1_logical_reaction.html#a4ae3806e5e1a802b86a6de292d043476',1,'gridfire::reaction::LogicalReaction::begin()'],['../classgridfire_1_1reaction_1_1_logical_reaction.html#a5d410de1053f8028faed1f0d0a6083f5',1,'gridfire::reaction::LogicalReaction::begin() const'],['../classgridfire_1_1reaction_1_1_templated_reaction_set.html#a87257704009fcd57b553f86cdaacb597',1,'gridfire::reaction::TemplatedReactionSet::begin()'],['../classgridfire_1_1reaction_1_1_templated_reaction_set.html#aee42bb25973dadc6629bdb5cb1db6369',1,'gridfire::reaction::TemplatedReactionSet::begin() const']]], + ['build_5freaclib_5fnuclear_5fnetwork_3',['build_reaclib_nuclear_network',['../namespacegridfire.html#aa77f83539d9ae90e3bf541309bd9c83a',1,'gridfire']]], + ['buildfromfile_4',['buildFromFile',['../classgridfire_1_1_file_defined_engine_view.html#a3b5162b7be35405285ef9f825ec2663b',1,'gridfire::FileDefinedEngineView']]], + ['building_20the_20project_5',['Building the Project',['../index.html#autotoc_md9',1,'']]] ]; diff --git a/docs/html/search/all_10.js b/docs/html/search/all_10.js index 4ff1142a..85d905a7 100644 --- a/docs/html/search/all_10.js +++ b/docs/html/search/all_10.js @@ -16,15 +16,16 @@ var searchData= ['reaction_2ecpp_13',['reaction.cpp',['../reaction_8cpp.html',1,'']]], ['reaction_2eh_14',['reaction.h',['../reaction_8h.html',1,'']]], ['reactionflow_15',['ReactionFlow',['../structgridfire_1_1_adaptive_engine_view_1_1_reaction_flow.html',1,'gridfire::AdaptiveEngineView']]], - ['reactionptr_16',['reactionPtr',['../structgridfire_1_1_adaptive_engine_view_1_1_reaction_flow.html#afc894db76a799be17be91130ff3ae6d9',1,'gridfire::AdaptiveEngineView::ReactionFlow']]], - ['reactionrecord_17',['ReactionRecord',['../structgridfire_1_1reaclib_1_1_reaction_record.html',1,'gridfire::reaclib']]], - ['reactions_18',['Reactions',['../index.html#autotoc_md5',1,'']]], - ['reactions_5fdata_2eh_19',['reactions_data.h',['../reactions__data_8h.html',1,'']]], - ['reactionset_20',['ReactionSet',['../classgridfire_1_1reaction_1_1_reaction_set.html',1,'gridfire::reaction::ReactionSet'],['../classgridfire_1_1reaction_1_1_reaction_set.html#afc40e3783576867229fad3115b3d39d3',1,'gridfire::reaction::ReactionSet::ReactionSet(std::vector< Reaction > reactions)'],['../classgridfire_1_1reaction_1_1_reaction_set.html#acfe2341ae1f016ad82098b6f5a1efc45',1,'gridfire::reaction::ReactionSet::ReactionSet(const ReactionSet &other)']]], - ['recordadtape_21',['recordADTape',['../classgridfire_1_1_graph_engine.html#a95563f6bc86007d9ee053a0f1e15b889',1,'gridfire::GraphEngine']]], - ['remove_5freaction_22',['remove_reaction',['../classgridfire_1_1reaction_1_1_reaction_set.html#a1177193b1e46b4e5be630028883ab8dd',1,'gridfire::reaction::ReactionSet']]], - ['reservejacobianmatrix_23',['reserveJacobianMatrix',['../classgridfire_1_1_graph_engine.html#a5a5458ed01923124f2d7e1f04f32f138',1,'gridfire::GraphEngine']]], - ['reverse_24',['reverse',['../structgridfire_1_1reaclib_1_1_reaction_record.html#aa1fd4f510d7c00d2e4197e9b9caf29fd',1,'gridfire::reaclib::ReactionRecord']]], - ['rhsfunctor_25',['RHSFunctor',['../structgridfire_1_1solver_1_1_direct_network_solver_1_1_r_h_s_functor.html',1,'gridfire::solver::DirectNetworkSolver::RHSFunctor'],['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_r_h_s_functor.html',1,'gridfire::solver::QSENetworkSolver::RHSFunctor'],['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_r_h_s_functor.html#a5353d8e6f27b6c435084a167bc009e46',1,'gridfire::solver::QSENetworkSolver::RHSFunctor::RHSFunctor()'],['../structgridfire_1_1solver_1_1_direct_network_solver_1_1_r_h_s_functor.html#aed201b52ea757069c17a49e9638b3d3c',1,'gridfire::solver::DirectNetworkSolver::RHSFunctor::RHSFunctor()']]], - ['rpname_26',['rpName',['../structgridfire_1_1reaclib_1_1_reaction_record.html#a523b7cfb0a6d8ddccd785aef2f425ad1',1,'gridfire::reaclib::ReactionRecord']]] + ['reactionpenames_16',['reactionPENames',['../structgridfire_1_1io_1_1_parsed_network_data.html#a5145c672877638e6113abf1f719b246d',1,'gridfire::io::ParsedNetworkData']]], + ['reactionptr_17',['reactionPtr',['../structgridfire_1_1_adaptive_engine_view_1_1_reaction_flow.html#a3bb21f20df8115d37108cf3c3be3bc6f',1,'gridfire::AdaptiveEngineView::ReactionFlow']]], + ['reactionrecord_18',['ReactionRecord',['../structgridfire_1_1reaclib_1_1_reaction_record.html',1,'gridfire::reaclib']]], + ['reactions_19',['Reactions',['../index.html#autotoc_md5',1,'']]], + ['reactions_5fdata_2eh_20',['reactions_data.h',['../reactions__data_8h.html',1,'']]], + ['reactionset_21',['ReactionSet',['../namespacegridfire_1_1reaction.html#ad838ce3fb6cc02c3fd90b924a0dd91b1',1,'gridfire::reaction']]], + ['recordadtape_22',['recordADTape',['../classgridfire_1_1_graph_engine.html#a95563f6bc86007d9ee053a0f1e15b889',1,'gridfire::GraphEngine']]], + ['remove_5freaction_23',['remove_reaction',['../classgridfire_1_1reaction_1_1_templated_reaction_set.html#a89c4c5af12aef7fbfc24316c88237e22',1,'gridfire::reaction::TemplatedReactionSet']]], + ['reservejacobianmatrix_24',['reserveJacobianMatrix',['../classgridfire_1_1_graph_engine.html#a5a5458ed01923124f2d7e1f04f32f138',1,'gridfire::GraphEngine']]], + ['reverse_25',['reverse',['../structgridfire_1_1reaclib_1_1_reaction_record.html#aa1fd4f510d7c00d2e4197e9b9caf29fd',1,'gridfire::reaclib::ReactionRecord']]], + ['rhsfunctor_26',['RHSFunctor',['../structgridfire_1_1solver_1_1_direct_network_solver_1_1_r_h_s_functor.html',1,'gridfire::solver::DirectNetworkSolver::RHSFunctor'],['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_r_h_s_functor.html',1,'gridfire::solver::QSENetworkSolver::RHSFunctor'],['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_r_h_s_functor.html#a5353d8e6f27b6c435084a167bc009e46',1,'gridfire::solver::QSENetworkSolver::RHSFunctor::RHSFunctor()'],['../structgridfire_1_1solver_1_1_direct_network_solver_1_1_r_h_s_functor.html#aed201b52ea757069c17a49e9638b3d3c',1,'gridfire::solver::DirectNetworkSolver::RHSFunctor::RHSFunctor()']]], + ['rpname_27',['rpName',['../structgridfire_1_1reaclib_1_1_reaction_record.html#a523b7cfb0a6d8ddccd785aef2f425ad1',1,'gridfire::reaclib::ReactionRecord']]] ]; diff --git a/docs/html/search/all_11.js b/docs/html/search/all_11.js index ee7457d5..294f06c4 100644 --- a/docs/html/search/all_11.js +++ b/docs/html/search/all_11.js @@ -2,20 +2,33 @@ var searchData= [ ['s_5fall_5freaclib_5freactions_5fptr_0',['s_all_reaclib_reactions_ptr',['../namespacegridfire_1_1reaclib.html#a5dba5efc372d2a9e9e846dfd6563f3c0',1,'gridfire::reaclib']]], ['s_5finitialized_1',['s_initialized',['../namespacegridfire_1_1reaclib.html#af6ff0dfe7ffe34c73ba9acbab5ef8a66',1,'gridfire::reaclib']]], - ['setformat_2',['setFormat',['../classgridfire_1_1_network.html#a787c601f6e4bd06600bf946efbcc98d4',1,'gridfire::Network']]], - ['setstiff_3',['setStiff',['../classgridfire_1_1approx8_1_1_approx8_network.html#aefed972081514c29cdaaa1efd857ad8d',1,'gridfire::approx8::Approx8Network::setStiff()'],['../classgridfire_1_1_network.html#a84de2d691af06c4b62cfab5022b1e8fe',1,'gridfire::Network::setStiff()']]], - ['shouldupdateview_4',['shouldUpdateView',['../classgridfire_1_1solver_1_1_q_s_e_network_solver.html#a35f1f6ede393f15c8bb8862f3f1c3b07',1,'gridfire::solver::QSENetworkSolver']]], - ['size_5',['size',['../classgridfire_1_1reaction_1_1_reaction_set.html#a6b07a81a3500e4e91d3bcd336b66e35d',1,'gridfire::reaction::ReactionSet::size()'],['../classgridfire_1_1reaction_1_1_logical_reaction.html#afa41050855b842c63db16c94d2e9b897',1,'gridfire::reaction::LogicalReaction::size()'],['../classgridfire_1_1reaction_1_1_logical_reaction_set.html#a3bcdf2f98c19e9b95e03ad62d6ff7da7',1,'gridfire::reaction::LogicalReactionSet::size()']]], - ['solver_2ecpp_6',['solver.cpp',['../solver_8cpp.html',1,'']]], - ['solver_2eh_7',['solver.h',['../solver_8h.html',1,'']]], - ['solvers_8',['Solvers',['../index.html#autotoc_md7',1,'']]], - ['sourcelabel_9',['sourceLabel',['../classgridfire_1_1reaction_1_1_reaction.html#a410e2ab0784ad751f82bbe55be603db0',1,'gridfire::reaction::Reaction']]], - ['sources_10',['sources',['../classgridfire_1_1reaction_1_1_logical_reaction.html#add094eda0e71126f8443698d7f3317f4',1,'gridfire::reaction::LogicalReaction']]], - ['staticnetworksolverstrategy_11',['StaticNetworkSolverStrategy',['../namespacegridfire_1_1solver.html#a5361d6cf364f0ba2f88285a60bb9cd92',1,'gridfire::solver']]], - ['std_12',['std',['../namespacestd.html',1,'']]], - ['stepderivatives_13',['StepDerivatives',['../structgridfire_1_1_step_derivatives.html',1,'gridfire']]], - ['stoichiometry_14',['stoichiometry',['../classgridfire_1_1reaction_1_1_reaction.html#aaf0c94db6536b4a9ac1ec08a5c8f01ac',1,'gridfire::reaction::Reaction::stoichiometry(const fourdst::atomic::Species &species) const'],['../classgridfire_1_1reaction_1_1_reaction.html#ad359c06d7196c1a7a955a7b66a51dbe3',1,'gridfire::reaction::Reaction::stoichiometry() const']]], - ['structure_15',['Directory Structure',['../index.html#autotoc_md3',1,'']]], - ['sum_5fproduct_16',['sum_product',['../namespacegridfire_1_1approx8.html#aafd24448743672021dd4507316060817',1,'gridfire::approx8']]], - ['syncinternalmaps_17',['syncInternalMaps',['../classgridfire_1_1_graph_engine.html#acdce8d87e23a2cd1504bc9472e538c0f',1,'gridfire::GraphEngine']]] + ['screening_5fabstract_2eh_2',['screening_abstract.h',['../screening__abstract_8h.html',1,'']]], + ['screening_5fbare_2ecpp_3',['screening_bare.cpp',['../screening__bare_8cpp.html',1,'']]], + ['screening_5fbare_2eh_4',['screening_bare.h',['../screening__bare_8h.html',1,'']]], + ['screening_5ftypes_2ecpp_5',['screening_types.cpp',['../screening__types_8cpp.html',1,'']]], + ['screening_5ftypes_2eh_6',['screening_types.h',['../screening__types_8h.html',1,'']]], + ['screening_5fweak_2ecpp_7',['screening_weak.cpp',['../screening__weak_8cpp.html',1,'']]], + ['screening_5fweak_2eh_8',['screening_weak.h',['../screening__weak_8h.html',1,'']]], + ['screeningmodel_9',['ScreeningModel',['../classgridfire_1_1screening_1_1_screening_model.html',1,'gridfire::screening']]], + ['screeningtype_10',['ScreeningType',['../namespacegridfire_1_1screening.html#aa82aafbc4f8c28d0a75b60798e3a7d25',1,'gridfire::screening']]], + ['selectscreeningmodel_11',['selectScreeningModel',['../namespacegridfire_1_1screening.html#a6ca8556d27ac373e176f5b23437c416e',1,'gridfire::screening']]], + ['setformat_12',['setFormat',['../classgridfire_1_1_network.html#a787c601f6e4bd06600bf946efbcc98d4',1,'gridfire::Network']]], + ['setnetworkfile_13',['setNetworkFile',['../classgridfire_1_1_file_defined_engine_view.html#a92f14da849e99d07c1ff1347addb9263',1,'gridfire::FileDefinedEngineView']]], + ['setscreeningmodel_14',['setScreeningModel',['../classgridfire_1_1_dynamic_engine.html#a3fb44b6f55563a2f590f31916528f2bd',1,'gridfire::DynamicEngine::setScreeningModel()'],['../classgridfire_1_1_graph_engine.html#a8110e687844f921438bb517e1d8ce62f',1,'gridfire::GraphEngine::setScreeningModel()'],['../classgridfire_1_1_adaptive_engine_view.html#aae4ddbef1c4e2202fd236221a4bf376b',1,'gridfire::AdaptiveEngineView::setScreeningModel()'],['../classgridfire_1_1_file_defined_engine_view.html#ad96bbee6d3d37b50d9236a975ef704c0',1,'gridfire::FileDefinedEngineView::setScreeningModel()']]], + ['setstiff_15',['setStiff',['../classgridfire_1_1approx8_1_1_approx8_network.html#aefed972081514c29cdaaa1efd857ad8d',1,'gridfire::approx8::Approx8Network::setStiff()'],['../classgridfire_1_1_network.html#a84de2d691af06c4b62cfab5022b1e8fe',1,'gridfire::Network::setStiff()']]], + ['shouldupdateview_16',['shouldUpdateView',['../classgridfire_1_1solver_1_1_q_s_e_network_solver.html#a35f1f6ede393f15c8bb8862f3f1c3b07',1,'gridfire::solver::QSENetworkSolver']]], + ['simplereactionlistfileparser_17',['SimpleReactionListFileParser',['../classgridfire_1_1io_1_1_simple_reaction_list_file_parser.html',1,'gridfire::io::SimpleReactionListFileParser'],['../classgridfire_1_1io_1_1_simple_reaction_list_file_parser.html#afc8ed91e8c98205c505e3d9f0cff1993',1,'gridfire::io::SimpleReactionListFileParser::SimpleReactionListFileParser()']]], + ['size_18',['size',['../classgridfire_1_1reaction_1_1_logical_reaction.html#afa41050855b842c63db16c94d2e9b897',1,'gridfire::reaction::LogicalReaction::size()'],['../classgridfire_1_1reaction_1_1_templated_reaction_set.html#a6a1dc3c56690386ae9f6aa5c2aa37ba2',1,'gridfire::reaction::TemplatedReactionSet::size()']]], + ['solver_2ecpp_19',['solver.cpp',['../solver_8cpp.html',1,'']]], + ['solver_2eh_20',['solver.h',['../solver_8h.html',1,'']]], + ['solvers_21',['Solvers',['../index.html#autotoc_md7',1,'']]], + ['sourcelabel_22',['sourceLabel',['../classgridfire_1_1reaction_1_1_reaction.html#a410e2ab0784ad751f82bbe55be603db0',1,'gridfire::reaction::Reaction']]], + ['sources_23',['sources',['../classgridfire_1_1reaction_1_1_logical_reaction.html#add094eda0e71126f8443698d7f3317f4',1,'gridfire::reaction::LogicalReaction']]], + ['staticnetworksolverstrategy_24',['StaticNetworkSolverStrategy',['../namespacegridfire_1_1solver.html#a5361d6cf364f0ba2f88285a60bb9cd92',1,'gridfire::solver']]], + ['std_25',['std',['../namespacestd.html',1,'']]], + ['stepderivatives_26',['StepDerivatives',['../structgridfire_1_1_step_derivatives.html',1,'gridfire']]], + ['stoichiometry_27',['stoichiometry',['../classgridfire_1_1reaction_1_1_reaction.html#aaf0c94db6536b4a9ac1ec08a5c8f01ac',1,'gridfire::reaction::Reaction::stoichiometry(const fourdst::atomic::Species &species) const'],['../classgridfire_1_1reaction_1_1_reaction.html#ad359c06d7196c1a7a955a7b66a51dbe3',1,'gridfire::reaction::Reaction::stoichiometry() const']]], + ['structure_28',['Directory Structure',['../index.html#autotoc_md3',1,'']]], + ['sum_5fproduct_29',['sum_product',['../namespacegridfire_1_1approx8.html#aafd24448743672021dd4507316060817',1,'gridfire::approx8']]], + ['syncinternalmaps_30',['syncInternalMaps',['../classgridfire_1_1_graph_engine.html#acdce8d87e23a2cd1504bc9472e538c0f',1,'gridfire::GraphEngine']]] ]; diff --git a/docs/html/search/all_12.js b/docs/html/search/all_12.js index 2dcc8cb3..5573abfd 100644 --- a/docs/html/search/all_12.js +++ b/docs/html/search/all_12.js @@ -1,10 +1,13 @@ var searchData= [ ['temperature_0',['temperature',['../structgridfire_1_1_net_in.html#a5be0f5195a5cd1dd177b9fc5ab83a7be',1,'gridfire::NetIn']]], - ['the_20project_1',['Building the Project',['../index.html#autotoc_md9',1,'']]], - ['tmax_2',['tMax',['../structgridfire_1_1_net_in.html#a0a8d820cfeaa92ee31f253795c57e0d1',1,'gridfire::NetIn']]], - ['to_20use_3',['How to Use',['../index.html#autotoc_md10',1,'']]], - ['todo_20list_4',['Todo List',['../todo.html',1,'']]], - ['trim_5fwhitespace_5',['trim_whitespace',['../namespacegridfire.html#a8b245f261cd8d1711ae8d593b054cf98',1,'gridfire::trim_whitespace()'],['../reaclib_8cpp.html#a2c6902cf3e699a1a65e871efa878a6ab',1,'trim_whitespace(): reaclib.cpp']]], - ['triple_5falpha_5frate_6',['triple_alpha_rate',['../namespacegridfire_1_1approx8.html#a2715e1a6421717991814892046b896e3',1,'gridfire::approx8']]] + ['templatedreactionset_1',['TemplatedReactionSet',['../classgridfire_1_1reaction_1_1_templated_reaction_set.html',1,'gridfire::reaction::TemplatedReactionSet< ReactionT >'],['../classgridfire_1_1reaction_1_1_templated_reaction_set.html#a54c8cd7c34564277fe28eefc623f666e',1,'gridfire::reaction::TemplatedReactionSet::TemplatedReactionSet(std::vector< ReactionT > reactions)'],['../classgridfire_1_1reaction_1_1_templated_reaction_set.html#ada1d1880be53b81a9ed7b966fd6ade5a',1,'gridfire::reaction::TemplatedReactionSet::TemplatedReactionSet(const TemplatedReactionSet< ReactionT > &other)']]], + ['templatedreactionset_3c_20logicalreaction_20_3e_2',['TemplatedReactionSet< LogicalReaction >',['../classgridfire_1_1reaction_1_1_templated_reaction_set.html',1,'gridfire::reaction']]], + ['templatedreactionset_3c_20reaction_20_3e_3',['TemplatedReactionSet< Reaction >',['../classgridfire_1_1reaction_1_1_templated_reaction_set.html',1,'gridfire::reaction']]], + ['the_20project_4',['Building the Project',['../index.html#autotoc_md9',1,'']]], + ['tmax_5',['tMax',['../structgridfire_1_1_net_in.html#a0a8d820cfeaa92ee31f253795c57e0d1',1,'gridfire::NetIn']]], + ['to_20use_6',['How to Use',['../index.html#autotoc_md10',1,'']]], + ['todo_20list_7',['Todo List',['../todo.html',1,'']]], + ['trim_5fwhitespace_8',['trim_whitespace',['../namespacegridfire.html#a8b245f261cd8d1711ae8d593b054cf98',1,'gridfire::trim_whitespace()'],['../reaclib_8cpp.html#a2c6902cf3e699a1a65e871efa878a6ab',1,'trim_whitespace(): reaclib.cpp']]], + ['triple_5falpha_5frate_9',['triple_alpha_rate',['../namespacegridfire_1_1approx8.html#a2715e1a6421717991814892046b896e3',1,'gridfire::approx8']]] ]; diff --git a/docs/html/search/all_13.js b/docs/html/search/all_13.js index 0928a8a1..b191a539 100644 --- a/docs/html/search/all_13.js +++ b/docs/html/search/all_13.js @@ -1,6 +1,6 @@ var searchData= [ ['unknown_0',['UNKNOWN',['../namespacegridfire.html#a3f3d6b3f9742b70e62049ccefbb60f37aac700abde5f6ff8b7328193eb19697b2',1,'gridfire']]], - ['update_1',['update',['../classgridfire_1_1_adaptive_engine_view.html#a44c4fb7568ddbb20a08f328c2fbf1fdf',1,'gridfire::AdaptiveEngineView']]], + ['update_1',['update',['../classgridfire_1_1_dynamic_engine.html#acd500e1cd788df1dc105d28a20dc5f4f',1,'gridfire::DynamicEngine::update()'],['../classgridfire_1_1_graph_engine.html#a51b4cedf9b00de79fb6eef243631b04d',1,'gridfire::GraphEngine::update()'],['../classgridfire_1_1_adaptive_engine_view.html#a7d61e73f5158f1574cda3edc90c51f7e',1,'gridfire::AdaptiveEngineView::update()'],['../classgridfire_1_1_file_defined_engine_view.html#ace3568eadaba69e7357b4386c5ca3eb0',1,'gridfire::FileDefinedEngineView::update()']]], ['use_2',['How to Use',['../index.html#autotoc_md10',1,'']]] ]; diff --git a/docs/html/search/all_14.js b/docs/html/search/all_14.js index c243f12a..0c9a6162 100644 --- a/docs/html/search/all_14.js +++ b/docs/html/search/all_14.js @@ -2,7 +2,10 @@ var searchData= [ ['validatecomposition_0',['validateComposition',['../classgridfire_1_1_graph_engine.html#aeeafeab40a5f4dbfae78bdc87e25e93f',1,'gridfire::GraphEngine']]], ['validateconservation_1',['validateConservation',['../classgridfire_1_1_graph_engine.html#acf4cfccea20f5cb31c9886bf233a28be',1,'gridfire::GraphEngine']]], - ['validatestate_2',['validateState',['../classgridfire_1_1_adaptive_engine_view.html#aedc0dedb51c81e03f253cc409a5d5c40',1,'gridfire::AdaptiveEngineView']]], - ['vec7_3',['vec7',['../namespacegridfire_1_1approx8.html#aaa49cb0c9ad4b0b9dd0f9b5e192ca12a',1,'gridfire::approx8']]], - ['vector_5ftype_4',['vector_type',['../namespacegridfire_1_1approx8.html#aa04f907d4ef6a1b6b2a9a28d4bb53882',1,'gridfire::approx8']]] + ['validatenetworkstate_2',['validateNetworkState',['../classgridfire_1_1_file_defined_engine_view.html#ae3f99002ab2c56a5bcdec00839f8628f',1,'gridfire::FileDefinedEngineView']]], + ['validatestate_3',['validateState',['../classgridfire_1_1_adaptive_engine_view.html#aedc0dedb51c81e03f253cc409a5d5c40',1,'gridfire::AdaptiveEngineView']]], + ['values_4',['values',['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#aa9730f06a604c3c95ccc33ab6f0f8878',1,'gridfire::solver::QSENetworkSolver::EigenFunctor']]], + ['valuesatcompiletime_5',['ValuesAtCompileTime',['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#a1bff36d14c3e1f7a276d9fe6b564abdfac9e03a0ebbba30da72c7591639a69a09',1,'gridfire::solver::QSENetworkSolver::EigenFunctor']]], + ['vec7_6',['vec7',['../namespacegridfire_1_1approx8.html#aaa49cb0c9ad4b0b9dd0f9b5e192ca12a',1,'gridfire::approx8']]], + ['vector_5ftype_7',['vector_type',['../namespacegridfire_1_1approx8.html#aa04f907d4ef6a1b6b2a9a28d4bb53882',1,'gridfire::approx8']]] ]; diff --git a/docs/html/search/all_15.js b/docs/html/search/all_15.js index dad5ca1d..9c19e7fc 100644 --- a/docs/html/search/all_15.js +++ b/docs/html/search/all_15.js @@ -1,9 +1,5 @@ var searchData= [ - ['_7eengine_0',['~Engine',['../classgridfire_1_1_engine.html#a2e7970bed2100699f226f4141d5db037',1,'gridfire::Engine']]], - ['_7eengineview_1',['~EngineView',['../classgridfire_1_1_engine_view.html#a994660f2d553f3a123512dc5eb421e74',1,'gridfire::EngineView']]], - ['_7enetwork_2',['~Network',['../classgridfire_1_1_network.html#ab8d83289b62dda9b4e02f25311f85b79',1,'gridfire::Network']]], - ['_7enetworksolverstrategy_3',['~NetworkSolverStrategy',['../classgridfire_1_1solver_1_1_network_solver_strategy.html#a1693dc93f63599c89587d729aca8e318',1,'gridfire::solver::NetworkSolverStrategy']]], - ['_7ereaction_4',['~Reaction',['../classgridfire_1_1reaction_1_1_reaction.html#ab1860df84843be70f97469761e11ab6a',1,'gridfire::reaction::Reaction']]], - ['_7ereactionset_5',['~ReactionSet',['../classgridfire_1_1reaction_1_1_reaction_set.html#a64ca23fc5bdc41b868c3fbeb5aef6d98',1,'gridfire::reaction::ReactionSet']]] + ['weak_0',['WEAK',['../namespacegridfire_1_1screening.html#aa82aafbc4f8c28d0a75b60798e3a7d25a32c7d8943bec86a6d7d5e03598670ca8',1,'gridfire::screening']]], + ['weakscreeningmodel_1',['WeakScreeningModel',['../classgridfire_1_1screening_1_1_weak_screening_model.html',1,'gridfire::screening']]] ]; diff --git a/docs/html/search/all_2.js b/docs/html/search/all_2.js index 2ac33fd6..f90529cc 100644 --- a/docs/html/search/all_2.js +++ b/docs/html/search/all_2.js @@ -6,23 +6,27 @@ var searchData= ['c12p_5frate_3',['c12p_rate',['../namespacegridfire_1_1approx8.html#a890ad24c2cdb15fb76a3ff8a7b8d77db',1,'gridfire::approx8']]], ['calculate_5frate_4',['calculate_rate',['../classgridfire_1_1reaction_1_1_reaction.html#ad81e9b2a1773470059ca6989c60556ec',1,'gridfire::reaction::Reaction::calculate_rate(const double T9) const'],['../classgridfire_1_1reaction_1_1_reaction.html#a735192a42f72cd68f289493753e1a616',1,'gridfire::reaction::Reaction::calculate_rate(const CppAD::AD< double > T9) const'],['../classgridfire_1_1reaction_1_1_reaction.html#a648b9ed6108bed2469dc028fb7e351af',1,'gridfire::reaction::Reaction::calculate_rate(const T T9) const'],['../classgridfire_1_1reaction_1_1_logical_reaction.html#a1d2fb3b6a6a1860ace98b32447d1dd1b',1,'gridfire::reaction::LogicalReaction::calculate_rate(const double T9) const override'],['../classgridfire_1_1reaction_1_1_logical_reaction.html#adad6f4297c1d8ce487eab092b73cdd32',1,'gridfire::reaction::LogicalReaction::calculate_rate(const CppAD::AD< double > T9) const override'],['../classgridfire_1_1reaction_1_1_logical_reaction.html#a019b721d83741acdb16036f00739f87c',1,'gridfire::reaction::LogicalReaction::calculate_rate(const T T9) const']]], ['calculateallderivatives_5',['calculateAllDerivatives',['../classgridfire_1_1_graph_engine.html#af41df9ce979b6410e12642cb093916c9',1,'gridfire::GraphEngine::calculateAllDerivatives(const std::vector< T > &Y_in, T T9, T rho) const'],['../classgridfire_1_1_graph_engine.html#aaf4d54e4b774ab8ec8eabec006579d31',1,'gridfire::GraphEngine::calculateAllDerivatives(const std::vector< double > &Y_in, const double T9, const double rho) const'],['../classgridfire_1_1_graph_engine.html#a71a3d1181b90c3becdc5d9a3da05b9c9',1,'gridfire::GraphEngine::calculateAllDerivatives(const std::vector< ADDouble > &Y_in, const ADDouble &T9, const ADDouble &rho) const']]], - ['calculatemolarreactionflow_6',['calculateMolarReactionFlow',['../classgridfire_1_1_dynamic_engine.html#a6633b1757c41dd9e1c397333f4f9e785',1,'gridfire::DynamicEngine::calculateMolarReactionFlow()'],['../classgridfire_1_1_adaptive_engine_view.html#a048d4b1d41ecb4125a558d1b9ed7cb31',1,'gridfire::AdaptiveEngineView::calculateMolarReactionFlow()'],['../classgridfire_1_1_graph_engine.html#a9245642b741f215e52861d00e756fb3f',1,'gridfire::GraphEngine::calculateMolarReactionFlow(const reaction::Reaction &reaction, const std::vector< double > &Y, const double T9, const double rho) const override'],['../classgridfire_1_1_graph_engine.html#a5e96b5a0b34c8932f0e14eabda57f1a4',1,'gridfire::GraphEngine::calculateMolarReactionFlow(const reaction::Reaction &reaction, const std::vector< T > &Y, const T T9, const T rho) const']]], - ['calculaterhsandenergy_7',['calculateRHSAndEnergy',['../classgridfire_1_1_engine.html#ac8b56124b6b49cd1802addb74a9a47c2',1,'gridfire::Engine::calculateRHSAndEnergy()'],['../classgridfire_1_1_adaptive_engine_view.html#a7b276b7210be588263395bdb0497fc6d',1,'gridfire::AdaptiveEngineView::calculateRHSAndEnergy()'],['../classgridfire_1_1_graph_engine.html#a8b3baf29829c7ae0a61430ea70632bbf',1,'gridfire::GraphEngine::calculateRHSAndEnergy()']]], - ['calculatesteadystateabundances_8',['calculateSteadyStateAbundances',['../classgridfire_1_1solver_1_1_q_s_e_network_solver.html#a00d112f6087f6e3a93f4d40a519308d2',1,'gridfire::solver::QSENetworkSolver']]], - ['chapter_9',['chapter',['../structgridfire_1_1reaclib_1_1_reaction_record.html#a5c853b69a23b0a8c39ab4b55ac3fe3cc',1,'gridfire::reaclib::ReactionRecord::chapter'],['../classgridfire_1_1reaction_1_1_reaction.html#a5cb438adfefb640e4bc58e09053bd629',1,'gridfire::reaction::Reaction::chapter()']]], - ['clear_10',['clear',['../classgridfire_1_1reaction_1_1_reaction_set.html#aa8e0d65aafc6e0320690b4906e1bf300',1,'gridfire::reaction::ReactionSet']]], - ['coeffs_11',['coeffs',['../structgridfire_1_1reaclib_1_1_reaction_record.html#a80803f612e574859fde0a163bca84bc0',1,'gridfire::reaclib::ReactionRecord']]], - ['collectnetworkspecies_12',['collectNetworkSpecies',['../classgridfire_1_1_graph_engine.html#aedf42d83bfcc28313b6b6454034d2efa',1,'gridfire::GraphEngine']]], - ['components_13',['Core Components',['../index.html#autotoc_md4',1,'']]], - ['composition_14',['composition',['../structgridfire_1_1_net_in.html#a13058f4929e72c1187abbebcddb8aed1',1,'gridfire::NetIn::composition'],['../structgridfire_1_1_net_out.html#a073529511ae0e52f868b47cce0e8ac0a',1,'gridfire::NetOut::composition']]], - ['config_15',['Config',['../classgridfire_1_1_adaptive_engine_view.html#afec39b2faa34ea65c5488dd8e11ba3c3',1,'gridfire::AdaptiveEngineView']]], - ['constructreactionindexmap_16',['constructReactionIndexMap',['../classgridfire_1_1_adaptive_engine_view.html#a89614f4a48f60c4170a0197f45303e7c',1,'gridfire::AdaptiveEngineView']]], - ['constructspeciesindexmap_17',['constructSpeciesIndexMap',['../classgridfire_1_1_adaptive_engine_view.html#a896d29325b4233e83d9298850b617a2d',1,'gridfire::AdaptiveEngineView']]], - ['contains_18',['contains',['../classgridfire_1_1reaction_1_1_reaction.html#ab92785f331a446e51a0960b75d60b37b',1,'gridfire::reaction::Reaction::contains()'],['../classgridfire_1_1reaction_1_1_reaction_set.html#ae5f8078e77a700a8356487fbd69ba387',1,'gridfire::reaction::ReactionSet::contains(const std::string_view &id) const'],['../classgridfire_1_1reaction_1_1_reaction_set.html#a2f6b165c86634a68f35032c2267255f8',1,'gridfire::reaction::ReactionSet::contains(const Reaction &reaction) const']]], - ['contains_5fproduct_19',['contains_product',['../classgridfire_1_1reaction_1_1_reaction.html#a074d3cd2421fd5d0133e47f0522403e2',1,'gridfire::reaction::Reaction::contains_product()'],['../classgridfire_1_1reaction_1_1_reaction_set.html#a4bdf50219d686a6cbc0b3cc5365dc18e',1,'gridfire::reaction::ReactionSet::contains_product()']]], - ['contains_5freactant_20',['contains_reactant',['../classgridfire_1_1reaction_1_1_reaction.html#abbe243affa61ba9b2cd2a7b905cd5e45',1,'gridfire::reaction::Reaction::contains_reactant()'],['../classgridfire_1_1reaction_1_1_reaction_set.html#a256998eddf292f744d51cdc3e178d4c2',1,'gridfire::reaction::ReactionSet::contains_reactant(const fourdst::atomic::Species &species) const']]], - ['contains_5fspecies_21',['contains_species',['../classgridfire_1_1reaction_1_1_reaction_set.html#a5b872a8519740a6d06cfaed03784826a',1,'gridfire::reaction::ReactionSet']]], - ['convert_5fnetin_22',['convert_netIn',['../classgridfire_1_1approx8_1_1_approx8_network.html#a56426da6f1af7eb8a6d1cc70bc8e742a',1,'gridfire::approx8::Approx8Network']]], - ['core_20components_23',['Core Components',['../index.html#autotoc_md4',1,'']]], - ['culling_24',['culling',['../structgridfire_1_1_net_in.html#a6a5e909b46094ffa20da9a3da906e43f',1,'gridfire::NetIn']]] + ['calculateallreactionflows_6',['calculateAllReactionFlows',['../classgridfire_1_1_adaptive_engine_view.html#abdbaf4b87629efe43ac1255dad424c0c',1,'gridfire::AdaptiveEngineView']]], + ['calculatefactors_5fimpl_7',['calculateFactors_impl',['../classgridfire_1_1screening_1_1_bare_screening_model.html#a6c93b72c8ca34623127f0846d8dee50a',1,'gridfire::screening::BareScreeningModel::calculateFactors_impl()'],['../classgridfire_1_1screening_1_1_weak_screening_model.html#a2695206d46b9d2c2503f8e58c44df88f',1,'gridfire::screening::WeakScreeningModel::calculateFactors_impl()']]], + ['calculatemolarreactionflow_8',['calculateMolarReactionFlow',['../classgridfire_1_1_dynamic_engine.html#a6633b1757c41dd9e1c397333f4f9e785',1,'gridfire::DynamicEngine::calculateMolarReactionFlow()'],['../classgridfire_1_1_graph_engine.html#a9245642b741f215e52861d00e756fb3f',1,'gridfire::GraphEngine::calculateMolarReactionFlow(const reaction::Reaction &reaction, const std::vector< double > &Y, const double T9, const double rho) const override'],['../classgridfire_1_1_graph_engine.html#a5e96b5a0b34c8932f0e14eabda57f1a4',1,'gridfire::GraphEngine::calculateMolarReactionFlow(const reaction::Reaction &reaction, const std::vector< T > &Y, const T T9, const T rho) const'],['../classgridfire_1_1_adaptive_engine_view.html#a048d4b1d41ecb4125a558d1b9ed7cb31',1,'gridfire::AdaptiveEngineView::calculateMolarReactionFlow()'],['../classgridfire_1_1_file_defined_engine_view.html#ac371fb66fd0a76a04df204c9dd9a05ef',1,'gridfire::FileDefinedEngineView::calculateMolarReactionFlow()']]], + ['calculaterhsandenergy_9',['calculateRHSAndEnergy',['../classgridfire_1_1_engine.html#ac8b56124b6b49cd1802addb74a9a47c2',1,'gridfire::Engine::calculateRHSAndEnergy()'],['../classgridfire_1_1_graph_engine.html#a8b3baf29829c7ae0a61430ea70632bbf',1,'gridfire::GraphEngine::calculateRHSAndEnergy()'],['../classgridfire_1_1_adaptive_engine_view.html#a7b276b7210be588263395bdb0497fc6d',1,'gridfire::AdaptiveEngineView::calculateRHSAndEnergy()'],['../classgridfire_1_1_file_defined_engine_view.html#a2c1d88b06568f9ea4c65e794d012ebfb',1,'gridfire::FileDefinedEngineView::calculateRHSAndEnergy()']]], + ['calculatescreeningfactors_10',['calculateScreeningFactors',['../classgridfire_1_1screening_1_1_screening_model.html#aaec9184d80c86a2d8674e395dad81bde',1,'gridfire::screening::ScreeningModel::calculateScreeningFactors(const reaction::LogicalReactionSet &reactions, const std::vector< fourdst::atomic::Species > &species, const std::vector< double > &Y, const double T9, const double rho) const =0'],['../classgridfire_1_1screening_1_1_screening_model.html#a6c381a823cb9c1680d3e9c846da4ae22',1,'gridfire::screening::ScreeningModel::calculateScreeningFactors(const reaction::LogicalReactionSet &reactions, const std::vector< fourdst::atomic::Species > &species, const std::vector< ADDouble > &Y, const ADDouble T9, const ADDouble rho) const =0'],['../classgridfire_1_1screening_1_1_bare_screening_model.html#ac35ad34c5da7e1b5087552aa5c83fe60',1,'gridfire::screening::BareScreeningModel::calculateScreeningFactors(const reaction::LogicalReactionSet &reactions, const std::vector< fourdst::atomic::Species > &species, const std::vector< double > &Y, const double T9, const double rho) const override'],['../classgridfire_1_1screening_1_1_bare_screening_model.html#ac5647d633cd5bbd7cb5136b7fa4cad99',1,'gridfire::screening::BareScreeningModel::calculateScreeningFactors(const reaction::LogicalReactionSet &reactions, const std::vector< fourdst::atomic::Species > &species, const std::vector< ADDouble > &Y, const ADDouble T9, const ADDouble rho) const override'],['../classgridfire_1_1screening_1_1_weak_screening_model.html#afbaeaefe6b3ab3ecf81889ddc1cff76c',1,'gridfire::screening::WeakScreeningModel::calculateScreeningFactors(const reaction::LogicalReactionSet &reactions, const std::vector< fourdst::atomic::Species > &species, const std::vector< double > &Y, const double T9, const double rho) const override'],['../classgridfire_1_1screening_1_1_weak_screening_model.html#ac6bc78769670a460af1ff88284cb8ad4',1,'gridfire::screening::WeakScreeningModel::calculateScreeningFactors(const reaction::LogicalReactionSet &reactions, const std::vector< fourdst::atomic::Species > &species, const std::vector< CppAD::AD< double > > &Y, const CppAD::AD< double > T9, const CppAD::AD< double > rho) const override']]], + ['calculatesteadystateabundances_11',['calculateSteadyStateAbundances',['../classgridfire_1_1solver_1_1_q_s_e_network_solver.html#a00d112f6087f6e3a93f4d40a519308d2',1,'gridfire::solver::QSENetworkSolver']]], + ['chapter_12',['chapter',['../structgridfire_1_1reaclib_1_1_reaction_record.html#a5c853b69a23b0a8c39ab4b55ac3fe3cc',1,'gridfire::reaclib::ReactionRecord::chapter'],['../classgridfire_1_1reaction_1_1_reaction.html#a5cb438adfefb640e4bc58e09053bd629',1,'gridfire::reaction::Reaction::chapter()']]], + ['clear_13',['clear',['../classgridfire_1_1reaction_1_1_templated_reaction_set.html#a05f71d318564d880079fd6c96d59ae21',1,'gridfire::reaction::TemplatedReactionSet']]], + ['coeffs_14',['coeffs',['../structgridfire_1_1reaclib_1_1_reaction_record.html#a80803f612e574859fde0a163bca84bc0',1,'gridfire::reaclib::ReactionRecord']]], + ['collectnetworkspecies_15',['collectNetworkSpecies',['../classgridfire_1_1_graph_engine.html#aedf42d83bfcc28313b6b6454034d2efa',1,'gridfire::GraphEngine']]], + ['components_16',['Core Components',['../index.html#autotoc_md4',1,'']]], + ['composition_17',['composition',['../structgridfire_1_1_net_in.html#a13058f4929e72c1187abbebcddb8aed1',1,'gridfire::NetIn::composition'],['../structgridfire_1_1_net_out.html#a073529511ae0e52f868b47cce0e8ac0a',1,'gridfire::NetOut::composition']]], + ['config_18',['Config',['../classgridfire_1_1_adaptive_engine_view.html#afec39b2faa34ea65c5488dd8e11ba3c3',1,'gridfire::AdaptiveEngineView::Config'],['../classgridfire_1_1_file_defined_engine_view.html#a63f8f85e75ecaab6fa39d48d7a846187',1,'gridfire::FileDefinedEngineView::Config'],['../classgridfire_1_1io_1_1_simple_reaction_list_file_parser.html#ad913155a5a2a36b29e4ce4ca8d71c036',1,'gridfire::io::SimpleReactionListFileParser::Config'],['../classgridfire_1_1io_1_1_m_e_s_a_network_file_parser.html#af43ad8375abf1cedfdccc296b9958c2b',1,'gridfire::io::MESANetworkFileParser::Config']]], + ['constructreactionindexmap_19',['constructReactionIndexMap',['../classgridfire_1_1_adaptive_engine_view.html#a89614f4a48f60c4170a0197f45303e7c',1,'gridfire::AdaptiveEngineView::constructReactionIndexMap()'],['../classgridfire_1_1_file_defined_engine_view.html#aebb3f3548f8781506f31580706810a4e',1,'gridfire::FileDefinedEngineView::constructReactionIndexMap()']]], + ['constructspeciesindexmap_20',['constructSpeciesIndexMap',['../classgridfire_1_1_adaptive_engine_view.html#a896d29325b4233e83d9298850b617a2d',1,'gridfire::AdaptiveEngineView::constructSpeciesIndexMap()'],['../classgridfire_1_1_file_defined_engine_view.html#a51ba09ff01fdcac1125d42f276c9a0a7',1,'gridfire::FileDefinedEngineView::constructSpeciesIndexMap()']]], + ['contains_21',['contains',['../classgridfire_1_1reaction_1_1_reaction.html#ab92785f331a446e51a0960b75d60b37b',1,'gridfire::reaction::Reaction::contains()'],['../classgridfire_1_1reaction_1_1_templated_reaction_set.html#a7777ecd0f594fdf66ce57d22610fad3c',1,'gridfire::reaction::TemplatedReactionSet::contains(const std::string_view &id) const'],['../classgridfire_1_1reaction_1_1_templated_reaction_set.html#ab8cb5fbce6b819b9e4e44b0c2db54c6f',1,'gridfire::reaction::TemplatedReactionSet::contains(const Reaction &reaction) const']]], + ['contains_5fproduct_22',['contains_product',['../classgridfire_1_1reaction_1_1_reaction.html#a074d3cd2421fd5d0133e47f0522403e2',1,'gridfire::reaction::Reaction::contains_product()'],['../classgridfire_1_1reaction_1_1_templated_reaction_set.html#a443ec5d7138764b32975232e13071ccf',1,'gridfire::reaction::TemplatedReactionSet::contains_product()']]], + ['contains_5freactant_23',['contains_reactant',['../classgridfire_1_1reaction_1_1_reaction.html#abbe243affa61ba9b2cd2a7b905cd5e45',1,'gridfire::reaction::Reaction::contains_reactant()'],['../classgridfire_1_1reaction_1_1_templated_reaction_set.html#ac42606350d7557106f7954b1f114c128',1,'gridfire::reaction::TemplatedReactionSet::contains_reactant(const fourdst::atomic::Species &species) const']]], + ['contains_5fspecies_24',['contains_species',['../classgridfire_1_1reaction_1_1_templated_reaction_set.html#ad870856d206d93f27125c88d44ff9e34',1,'gridfire::reaction::TemplatedReactionSet']]], + ['convert_5fnetin_25',['convert_netIn',['../classgridfire_1_1approx8_1_1_approx8_network.html#a56426da6f1af7eb8a6d1cc70bc8e742a',1,'gridfire::approx8::Approx8Network']]], + ['core_20components_26',['Core Components',['../index.html#autotoc_md4',1,'']]], + ['culling_27',['culling',['../structgridfire_1_1_net_in.html#a6a5e909b46094ffa20da9a3da906e43f',1,'gridfire::NetIn']]], + ['cullreactionsbyflow_28',['cullReactionsByFlow',['../classgridfire_1_1_adaptive_engine_view.html#a42417e96fe9fd623458af109401daf08',1,'gridfire::AdaptiveEngineView']]] ]; diff --git a/docs/html/search/all_3.js b/docs/html/search/all_3.js index 4113d50f..4f40af76 100644 --- a/docs/html/search/all_3.js +++ b/docs/html/search/all_3.js @@ -2,7 +2,7 @@ var searchData= [ ['density_0',['density',['../structgridfire_1_1_net_in.html#a06f0dff9f8927b7cf2da3004c8fa1577',1,'gridfire::NetIn']]], ['dependencies_1',['Dependencies',['../index.html#autotoc_md8',1,'']]], - ['df_2',['df',['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#ac46bd712296b03f31af1573f6a0f5644',1,'gridfire::solver::QSENetworkSolver::EigenFunctor']]], + ['df_2',['df',['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#a51687d7a9770164f79e485a763bd94b0',1,'gridfire::solver::QSENetworkSolver::EigenFunctor']]], ['directnetworksolver_3',['DirectNetworkSolver',['../classgridfire_1_1solver_1_1_direct_network_solver.html',1,'gridfire::solver']]], ['directory_20structure_4',['Directory Structure',['../index.html#autotoc_md3',1,'']]], ['dp_5frate_5',['dp_rate',['../namespacegridfire_1_1approx8.html#a51d139de74680c8437d20a3fa622200c',1,'gridfire::approx8']]], diff --git a/docs/html/search/all_4.js b/docs/html/search/all_4.js index 198b9e27..9f7afb8c 100644 --- a/docs/html/search/all_4.js +++ b/docs/html/search/all_4.js @@ -1,7 +1,7 @@ var searchData= [ - ['eigenfunctor_0',['EigenFunctor',['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html',1,'gridfire::solver::QSENetworkSolver::EigenFunctor< T >'],['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#af8650f704c2ca512c9c5b4562b3b0958',1,'gridfire::solver::QSENetworkSolver::EigenFunctor::EigenFunctor()']]], - ['end_1',['end',['../classgridfire_1_1reaction_1_1_reaction_set.html#abae9fbc4b4306479a6cd3173ac628987',1,'gridfire::reaction::ReactionSet::end()'],['../classgridfire_1_1reaction_1_1_reaction_set.html#a436f9c4b8f8a4e115b19728d57d8e105',1,'gridfire::reaction::ReactionSet::end() const'],['../classgridfire_1_1reaction_1_1_logical_reaction.html#af8d23557326e6c8499fa4919ac0bd972',1,'gridfire::reaction::LogicalReaction::end()'],['../classgridfire_1_1reaction_1_1_logical_reaction.html#a054994f733b44293b4d79f3a9b207560',1,'gridfire::reaction::LogicalReaction::end() const'],['../classgridfire_1_1reaction_1_1_logical_reaction_set.html#a9707407faf8efd3f4da745a54d3fa9e2',1,'gridfire::reaction::LogicalReactionSet::end()'],['../classgridfire_1_1reaction_1_1_logical_reaction_set.html#a70b669622690196e68eedfd2a8fd6318',1,'gridfire::reaction::LogicalReactionSet::end() const']]], + ['eigenfunctor_0',['EigenFunctor',['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html',1,'gridfire::solver::QSENetworkSolver::EigenFunctor< T >'],['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#a94a1e5994062c32bd45c248860be6fa4',1,'gridfire::solver::QSENetworkSolver::EigenFunctor::EigenFunctor()']]], + ['end_1',['end',['../classgridfire_1_1reaction_1_1_logical_reaction.html#af8d23557326e6c8499fa4919ac0bd972',1,'gridfire::reaction::LogicalReaction::end()'],['../classgridfire_1_1reaction_1_1_logical_reaction.html#a054994f733b44293b4d79f3a9b207560',1,'gridfire::reaction::LogicalReaction::end() const'],['../classgridfire_1_1reaction_1_1_templated_reaction_set.html#ad19adbee44a71559a53785e3b1fc7e92',1,'gridfire::reaction::TemplatedReactionSet::end()'],['../classgridfire_1_1reaction_1_1_templated_reaction_set.html#ac128da7417955ef8c5cb2bde5a1293c9',1,'gridfire::reaction::TemplatedReactionSet::end() const']]], ['energy_2',['energy',['../structgridfire_1_1_net_in.html#ae1fbce804bafa6ad2be4ac3470dac93b',1,'gridfire::NetIn::energy'],['../structgridfire_1_1_net_out.html#a43d5a861708992c949f616aa2a035ec6',1,'gridfire::NetOut::energy']]], ['engine_3',['Engine',['../classgridfire_1_1_engine.html',1,'gridfire']]], ['engine_5fabstract_2eh_4',['engine_abstract.h',['../engine__abstract_8h.html',1,'']]], @@ -9,15 +9,17 @@ var searchData= ['engine_5fadaptive_2eh_6',['engine_adaptive.h',['../engine__adaptive_8h.html',1,'']]], ['engine_5fapprox8_2ecpp_7',['engine_approx8.cpp',['../engine__approx8_8cpp.html',1,'']]], ['engine_5fapprox8_2eh_8',['engine_approx8.h',['../engine__approx8_8h.html',1,'']]], - ['engine_5fgraph_2ecpp_9',['engine_graph.cpp',['../engine__graph_8cpp.html',1,'']]], - ['engine_5fgraph_2eh_10',['engine_graph.h',['../engine__graph_8h.html',1,'']]], - ['engine_5fview_5fabstract_2eh_11',['engine_view_abstract.h',['../engine__view__abstract_8h.html',1,'']]], - ['engines_12',['Engines',['../index.html#autotoc_md6',1,'']]], - ['enginetype_13',['EngineType',['../conceptgridfire_1_1_engine_type.html',1,'gridfire']]], - ['engineview_14',['EngineView',['../classgridfire_1_1_engine_view.html',1,'gridfire']]], - ['engineview_3c_20dynamicengine_20_3e_15',['EngineView< DynamicEngine >',['../classgridfire_1_1_engine_view.html',1,'gridfire']]], - ['evaluate_16',['evaluate',['../classgridfire_1_1approx8_1_1_approx8_network.html#a888734a3cdde4259e921e2efece411ee',1,'gridfire::approx8::Approx8Network::evaluate()'],['../classgridfire_1_1_network.html#afc8d5172dd0e2295248b42dcb52b655c',1,'gridfire::Network::evaluate()'],['../classgridfire_1_1solver_1_1_network_solver_strategy.html#ace539b0482db171845ff1bd38d76b70f',1,'gridfire::solver::NetworkSolverStrategy::evaluate()'],['../classgridfire_1_1solver_1_1_q_s_e_network_solver.html#a53b5496db7fed6f345dca39656bf9c0e',1,'gridfire::solver::QSENetworkSolver::evaluate()'],['../classgridfire_1_1solver_1_1_direct_network_solver.html#a0e8a4b8ef656e0b084d11bea982e412a',1,'gridfire::solver::DirectNetworkSolver::evaluate()']]], - ['excess_5fenergy_17',['excess_energy',['../classgridfire_1_1reaction_1_1_reaction.html#aa1d71e38fc55ae691dbb9ec459a612a5',1,'gridfire::reaction::Reaction']]], - ['exporttocsv_18',['exportToCSV',['../classgridfire_1_1_graph_engine.html#a832e2fe066381811a3e0464806ff5e95',1,'gridfire::GraphEngine']]], - ['exporttodot_19',['exportToDot',['../classgridfire_1_1_graph_engine.html#adac8c7d62bae76e17fc060e86dadd929',1,'gridfire::GraphEngine']]] + ['engine_5fdefined_2ecpp_9',['engine_defined.cpp',['../engine__defined_8cpp.html',1,'']]], + ['engine_5fdefined_2eh_10',['engine_defined.h',['../engine__defined_8h.html',1,'']]], + ['engine_5fgraph_2ecpp_11',['engine_graph.cpp',['../engine__graph_8cpp.html',1,'']]], + ['engine_5fgraph_2eh_12',['engine_graph.h',['../engine__graph_8h.html',1,'']]], + ['engine_5fview_5fabstract_2eh_13',['engine_view_abstract.h',['../engine__view__abstract_8h.html',1,'']]], + ['engines_14',['Engines',['../index.html#autotoc_md6',1,'']]], + ['enginetype_15',['EngineType',['../conceptgridfire_1_1_engine_type.html',1,'gridfire']]], + ['engineview_16',['EngineView',['../classgridfire_1_1_engine_view.html',1,'gridfire']]], + ['engineview_3c_20dynamicengine_20_3e_17',['EngineView< DynamicEngine >',['../classgridfire_1_1_engine_view.html',1,'gridfire']]], + ['evaluate_18',['evaluate',['../classgridfire_1_1approx8_1_1_approx8_network.html#a888734a3cdde4259e921e2efece411ee',1,'gridfire::approx8::Approx8Network::evaluate()'],['../classgridfire_1_1_network.html#afc8d5172dd0e2295248b42dcb52b655c',1,'gridfire::Network::evaluate()'],['../classgridfire_1_1solver_1_1_network_solver_strategy.html#ace539b0482db171845ff1bd38d76b70f',1,'gridfire::solver::NetworkSolverStrategy::evaluate()'],['../classgridfire_1_1solver_1_1_q_s_e_network_solver.html#a53b5496db7fed6f345dca39656bf9c0e',1,'gridfire::solver::QSENetworkSolver::evaluate()'],['../classgridfire_1_1solver_1_1_direct_network_solver.html#a0e8a4b8ef656e0b084d11bea982e412a',1,'gridfire::solver::DirectNetworkSolver::evaluate()']]], + ['excess_5fenergy_19',['excess_energy',['../classgridfire_1_1reaction_1_1_reaction.html#aa1d71e38fc55ae691dbb9ec459a612a5',1,'gridfire::reaction::Reaction']]], + ['exporttocsv_20',['exportToCSV',['../classgridfire_1_1_graph_engine.html#a832e2fe066381811a3e0464806ff5e95',1,'gridfire::GraphEngine']]], + ['exporttodot_21',['exportToDot',['../classgridfire_1_1_graph_engine.html#adac8c7d62bae76e17fc060e86dadd929',1,'gridfire::GraphEngine']]] ]; diff --git a/docs/html/search/all_5.js b/docs/html/search/all_5.js index d33b289c..b91128a3 100644 --- a/docs/html/search/all_5.js +++ b/docs/html/search/all_5.js @@ -1,6 +1,10 @@ var searchData= [ ['features_0',['Features',['../index.html#autotoc_md2',1,'']]], - ['flowrate_1',['flowRate',['../structgridfire_1_1_adaptive_engine_view_1_1_reaction_flow.html#a6c2e9087f6c8af5d89a5f0de7bd4a5b4',1,'gridfire::AdaptiveEngineView::ReactionFlow']]], - ['formatstringlookup_2',['FormatStringLookup',['../namespacegridfire.html#a4e9cabad30b57d636c2f0d73d8cc6bb4',1,'gridfire']]] + ['filedefinedengineview_1',['FileDefinedEngineView',['../classgridfire_1_1_file_defined_engine_view.html',1,'gridfire::FileDefinedEngineView'],['../classgridfire_1_1_file_defined_engine_view.html#a8f2f64bab0f516ed2a6fd529912e0acd',1,'gridfire::FileDefinedEngineView::FileDefinedEngineView()']]], + ['finalizeactiveset_2',['finalizeActiveSet',['../classgridfire_1_1_adaptive_engine_view.html#aa79fb382c98461b02a2c30668491e6c5',1,'gridfire::AdaptiveEngineView']]], + ['findreachablespecies_3',['findReachableSpecies',['../classgridfire_1_1_adaptive_engine_view.html#a0ed21f7e7c1034fc87b40d4116c4221b',1,'gridfire::AdaptiveEngineView']]], + ['flowrate_4',['flowRate',['../structgridfire_1_1_adaptive_engine_view_1_1_reaction_flow.html#a6c2e9087f6c8af5d89a5f0de7bd4a5b4',1,'gridfire::AdaptiveEngineView::ReactionFlow']]], + ['formatnucleartimescalelogstring_5',['formatNuclearTimescaleLogString',['../namespacegridfire_1_1utils.html#af56693a70d9e2b40c8ae2c3bcd4b26c8',1,'gridfire::utils']]], + ['formatstringlookup_6',['FormatStringLookup',['../namespacegridfire.html#a4e9cabad30b57d636c2f0d73d8cc6bb4',1,'gridfire']]] ]; diff --git a/docs/html/search/all_6.js b/docs/html/search/all_6.js index e2425cfc..fc1f765b 100644 --- a/docs/html/search/all_6.js +++ b/docs/html/search/all_6.js @@ -1,23 +1,28 @@ var searchData= [ - ['generatejacobianmatrix_0',['generateJacobianMatrix',['../classgridfire_1_1_dynamic_engine.html#a0a2fb3435ee3271ab9c806f225c61a7f',1,'gridfire::DynamicEngine::generateJacobianMatrix()'],['../classgridfire_1_1_adaptive_engine_view.html#ac9aab6f60e80a9228b2b19b1b10449ef',1,'gridfire::AdaptiveEngineView::generateJacobianMatrix()'],['../classgridfire_1_1_graph_engine.html#ae347ff0316e532e0298ec8c913908105',1,'gridfire::GraphEngine::generateJacobianMatrix()']]], - ['generatestoichiometrymatrix_1',['generateStoichiometryMatrix',['../classgridfire_1_1_dynamic_engine.html#aeae6d84ef74d88fd2cdf07b82e98a16f',1,'gridfire::DynamicEngine::generateStoichiometryMatrix()'],['../classgridfire_1_1_adaptive_engine_view.html#a231193a61ba5a31e8eb92b0d4ce69111',1,'gridfire::AdaptiveEngineView::generateStoichiometryMatrix()'],['../classgridfire_1_1_graph_engine.html#aed726d36ee2b3796beff6067a1e4db38',1,'gridfire::GraphEngine::generateStoichiometryMatrix()']]], + ['generatejacobianmatrix_0',['generateJacobianMatrix',['../classgridfire_1_1_dynamic_engine.html#a0a2fb3435ee3271ab9c806f225c61a7f',1,'gridfire::DynamicEngine::generateJacobianMatrix()'],['../classgridfire_1_1_graph_engine.html#ae347ff0316e532e0298ec8c913908105',1,'gridfire::GraphEngine::generateJacobianMatrix()'],['../classgridfire_1_1_adaptive_engine_view.html#ac9aab6f60e80a9228b2b19b1b10449ef',1,'gridfire::AdaptiveEngineView::generateJacobianMatrix()'],['../classgridfire_1_1_file_defined_engine_view.html#a48b2451f96b8f5511ffc4071519c0810',1,'gridfire::FileDefinedEngineView::generateJacobianMatrix()']]], + ['generatestoichiometrymatrix_1',['generateStoichiometryMatrix',['../classgridfire_1_1_dynamic_engine.html#aeae6d84ef74d88fd2cdf07b82e98a16f',1,'gridfire::DynamicEngine::generateStoichiometryMatrix()'],['../classgridfire_1_1_graph_engine.html#aed726d36ee2b3796beff6067a1e4db38',1,'gridfire::GraphEngine::generateStoichiometryMatrix()'],['../classgridfire_1_1_adaptive_engine_view.html#a231193a61ba5a31e8eb92b0d4ce69111',1,'gridfire::AdaptiveEngineView::generateStoichiometryMatrix()'],['../classgridfire_1_1_file_defined_engine_view.html#a27a5163157cc15c4cb3b99a5d3564dbd',1,'gridfire::FileDefinedEngineView::generateStoichiometryMatrix()']]], ['get_5fall_5freactions_2',['get_all_reactions',['../namespacegridfire_1_1reaclib.html#a91c7971c9d0a2971b9a6fa4d841c761d',1,'gridfire::reaclib']]], ['get_5ft9_5farray_3',['get_T9_array',['../namespacegridfire_1_1approx8.html#a20f9c48e60a5abf0b6868d1d05080222',1,'gridfire::approx8']]], - ['getbaseengine_4',['getBaseEngine',['../classgridfire_1_1_adaptive_engine_view.html#aee095b30a9dce5fcb5ae2fa1d2aa192c',1,'gridfire::AdaptiveEngineView::getBaseEngine()'],['../classgridfire_1_1_engine_view.html#ad294227f8b5cf6d970c349eabf5447a6',1,'gridfire::EngineView::getBaseEngine()']]], + ['getbaseengine_4',['getBaseEngine',['../classgridfire_1_1_adaptive_engine_view.html#aee095b30a9dce5fcb5ae2fa1d2aa192c',1,'gridfire::AdaptiveEngineView::getBaseEngine()'],['../classgridfire_1_1_file_defined_engine_view.html#a4c8b273c5cb3d470567c5691b68493a3',1,'gridfire::FileDefinedEngineView::getBaseEngine()'],['../classgridfire_1_1_engine_view.html#ad294227f8b5cf6d970c349eabf5447a6',1,'gridfire::EngineView::getBaseEngine()']]], ['getformat_5',['getFormat',['../classgridfire_1_1_network.html#a315a123499719178286b29e2aca69118',1,'gridfire::Network']]], - ['getjacobianmatrixentry_6',['getJacobianMatrixEntry',['../classgridfire_1_1_dynamic_engine.html#a05d15ff35a6bc06a2fa7eda19838bd07',1,'gridfire::DynamicEngine::getJacobianMatrixEntry()'],['../classgridfire_1_1_adaptive_engine_view.html#a4710d218c8a0fd161e994ecd60b48e58',1,'gridfire::AdaptiveEngineView::getJacobianMatrixEntry()'],['../classgridfire_1_1_graph_engine.html#a303e6093591cde91430f866a04a8be7c',1,'gridfire::GraphEngine::getJacobianMatrixEntry(const int i, const int j) const override']]], + ['getjacobianmatrixentry_6',['getJacobianMatrixEntry',['../classgridfire_1_1_dynamic_engine.html#a05d15ff35a6bc06a2fa7eda19838bd07',1,'gridfire::DynamicEngine::getJacobianMatrixEntry()'],['../classgridfire_1_1_graph_engine.html#a303e6093591cde91430f866a04a8be7c',1,'gridfire::GraphEngine::getJacobianMatrixEntry()'],['../classgridfire_1_1_adaptive_engine_view.html#a4710d218c8a0fd161e994ecd60b48e58',1,'gridfire::AdaptiveEngineView::getJacobianMatrixEntry()'],['../classgridfire_1_1_file_defined_engine_view.html#a0ef8804780d13bbfce0856237bb00470',1,'gridfire::FileDefinedEngineView::getJacobianMatrixEntry()']]], ['getnetreactionstoichiometry_7',['getNetReactionStoichiometry',['../classgridfire_1_1_graph_engine.html#a8c29d8bbde407e913be5eb77efb2c0c9',1,'gridfire::GraphEngine']]], - ['getnetworkreactions_8',['getNetworkReactions',['../classgridfire_1_1_dynamic_engine.html#ad2a82099edbb374bbb2c9509ccdb1037',1,'gridfire::DynamicEngine::getNetworkReactions()'],['../classgridfire_1_1_adaptive_engine_view.html#a12cc2f352678fba9688363ba1876ab9c',1,'gridfire::AdaptiveEngineView::getNetworkReactions()'],['../classgridfire_1_1_graph_engine.html#ad45650d10fc5dff1673ae3f806d067da',1,'gridfire::GraphEngine::getNetworkReactions()']]], - ['getnetworkspecies_9',['getNetworkSpecies',['../classgridfire_1_1_engine.html#a020e1b493d6964cafdad08fde697ceb3',1,'gridfire::Engine::getNetworkSpecies()'],['../classgridfire_1_1_adaptive_engine_view.html#ac83a8efe25c0e5b9bf7756ac3a500bb1',1,'gridfire::AdaptiveEngineView::getNetworkSpecies()'],['../classgridfire_1_1_graph_engine.html#a0ed390f3e598ebba4e245ac90bb78767',1,'gridfire::GraphEngine::getNetworkSpecies()']]], - ['getspeciestimescales_10',['getSpeciesTimescales',['../classgridfire_1_1_dynamic_engine.html#a5d8ba98b230d2849035ee2507728fa15',1,'gridfire::DynamicEngine::getSpeciesTimescales()'],['../classgridfire_1_1_adaptive_engine_view.html#a93b38d0fdc4647f6f7340172dae17872',1,'gridfire::AdaptiveEngineView::getSpeciesTimescales()'],['../classgridfire_1_1_graph_engine.html#a26215593544c3a52597194602e4e25dd',1,'gridfire::GraphEngine::getSpeciesTimescales()']]], - ['getstoichiometrymatrixentry_11',['getStoichiometryMatrixEntry',['../classgridfire_1_1_dynamic_engine.html#afa108dd5227dbb1045e90d7b3bd8b84f',1,'gridfire::DynamicEngine::getStoichiometryMatrixEntry()'],['../classgridfire_1_1_adaptive_engine_view.html#a67b4ea8cad115394bb4a42cc39d696f9',1,'gridfire::AdaptiveEngineView::getStoichiometryMatrixEntry()'],['../classgridfire_1_1_graph_engine.html#a6b5feaf788bade212b7c8df7ac8c8152',1,'gridfire::GraphEngine::getStoichiometryMatrixEntry()']]], - ['graphengine_12',['GraphEngine',['../classgridfire_1_1_graph_engine.html',1,'gridfire::GraphEngine'],['../classgridfire_1_1_graph_engine.html#a9f74786ff930ab72664b31f29d05a30c',1,'gridfire::GraphEngine::GraphEngine(const fourdst::composition::Composition &composition)'],['../classgridfire_1_1_graph_engine.html#a9c285e3a38de6e73503a4e19666678e2',1,'gridfire::GraphEngine::GraphEngine(reaction::LogicalReactionSet reactions)']]], - ['gridfire_13',['GridFire',['../index.html',1,'']]], - ['gridfire_14',['gridfire',['../namespacegridfire.html',1,'']]], - ['gridfire_3a_20a_20nuclear_20reaction_20network_20library_15',['GridFire: A Nuclear Reaction Network Library',['../index.html#autotoc_md0',1,'']]], - ['gridfire_3a_3aapprox8_16',['approx8',['../namespacegridfire_1_1approx8.html',1,'gridfire']]], - ['gridfire_3a_3areaclib_17',['reaclib',['../namespacegridfire_1_1reaclib.html',1,'gridfire']]], - ['gridfire_3a_3areaction_18',['reaction',['../namespacegridfire_1_1reaction.html',1,'gridfire']]], - ['gridfire_3a_3asolver_19',['solver',['../namespacegridfire_1_1solver.html',1,'gridfire']]] + ['getnetworkreactions_8',['getNetworkReactions',['../classgridfire_1_1_dynamic_engine.html#ad2a82099edbb374bbb2c9509ccdb1037',1,'gridfire::DynamicEngine::getNetworkReactions()'],['../classgridfire_1_1_graph_engine.html#ad45650d10fc5dff1673ae3f806d067da',1,'gridfire::GraphEngine::getNetworkReactions()'],['../classgridfire_1_1_adaptive_engine_view.html#a12cc2f352678fba9688363ba1876ab9c',1,'gridfire::AdaptiveEngineView::getNetworkReactions()'],['../classgridfire_1_1_file_defined_engine_view.html#a5bbea17b69cc8f81bc251a04f4435a0c',1,'gridfire::FileDefinedEngineView::getNetworkReactions()']]], + ['getnetworkspecies_9',['getNetworkSpecies',['../classgridfire_1_1_engine.html#a020e1b493d6964cafdad08fde697ceb3',1,'gridfire::Engine::getNetworkSpecies()'],['../classgridfire_1_1_graph_engine.html#a0ed390f3e598ebba4e245ac90bb78767',1,'gridfire::GraphEngine::getNetworkSpecies()'],['../classgridfire_1_1_adaptive_engine_view.html#ac83a8efe25c0e5b9bf7756ac3a500bb1',1,'gridfire::AdaptiveEngineView::getNetworkSpecies()'],['../classgridfire_1_1_file_defined_engine_view.html#a8bb583e039b49608272997ed2d3387fa',1,'gridfire::FileDefinedEngineView::getNetworkSpecies()']]], + ['getreactionsetspecies_10',['getReactionSetSpecies',['../classgridfire_1_1reaction_1_1_templated_reaction_set.html#a1596de3439735a45ac344fa85ace6c82',1,'gridfire::reaction::TemplatedReactionSet']]], + ['getscreeningmodel_11',['getScreeningModel',['../classgridfire_1_1_dynamic_engine.html#a7a203f8e0f3a6744ddc912dfbcfdbcc0',1,'gridfire::DynamicEngine::getScreeningModel()'],['../classgridfire_1_1_graph_engine.html#a697f2004e0d02c59e83c7890742d7c9a',1,'gridfire::GraphEngine::getScreeningModel()'],['../classgridfire_1_1_adaptive_engine_view.html#a0ab1199f900a58f309c3c36532c9164f',1,'gridfire::AdaptiveEngineView::getScreeningModel()'],['../classgridfire_1_1_file_defined_engine_view.html#adbc50f397445f92b810d80cf329b8626',1,'gridfire::FileDefinedEngineView::getScreeningModel()']]], + ['getspeciestimescales_12',['getSpeciesTimescales',['../classgridfire_1_1_dynamic_engine.html#a5d8ba98b230d2849035ee2507728fa15',1,'gridfire::DynamicEngine::getSpeciesTimescales()'],['../classgridfire_1_1_graph_engine.html#a26215593544c3a52597194602e4e25dd',1,'gridfire::GraphEngine::getSpeciesTimescales()'],['../classgridfire_1_1_adaptive_engine_view.html#a93b38d0fdc4647f6f7340172dae17872',1,'gridfire::AdaptiveEngineView::getSpeciesTimescales()'],['../classgridfire_1_1_file_defined_engine_view.html#ace3c6ea4841318c08695973ab3dcddc6',1,'gridfire::FileDefinedEngineView::getSpeciesTimescales()']]], + ['getstoichiometrymatrixentry_13',['getStoichiometryMatrixEntry',['../classgridfire_1_1_dynamic_engine.html#afa108dd5227dbb1045e90d7b3bd8b84f',1,'gridfire::DynamicEngine::getStoichiometryMatrixEntry()'],['../classgridfire_1_1_graph_engine.html#a6b5feaf788bade212b7c8df7ac8c8152',1,'gridfire::GraphEngine::getStoichiometryMatrixEntry()'],['../classgridfire_1_1_adaptive_engine_view.html#a67b4ea8cad115394bb4a42cc39d696f9',1,'gridfire::AdaptiveEngineView::getStoichiometryMatrixEntry()'],['../classgridfire_1_1_file_defined_engine_view.html#a9da9224f5c99a5068f3d8cbf066e4693',1,'gridfire::FileDefinedEngineView::getStoichiometryMatrixEntry()']]], + ['graphengine_14',['GraphEngine',['../classgridfire_1_1_graph_engine.html',1,'gridfire::GraphEngine'],['../classgridfire_1_1_graph_engine.html#a9f74786ff930ab72664b31f29d05a30c',1,'gridfire::GraphEngine::GraphEngine(const fourdst::composition::Composition &composition)'],['../classgridfire_1_1_graph_engine.html#a9c285e3a38de6e73503a4e19666678e2',1,'gridfire::GraphEngine::GraphEngine(reaction::LogicalReactionSet reactions)']]], + ['gridfire_15',['GridFire',['../index.html',1,'']]], + ['gridfire_16',['gridfire',['../namespacegridfire.html',1,'']]], + ['gridfire_3a_20a_20nuclear_20reaction_20network_20library_17',['GridFire: A Nuclear Reaction Network Library',['../index.html#autotoc_md0',1,'']]], + ['gridfire_3a_3aapprox8_18',['approx8',['../namespacegridfire_1_1approx8.html',1,'gridfire']]], + ['gridfire_3a_3aio_19',['io',['../namespacegridfire_1_1io.html',1,'gridfire']]], + ['gridfire_3a_3areaclib_20',['reaclib',['../namespacegridfire_1_1reaclib.html',1,'gridfire']]], + ['gridfire_3a_3areaction_21',['reaction',['../namespacegridfire_1_1reaction.html',1,'gridfire']]], + ['gridfire_3a_3ascreening_22',['screening',['../namespacegridfire_1_1screening.html',1,'gridfire']]], + ['gridfire_3a_3asolver_23',['solver',['../namespacegridfire_1_1solver.html',1,'gridfire']]], + ['gridfire_3a_3autils_24',['utils',['../namespacegridfire_1_1utils.html',1,'gridfire']]] ]; diff --git a/docs/html/search/all_7.js b/docs/html/search/all_7.js index c8864138..6169822f 100644 --- a/docs/html/search/all_7.js +++ b/docs/html/search/all_7.js @@ -1,9 +1,10 @@ var searchData= [ - ['hash_0',['hash',['../classgridfire_1_1reaction_1_1_reaction.html#af6c20e6d03a2d9f87632f71a90b88cb5',1,'gridfire::reaction::Reaction::hash()'],['../classgridfire_1_1reaction_1_1_reaction_set.html#a3209bb7c2a41deabaab059f6c671776f',1,'gridfire::reaction::ReactionSet::hash()']]], - ['hash_3c_20gridfire_3a_3areaction_3a_3areaction_20_3e_1',['hash< gridfire::reaction::Reaction >',['../structstd_1_1hash_3_01gridfire_1_1reaction_1_1_reaction_01_4.html',1,'std']]], - ['hash_3c_20gridfire_3a_3areaction_3a_3areactionset_20_3e_2',['hash< gridfire::reaction::ReactionSet >',['../structstd_1_1hash_3_01gridfire_1_1reaction_1_1_reaction_set_01_4.html',1,'std']]], - ['he3he3_5frate_3',['he3he3_rate',['../namespacegridfire_1_1approx8.html#a12cb71ba6ed03750af9e7659464197ea',1,'gridfire::approx8']]], - ['he3he4_5frate_4',['he3he4_rate',['../namespacegridfire_1_1approx8.html#a593cd66c1eadae4da233ae73b4aad4a3',1,'gridfire::approx8']]], - ['how_20to_20use_5',['How to Use',['../index.html#autotoc_md10',1,'']]] + ['hash_0',['hash',['../classgridfire_1_1reaction_1_1_reaction.html#af6c20e6d03a2d9f87632f71a90b88cb5',1,'gridfire::reaction::Reaction::hash()'],['../classgridfire_1_1reaction_1_1_templated_reaction_set.html#a272800016c83f259f5c6a92dc797353c',1,'gridfire::reaction::TemplatedReactionSet::hash()']]], + ['hash_3c_20gridfire_3a_3areaction_3a_3alogicalreactionset_20_3e_1',['hash< gridfire::reaction::LogicalReactionSet >',['../structstd_1_1hash_3_01gridfire_1_1reaction_1_1_logical_reaction_set_01_4.html',1,'std']]], + ['hash_3c_20gridfire_3a_3areaction_3a_3areaction_20_3e_2',['hash< gridfire::reaction::Reaction >',['../structstd_1_1hash_3_01gridfire_1_1reaction_1_1_reaction_01_4.html',1,'std']]], + ['hash_3c_20gridfire_3a_3areaction_3a_3areactionset_20_3e_3',['hash< gridfire::reaction::ReactionSet >',['../structstd_1_1hash_3_01gridfire_1_1reaction_1_1_reaction_set_01_4.html',1,'std']]], + ['he3he3_5frate_4',['he3he3_rate',['../namespacegridfire_1_1approx8.html#a12cb71ba6ed03750af9e7659464197ea',1,'gridfire::approx8']]], + ['he3he4_5frate_5',['he3he4_rate',['../namespacegridfire_1_1approx8.html#a593cd66c1eadae4da233ae73b4aad4a3',1,'gridfire::approx8']]], + ['how_20to_20use_6',['How to Use',['../index.html#autotoc_md10',1,'']]] ]; diff --git a/docs/html/search/all_8.js b/docs/html/search/all_8.js index 1cb0906c..43f6ceab 100644 --- a/docs/html/search/all_8.js +++ b/docs/html/search/all_8.js @@ -12,11 +12,13 @@ var searchData= ['ine20_9',['ine20',['../structgridfire_1_1approx8_1_1_approx8_net.html#ad43418fd8c536ebc814d5e6de555256c',1,'gridfire::approx8::Approx8Net']]], ['initializeallreaclibreactions_10',['initializeAllReaclibReactions',['../namespacegridfire_1_1reaclib.html#a02ff11b88be94392151873e06a30b276',1,'gridfire::reaclib']]], ['initializenetworkwithshortignition_11',['initializeNetworkWithShortIgnition',['../classgridfire_1_1solver_1_1_q_s_e_network_solver.html#abaa567001df0007b714f474febae408b',1,'gridfire::solver::QSENetworkSolver']]], - ['inputtype_12',['InputType',['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#ac4ec3c180a9778acdd604a9b80d25399',1,'gridfire::solver::QSENetworkSolver::EigenFunctor']]], - ['involvesspecies_13',['involvesSpecies',['../classgridfire_1_1_graph_engine.html#aa6202cee0c3c481eda77cc9a91bc126b',1,'gridfire::GraphEngine']]], - ['io16_14',['io16',['../structgridfire_1_1approx8_1_1_approx8_net.html#ab4e95622dc0414ad7e636ef811e600af',1,'gridfire::approx8::Approx8Net']]], - ['is_5freverse_15',['is_reverse',['../classgridfire_1_1reaction_1_1_reaction.html#aa67d05dfabf007c1acad34052d9a1dba',1,'gridfire::reaction::Reaction']]], - ['isarithmeticorad_16',['IsArithmeticOrAD',['../conceptgridfire_1_1_is_arithmetic_or_a_d.html',1,'gridfire']]], - ['isstiff_17',['isStiff',['../classgridfire_1_1approx8_1_1_approx8_network.html#a5b17b2831389829533385900ce19a37a',1,'gridfire::approx8::Approx8Network::isStiff()'],['../classgridfire_1_1_network.html#ae93ad65deba79def4b77d420e7affa0b',1,'gridfire::Network::isStiff()']]], - ['itemp_18',['iTemp',['../structgridfire_1_1approx8_1_1_approx8_net.html#a010df59d40b3bc8a802224968922ebde',1,'gridfire::approx8::Approx8Net']]] + ['inputs_12',['inputs',['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#a5ce08aab2f1976c9258dad2b67e1c5b6',1,'gridfire::solver::QSENetworkSolver::EigenFunctor']]], + ['inputsatcompiletime_13',['InputsAtCompileTime',['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#a1bff36d14c3e1f7a276d9fe6b564abdfab349cc75d98609f22769f5ce87050dac',1,'gridfire::solver::QSENetworkSolver::EigenFunctor']]], + ['inputtype_14',['InputType',['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#ac4ec3c180a9778acdd604a9b80d25399',1,'gridfire::solver::QSENetworkSolver::EigenFunctor']]], + ['involvesspecies_15',['involvesSpecies',['../classgridfire_1_1_graph_engine.html#aa6202cee0c3c481eda77cc9a91bc126b',1,'gridfire::GraphEngine']]], + ['io16_16',['io16',['../structgridfire_1_1approx8_1_1_approx8_net.html#ab4e95622dc0414ad7e636ef811e600af',1,'gridfire::approx8::Approx8Net']]], + ['is_5freverse_17',['is_reverse',['../classgridfire_1_1reaction_1_1_reaction.html#aa67d05dfabf007c1acad34052d9a1dba',1,'gridfire::reaction::Reaction']]], + ['isarithmeticorad_18',['IsArithmeticOrAD',['../conceptgridfire_1_1_is_arithmetic_or_a_d.html',1,'gridfire']]], + ['isstiff_19',['isStiff',['../classgridfire_1_1approx8_1_1_approx8_network.html#a5b17b2831389829533385900ce19a37a',1,'gridfire::approx8::Approx8Network::isStiff()'],['../classgridfire_1_1_network.html#ae93ad65deba79def4b77d420e7affa0b',1,'gridfire::Network::isStiff()']]], + ['itemp_20',['iTemp',['../structgridfire_1_1approx8_1_1_approx8_net.html#a010df59d40b3bc8a802224968922ebde',1,'gridfire::approx8::Approx8Net']]] ]; diff --git a/docs/html/search/all_a.js b/docs/html/search/all_a.js index 4c015a73..af3330e6 100644 --- a/docs/html/search/all_a.js +++ b/docs/html/search/all_a.js @@ -3,7 +3,9 @@ var searchData= ['label_0',['label',['../structgridfire_1_1reaclib_1_1_reaction_record.html#a2165deb1c0a54a5086b496cf34604fa5',1,'gridfire::reaclib::ReactionRecord']]], ['library_1',['GridFire: A Nuclear Reaction Network Library',['../index.html#autotoc_md0',1,'']]], ['list_2',['Todo List',['../todo.html',1,'']]], - ['logicalreaction_3',['LogicalReaction',['../classgridfire_1_1reaction_1_1_logical_reaction.html',1,'gridfire::reaction::LogicalReaction'],['../classgridfire_1_1reaction_1_1_logical_reaction.html#a6965906ea33ebd0d615811219d9e9537',1,'gridfire::reaction::LogicalReaction::LogicalReaction()']]], - ['logicalreactionset_4',['LogicalReactionSet',['../classgridfire_1_1reaction_1_1_logical_reaction_set.html',1,'gridfire::reaction::LogicalReactionSet'],['../classgridfire_1_1reaction_1_1_logical_reaction_set.html#ac650a2a2c83cfb618f11a924552e251d',1,'gridfire::reaction::LogicalReactionSet::LogicalReactionSet()=delete'],['../classgridfire_1_1reaction_1_1_logical_reaction_set.html#a129d55e5f57ec3c2e256070fd219e2df',1,'gridfire::reaction::LogicalReactionSet::LogicalReactionSet(const ReactionSet &reactionSet)']]], - ['logmanager_5',['LogManager',['../classgridfire_1_1_adaptive_engine_view.html#a5eaf7c3a4e28cd3a4f34979b88a80103',1,'gridfire::AdaptiveEngineView']]] + ['logging_2ecpp_3',['logging.cpp',['../logging_8cpp.html',1,'']]], + ['logging_2eh_4',['logging.h',['../logging_8h.html',1,'']]], + ['logicalreaction_5',['LogicalReaction',['../classgridfire_1_1reaction_1_1_logical_reaction.html',1,'gridfire::reaction::LogicalReaction'],['../classgridfire_1_1reaction_1_1_logical_reaction.html#a6965906ea33ebd0d615811219d9e9537',1,'gridfire::reaction::LogicalReaction::LogicalReaction()']]], + ['logicalreactionset_6',['LogicalReactionSet',['../namespacegridfire_1_1reaction.html#aa86f08712565f278adacc7cd2361eb31',1,'gridfire::reaction']]], + ['logmanager_7',['LogManager',['../classgridfire_1_1_adaptive_engine_view.html#a5eaf7c3a4e28cd3a4f34979b88a80103',1,'gridfire::AdaptiveEngineView::LogManager'],['../classgridfire_1_1_file_defined_engine_view.html#acbb1a9bcb775e6d50de512a333afed08',1,'gridfire::FileDefinedEngineView::LogManager'],['../classgridfire_1_1io_1_1_simple_reaction_list_file_parser.html#a6f8f9a1f54cd2be5ec66c3181be892de',1,'gridfire::io::SimpleReactionListFileParser::LogManager'],['../classgridfire_1_1io_1_1_m_e_s_a_network_file_parser.html#a84aa6894a331ad57bdab1e1ab85d4055',1,'gridfire::io::MESANetworkFileParser::LogManager']]] ]; diff --git a/docs/html/search/all_b.js b/docs/html/search/all_b.js index 53619202..81a4b119 100644 --- a/docs/html/search/all_b.js +++ b/docs/html/search/all_b.js @@ -1,59 +1,69 @@ var searchData= [ - ['m_5factivereactions_0',['m_activeReactions',['../classgridfire_1_1_adaptive_engine_view.html#a19fc7e02e216b797aa643fa35e429800',1,'gridfire::AdaptiveEngineView']]], - ['m_5factivespecies_1',['m_activeSpecies',['../classgridfire_1_1_adaptive_engine_view.html#af4bc9fc6e4afcd6a53c49ca6e2a95940',1,'gridfire::AdaptiveEngineView']]], - ['m_5fbaseengine_2',['m_baseEngine',['../classgridfire_1_1_adaptive_engine_view.html#a4d38b46be9f25c7afe7ddd2b284253f8',1,'gridfire::AdaptiveEngineView']]], + ['m_5factivereactions_0',['m_activeReactions',['../classgridfire_1_1_adaptive_engine_view.html#a19fc7e02e216b797aa643fa35e429800',1,'gridfire::AdaptiveEngineView::m_activeReactions'],['../classgridfire_1_1_file_defined_engine_view.html#ae012da2b1f6169cb13e6075a73353ab2',1,'gridfire::FileDefinedEngineView::m_activeReactions']]], + ['m_5factivespecies_1',['m_activeSpecies',['../classgridfire_1_1_adaptive_engine_view.html#af4bc9fc6e4afcd6a53c49ca6e2a95940',1,'gridfire::AdaptiveEngineView::m_activeSpecies'],['../classgridfire_1_1_file_defined_engine_view.html#a299a0c61aa4f26029c770013c9feff5e',1,'gridfire::FileDefinedEngineView::m_activeSpecies']]], + ['m_5fbaseengine_2',['m_baseEngine',['../classgridfire_1_1_adaptive_engine_view.html#a4d38b46be9f25c7afe7ddd2b284253f8',1,'gridfire::AdaptiveEngineView::m_baseEngine'],['../classgridfire_1_1_file_defined_engine_view.html#ad8454c98fa9a4bb45dc81059bc51fc81',1,'gridfire::FileDefinedEngineView::m_baseEngine']]], ['m_5fchapter_3',['m_chapter',['../classgridfire_1_1reaction_1_1_reaction.html#a16f9cbb6269817099d3dc07d4e63da7b',1,'gridfire::reaction::Reaction']]], - ['m_5fconfig_4',['m_config',['../classgridfire_1_1_adaptive_engine_view.html#a14171a9ccc45a63996a967c72983de30',1,'gridfire::AdaptiveEngineView::m_config'],['../classgridfire_1_1_graph_engine.html#a3b17102b143435ddfdc015d7a50c4b18',1,'gridfire::GraphEngine::m_config'],['../classgridfire_1_1_network.html#a9f8802012728ef5fea0e8cd465044e09',1,'gridfire::Network::m_config'],['../classgridfire_1_1solver_1_1_q_s_e_network_solver.html#a7d19b6e50db34d38c81afec76bbedee1',1,'gridfire::solver::QSENetworkSolver::m_config'],['../classgridfire_1_1solver_1_1_direct_network_solver.html#a0d1b52d06b0521e7c556d75cd8d2ffe6',1,'gridfire::solver::DirectNetworkSolver::m_config']]], + ['m_5fconfig_4',['m_config',['../classgridfire_1_1_graph_engine.html#a3b17102b143435ddfdc015d7a50c4b18',1,'gridfire::GraphEngine::m_config'],['../classgridfire_1_1_adaptive_engine_view.html#a14171a9ccc45a63996a967c72983de30',1,'gridfire::AdaptiveEngineView::m_config'],['../classgridfire_1_1_file_defined_engine_view.html#a7a80966c023ae722239491af58609362',1,'gridfire::FileDefinedEngineView::m_config'],['../classgridfire_1_1io_1_1_simple_reaction_list_file_parser.html#a4061e99bd77a3de0d6d9e317bfc74874',1,'gridfire::io::SimpleReactionListFileParser::m_config'],['../classgridfire_1_1io_1_1_m_e_s_a_network_file_parser.html#aea206c3a7600db8d657666fef88fa20d',1,'gridfire::io::MESANetworkFileParser::m_config'],['../classgridfire_1_1_network.html#a9f8802012728ef5fea0e8cd465044e09',1,'gridfire::Network::m_config'],['../classgridfire_1_1solver_1_1_q_s_e_network_solver.html#a7d19b6e50db34d38c81afec76bbedee1',1,'gridfire::solver::QSENetworkSolver::m_config'],['../classgridfire_1_1solver_1_1_direct_network_solver.html#a0d1b52d06b0521e7c556d75cd8d2ffe6',1,'gridfire::solver::DirectNetworkSolver::m_config']]], ['m_5fconstants_5',['m_constants',['../classgridfire_1_1_graph_engine.html#a0837bab6dcd111d9075c9343b90d64f1',1,'gridfire::GraphEngine::m_constants'],['../classgridfire_1_1_network.html#adf7002883160101c9f9d1b376b265410',1,'gridfire::Network::m_constants']]], ['m_5fdt0_6',['m_dt0',['../classgridfire_1_1approx8_1_1_approx8_network.html#a6ed8022834e9541b3e547dd867648b0f',1,'gridfire::approx8::Approx8Network']]], ['m_5fdynamicspeciesindices_7',['m_dynamicSpeciesIndices',['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_r_h_s_functor.html#a3ac1ef529627d21f7d1ad718dc87f7f9',1,'gridfire::solver::QSENetworkSolver::RHSFunctor::m_dynamicSpeciesIndices'],['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_jacobian_functor.html#a2071ce797f94ae1a3ea6d934748672ce',1,'gridfire::solver::QSENetworkSolver::JacobianFunctor::m_dynamicSpeciesIndices'],['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#a08ce53701b152f3ce108c1c18ce64de2',1,'gridfire::solver::QSENetworkSolver::EigenFunctor::m_dynamicSpeciesIndices']]], ['m_5fengine_8',['m_engine',['../classgridfire_1_1solver_1_1_network_solver_strategy.html#a724924d94eaf82b67d9988a55c3261e8',1,'gridfire::solver::NetworkSolverStrategy::m_engine'],['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_r_h_s_functor.html#a0d8d28a6559cfed5e7cd683523d49b2c',1,'gridfire::solver::QSENetworkSolver::RHSFunctor::m_engine'],['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_jacobian_functor.html#aaaa82eff96e6127a6de05444f730e43a',1,'gridfire::solver::QSENetworkSolver::JacobianFunctor::m_engine'],['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#a93b46ca95ddf9e4d21d02700621e6285',1,'gridfire::solver::QSENetworkSolver::EigenFunctor::m_engine'],['../structgridfire_1_1solver_1_1_direct_network_solver_1_1_r_h_s_functor.html#a04f8c84e46e6fbd0977e50fda4829d1a',1,'gridfire::solver::DirectNetworkSolver::RHSFunctor::m_engine'],['../structgridfire_1_1solver_1_1_direct_network_solver_1_1_jacobian_functor.html#a56f8b2b222fb2a7dac190ead0babfdd0',1,'gridfire::solver::DirectNetworkSolver::JacobianFunctor::m_engine']]], - ['m_5fformat_9',['m_format',['../classgridfire_1_1_network.html#a37218e18f1bdbda7be94aa230f47dd18',1,'gridfire::Network']]], - ['m_5fid_10',['m_id',['../classgridfire_1_1reaction_1_1_reaction.html#a5c685e5a736b51799e5b9f6746c4126b',1,'gridfire::reaction::Reaction::m_id'],['../classgridfire_1_1reaction_1_1_reaction_set.html#af92e3003b2a3606b48ab857cdedc3111',1,'gridfire::reaction::ReactionSet::m_id'],['../classgridfire_1_1reaction_1_1_logical_reaction_set.html#a7e21865d3dafb65d2bf3b051ee55c4c2',1,'gridfire::reaction::LogicalReactionSet::m_id']]], - ['m_5fisstale_11',['m_isStale',['../classgridfire_1_1_adaptive_engine_view.html#a63580db57e0f48f508906a11ccfd465e',1,'gridfire::AdaptiveEngineView']]], - ['m_5fisviewinitialized_12',['m_isViewInitialized',['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_r_h_s_functor.html#a81f964b87457847d7de13fed18499283',1,'gridfire::solver::QSENetworkSolver::RHSFunctor::m_isViewInitialized'],['../classgridfire_1_1solver_1_1_q_s_e_network_solver.html#ab07e68fd418ab058f890502d191b3f18',1,'gridfire::solver::QSENetworkSolver::m_isViewInitialized']]], - ['m_5fjacobianmatrix_13',['m_jacobianMatrix',['../classgridfire_1_1_graph_engine.html#a2f1718c89d4aaad028102724d18fa910',1,'gridfire::GraphEngine']]], - ['m_5flastseenconditions_14',['m_lastSeenConditions',['../classgridfire_1_1solver_1_1_q_s_e_network_solver.html#a3c9d46c8f5c519854cd65309a588772f',1,'gridfire::solver::QSENetworkSolver']]], - ['m_5flogger_15',['m_logger',['../classgridfire_1_1_adaptive_engine_view.html#ac5bdbe46f87d38d9f23ece5743dcd193',1,'gridfire::AdaptiveEngineView::m_logger'],['../classgridfire_1_1_graph_engine.html#a483979fc154adc88d029b3b672066d53',1,'gridfire::GraphEngine::m_logger'],['../classgridfire_1_1_network.html#a960d309defc570f92d296ce4b93920e5',1,'gridfire::Network::m_logger'],['../classgridfire_1_1reaction_1_1_reaction.html#a7044d0a1d59d85502ce554e4ec2167e4',1,'gridfire::reaction::Reaction::m_logger'],['../classgridfire_1_1reaction_1_1_reaction_set.html#aff5ae284012009164d4b3033577709eb',1,'gridfire::reaction::ReactionSet::m_logger'],['../classgridfire_1_1reaction_1_1_logical_reaction_set.html#ad5c1f6a1642c47437dbf8cc20a32b51e',1,'gridfire::reaction::LogicalReactionSet::m_logger'],['../classgridfire_1_1solver_1_1_q_s_e_network_solver.html#a428b49fa7878559665363de06f1a44a7',1,'gridfire::solver::QSENetworkSolver::m_logger'],['../classgridfire_1_1solver_1_1_direct_network_solver.html#a093aa89fd23c2fe03266e286871c7079',1,'gridfire::solver::DirectNetworkSolver::m_logger']]], - ['m_5flogmanager_16',['m_logManager',['../classgridfire_1_1_network.html#a0bb7c7be9a3c3212ef6dcbf26dcacb16',1,'gridfire::Network']]], - ['m_5fnetworkspecies_17',['m_networkSpecies',['../classgridfire_1_1_graph_engine.html#a92d26068ba139e47d335f5fe9e2814cc',1,'gridfire::GraphEngine']]], - ['m_5fnetworkspeciesmap_18',['m_networkSpeciesMap',['../classgridfire_1_1_graph_engine.html#a30e09ed0bce6aa5fc89beaa316a7b827',1,'gridfire::GraphEngine']]], - ['m_5fnumspecies_19',['m_numSpecies',['../structgridfire_1_1solver_1_1_direct_network_solver_1_1_r_h_s_functor.html#ac4a1af03d2a4fbc5cc2407b8a6833147',1,'gridfire::solver::DirectNetworkSolver::RHSFunctor::m_numSpecies'],['../structgridfire_1_1solver_1_1_direct_network_solver_1_1_jacobian_functor.html#a3f624142212b5e6ff65f5706953fe353',1,'gridfire::solver::DirectNetworkSolver::JacobianFunctor::m_numSpecies']]], - ['m_5fpename_20',['m_peName',['../classgridfire_1_1reaction_1_1_reaction.html#a6124aa9fc2306349e1dd879a37923248',1,'gridfire::reaction::Reaction']]], - ['m_5fproducts_21',['m_products',['../classgridfire_1_1reaction_1_1_reaction.html#a4b5607ed413acdf29539b8a57461e49e',1,'gridfire::reaction::Reaction']]], - ['m_5fqsespeciesindices_22',['m_QSESpeciesIndices',['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_r_h_s_functor.html#a6be7259897a47ce480b289144b06e269',1,'gridfire::solver::QSENetworkSolver::RHSFunctor::m_QSESpeciesIndices'],['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_jacobian_functor.html#a1b92391170eb46771bd499aa8d115334',1,'gridfire::solver::QSENetworkSolver::JacobianFunctor::m_QSESpeciesIndices'],['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#abaf28fdd93e881ef56c24f541be7492d',1,'gridfire::solver::QSENetworkSolver::EigenFunctor::m_QSESpeciesIndices']]], - ['m_5fqvalue_23',['m_qValue',['../classgridfire_1_1reaction_1_1_reaction.html#a59122a2898bb9af640cc3e9aeb49028b',1,'gridfire::reaction::Reaction']]], - ['m_5fratecoefficients_24',['m_rateCoefficients',['../classgridfire_1_1reaction_1_1_reaction.html#aa61a9a024d7c4ff66a351ccd0277ec72',1,'gridfire::reaction::Reaction']]], - ['m_5frates_25',['m_rates',['../classgridfire_1_1reaction_1_1_logical_reaction.html#a81f75f0085f8a5a45169f0b7240c809d',1,'gridfire::reaction::LogicalReaction']]], - ['m_5freactants_26',['m_reactants',['../classgridfire_1_1reaction_1_1_reaction.html#a87a065b3c7806bcdb5eadb7de2978a11',1,'gridfire::reaction::Reaction']]], - ['m_5freactionidmap_27',['m_reactionIDMap',['../classgridfire_1_1_graph_engine.html#a5d6cc63b99b467c2a976d1fbaaa1dfa3',1,'gridfire::GraphEngine']]], - ['m_5freactionindexmap_28',['m_reactionIndexMap',['../classgridfire_1_1_adaptive_engine_view.html#a21c6e33bbf8c18fd5b5eaabb469054de',1,'gridfire::AdaptiveEngineView']]], - ['m_5freactionnamemap_29',['m_reactionNameMap',['../classgridfire_1_1reaction_1_1_reaction_set.html#ad3e2715e9e4d6b4f1dc54b969a1322f4',1,'gridfire::reaction::ReactionSet::m_reactionNameMap'],['../classgridfire_1_1reaction_1_1_logical_reaction_set.html#a49280e0f29d2d4e322d76831688f7f27',1,'gridfire::reaction::LogicalReactionSet::m_reactionNameMap']]], - ['m_5freactions_30',['m_reactions',['../classgridfire_1_1_graph_engine.html#acb7c4f5108b0efeae48ad15598e808c3',1,'gridfire::GraphEngine::m_reactions'],['../classgridfire_1_1reaction_1_1_reaction_set.html#aaa3c40cb22b8bd056cf62b047ae4937c',1,'gridfire::reaction::ReactionSet::m_reactions'],['../classgridfire_1_1reaction_1_1_logical_reaction_set.html#a04f5579b45258e623a0b8f1d3d43fee9',1,'gridfire::reaction::LogicalReactionSet::m_reactions']]], - ['m_5freverse_31',['m_reverse',['../classgridfire_1_1reaction_1_1_reaction.html#a0b0b9ac498080aae91ffd466d1ae85a9',1,'gridfire::reaction::Reaction']]], - ['m_5frho_32',['m_rho',['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_r_h_s_functor.html#adc0f8e655af42f414dcb220a7224f261',1,'gridfire::solver::QSENetworkSolver::RHSFunctor::m_rho'],['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_jacobian_functor.html#a0907f7b6c1a87baf5e39fbc17a30df82',1,'gridfire::solver::QSENetworkSolver::JacobianFunctor::m_rho'],['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#ab0a0d4c166e97b971543cbbf2b0a1a2e',1,'gridfire::solver::QSENetworkSolver::EigenFunctor::m_rho'],['../structgridfire_1_1solver_1_1_direct_network_solver_1_1_r_h_s_functor.html#a7d4f7f04c4ee6f0b519194f87aa265e7',1,'gridfire::solver::DirectNetworkSolver::RHSFunctor::m_rho'],['../structgridfire_1_1solver_1_1_direct_network_solver_1_1_jacobian_functor.html#a932c41aa9f1aa38e56a03b27cd2ccda4',1,'gridfire::solver::DirectNetworkSolver::JacobianFunctor::m_rho']]], - ['m_5frhsadfun_33',['m_rhsADFun',['../classgridfire_1_1_graph_engine.html#a2e22b111f6d00ecc9e3804a71f1ce876',1,'gridfire::GraphEngine']]], - ['m_5fsourcelabel_34',['m_sourceLabel',['../classgridfire_1_1reaction_1_1_reaction.html#a0185c6be5465d113f25e00aee1297cd6',1,'gridfire::reaction::Reaction']]], - ['m_5fsources_35',['m_sources',['../classgridfire_1_1reaction_1_1_logical_reaction.html#a7fe91d24e20ebc76d612f6ad742f476f',1,'gridfire::reaction::LogicalReaction']]], - ['m_5fspeciesindexmap_36',['m_speciesIndexMap',['../classgridfire_1_1_adaptive_engine_view.html#a5f66204a0ff5b27eed243afddecb0093',1,'gridfire::AdaptiveEngineView']]], - ['m_5fspeciestoindexmap_37',['m_speciesToIndexMap',['../classgridfire_1_1_graph_engine.html#ad8237c252145a75092202d00f5e1ddf7',1,'gridfire::GraphEngine']]], - ['m_5fstiff_38',['m_stiff',['../classgridfire_1_1approx8_1_1_approx8_network.html#a697cb49bebc8d0659eb791500c451c67',1,'gridfire::approx8::Approx8Network::m_stiff'],['../classgridfire_1_1_network.html#aefe364ae5af783e19e7b93bfd475566e',1,'gridfire::Network::m_stiff']]], - ['m_5fstoichiometrymatrix_39',['m_stoichiometryMatrix',['../classgridfire_1_1_graph_engine.html#ad1cb5fd32efc37668e2d9ecf0c72ad24',1,'gridfire::GraphEngine']]], - ['m_5ft9_40',['m_T9',['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_r_h_s_functor.html#a35026100163c7cc6fdb4c2e4d988b8cb',1,'gridfire::solver::QSENetworkSolver::RHSFunctor::m_T9'],['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_jacobian_functor.html#a85f88639447a9a706008efece82ff289',1,'gridfire::solver::QSENetworkSolver::JacobianFunctor::m_T9'],['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#a6771ae56ddd9058954b42ee92a378309',1,'gridfire::solver::QSENetworkSolver::EigenFunctor::m_T9'],['../structgridfire_1_1solver_1_1_direct_network_solver_1_1_r_h_s_functor.html#a082844f1eae0609e66620575210e8823',1,'gridfire::solver::DirectNetworkSolver::RHSFunctor::m_T9'],['../structgridfire_1_1solver_1_1_direct_network_solver_1_1_jacobian_functor.html#a88f5fc48a555b369f1e2688d6bb67b83',1,'gridfire::solver::DirectNetworkSolver::JacobianFunctor::m_T9']]], - ['m_5ftmax_41',['m_tMax',['../classgridfire_1_1approx8_1_1_approx8_network.html#a6fadf388f07c160f1887a3cb72eaa869',1,'gridfire::approx8::Approx8Network']]], - ['m_5fy_42',['m_y',['../classgridfire_1_1approx8_1_1_approx8_network.html#abf9f13ff532917ddac4a7d987698836d',1,'gridfire::approx8::Approx8Network']]], - ['m_5fy_5fqse_43',['m_Y_QSE',['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_r_h_s_functor.html#a02c23ef20d616bf5a591a274b66cd75a',1,'gridfire::solver::QSENetworkSolver::RHSFunctor']]], - ['m_5fydynamic_44',['m_YDynamic',['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#af4f10300bde1e8e07b896bfca6335401',1,'gridfire::solver::QSENetworkSolver::EigenFunctor']]], - ['mainpage_2emd_45',['mainpage.md',['../mainpage_8md.html',1,'']]], - ['mapculledtofull_46',['mapCulledToFull',['../classgridfire_1_1_adaptive_engine_view.html#a68695f056b660e91285b7e5a931612e1',1,'gridfire::AdaptiveEngineView']]], - ['mapculledtofullreactionindex_47',['mapCulledToFullReactionIndex',['../classgridfire_1_1_adaptive_engine_view.html#a91e742642d8a8d9ec0620779927e5101',1,'gridfire::AdaptiveEngineView']]], - ['mapculledtofullspeciesindex_48',['mapCulledToFullSpeciesIndex',['../classgridfire_1_1_adaptive_engine_view.html#a256d14a333f9401039b826cc889761a8',1,'gridfire::AdaptiveEngineView']]], - ['mapfulltoculled_49',['mapFullToCulled',['../classgridfire_1_1_adaptive_engine_view.html#a3d9d8e862d1c2f0a8ba460c57f6a7f44',1,'gridfire::AdaptiveEngineView']]], - ['matrix_5ftype_50',['matrix_type',['../namespacegridfire_1_1approx8.html#a275aecf94e3145c2ff3d1756deda54ce',1,'gridfire::approx8']]], - ['min_5fabundance_5fthreshold_51',['MIN_ABUNDANCE_THRESHOLD',['../namespacegridfire.html#a96c062f94713921e5d7568ecedcdcb06',1,'gridfire']]], - ['min_5fdensity_5fthreshold_52',['MIN_DENSITY_THRESHOLD',['../namespacegridfire.html#ada3c137c014ecd8d06200fea2d1a9f50',1,'gridfire']]], - ['min_5fjacobian_5fthreshold_53',['MIN_JACOBIAN_THRESHOLD',['../namespacegridfire.html#ae01b1738df1921db565bcbd68dd6cf64',1,'gridfire']]], - ['mion_54',['mIon',['../structgridfire_1_1approx8_1_1_approx8_net.html#a928b7810cb2993d59d40aa73c2faef18',1,'gridfire::approx8::Approx8Net']]], - ['molarabundance_55',['MolarAbundance',['../structgridfire_1_1_net_in.html#a47781e8d5503e3b4f12d669e2cbcfb65',1,'gridfire::NetIn']]] + ['m_5ffilename_9',['m_fileName',['../classgridfire_1_1_file_defined_engine_view.html#a1b343998b93955025a589b2b4541e33b',1,'gridfire::FileDefinedEngineView']]], + ['m_5ffilename_10',['m_filename',['../classgridfire_1_1io_1_1_m_e_s_a_network_file_parser.html#ab7f82597abf17f16c401bcdf528bd099',1,'gridfire::io::MESANetworkFileParser']]], + ['m_5fformat_11',['m_format',['../classgridfire_1_1_network.html#a37218e18f1bdbda7be94aa230f47dd18',1,'gridfire::Network']]], + ['m_5fid_12',['m_id',['../classgridfire_1_1reaction_1_1_reaction.html#a5c685e5a736b51799e5b9f6746c4126b',1,'gridfire::reaction::Reaction::m_id'],['../classgridfire_1_1reaction_1_1_templated_reaction_set.html#a5fda3af5ea9ae0ecfb60a61a9e07f5b4',1,'gridfire::reaction::TemplatedReactionSet::m_id']]], + ['m_5fisstale_13',['m_isStale',['../classgridfire_1_1_adaptive_engine_view.html#a63580db57e0f48f508906a11ccfd465e',1,'gridfire::AdaptiveEngineView::m_isStale'],['../classgridfire_1_1_file_defined_engine_view.html#a6e421bc748933be31bed9ff53f12b595',1,'gridfire::FileDefinedEngineView::m_isStale']]], + ['m_5fisviewinitialized_14',['m_isViewInitialized',['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_r_h_s_functor.html#a81f964b87457847d7de13fed18499283',1,'gridfire::solver::QSENetworkSolver::RHSFunctor::m_isViewInitialized'],['../classgridfire_1_1solver_1_1_q_s_e_network_solver.html#ab07e68fd418ab058f890502d191b3f18',1,'gridfire::solver::QSENetworkSolver::m_isViewInitialized']]], + ['m_5fjacobianmatrix_15',['m_jacobianMatrix',['../classgridfire_1_1_graph_engine.html#a2f1718c89d4aaad028102724d18fa910',1,'gridfire::GraphEngine']]], + ['m_5flastseenconditions_16',['m_lastSeenConditions',['../classgridfire_1_1solver_1_1_q_s_e_network_solver.html#a3c9d46c8f5c519854cd65309a588772f',1,'gridfire::solver::QSENetworkSolver']]], + ['m_5flogger_17',['m_logger',['../classgridfire_1_1_graph_engine.html#a483979fc154adc88d029b3b672066d53',1,'gridfire::GraphEngine::m_logger'],['../classgridfire_1_1_adaptive_engine_view.html#ac5bdbe46f87d38d9f23ece5743dcd193',1,'gridfire::AdaptiveEngineView::m_logger'],['../classgridfire_1_1_file_defined_engine_view.html#a9d93633ed4ab68de94b7274f879a0432',1,'gridfire::FileDefinedEngineView::m_logger'],['../classgridfire_1_1io_1_1_simple_reaction_list_file_parser.html#acef7eafe3cbea159259f69c88d309b66',1,'gridfire::io::SimpleReactionListFileParser::m_logger'],['../classgridfire_1_1io_1_1_m_e_s_a_network_file_parser.html#ab9c683289d48e58edf06bf59215b4937',1,'gridfire::io::MESANetworkFileParser::m_logger'],['../classgridfire_1_1_network.html#a960d309defc570f92d296ce4b93920e5',1,'gridfire::Network::m_logger'],['../classgridfire_1_1reaction_1_1_reaction.html#a7044d0a1d59d85502ce554e4ec2167e4',1,'gridfire::reaction::Reaction::m_logger'],['../classgridfire_1_1reaction_1_1_templated_reaction_set.html#ac6fcc5b08938b73ff6dac680e5bf28d9',1,'gridfire::reaction::TemplatedReactionSet::m_logger'],['../classgridfire_1_1screening_1_1_weak_screening_model.html#a0a4d7d6d36dbe7b764b613d34f18386f',1,'gridfire::screening::WeakScreeningModel::m_logger'],['../classgridfire_1_1solver_1_1_q_s_e_network_solver.html#a428b49fa7878559665363de06f1a44a7',1,'gridfire::solver::QSENetworkSolver::m_logger'],['../structgridfire_1_1solver_1_1_direct_network_solver_1_1_r_h_s_functor.html#a9cf3e5b5206b5cd8650cbf620ca5007b',1,'gridfire::solver::DirectNetworkSolver::RHSFunctor::m_logger'],['../classgridfire_1_1solver_1_1_direct_network_solver.html#a093aa89fd23c2fe03266e286871c7079',1,'gridfire::solver::DirectNetworkSolver::m_logger']]], + ['m_5flogmanager_18',['m_logManager',['../classgridfire_1_1_network.html#a0bb7c7be9a3c3212ef6dcbf26dcacb16',1,'gridfire::Network']]], + ['m_5fnetworkspecies_19',['m_networkSpecies',['../classgridfire_1_1_graph_engine.html#a92d26068ba139e47d335f5fe9e2814cc',1,'gridfire::GraphEngine']]], + ['m_5fnetworkspeciesmap_20',['m_networkSpeciesMap',['../classgridfire_1_1_graph_engine.html#a30e09ed0bce6aa5fc89beaa316a7b827',1,'gridfire::GraphEngine']]], + ['m_5fnumspecies_21',['m_numSpecies',['../structgridfire_1_1solver_1_1_direct_network_solver_1_1_r_h_s_functor.html#ac4a1af03d2a4fbc5cc2407b8a6833147',1,'gridfire::solver::DirectNetworkSolver::RHSFunctor::m_numSpecies'],['../structgridfire_1_1solver_1_1_direct_network_solver_1_1_jacobian_functor.html#a3f624142212b5e6ff65f5706953fe353',1,'gridfire::solver::DirectNetworkSolver::JacobianFunctor::m_numSpecies']]], + ['m_5fparser_22',['m_parser',['../classgridfire_1_1_file_defined_engine_view.html#a0a9b07176cb93b54c677b6ce71fda500',1,'gridfire::FileDefinedEngineView']]], + ['m_5fpename_23',['m_peName',['../classgridfire_1_1reaction_1_1_reaction.html#a6124aa9fc2306349e1dd879a37923248',1,'gridfire::reaction::Reaction']]], + ['m_5fproducts_24',['m_products',['../classgridfire_1_1reaction_1_1_reaction.html#a4b5607ed413acdf29539b8a57461e49e',1,'gridfire::reaction::Reaction']]], + ['m_5fqsespeciesindices_25',['m_QSESpeciesIndices',['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_r_h_s_functor.html#a6be7259897a47ce480b289144b06e269',1,'gridfire::solver::QSENetworkSolver::RHSFunctor::m_QSESpeciesIndices'],['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_jacobian_functor.html#a1b92391170eb46771bd499aa8d115334',1,'gridfire::solver::QSENetworkSolver::JacobianFunctor::m_QSESpeciesIndices'],['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#abaf28fdd93e881ef56c24f541be7492d',1,'gridfire::solver::QSENetworkSolver::EigenFunctor::m_QSESpeciesIndices']]], + ['m_5fqvalue_26',['m_qValue',['../classgridfire_1_1reaction_1_1_reaction.html#a59122a2898bb9af640cc3e9aeb49028b',1,'gridfire::reaction::Reaction']]], + ['m_5fratecoefficients_27',['m_rateCoefficients',['../classgridfire_1_1reaction_1_1_reaction.html#aa61a9a024d7c4ff66a351ccd0277ec72',1,'gridfire::reaction::Reaction']]], + ['m_5frates_28',['m_rates',['../classgridfire_1_1reaction_1_1_logical_reaction.html#a81f75f0085f8a5a45169f0b7240c809d',1,'gridfire::reaction::LogicalReaction']]], + ['m_5freactants_29',['m_reactants',['../classgridfire_1_1reaction_1_1_reaction.html#a87a065b3c7806bcdb5eadb7de2978a11',1,'gridfire::reaction::Reaction']]], + ['m_5freactionidmap_30',['m_reactionIDMap',['../classgridfire_1_1_graph_engine.html#a5d6cc63b99b467c2a976d1fbaaa1dfa3',1,'gridfire::GraphEngine']]], + ['m_5freactionindexmap_31',['m_reactionIndexMap',['../classgridfire_1_1_adaptive_engine_view.html#a21c6e33bbf8c18fd5b5eaabb469054de',1,'gridfire::AdaptiveEngineView::m_reactionIndexMap'],['../classgridfire_1_1_file_defined_engine_view.html#af0a77a4749a15aae87bdecfccbd1736e',1,'gridfire::FileDefinedEngineView::m_reactionIndexMap']]], + ['m_5freactionnamemap_32',['m_reactionNameMap',['../classgridfire_1_1reaction_1_1_templated_reaction_set.html#a3a4c2448865580001fd3c797b9f56979',1,'gridfire::reaction::TemplatedReactionSet']]], + ['m_5freactions_33',['m_reactions',['../classgridfire_1_1_graph_engine.html#acb7c4f5108b0efeae48ad15598e808c3',1,'gridfire::GraphEngine::m_reactions'],['../classgridfire_1_1reaction_1_1_templated_reaction_set.html#a5962968fe478c79250e9d88d80a87600',1,'gridfire::reaction::TemplatedReactionSet::m_reactions']]], + ['m_5freverse_34',['m_reverse',['../classgridfire_1_1reaction_1_1_reaction.html#a0b0b9ac498080aae91ffd466d1ae85a9',1,'gridfire::reaction::Reaction']]], + ['m_5frho_35',['m_rho',['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_r_h_s_functor.html#adc0f8e655af42f414dcb220a7224f261',1,'gridfire::solver::QSENetworkSolver::RHSFunctor::m_rho'],['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_jacobian_functor.html#a0907f7b6c1a87baf5e39fbc17a30df82',1,'gridfire::solver::QSENetworkSolver::JacobianFunctor::m_rho'],['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#ab0a0d4c166e97b971543cbbf2b0a1a2e',1,'gridfire::solver::QSENetworkSolver::EigenFunctor::m_rho'],['../structgridfire_1_1solver_1_1_direct_network_solver_1_1_r_h_s_functor.html#a7d4f7f04c4ee6f0b519194f87aa265e7',1,'gridfire::solver::DirectNetworkSolver::RHSFunctor::m_rho'],['../structgridfire_1_1solver_1_1_direct_network_solver_1_1_jacobian_functor.html#a932c41aa9f1aa38e56a03b27cd2ccda4',1,'gridfire::solver::DirectNetworkSolver::JacobianFunctor::m_rho']]], + ['m_5frhsadfun_36',['m_rhsADFun',['../classgridfire_1_1_graph_engine.html#a2e22b111f6d00ecc9e3804a71f1ce876',1,'gridfire::GraphEngine']]], + ['m_5fscreeningmodel_37',['m_screeningModel',['../classgridfire_1_1_graph_engine.html#af17cf3762abac3efcab9a8e87c961210',1,'gridfire::GraphEngine']]], + ['m_5fscreeningtype_38',['m_screeningType',['../classgridfire_1_1_graph_engine.html#a52edc3e88f1e8fc497e1e63972d63c80',1,'gridfire::GraphEngine']]], + ['m_5fsourcelabel_39',['m_sourceLabel',['../classgridfire_1_1reaction_1_1_reaction.html#a0185c6be5465d113f25e00aee1297cd6',1,'gridfire::reaction::Reaction']]], + ['m_5fsources_40',['m_sources',['../classgridfire_1_1reaction_1_1_logical_reaction.html#a7fe91d24e20ebc76d612f6ad742f476f',1,'gridfire::reaction::LogicalReaction']]], + ['m_5fspeciesindexmap_41',['m_speciesIndexMap',['../classgridfire_1_1_adaptive_engine_view.html#a5f66204a0ff5b27eed243afddecb0093',1,'gridfire::AdaptiveEngineView::m_speciesIndexMap'],['../classgridfire_1_1_file_defined_engine_view.html#aebd4a1a584f2784f1df3d503645be03b',1,'gridfire::FileDefinedEngineView::m_speciesIndexMap']]], + ['m_5fspeciestoindexmap_42',['m_speciesToIndexMap',['../classgridfire_1_1_graph_engine.html#ad8237c252145a75092202d00f5e1ddf7',1,'gridfire::GraphEngine']]], + ['m_5fstiff_43',['m_stiff',['../classgridfire_1_1approx8_1_1_approx8_network.html#a697cb49bebc8d0659eb791500c451c67',1,'gridfire::approx8::Approx8Network::m_stiff'],['../classgridfire_1_1_network.html#aefe364ae5af783e19e7b93bfd475566e',1,'gridfire::Network::m_stiff']]], + ['m_5fstoichiometrymatrix_44',['m_stoichiometryMatrix',['../classgridfire_1_1_graph_engine.html#ad1cb5fd32efc37668e2d9ecf0c72ad24',1,'gridfire::GraphEngine']]], + ['m_5ft9_45',['m_T9',['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_r_h_s_functor.html#a35026100163c7cc6fdb4c2e4d988b8cb',1,'gridfire::solver::QSENetworkSolver::RHSFunctor::m_T9'],['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_jacobian_functor.html#a85f88639447a9a706008efece82ff289',1,'gridfire::solver::QSENetworkSolver::JacobianFunctor::m_T9'],['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#a6771ae56ddd9058954b42ee92a378309',1,'gridfire::solver::QSENetworkSolver::EigenFunctor::m_T9'],['../structgridfire_1_1solver_1_1_direct_network_solver_1_1_r_h_s_functor.html#a082844f1eae0609e66620575210e8823',1,'gridfire::solver::DirectNetworkSolver::RHSFunctor::m_T9'],['../structgridfire_1_1solver_1_1_direct_network_solver_1_1_jacobian_functor.html#a88f5fc48a555b369f1e2688d6bb67b83',1,'gridfire::solver::DirectNetworkSolver::JacobianFunctor::m_T9']]], + ['m_5ftmax_46',['m_tMax',['../classgridfire_1_1approx8_1_1_approx8_network.html#a6fadf388f07c160f1887a3cb72eaa869',1,'gridfire::approx8::Approx8Network']]], + ['m_5fy_47',['m_y',['../classgridfire_1_1approx8_1_1_approx8_network.html#abf9f13ff532917ddac4a7d987698836d',1,'gridfire::approx8::Approx8Network']]], + ['m_5fy_5fqse_48',['m_Y_QSE',['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_r_h_s_functor.html#a02c23ef20d616bf5a591a274b66cd75a',1,'gridfire::solver::QSENetworkSolver::RHSFunctor']]], + ['m_5fyfull_49',['m_YFull',['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#a2dca32a9e0bea5aea2a565f94b99a8de',1,'gridfire::solver::QSENetworkSolver::EigenFunctor']]], + ['mainpage_2emd_50',['mainpage.md',['../mainpage_8md.html',1,'']]], + ['mapculledtofull_51',['mapCulledToFull',['../classgridfire_1_1_adaptive_engine_view.html#a68695f056b660e91285b7e5a931612e1',1,'gridfire::AdaptiveEngineView']]], + ['mapculledtofullreactionindex_52',['mapCulledToFullReactionIndex',['../classgridfire_1_1_adaptive_engine_view.html#a91e742642d8a8d9ec0620779927e5101',1,'gridfire::AdaptiveEngineView']]], + ['mapculledtofullspeciesindex_53',['mapCulledToFullSpeciesIndex',['../classgridfire_1_1_adaptive_engine_view.html#a256d14a333f9401039b826cc889761a8',1,'gridfire::AdaptiveEngineView']]], + ['mapfulltoculled_54',['mapFullToCulled',['../classgridfire_1_1_adaptive_engine_view.html#a3d9d8e862d1c2f0a8ba460c57f6a7f44',1,'gridfire::AdaptiveEngineView']]], + ['mapfulltoview_55',['mapFullToView',['../classgridfire_1_1_file_defined_engine_view.html#a97e5ee4651dbe6754678fe96e4702fee',1,'gridfire::FileDefinedEngineView']]], + ['mapviewtofull_56',['mapViewToFull',['../classgridfire_1_1_file_defined_engine_view.html#ac231044e37e0962f664f8465e1ccb022',1,'gridfire::FileDefinedEngineView']]], + ['mapviewtofullreactionindex_57',['mapViewToFullReactionIndex',['../classgridfire_1_1_file_defined_engine_view.html#ae7d6f0ff9076d59d1245c047bbd1bdb9',1,'gridfire::FileDefinedEngineView']]], + ['mapviewtofullspeciesindex_58',['mapViewToFullSpeciesIndex',['../classgridfire_1_1_file_defined_engine_view.html#a8d2c6b9a33b9c8c172bbd2c2e2e9ffaf',1,'gridfire::FileDefinedEngineView']]], + ['matrix_5ftype_59',['matrix_type',['../namespacegridfire_1_1approx8.html#a275aecf94e3145c2ff3d1756deda54ce',1,'gridfire::approx8']]], + ['mesanetworkfileparser_60',['MESANetworkFileParser',['../classgridfire_1_1io_1_1_m_e_s_a_network_file_parser.html',1,'gridfire::io::MESANetworkFileParser'],['../classgridfire_1_1io_1_1_m_e_s_a_network_file_parser.html#ac5963d0da6780de753df996b490f8d2c',1,'gridfire::io::MESANetworkFileParser::MESANetworkFileParser()']]], + ['min_5fabundance_5fthreshold_61',['MIN_ABUNDANCE_THRESHOLD',['../namespacegridfire.html#a96c062f94713921e5d7568ecedcdcb06',1,'gridfire']]], + ['min_5fdensity_5fthreshold_62',['MIN_DENSITY_THRESHOLD',['../namespacegridfire.html#ada3c137c014ecd8d06200fea2d1a9f50',1,'gridfire']]], + ['min_5fjacobian_5fthreshold_63',['MIN_JACOBIAN_THRESHOLD',['../namespacegridfire.html#ae01b1738df1921db565bcbd68dd6cf64',1,'gridfire']]], + ['mion_64',['mIon',['../structgridfire_1_1approx8_1_1_approx8_net.html#a928b7810cb2993d59d40aa73c2faef18',1,'gridfire::approx8::Approx8Net']]], + ['molarabundance_65',['MolarAbundance',['../structgridfire_1_1_net_in.html#a47781e8d5503e3b4f12d669e2cbcfb65',1,'gridfire::NetIn']]] ]; diff --git a/docs/html/search/all_c.js b/docs/html/search/all_c.js index 49f05381..469aba5e 100644 --- a/docs/html/search/all_c.js +++ b/docs/html/search/all_c.js @@ -12,15 +12,18 @@ var searchData= ['network_20library_9',['GridFire: A Nuclear Reaction Network Library',['../index.html#autotoc_md0',1,'']]], ['network_2ecpp_10',['network.cpp',['../network_8cpp.html',1,'']]], ['network_2eh_11',['network.h',['../network_8h.html',1,'']]], - ['networkformat_12',['NetworkFormat',['../namespacegridfire.html#a3f3d6b3f9742b70e62049ccefbb60f37',1,'gridfire']]], - ['networksolverstrategy_13',['NetworkSolverStrategy',['../classgridfire_1_1solver_1_1_network_solver_strategy.html',1,'gridfire::solver::NetworkSolverStrategy< EngineT >'],['../classgridfire_1_1solver_1_1_network_solver_strategy.html#a01cbbec0eb5c3a60f50da38cdaf66505',1,'gridfire::solver::NetworkSolverStrategy::NetworkSolverStrategy()']]], - ['networksolverstrategy_3c_20adaptiveengineview_20_3e_14',['NetworkSolverStrategy< AdaptiveEngineView >',['../classgridfire_1_1solver_1_1_network_solver_strategy.html',1,'gridfire::solver']]], - ['networksolverstrategy_3c_20dynamicengine_20_3e_15',['NetworkSolverStrategy< DynamicEngine >',['../classgridfire_1_1solver_1_1_network_solver_strategy.html',1,'gridfire::solver']]], - ['networksolverstrategy_3c_20engine_20_3e_16',['NetworkSolverStrategy< Engine >',['../classgridfire_1_1solver_1_1_network_solver_strategy.html',1,'gridfire::solver']]], - ['niso_17',['nIso',['../structgridfire_1_1approx8_1_1_approx8_net.html#a31928b4041479da6515a90569322fc02',1,'gridfire::approx8::Approx8Net']]], - ['nuclear_20reaction_20network_20library_18',['GridFire: A Nuclear Reaction Network Library',['../index.html#autotoc_md0',1,'']]], - ['nuclearenergygenerationrate_19',['nuclearEnergyGenerationRate',['../structgridfire_1_1_step_derivatives.html#ab4aeb41be952c7b5844e1ee81fef9008',1,'gridfire::StepDerivatives']]], - ['num_5fspecies_20',['num_species',['../classgridfire_1_1reaction_1_1_reaction.html#a1d3c8ab6d55155f9a21ad80ed8b9ef97',1,'gridfire::reaction::Reaction']]], - ['num_5fsteps_21',['num_steps',['../structgridfire_1_1_net_out.html#a51c16703132cf739ec2fd89eae7badd6',1,'gridfire::NetOut']]], - ['nvar_22',['nVar',['../structgridfire_1_1approx8_1_1_approx8_net.html#a7218aa9b3dbe7c6eca52119e115692db',1,'gridfire::approx8::Approx8Net']]] + ['network_5ffile_2ecpp_12',['network_file.cpp',['../network__file_8cpp.html',1,'']]], + ['network_5ffile_2eh_13',['network_file.h',['../network__file_8h.html',1,'']]], + ['networkfileparser_14',['NetworkFileParser',['../classgridfire_1_1io_1_1_network_file_parser.html',1,'gridfire::io']]], + ['networkformat_15',['NetworkFormat',['../namespacegridfire.html#a3f3d6b3f9742b70e62049ccefbb60f37',1,'gridfire']]], + ['networksolverstrategy_16',['NetworkSolverStrategy',['../classgridfire_1_1solver_1_1_network_solver_strategy.html',1,'gridfire::solver::NetworkSolverStrategy< EngineT >'],['../classgridfire_1_1solver_1_1_network_solver_strategy.html#a01cbbec0eb5c3a60f50da38cdaf66505',1,'gridfire::solver::NetworkSolverStrategy::NetworkSolverStrategy()']]], + ['networksolverstrategy_3c_20adaptiveengineview_20_3e_17',['NetworkSolverStrategy< AdaptiveEngineView >',['../classgridfire_1_1solver_1_1_network_solver_strategy.html',1,'gridfire::solver']]], + ['networksolverstrategy_3c_20dynamicengine_20_3e_18',['NetworkSolverStrategy< DynamicEngine >',['../classgridfire_1_1solver_1_1_network_solver_strategy.html',1,'gridfire::solver']]], + ['networksolverstrategy_3c_20engine_20_3e_19',['NetworkSolverStrategy< Engine >',['../classgridfire_1_1solver_1_1_network_solver_strategy.html',1,'gridfire::solver']]], + ['niso_20',['nIso',['../structgridfire_1_1approx8_1_1_approx8_net.html#a31928b4041479da6515a90569322fc02',1,'gridfire::approx8::Approx8Net']]], + ['nuclear_20reaction_20network_20library_21',['GridFire: A Nuclear Reaction Network Library',['../index.html#autotoc_md0',1,'']]], + ['nuclearenergygenerationrate_22',['nuclearEnergyGenerationRate',['../structgridfire_1_1_step_derivatives.html#ab4aeb41be952c7b5844e1ee81fef9008',1,'gridfire::StepDerivatives']]], + ['num_5fspecies_23',['num_species',['../classgridfire_1_1reaction_1_1_reaction.html#a1d3c8ab6d55155f9a21ad80ed8b9ef97',1,'gridfire::reaction::Reaction']]], + ['num_5fsteps_24',['num_steps',['../structgridfire_1_1_net_out.html#a51c16703132cf739ec2fd89eae7badd6',1,'gridfire::NetOut']]], + ['nvar_25',['nVar',['../structgridfire_1_1approx8_1_1_approx8_net.html#a7218aa9b3dbe7c6eca52119e115692db',1,'gridfire::approx8::Approx8Net']]] ]; diff --git a/docs/html/search/all_d.js b/docs/html/search/all_d.js index df3c1d18..a1021f7b 100644 --- a/docs/html/search/all_d.js +++ b/docs/html/search/all_d.js @@ -3,12 +3,12 @@ var searchData= ['o16a_5frate_0',['o16a_rate',['../namespacegridfire_1_1approx8.html#a7387008e672ea12d277e2194745a4c93',1,'gridfire::approx8']]], ['o16p_5frate_1',['o16p_rate',['../namespacegridfire_1_1approx8.html#a62c2f567dc1ada3816843c8586aad0dc',1,'gridfire::approx8']]], ['ode_2',['ODE',['../structgridfire_1_1approx8_1_1_o_d_e.html',1,'gridfire::approx8']]], - ['operator_21_3d_3',['operator!=',['../classgridfire_1_1reaction_1_1_reaction.html#a2f1c115a99bc7c477a2e858ff18b1b51',1,'gridfire::reaction::Reaction::operator!=()'],['../classgridfire_1_1reaction_1_1_reaction_set.html#a529189f464aebc6b5ac5c717f70e14b8',1,'gridfire::reaction::ReactionSet::operator!=()']]], - ['operator_28_29_4',['operator()',['../structgridfire_1_1approx8_1_1_jacobian.html#a548431915b5895082eb96ce66d5494fa',1,'gridfire::approx8::Jacobian::operator()()'],['../structgridfire_1_1approx8_1_1_o_d_e.html#a2e1eb1ce2aa7949c225d45ce4edf03d0',1,'gridfire::approx8::ODE::operator()()'],['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_r_h_s_functor.html#ae0b6362d9c0a14e69c7a47233db6a86a',1,'gridfire::solver::QSENetworkSolver::RHSFunctor::operator()()'],['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_jacobian_functor.html#a3668fae1e0f8e69ff3fd87275bf4a79d',1,'gridfire::solver::QSENetworkSolver::JacobianFunctor::operator()()'],['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#a91c9c7c40c061dcfb6e57524e696676e',1,'gridfire::solver::QSENetworkSolver::EigenFunctor::operator()()'],['../structgridfire_1_1solver_1_1_direct_network_solver_1_1_r_h_s_functor.html#a3a7542b6c6b4c86b6fe53f54d7232919',1,'gridfire::solver::DirectNetworkSolver::RHSFunctor::operator()()'],['../structgridfire_1_1solver_1_1_direct_network_solver_1_1_jacobian_functor.html#ad4fc0b406218aa2f567f5c61a4eda3c9',1,'gridfire::solver::DirectNetworkSolver::JacobianFunctor::operator()()'],['../structstd_1_1hash_3_01gridfire_1_1reaction_1_1_reaction_01_4.html#a48224b63a80690e4f0620f1312be5dd9',1,'std::hash< gridfire::reaction::Reaction >::operator()()'],['../structstd_1_1hash_3_01gridfire_1_1reaction_1_1_reaction_set_01_4.html#a32b976b3e3e4e0403c1295f9b467e921',1,'std::hash< gridfire::reaction::ReactionSet >::operator()()']]], - ['operator_3c_3c_5',['operator<<',['../structgridfire_1_1_net_out.html#a6996f06951c2a873e5464773ddc7319b',1,'gridfire::NetOut::operator<<()'],['../structgridfire_1_1reaction_1_1_rate_coefficient_set.html#a31a92f95a27e4430209dfc2bdfa5c40f',1,'gridfire::reaction::RateCoefficientSet::operator<<()'],['../namespacegridfire_1_1reaclib.html#a6bb94d5adc7bb9db5a67f770f7453e63',1,'gridfire::reaclib::operator<<()']]], - ['operator_3d_6',['operator=',['../classgridfire_1_1reaction_1_1_reaction_set.html#aac890bf7fdf689890d765ff67489520a',1,'gridfire::reaction::ReactionSet']]], - ['operator_3d_3d_7',['operator==',['../classgridfire_1_1reaction_1_1_reaction.html#ac426457cf0a54a15b206549422083bac',1,'gridfire::reaction::Reaction::operator==()'],['../classgridfire_1_1reaction_1_1_reaction_set.html#a4e572e823a80b905e7d002b612123135',1,'gridfire::reaction::ReactionSet::operator==(const ReactionSet &other) const']]], - ['operator_5b_5d_8',['operator[]',['../classgridfire_1_1reaction_1_1_reaction_set.html#a4057f74ae647b691f4f61f150553c52b',1,'gridfire::reaction::ReactionSet::operator[](size_t index) const'],['../classgridfire_1_1reaction_1_1_reaction_set.html#a896b4e492ef596d9174aeda4b59c46cd',1,'gridfire::reaction::ReactionSet::operator[](const std::string_view &id) const'],['../classgridfire_1_1reaction_1_1_logical_reaction_set.html#a00001bbc0f888b167da50ae9fc2a75af',1,'gridfire::reaction::LogicalReactionSet::operator[]()']]], + ['operator_21_3d_3',['operator!=',['../classgridfire_1_1reaction_1_1_reaction.html#a2f1c115a99bc7c477a2e858ff18b1b51',1,'gridfire::reaction::Reaction::operator!=()'],['../classgridfire_1_1reaction_1_1_templated_reaction_set.html#aac76ec883b4ecebb2a94b2485dae7105',1,'gridfire::reaction::TemplatedReactionSet::operator!=()']]], + ['operator_28_29_4',['operator()',['../structgridfire_1_1approx8_1_1_jacobian.html#a548431915b5895082eb96ce66d5494fa',1,'gridfire::approx8::Jacobian::operator()()'],['../structgridfire_1_1approx8_1_1_o_d_e.html#a2e1eb1ce2aa7949c225d45ce4edf03d0',1,'gridfire::approx8::ODE::operator()()'],['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_r_h_s_functor.html#ae0b6362d9c0a14e69c7a47233db6a86a',1,'gridfire::solver::QSENetworkSolver::RHSFunctor::operator()()'],['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_jacobian_functor.html#a3668fae1e0f8e69ff3fd87275bf4a79d',1,'gridfire::solver::QSENetworkSolver::JacobianFunctor::operator()()'],['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#a16dc10cb9c1392920f8d0ba95e0bc86e',1,'gridfire::solver::QSENetworkSolver::EigenFunctor::operator()()'],['../structgridfire_1_1solver_1_1_direct_network_solver_1_1_r_h_s_functor.html#a3a7542b6c6b4c86b6fe53f54d7232919',1,'gridfire::solver::DirectNetworkSolver::RHSFunctor::operator()()'],['../structgridfire_1_1solver_1_1_direct_network_solver_1_1_jacobian_functor.html#ad4fc0b406218aa2f567f5c61a4eda3c9',1,'gridfire::solver::DirectNetworkSolver::JacobianFunctor::operator()()'],['../structstd_1_1hash_3_01gridfire_1_1reaction_1_1_reaction_01_4.html#a48224b63a80690e4f0620f1312be5dd9',1,'std::hash< gridfire::reaction::Reaction >::operator()()'],['../structstd_1_1hash_3_01gridfire_1_1reaction_1_1_reaction_set_01_4.html#a32b976b3e3e4e0403c1295f9b467e921',1,'std::hash< gridfire::reaction::ReactionSet >::operator()()'],['../structstd_1_1hash_3_01gridfire_1_1reaction_1_1_logical_reaction_set_01_4.html#a4b76e7119050266952ded94d6f0544cb',1,'std::hash< gridfire::reaction::LogicalReactionSet >::operator()()']]], + ['operator_3c_3c_5',['operator<<',['../structgridfire_1_1_net_out.html#a6996f06951c2a873e5464773ddc7319b',1,'gridfire::NetOut::operator<<()'],['../structgridfire_1_1reaction_1_1_rate_coefficient_set.html#a31a92f95a27e4430209dfc2bdfa5c40f',1,'gridfire::reaction::RateCoefficientSet::operator<<()'],['../classgridfire_1_1reaction_1_1_reaction.html#a2b05ab608187216fc751bd2e42e8b7d8',1,'gridfire::reaction::Reaction::operator<<()'],['../classgridfire_1_1reaction_1_1_logical_reaction.html#a10cbea11653524dae2f7eafb5c22c90f',1,'gridfire::reaction::LogicalReaction::operator<<()'],['../classgridfire_1_1reaction_1_1_templated_reaction_set.html#a47265467dbf2c324ce3e4c85ebbaa6a7',1,'gridfire::reaction::TemplatedReactionSet::operator<<()'],['../namespacegridfire_1_1reaclib.html#a6bb94d5adc7bb9db5a67f770f7453e63',1,'gridfire::reaclib::operator<<()']]], + ['operator_3d_6',['operator=',['../classgridfire_1_1reaction_1_1_templated_reaction_set.html#ac510dce14a6033551318c0c7b241f3c8',1,'gridfire::reaction::TemplatedReactionSet']]], + ['operator_3d_3d_7',['operator==',['../classgridfire_1_1reaction_1_1_reaction.html#ac426457cf0a54a15b206549422083bac',1,'gridfire::reaction::Reaction::operator==()'],['../classgridfire_1_1reaction_1_1_templated_reaction_set.html#a128660f5fbc67054f73811ed2982d24d',1,'gridfire::reaction::TemplatedReactionSet::operator==(const TemplatedReactionSet &other) const']]], + ['operator_5b_5d_8',['operator[]',['../classgridfire_1_1reaction_1_1_templated_reaction_set.html#a638067a3e55ec2a422206055881aaaad',1,'gridfire::reaction::TemplatedReactionSet::operator[](size_t index) const'],['../classgridfire_1_1reaction_1_1_templated_reaction_set.html#a13e003529a17fa61aafdce3abd2dc773',1,'gridfire::reaction::TemplatedReactionSet::operator[](const std::string_view &id) const']]], ['outputtype_9',['OutputType',['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#abc86b32db81acf1b24feb3763dc4ddb0',1,'gridfire::solver::QSENetworkSolver::EigenFunctor']]], ['overview_10',['Overview',['../index.html#autotoc_md1',1,'']]] ]; diff --git a/docs/html/search/all_e.js b/docs/html/search/all_e.js index 17ae5d66..8f4af3a7 100644 --- a/docs/html/search/all_e.js +++ b/docs/html/search/all_e.js @@ -1,13 +1,16 @@ var searchData= [ - ['packspeciestypeindexvectors_0',['packSpeciesTypeIndexVectors',['../classgridfire_1_1solver_1_1_q_s_e_network_solver.html#a5d81ee5bfcfd5e77fe52201ba9e63719',1,'gridfire::solver::QSENetworkSolver']]], - ['parsespeciesstring_1',['parseSpeciesString',['../namespacegridfire_1_1reaclib.html#afc0deac6cbef076e8884e66fd3ab66e0',1,'gridfire::reaclib']]], - ['pename_2',['peName',['../classgridfire_1_1reaction_1_1_reaction.html#a78f42664cc957e266b6cf15fda09be97',1,'gridfire::reaction::Reaction']]], - ['populatereactionidmap_3',['populateReactionIDMap',['../classgridfire_1_1_graph_engine.html#a26602e1b3c610780a47b5a6511d6d567',1,'gridfire::GraphEngine']]], - ['populatespeciestoindexmap_4',['populateSpeciesToIndexMap',['../classgridfire_1_1_graph_engine.html#a47202c43342b96480070874bffce1391',1,'gridfire::GraphEngine']]], - ['pp_5frate_5',['pp_rate',['../namespacegridfire_1_1approx8.html#a16739298c01e56967ce784a9a957439f',1,'gridfire::approx8']]], - ['product_5fspecies_6',['product_species',['../classgridfire_1_1reaction_1_1_reaction.html#a01c67726efbaa2ff8e4d6f2c965f485c',1,'gridfire::reaction::Reaction']]], - ['products_7',['products',['../classgridfire_1_1reaction_1_1_reaction.html#a6e2ff61b9e8409f2a561663628b8ce02',1,'gridfire::reaction::Reaction']]], - ['products_5fstr_8',['products_str',['../structgridfire_1_1reaclib_1_1_reaction_record.html#af1b1d3b0308d965ef0697b247fcf9082',1,'gridfire::reaclib::ReactionRecord']]], - ['project_9',['Building the Project',['../index.html#autotoc_md9',1,'']]] + ['packreactionsettologicalreactionset_0',['packReactionSetToLogicalReactionSet',['../namespacegridfire_1_1reaction.html#abfcfafc0cda0c3ed56930a12e7ead67f',1,'gridfire::reaction']]], + ['packspeciestypeindexvectors_1',['packSpeciesTypeIndexVectors',['../classgridfire_1_1solver_1_1_q_s_e_network_solver.html#a5d81ee5bfcfd5e77fe52201ba9e63719',1,'gridfire::solver::QSENetworkSolver']]], + ['parse_2',['parse',['../classgridfire_1_1io_1_1_network_file_parser.html#a66e8e724c903d6ef4dd1c8103276bdbf',1,'gridfire::io::NetworkFileParser::parse()'],['../classgridfire_1_1io_1_1_simple_reaction_list_file_parser.html#a4df01e3a93e1291d2cde0458545325f8',1,'gridfire::io::SimpleReactionListFileParser::parse()'],['../classgridfire_1_1io_1_1_m_e_s_a_network_file_parser.html#a568194277733b5c537901f8af32ee329',1,'gridfire::io::MESANetworkFileParser::parse()']]], + ['parsednetworkdata_3',['ParsedNetworkData',['../structgridfire_1_1io_1_1_parsed_network_data.html',1,'gridfire::io']]], + ['parsespeciesstring_4',['parseSpeciesString',['../namespacegridfire_1_1reaclib.html#afc0deac6cbef076e8884e66fd3ab66e0',1,'gridfire::reaclib']]], + ['pename_5',['peName',['../classgridfire_1_1reaction_1_1_reaction.html#a78f42664cc957e266b6cf15fda09be97',1,'gridfire::reaction::Reaction']]], + ['populatereactionidmap_6',['populateReactionIDMap',['../classgridfire_1_1_graph_engine.html#a26602e1b3c610780a47b5a6511d6d567',1,'gridfire::GraphEngine']]], + ['populatespeciestoindexmap_7',['populateSpeciesToIndexMap',['../classgridfire_1_1_graph_engine.html#a47202c43342b96480070874bffce1391',1,'gridfire::GraphEngine']]], + ['pp_5frate_8',['pp_rate',['../namespacegridfire_1_1approx8.html#a16739298c01e56967ce784a9a957439f',1,'gridfire::approx8']]], + ['product_5fspecies_9',['product_species',['../classgridfire_1_1reaction_1_1_reaction.html#a01c67726efbaa2ff8e4d6f2c965f485c',1,'gridfire::reaction::Reaction']]], + ['products_10',['products',['../classgridfire_1_1reaction_1_1_reaction.html#a6e2ff61b9e8409f2a561663628b8ce02',1,'gridfire::reaction::Reaction']]], + ['products_5fstr_11',['products_str',['../structgridfire_1_1reaclib_1_1_reaction_record.html#af1b1d3b0308d965ef0697b247fcf9082',1,'gridfire::reaclib::ReactionRecord']]], + ['project_12',['Building the Project',['../index.html#autotoc_md9',1,'']]] ]; diff --git a/docs/html/search/classes_1.js b/docs/html/search/classes_1.js index 133c781d..ba6e3c9a 100644 --- a/docs/html/search/classes_1.js +++ b/docs/html/search/classes_1.js @@ -1,6 +1,4 @@ var searchData= [ - ['directnetworksolver_0',['DirectNetworkSolver',['../classgridfire_1_1solver_1_1_direct_network_solver.html',1,'gridfire::solver']]], - ['dynamicengine_1',['DynamicEngine',['../classgridfire_1_1_dynamic_engine.html',1,'gridfire']]], - ['dynamicqsespeciesindices_2',['dynamicQSESpeciesIndices',['../structgridfire_1_1solver_1_1dynamic_q_s_e_species_indices.html',1,'gridfire::solver']]] + ['barescreeningmodel_0',['BareScreeningModel',['../classgridfire_1_1screening_1_1_bare_screening_model.html',1,'gridfire::screening']]] ]; diff --git a/docs/html/search/classes_2.js b/docs/html/search/classes_2.js index 2bf5a936..133c781d 100644 --- a/docs/html/search/classes_2.js +++ b/docs/html/search/classes_2.js @@ -1,7 +1,6 @@ var searchData= [ - ['eigenfunctor_0',['EigenFunctor',['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html',1,'gridfire::solver::QSENetworkSolver']]], - ['engine_1',['Engine',['../classgridfire_1_1_engine.html',1,'gridfire']]], - ['engineview_2',['EngineView',['../classgridfire_1_1_engine_view.html',1,'gridfire']]], - ['engineview_3c_20dynamicengine_20_3e_3',['EngineView< DynamicEngine >',['../classgridfire_1_1_engine_view.html',1,'gridfire']]] + ['directnetworksolver_0',['DirectNetworkSolver',['../classgridfire_1_1solver_1_1_direct_network_solver.html',1,'gridfire::solver']]], + ['dynamicengine_1',['DynamicEngine',['../classgridfire_1_1_dynamic_engine.html',1,'gridfire']]], + ['dynamicqsespeciesindices_2',['dynamicQSESpeciesIndices',['../structgridfire_1_1solver_1_1dynamic_q_s_e_species_indices.html',1,'gridfire::solver']]] ]; diff --git a/docs/html/search/classes_3.js b/docs/html/search/classes_3.js index f54c5004..2bf5a936 100644 --- a/docs/html/search/classes_3.js +++ b/docs/html/search/classes_3.js @@ -1,4 +1,7 @@ var searchData= [ - ['graphengine_0',['GraphEngine',['../classgridfire_1_1_graph_engine.html',1,'gridfire']]] + ['eigenfunctor_0',['EigenFunctor',['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html',1,'gridfire::solver::QSENetworkSolver']]], + ['engine_1',['Engine',['../classgridfire_1_1_engine.html',1,'gridfire']]], + ['engineview_2',['EngineView',['../classgridfire_1_1_engine_view.html',1,'gridfire']]], + ['engineview_3c_20dynamicengine_20_3e_3',['EngineView< DynamicEngine >',['../classgridfire_1_1_engine_view.html',1,'gridfire']]] ]; diff --git a/docs/html/search/classes_4.js b/docs/html/search/classes_4.js index 44e34d6e..ffbef3ed 100644 --- a/docs/html/search/classes_4.js +++ b/docs/html/search/classes_4.js @@ -1,5 +1,4 @@ var searchData= [ - ['hash_3c_20gridfire_3a_3areaction_3a_3areaction_20_3e_0',['hash< gridfire::reaction::Reaction >',['../structstd_1_1hash_3_01gridfire_1_1reaction_1_1_reaction_01_4.html',1,'std']]], - ['hash_3c_20gridfire_3a_3areaction_3a_3areactionset_20_3e_1',['hash< gridfire::reaction::ReactionSet >',['../structstd_1_1hash_3_01gridfire_1_1reaction_1_1_reaction_set_01_4.html',1,'std']]] + ['filedefinedengineview_0',['FileDefinedEngineView',['../classgridfire_1_1_file_defined_engine_view.html',1,'gridfire']]] ]; diff --git a/docs/html/search/classes_5.js b/docs/html/search/classes_5.js index 8ee9929d..f54c5004 100644 --- a/docs/html/search/classes_5.js +++ b/docs/html/search/classes_5.js @@ -1,5 +1,4 @@ var searchData= [ - ['jacobian_0',['Jacobian',['../structgridfire_1_1approx8_1_1_jacobian.html',1,'gridfire::approx8']]], - ['jacobianfunctor_1',['JacobianFunctor',['../structgridfire_1_1solver_1_1_direct_network_solver_1_1_jacobian_functor.html',1,'gridfire::solver::DirectNetworkSolver::JacobianFunctor'],['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_jacobian_functor.html',1,'gridfire::solver::QSENetworkSolver::JacobianFunctor']]] + ['graphengine_0',['GraphEngine',['../classgridfire_1_1_graph_engine.html',1,'gridfire']]] ]; diff --git a/docs/html/search/classes_6.js b/docs/html/search/classes_6.js index 533d3cf5..3d2054be 100644 --- a/docs/html/search/classes_6.js +++ b/docs/html/search/classes_6.js @@ -1,5 +1,6 @@ var searchData= [ - ['logicalreaction_0',['LogicalReaction',['../classgridfire_1_1reaction_1_1_logical_reaction.html',1,'gridfire::reaction']]], - ['logicalreactionset_1',['LogicalReactionSet',['../classgridfire_1_1reaction_1_1_logical_reaction_set.html',1,'gridfire::reaction']]] + ['hash_3c_20gridfire_3a_3areaction_3a_3alogicalreactionset_20_3e_0',['hash< gridfire::reaction::LogicalReactionSet >',['../structstd_1_1hash_3_01gridfire_1_1reaction_1_1_logical_reaction_set_01_4.html',1,'std']]], + ['hash_3c_20gridfire_3a_3areaction_3a_3areaction_20_3e_1',['hash< gridfire::reaction::Reaction >',['../structstd_1_1hash_3_01gridfire_1_1reaction_1_1_reaction_01_4.html',1,'std']]], + ['hash_3c_20gridfire_3a_3areaction_3a_3areactionset_20_3e_2',['hash< gridfire::reaction::ReactionSet >',['../structstd_1_1hash_3_01gridfire_1_1reaction_1_1_reaction_set_01_4.html',1,'std']]] ]; diff --git a/docs/html/search/classes_7.js b/docs/html/search/classes_7.js index e8bea4a7..8ee9929d 100644 --- a/docs/html/search/classes_7.js +++ b/docs/html/search/classes_7.js @@ -1,10 +1,5 @@ var searchData= [ - ['netin_0',['NetIn',['../structgridfire_1_1_net_in.html',1,'gridfire']]], - ['netout_1',['NetOut',['../structgridfire_1_1_net_out.html',1,'gridfire']]], - ['network_2',['Network',['../classgridfire_1_1_network.html',1,'gridfire']]], - ['networksolverstrategy_3',['NetworkSolverStrategy',['../classgridfire_1_1solver_1_1_network_solver_strategy.html',1,'gridfire::solver']]], - ['networksolverstrategy_3c_20adaptiveengineview_20_3e_4',['NetworkSolverStrategy< AdaptiveEngineView >',['../classgridfire_1_1solver_1_1_network_solver_strategy.html',1,'gridfire::solver']]], - ['networksolverstrategy_3c_20dynamicengine_20_3e_5',['NetworkSolverStrategy< DynamicEngine >',['../classgridfire_1_1solver_1_1_network_solver_strategy.html',1,'gridfire::solver']]], - ['networksolverstrategy_3c_20engine_20_3e_6',['NetworkSolverStrategy< Engine >',['../classgridfire_1_1solver_1_1_network_solver_strategy.html',1,'gridfire::solver']]] + ['jacobian_0',['Jacobian',['../structgridfire_1_1approx8_1_1_jacobian.html',1,'gridfire::approx8']]], + ['jacobianfunctor_1',['JacobianFunctor',['../structgridfire_1_1solver_1_1_direct_network_solver_1_1_jacobian_functor.html',1,'gridfire::solver::DirectNetworkSolver::JacobianFunctor'],['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_jacobian_functor.html',1,'gridfire::solver::QSENetworkSolver::JacobianFunctor']]] ]; diff --git a/docs/html/search/classes_8.js b/docs/html/search/classes_8.js index 4b6e4f95..c677455b 100644 --- a/docs/html/search/classes_8.js +++ b/docs/html/search/classes_8.js @@ -1,4 +1,4 @@ var searchData= [ - ['ode_0',['ODE',['../structgridfire_1_1approx8_1_1_o_d_e.html',1,'gridfire::approx8']]] + ['logicalreaction_0',['LogicalReaction',['../classgridfire_1_1reaction_1_1_logical_reaction.html',1,'gridfire::reaction']]] ]; diff --git a/docs/html/search/classes_9.js b/docs/html/search/classes_9.js index 15405506..64be1fd6 100644 --- a/docs/html/search/classes_9.js +++ b/docs/html/search/classes_9.js @@ -1,4 +1,4 @@ var searchData= [ - ['qsenetworksolver_0',['QSENetworkSolver',['../classgridfire_1_1solver_1_1_q_s_e_network_solver.html',1,'gridfire::solver']]] + ['mesanetworkfileparser_0',['MESANetworkFileParser',['../classgridfire_1_1io_1_1_m_e_s_a_network_file_parser.html',1,'gridfire::io']]] ]; diff --git a/docs/html/search/classes_a.js b/docs/html/search/classes_a.js index c02b4545..8cc4de30 100644 --- a/docs/html/search/classes_a.js +++ b/docs/html/search/classes_a.js @@ -1,9 +1,11 @@ var searchData= [ - ['ratecoefficientset_0',['RateCoefficientSet',['../structgridfire_1_1reaction_1_1_rate_coefficient_set.html',1,'gridfire::reaction']]], - ['reaction_1',['Reaction',['../classgridfire_1_1reaction_1_1_reaction.html',1,'gridfire::reaction']]], - ['reactionflow_2',['ReactionFlow',['../structgridfire_1_1_adaptive_engine_view_1_1_reaction_flow.html',1,'gridfire::AdaptiveEngineView']]], - ['reactionrecord_3',['ReactionRecord',['../structgridfire_1_1reaclib_1_1_reaction_record.html',1,'gridfire::reaclib']]], - ['reactionset_4',['ReactionSet',['../classgridfire_1_1reaction_1_1_reaction_set.html',1,'gridfire::reaction']]], - ['rhsfunctor_5',['RHSFunctor',['../structgridfire_1_1solver_1_1_direct_network_solver_1_1_r_h_s_functor.html',1,'gridfire::solver::DirectNetworkSolver::RHSFunctor'],['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_r_h_s_functor.html',1,'gridfire::solver::QSENetworkSolver::RHSFunctor']]] + ['netin_0',['NetIn',['../structgridfire_1_1_net_in.html',1,'gridfire']]], + ['netout_1',['NetOut',['../structgridfire_1_1_net_out.html',1,'gridfire']]], + ['network_2',['Network',['../classgridfire_1_1_network.html',1,'gridfire']]], + ['networkfileparser_3',['NetworkFileParser',['../classgridfire_1_1io_1_1_network_file_parser.html',1,'gridfire::io']]], + ['networksolverstrategy_4',['NetworkSolverStrategy',['../classgridfire_1_1solver_1_1_network_solver_strategy.html',1,'gridfire::solver']]], + ['networksolverstrategy_3c_20adaptiveengineview_20_3e_5',['NetworkSolverStrategy< AdaptiveEngineView >',['../classgridfire_1_1solver_1_1_network_solver_strategy.html',1,'gridfire::solver']]], + ['networksolverstrategy_3c_20dynamicengine_20_3e_6',['NetworkSolverStrategy< DynamicEngine >',['../classgridfire_1_1solver_1_1_network_solver_strategy.html',1,'gridfire::solver']]], + ['networksolverstrategy_3c_20engine_20_3e_7',['NetworkSolverStrategy< Engine >',['../classgridfire_1_1solver_1_1_network_solver_strategy.html',1,'gridfire::solver']]] ]; diff --git a/docs/html/search/classes_b.js b/docs/html/search/classes_b.js index 547b4c96..4b6e4f95 100644 --- a/docs/html/search/classes_b.js +++ b/docs/html/search/classes_b.js @@ -1,4 +1,4 @@ var searchData= [ - ['stepderivatives_0',['StepDerivatives',['../structgridfire_1_1_step_derivatives.html',1,'gridfire']]] + ['ode_0',['ODE',['../structgridfire_1_1approx8_1_1_o_d_e.html',1,'gridfire::approx8']]] ]; diff --git a/docs/html/search/enumvalues_1.js b/docs/html/search/enumvalues_1.js index d2dca6c8..f5ea6daa 100644 --- a/docs/html/search/enumvalues_1.js +++ b/docs/html/search/enumvalues_1.js @@ -1,4 +1,4 @@ var searchData= [ - ['reaclib_0',['REACLIB',['../namespacegridfire.html#a3f3d6b3f9742b70e62049ccefbb60f37a9b8db7b445ae4f1bd114caa42a583182',1,'gridfire']]] + ['bare_0',['BARE',['../namespacegridfire_1_1screening.html#aa82aafbc4f8c28d0a75b60798e3a7d25ad80b95b1abb9c8659fa4cc9d3d29bb71',1,'gridfire::screening']]] ]; diff --git a/docs/html/search/enumvalues_2.js b/docs/html/search/enumvalues_2.js index 37f42e24..c22e0e0d 100644 --- a/docs/html/search/enumvalues_2.js +++ b/docs/html/search/enumvalues_2.js @@ -1,4 +1,4 @@ var searchData= [ - ['unknown_0',['UNKNOWN',['../namespacegridfire.html#a3f3d6b3f9742b70e62049ccefbb60f37aac700abde5f6ff8b7328193eb19697b2',1,'gridfire']]] + ['inputsatcompiletime_0',['InputsAtCompileTime',['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#a1bff36d14c3e1f7a276d9fe6b564abdfab349cc75d98609f22769f5ce87050dac',1,'gridfire::solver::QSENetworkSolver::EigenFunctor']]] ]; diff --git a/docs/html/search/files_0.js b/docs/html/search/files_0.js index 17fc45c4..2e611999 100644 --- a/docs/html/search/files_0.js +++ b/docs/html/search/files_0.js @@ -5,7 +5,9 @@ var searchData= ['engine_5fadaptive_2eh_2',['engine_adaptive.h',['../engine__adaptive_8h.html',1,'']]], ['engine_5fapprox8_2ecpp_3',['engine_approx8.cpp',['../engine__approx8_8cpp.html',1,'']]], ['engine_5fapprox8_2eh_4',['engine_approx8.h',['../engine__approx8_8h.html',1,'']]], - ['engine_5fgraph_2ecpp_5',['engine_graph.cpp',['../engine__graph_8cpp.html',1,'']]], - ['engine_5fgraph_2eh_6',['engine_graph.h',['../engine__graph_8h.html',1,'']]], - ['engine_5fview_5fabstract_2eh_7',['engine_view_abstract.h',['../engine__view__abstract_8h.html',1,'']]] + ['engine_5fdefined_2ecpp_5',['engine_defined.cpp',['../engine__defined_8cpp.html',1,'']]], + ['engine_5fdefined_2eh_6',['engine_defined.h',['../engine__defined_8h.html',1,'']]], + ['engine_5fgraph_2ecpp_7',['engine_graph.cpp',['../engine__graph_8cpp.html',1,'']]], + ['engine_5fgraph_2eh_8',['engine_graph.h',['../engine__graph_8h.html',1,'']]], + ['engine_5fview_5fabstract_2eh_9',['engine_view_abstract.h',['../engine__view__abstract_8h.html',1,'']]] ]; diff --git a/docs/html/search/files_1.js b/docs/html/search/files_1.js index f5e1c899..d87b31db 100644 --- a/docs/html/search/files_1.js +++ b/docs/html/search/files_1.js @@ -1,4 +1,5 @@ var searchData= [ - ['mainpage_2emd_0',['mainpage.md',['../mainpage_8md.html',1,'']]] + ['logging_2ecpp_0',['logging.cpp',['../logging_8cpp.html',1,'']]], + ['logging_2eh_1',['logging.h',['../logging_8h.html',1,'']]] ]; diff --git a/docs/html/search/files_2.js b/docs/html/search/files_2.js index ff0833f9..f5e1c899 100644 --- a/docs/html/search/files_2.js +++ b/docs/html/search/files_2.js @@ -1,5 +1,4 @@ var searchData= [ - ['network_2ecpp_0',['network.cpp',['../network_8cpp.html',1,'']]], - ['network_2eh_1',['network.h',['../network_8h.html',1,'']]] + ['mainpage_2emd_0',['mainpage.md',['../mainpage_8md.html',1,'']]] ]; diff --git a/docs/html/search/files_3.js b/docs/html/search/files_3.js index 81271a6b..e1b2f50b 100644 --- a/docs/html/search/files_3.js +++ b/docs/html/search/files_3.js @@ -1,8 +1,7 @@ var searchData= [ - ['reaclib_2ecpp_0',['reaclib.cpp',['../reaclib_8cpp.html',1,'']]], - ['reaclib_2eh_1',['reaclib.h',['../reaclib_8h.html',1,'']]], - ['reaction_2ecpp_2',['reaction.cpp',['../reaction_8cpp.html',1,'']]], - ['reaction_2eh_3',['reaction.h',['../reaction_8h.html',1,'']]], - ['reactions_5fdata_2eh_4',['reactions_data.h',['../reactions__data_8h.html',1,'']]] + ['network_2ecpp_0',['network.cpp',['../network_8cpp.html',1,'']]], + ['network_2eh_1',['network.h',['../network_8h.html',1,'']]], + ['network_5ffile_2ecpp_2',['network_file.cpp',['../network__file_8cpp.html',1,'']]], + ['network_5ffile_2eh_3',['network_file.h',['../network__file_8h.html',1,'']]] ]; diff --git a/docs/html/search/files_4.js b/docs/html/search/files_4.js index 9af11651..81271a6b 100644 --- a/docs/html/search/files_4.js +++ b/docs/html/search/files_4.js @@ -1,5 +1,8 @@ var searchData= [ - ['solver_2ecpp_0',['solver.cpp',['../solver_8cpp.html',1,'']]], - ['solver_2eh_1',['solver.h',['../solver_8h.html',1,'']]] + ['reaclib_2ecpp_0',['reaclib.cpp',['../reaclib_8cpp.html',1,'']]], + ['reaclib_2eh_1',['reaclib.h',['../reaclib_8h.html',1,'']]], + ['reaction_2ecpp_2',['reaction.cpp',['../reaction_8cpp.html',1,'']]], + ['reaction_2eh_3',['reaction.h',['../reaction_8h.html',1,'']]], + ['reactions_5fdata_2eh_4',['reactions_data.h',['../reactions__data_8h.html',1,'']]] ]; diff --git a/docs/html/search/functions_0.js b/docs/html/search/functions_0.js index 0e53bec7..aec15256 100644 --- a/docs/html/search/functions_0.js +++ b/docs/html/search/functions_0.js @@ -1,7 +1,7 @@ var searchData= [ ['adaptiveengineview_0',['AdaptiveEngineView',['../classgridfire_1_1_adaptive_engine_view.html#ad599363cdd457e72e2e2937b0222c455',1,'gridfire::AdaptiveEngineView']]], - ['add_5freaction_1',['add_reaction',['../classgridfire_1_1reaction_1_1_reaction_set.html#acea41c2ffb010e46bc5cf56f5f244fac',1,'gridfire::reaction::ReactionSet::add_reaction()'],['../classgridfire_1_1reaction_1_1_logical_reaction.html#a14a24cb8ea25a1514134acc51197f1de',1,'gridfire::reaction::LogicalReaction::add_reaction()']]], + ['add_5freaction_1',['add_reaction',['../classgridfire_1_1reaction_1_1_logical_reaction.html#a14a24cb8ea25a1514134acc51197f1de',1,'gridfire::reaction::LogicalReaction::add_reaction()'],['../classgridfire_1_1reaction_1_1_templated_reaction_set.html#a339dbbf883b6ae20e33d9782d8376bcf',1,'gridfire::reaction::TemplatedReactionSet::add_reaction()']]], ['all_5fspecies_2',['all_species',['../classgridfire_1_1reaction_1_1_reaction.html#a7dc8fda87e0581fde6da0a81cf4d7224',1,'gridfire::reaction::Reaction']]], ['approx8network_3',['Approx8Network',['../classgridfire_1_1approx8_1_1_approx8_network.html#a65066078081c544be4e56e25eb407c8b',1,'gridfire::approx8::Approx8Network']]] ]; diff --git a/docs/html/search/functions_1.js b/docs/html/search/functions_1.js index 6033a7f1..485624b1 100644 --- a/docs/html/search/functions_1.js +++ b/docs/html/search/functions_1.js @@ -1,5 +1,6 @@ var searchData= [ - ['begin_0',['begin',['../classgridfire_1_1reaction_1_1_reaction_set.html#a228f2a00f46a6ee01be887490a722613',1,'gridfire::reaction::ReactionSet::begin()'],['../classgridfire_1_1reaction_1_1_reaction_set.html#adb73fe9ff0178359409e2bea46a620c2',1,'gridfire::reaction::ReactionSet::begin() const'],['../classgridfire_1_1reaction_1_1_logical_reaction.html#a4ae3806e5e1a802b86a6de292d043476',1,'gridfire::reaction::LogicalReaction::begin()'],['../classgridfire_1_1reaction_1_1_logical_reaction.html#a5d410de1053f8028faed1f0d0a6083f5',1,'gridfire::reaction::LogicalReaction::begin() const'],['../classgridfire_1_1reaction_1_1_logical_reaction_set.html#afeed26abc72e5c529a76c1da41edfa67',1,'gridfire::reaction::LogicalReactionSet::begin()'],['../classgridfire_1_1reaction_1_1_logical_reaction_set.html#a15f08e96cce0ed23ca93fb83399eb8a4',1,'gridfire::reaction::LogicalReactionSet::begin() const']]], - ['build_5freaclib_5fnuclear_5fnetwork_1',['build_reaclib_nuclear_network',['../namespacegridfire.html#aa77f83539d9ae90e3bf541309bd9c83a',1,'gridfire']]] + ['begin_0',['begin',['../classgridfire_1_1reaction_1_1_logical_reaction.html#a4ae3806e5e1a802b86a6de292d043476',1,'gridfire::reaction::LogicalReaction::begin()'],['../classgridfire_1_1reaction_1_1_logical_reaction.html#a5d410de1053f8028faed1f0d0a6083f5',1,'gridfire::reaction::LogicalReaction::begin() const'],['../classgridfire_1_1reaction_1_1_templated_reaction_set.html#a87257704009fcd57b553f86cdaacb597',1,'gridfire::reaction::TemplatedReactionSet::begin()'],['../classgridfire_1_1reaction_1_1_templated_reaction_set.html#aee42bb25973dadc6629bdb5cb1db6369',1,'gridfire::reaction::TemplatedReactionSet::begin() const']]], + ['build_5freaclib_5fnuclear_5fnetwork_1',['build_reaclib_nuclear_network',['../namespacegridfire.html#aa77f83539d9ae90e3bf541309bd9c83a',1,'gridfire']]], + ['buildfromfile_2',['buildFromFile',['../classgridfire_1_1_file_defined_engine_view.html#a3b5162b7be35405285ef9f825ec2663b',1,'gridfire::FileDefinedEngineView']]] ]; diff --git a/docs/html/search/functions_10.js b/docs/html/search/functions_10.js index 0690539a..1fa29cb0 100644 --- a/docs/html/search/functions_10.js +++ b/docs/html/search/functions_10.js @@ -1,12 +1,12 @@ var searchData= [ - ['setformat_0',['setFormat',['../classgridfire_1_1_network.html#a787c601f6e4bd06600bf946efbcc98d4',1,'gridfire::Network']]], - ['setstiff_1',['setStiff',['../classgridfire_1_1approx8_1_1_approx8_network.html#aefed972081514c29cdaaa1efd857ad8d',1,'gridfire::approx8::Approx8Network::setStiff()'],['../classgridfire_1_1_network.html#a84de2d691af06c4b62cfab5022b1e8fe',1,'gridfire::Network::setStiff()']]], - ['shouldupdateview_2',['shouldUpdateView',['../classgridfire_1_1solver_1_1_q_s_e_network_solver.html#a35f1f6ede393f15c8bb8862f3f1c3b07',1,'gridfire::solver::QSENetworkSolver']]], - ['size_3',['size',['../classgridfire_1_1reaction_1_1_reaction_set.html#a6b07a81a3500e4e91d3bcd336b66e35d',1,'gridfire::reaction::ReactionSet::size()'],['../classgridfire_1_1reaction_1_1_logical_reaction.html#afa41050855b842c63db16c94d2e9b897',1,'gridfire::reaction::LogicalReaction::size()'],['../classgridfire_1_1reaction_1_1_logical_reaction_set.html#a3bcdf2f98c19e9b95e03ad62d6ff7da7',1,'gridfire::reaction::LogicalReactionSet::size()']]], - ['sourcelabel_4',['sourceLabel',['../classgridfire_1_1reaction_1_1_reaction.html#a410e2ab0784ad751f82bbe55be603db0',1,'gridfire::reaction::Reaction']]], - ['sources_5',['sources',['../classgridfire_1_1reaction_1_1_logical_reaction.html#add094eda0e71126f8443698d7f3317f4',1,'gridfire::reaction::LogicalReaction']]], - ['stoichiometry_6',['stoichiometry',['../classgridfire_1_1reaction_1_1_reaction.html#aaf0c94db6536b4a9ac1ec08a5c8f01ac',1,'gridfire::reaction::Reaction::stoichiometry(const fourdst::atomic::Species &species) const'],['../classgridfire_1_1reaction_1_1_reaction.html#ad359c06d7196c1a7a955a7b66a51dbe3',1,'gridfire::reaction::Reaction::stoichiometry() const']]], - ['sum_5fproduct_7',['sum_product',['../namespacegridfire_1_1approx8.html#aafd24448743672021dd4507316060817',1,'gridfire::approx8']]], - ['syncinternalmaps_8',['syncInternalMaps',['../classgridfire_1_1_graph_engine.html#acdce8d87e23a2cd1504bc9472e538c0f',1,'gridfire::GraphEngine']]] + ['rate_5ffit_0',['rate_fit',['../namespacegridfire_1_1approx8.html#aed8175751b4920a53922f87f8c0e63c4',1,'gridfire::approx8']]], + ['ratecoefficients_1',['rateCoefficients',['../classgridfire_1_1reaction_1_1_reaction.html#a85968076e686e67763f4fdf4f72a892e',1,'gridfire::reaction::Reaction']]], + ['reactant_5fspecies_2',['reactant_species',['../classgridfire_1_1reaction_1_1_reaction.html#a855ea65e4b62fb0cddc550424a4bc923',1,'gridfire::reaction::Reaction']]], + ['reactants_3',['reactants',['../classgridfire_1_1reaction_1_1_reaction.html#a0b543e9b0bb4a21efe4b29780d9bdf5b',1,'gridfire::reaction::Reaction']]], + ['reaction_4',['Reaction',['../classgridfire_1_1reaction_1_1_reaction.html#a7dff19d387e771d96c26e98d75ee9d5c',1,'gridfire::reaction::Reaction']]], + ['recordadtape_5',['recordADTape',['../classgridfire_1_1_graph_engine.html#a95563f6bc86007d9ee053a0f1e15b889',1,'gridfire::GraphEngine']]], + ['remove_5freaction_6',['remove_reaction',['../classgridfire_1_1reaction_1_1_templated_reaction_set.html#a89c4c5af12aef7fbfc24316c88237e22',1,'gridfire::reaction::TemplatedReactionSet']]], + ['reservejacobianmatrix_7',['reserveJacobianMatrix',['../classgridfire_1_1_graph_engine.html#a5a5458ed01923124f2d7e1f04f32f138',1,'gridfire::GraphEngine']]], + ['rhsfunctor_8',['RHSFunctor',['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_r_h_s_functor.html#a5353d8e6f27b6c435084a167bc009e46',1,'gridfire::solver::QSENetworkSolver::RHSFunctor::RHSFunctor()'],['../structgridfire_1_1solver_1_1_direct_network_solver_1_1_r_h_s_functor.html#aed201b52ea757069c17a49e9638b3d3c',1,'gridfire::solver::DirectNetworkSolver::RHSFunctor::RHSFunctor()']]] ]; diff --git a/docs/html/search/functions_11.js b/docs/html/search/functions_11.js index 697fdc70..5702d4a3 100644 --- a/docs/html/search/functions_11.js +++ b/docs/html/search/functions_11.js @@ -1,5 +1,16 @@ var searchData= [ - ['trim_5fwhitespace_0',['trim_whitespace',['../namespacegridfire.html#a8b245f261cd8d1711ae8d593b054cf98',1,'gridfire::trim_whitespace()'],['../reaclib_8cpp.html#a2c6902cf3e699a1a65e871efa878a6ab',1,'trim_whitespace(): reaclib.cpp']]], - ['triple_5falpha_5frate_1',['triple_alpha_rate',['../namespacegridfire_1_1approx8.html#a2715e1a6421717991814892046b896e3',1,'gridfire::approx8']]] + ['selectscreeningmodel_0',['selectScreeningModel',['../namespacegridfire_1_1screening.html#a6ca8556d27ac373e176f5b23437c416e',1,'gridfire::screening']]], + ['setformat_1',['setFormat',['../classgridfire_1_1_network.html#a787c601f6e4bd06600bf946efbcc98d4',1,'gridfire::Network']]], + ['setnetworkfile_2',['setNetworkFile',['../classgridfire_1_1_file_defined_engine_view.html#a92f14da849e99d07c1ff1347addb9263',1,'gridfire::FileDefinedEngineView']]], + ['setscreeningmodel_3',['setScreeningModel',['../classgridfire_1_1_dynamic_engine.html#a3fb44b6f55563a2f590f31916528f2bd',1,'gridfire::DynamicEngine::setScreeningModel()'],['../classgridfire_1_1_graph_engine.html#a8110e687844f921438bb517e1d8ce62f',1,'gridfire::GraphEngine::setScreeningModel()'],['../classgridfire_1_1_adaptive_engine_view.html#aae4ddbef1c4e2202fd236221a4bf376b',1,'gridfire::AdaptiveEngineView::setScreeningModel()'],['../classgridfire_1_1_file_defined_engine_view.html#ad96bbee6d3d37b50d9236a975ef704c0',1,'gridfire::FileDefinedEngineView::setScreeningModel()']]], + ['setstiff_4',['setStiff',['../classgridfire_1_1approx8_1_1_approx8_network.html#aefed972081514c29cdaaa1efd857ad8d',1,'gridfire::approx8::Approx8Network::setStiff()'],['../classgridfire_1_1_network.html#a84de2d691af06c4b62cfab5022b1e8fe',1,'gridfire::Network::setStiff()']]], + ['shouldupdateview_5',['shouldUpdateView',['../classgridfire_1_1solver_1_1_q_s_e_network_solver.html#a35f1f6ede393f15c8bb8862f3f1c3b07',1,'gridfire::solver::QSENetworkSolver']]], + ['simplereactionlistfileparser_6',['SimpleReactionListFileParser',['../classgridfire_1_1io_1_1_simple_reaction_list_file_parser.html#afc8ed91e8c98205c505e3d9f0cff1993',1,'gridfire::io::SimpleReactionListFileParser']]], + ['size_7',['size',['../classgridfire_1_1reaction_1_1_logical_reaction.html#afa41050855b842c63db16c94d2e9b897',1,'gridfire::reaction::LogicalReaction::size()'],['../classgridfire_1_1reaction_1_1_templated_reaction_set.html#a6a1dc3c56690386ae9f6aa5c2aa37ba2',1,'gridfire::reaction::TemplatedReactionSet::size()']]], + ['sourcelabel_8',['sourceLabel',['../classgridfire_1_1reaction_1_1_reaction.html#a410e2ab0784ad751f82bbe55be603db0',1,'gridfire::reaction::Reaction']]], + ['sources_9',['sources',['../classgridfire_1_1reaction_1_1_logical_reaction.html#add094eda0e71126f8443698d7f3317f4',1,'gridfire::reaction::LogicalReaction']]], + ['stoichiometry_10',['stoichiometry',['../classgridfire_1_1reaction_1_1_reaction.html#aaf0c94db6536b4a9ac1ec08a5c8f01ac',1,'gridfire::reaction::Reaction::stoichiometry(const fourdst::atomic::Species &species) const'],['../classgridfire_1_1reaction_1_1_reaction.html#ad359c06d7196c1a7a955a7b66a51dbe3',1,'gridfire::reaction::Reaction::stoichiometry() const']]], + ['sum_5fproduct_11',['sum_product',['../namespacegridfire_1_1approx8.html#aafd24448743672021dd4507316060817',1,'gridfire::approx8']]], + ['syncinternalmaps_12',['syncInternalMaps',['../classgridfire_1_1_graph_engine.html#acdce8d87e23a2cd1504bc9472e538c0f',1,'gridfire::GraphEngine']]] ]; diff --git a/docs/html/search/functions_12.js b/docs/html/search/functions_12.js index 8bab214d..93aa63fe 100644 --- a/docs/html/search/functions_12.js +++ b/docs/html/search/functions_12.js @@ -1,4 +1,6 @@ var searchData= [ - ['update_0',['update',['../classgridfire_1_1_adaptive_engine_view.html#a44c4fb7568ddbb20a08f328c2fbf1fdf',1,'gridfire::AdaptiveEngineView']]] + ['templatedreactionset_0',['TemplatedReactionSet',['../classgridfire_1_1reaction_1_1_templated_reaction_set.html#a54c8cd7c34564277fe28eefc623f666e',1,'gridfire::reaction::TemplatedReactionSet::TemplatedReactionSet(std::vector< ReactionT > reactions)'],['../classgridfire_1_1reaction_1_1_templated_reaction_set.html#ada1d1880be53b81a9ed7b966fd6ade5a',1,'gridfire::reaction::TemplatedReactionSet::TemplatedReactionSet(const TemplatedReactionSet< ReactionT > &other)']]], + ['trim_5fwhitespace_1',['trim_whitespace',['../namespacegridfire.html#a8b245f261cd8d1711ae8d593b054cf98',1,'gridfire::trim_whitespace()'],['../reaclib_8cpp.html#a2c6902cf3e699a1a65e871efa878a6ab',1,'trim_whitespace(): reaclib.cpp']]], + ['triple_5falpha_5frate_2',['triple_alpha_rate',['../namespacegridfire_1_1approx8.html#a2715e1a6421717991814892046b896e3',1,'gridfire::approx8']]] ]; diff --git a/docs/html/search/functions_13.js b/docs/html/search/functions_13.js index 41298660..a29702ba 100644 --- a/docs/html/search/functions_13.js +++ b/docs/html/search/functions_13.js @@ -1,6 +1,4 @@ var searchData= [ - ['validatecomposition_0',['validateComposition',['../classgridfire_1_1_graph_engine.html#aeeafeab40a5f4dbfae78bdc87e25e93f',1,'gridfire::GraphEngine']]], - ['validateconservation_1',['validateConservation',['../classgridfire_1_1_graph_engine.html#acf4cfccea20f5cb31c9886bf233a28be',1,'gridfire::GraphEngine']]], - ['validatestate_2',['validateState',['../classgridfire_1_1_adaptive_engine_view.html#aedc0dedb51c81e03f253cc409a5d5c40',1,'gridfire::AdaptiveEngineView']]] + ['update_0',['update',['../classgridfire_1_1_dynamic_engine.html#acd500e1cd788df1dc105d28a20dc5f4f',1,'gridfire::DynamicEngine::update()'],['../classgridfire_1_1_graph_engine.html#a51b4cedf9b00de79fb6eef243631b04d',1,'gridfire::GraphEngine::update()'],['../classgridfire_1_1_adaptive_engine_view.html#a7d61e73f5158f1574cda3edc90c51f7e',1,'gridfire::AdaptiveEngineView::update()'],['../classgridfire_1_1_file_defined_engine_view.html#ace3568eadaba69e7357b4386c5ca3eb0',1,'gridfire::FileDefinedEngineView::update()']]] ]; diff --git a/docs/html/search/functions_14.js b/docs/html/search/functions_14.js index dad5ca1d..102bfbee 100644 --- a/docs/html/search/functions_14.js +++ b/docs/html/search/functions_14.js @@ -1,9 +1,8 @@ var searchData= [ - ['_7eengine_0',['~Engine',['../classgridfire_1_1_engine.html#a2e7970bed2100699f226f4141d5db037',1,'gridfire::Engine']]], - ['_7eengineview_1',['~EngineView',['../classgridfire_1_1_engine_view.html#a994660f2d553f3a123512dc5eb421e74',1,'gridfire::EngineView']]], - ['_7enetwork_2',['~Network',['../classgridfire_1_1_network.html#ab8d83289b62dda9b4e02f25311f85b79',1,'gridfire::Network']]], - ['_7enetworksolverstrategy_3',['~NetworkSolverStrategy',['../classgridfire_1_1solver_1_1_network_solver_strategy.html#a1693dc93f63599c89587d729aca8e318',1,'gridfire::solver::NetworkSolverStrategy']]], - ['_7ereaction_4',['~Reaction',['../classgridfire_1_1reaction_1_1_reaction.html#ab1860df84843be70f97469761e11ab6a',1,'gridfire::reaction::Reaction']]], - ['_7ereactionset_5',['~ReactionSet',['../classgridfire_1_1reaction_1_1_reaction_set.html#a64ca23fc5bdc41b868c3fbeb5aef6d98',1,'gridfire::reaction::ReactionSet']]] + ['validatecomposition_0',['validateComposition',['../classgridfire_1_1_graph_engine.html#aeeafeab40a5f4dbfae78bdc87e25e93f',1,'gridfire::GraphEngine']]], + ['validateconservation_1',['validateConservation',['../classgridfire_1_1_graph_engine.html#acf4cfccea20f5cb31c9886bf233a28be',1,'gridfire::GraphEngine']]], + ['validatenetworkstate_2',['validateNetworkState',['../classgridfire_1_1_file_defined_engine_view.html#ae3f99002ab2c56a5bcdec00839f8628f',1,'gridfire::FileDefinedEngineView']]], + ['validatestate_3',['validateState',['../classgridfire_1_1_adaptive_engine_view.html#aedc0dedb51c81e03f253cc409a5d5c40',1,'gridfire::AdaptiveEngineView']]], + ['values_4',['values',['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#aa9730f06a604c3c95ccc33ab6f0f8878',1,'gridfire::solver::QSENetworkSolver::EigenFunctor']]] ]; diff --git a/docs/html/search/functions_2.js b/docs/html/search/functions_2.js index 4824fae9..43bb815a 100644 --- a/docs/html/search/functions_2.js +++ b/docs/html/search/functions_2.js @@ -6,17 +6,21 @@ var searchData= ['c12p_5frate_3',['c12p_rate',['../namespacegridfire_1_1approx8.html#a890ad24c2cdb15fb76a3ff8a7b8d77db',1,'gridfire::approx8']]], ['calculate_5frate_4',['calculate_rate',['../classgridfire_1_1reaction_1_1_reaction.html#ad81e9b2a1773470059ca6989c60556ec',1,'gridfire::reaction::Reaction::calculate_rate(const double T9) const'],['../classgridfire_1_1reaction_1_1_reaction.html#a735192a42f72cd68f289493753e1a616',1,'gridfire::reaction::Reaction::calculate_rate(const CppAD::AD< double > T9) const'],['../classgridfire_1_1reaction_1_1_reaction.html#a648b9ed6108bed2469dc028fb7e351af',1,'gridfire::reaction::Reaction::calculate_rate(const T T9) const'],['../classgridfire_1_1reaction_1_1_logical_reaction.html#a1d2fb3b6a6a1860ace98b32447d1dd1b',1,'gridfire::reaction::LogicalReaction::calculate_rate(const double T9) const override'],['../classgridfire_1_1reaction_1_1_logical_reaction.html#adad6f4297c1d8ce487eab092b73cdd32',1,'gridfire::reaction::LogicalReaction::calculate_rate(const CppAD::AD< double > T9) const override'],['../classgridfire_1_1reaction_1_1_logical_reaction.html#a019b721d83741acdb16036f00739f87c',1,'gridfire::reaction::LogicalReaction::calculate_rate(const T T9) const']]], ['calculateallderivatives_5',['calculateAllDerivatives',['../classgridfire_1_1_graph_engine.html#af41df9ce979b6410e12642cb093916c9',1,'gridfire::GraphEngine::calculateAllDerivatives(const std::vector< T > &Y_in, T T9, T rho) const'],['../classgridfire_1_1_graph_engine.html#aaf4d54e4b774ab8ec8eabec006579d31',1,'gridfire::GraphEngine::calculateAllDerivatives(const std::vector< double > &Y_in, const double T9, const double rho) const'],['../classgridfire_1_1_graph_engine.html#a71a3d1181b90c3becdc5d9a3da05b9c9',1,'gridfire::GraphEngine::calculateAllDerivatives(const std::vector< ADDouble > &Y_in, const ADDouble &T9, const ADDouble &rho) const']]], - ['calculatemolarreactionflow_6',['calculateMolarReactionFlow',['../classgridfire_1_1_dynamic_engine.html#a6633b1757c41dd9e1c397333f4f9e785',1,'gridfire::DynamicEngine::calculateMolarReactionFlow()'],['../classgridfire_1_1_adaptive_engine_view.html#a048d4b1d41ecb4125a558d1b9ed7cb31',1,'gridfire::AdaptiveEngineView::calculateMolarReactionFlow()'],['../classgridfire_1_1_graph_engine.html#a9245642b741f215e52861d00e756fb3f',1,'gridfire::GraphEngine::calculateMolarReactionFlow(const reaction::Reaction &reaction, const std::vector< double > &Y, const double T9, const double rho) const override'],['../classgridfire_1_1_graph_engine.html#a5e96b5a0b34c8932f0e14eabda57f1a4',1,'gridfire::GraphEngine::calculateMolarReactionFlow(const reaction::Reaction &reaction, const std::vector< T > &Y, const T T9, const T rho) const']]], - ['calculaterhsandenergy_7',['calculateRHSAndEnergy',['../classgridfire_1_1_engine.html#ac8b56124b6b49cd1802addb74a9a47c2',1,'gridfire::Engine::calculateRHSAndEnergy()'],['../classgridfire_1_1_adaptive_engine_view.html#a7b276b7210be588263395bdb0497fc6d',1,'gridfire::AdaptiveEngineView::calculateRHSAndEnergy()'],['../classgridfire_1_1_graph_engine.html#a8b3baf29829c7ae0a61430ea70632bbf',1,'gridfire::GraphEngine::calculateRHSAndEnergy()']]], - ['calculatesteadystateabundances_8',['calculateSteadyStateAbundances',['../classgridfire_1_1solver_1_1_q_s_e_network_solver.html#a00d112f6087f6e3a93f4d40a519308d2',1,'gridfire::solver::QSENetworkSolver']]], - ['chapter_9',['chapter',['../classgridfire_1_1reaction_1_1_reaction.html#a5cb438adfefb640e4bc58e09053bd629',1,'gridfire::reaction::Reaction']]], - ['clear_10',['clear',['../classgridfire_1_1reaction_1_1_reaction_set.html#aa8e0d65aafc6e0320690b4906e1bf300',1,'gridfire::reaction::ReactionSet']]], - ['collectnetworkspecies_11',['collectNetworkSpecies',['../classgridfire_1_1_graph_engine.html#aedf42d83bfcc28313b6b6454034d2efa',1,'gridfire::GraphEngine']]], - ['constructreactionindexmap_12',['constructReactionIndexMap',['../classgridfire_1_1_adaptive_engine_view.html#a89614f4a48f60c4170a0197f45303e7c',1,'gridfire::AdaptiveEngineView']]], - ['constructspeciesindexmap_13',['constructSpeciesIndexMap',['../classgridfire_1_1_adaptive_engine_view.html#a896d29325b4233e83d9298850b617a2d',1,'gridfire::AdaptiveEngineView']]], - ['contains_14',['contains',['../classgridfire_1_1reaction_1_1_reaction.html#ab92785f331a446e51a0960b75d60b37b',1,'gridfire::reaction::Reaction::contains()'],['../classgridfire_1_1reaction_1_1_reaction_set.html#ae5f8078e77a700a8356487fbd69ba387',1,'gridfire::reaction::ReactionSet::contains(const std::string_view &id) const'],['../classgridfire_1_1reaction_1_1_reaction_set.html#a2f6b165c86634a68f35032c2267255f8',1,'gridfire::reaction::ReactionSet::contains(const Reaction &reaction) const']]], - ['contains_5fproduct_15',['contains_product',['../classgridfire_1_1reaction_1_1_reaction.html#a074d3cd2421fd5d0133e47f0522403e2',1,'gridfire::reaction::Reaction::contains_product()'],['../classgridfire_1_1reaction_1_1_reaction_set.html#a4bdf50219d686a6cbc0b3cc5365dc18e',1,'gridfire::reaction::ReactionSet::contains_product()']]], - ['contains_5freactant_16',['contains_reactant',['../classgridfire_1_1reaction_1_1_reaction.html#abbe243affa61ba9b2cd2a7b905cd5e45',1,'gridfire::reaction::Reaction::contains_reactant()'],['../classgridfire_1_1reaction_1_1_reaction_set.html#a256998eddf292f744d51cdc3e178d4c2',1,'gridfire::reaction::ReactionSet::contains_reactant(const fourdst::atomic::Species &species) const']]], - ['contains_5fspecies_17',['contains_species',['../classgridfire_1_1reaction_1_1_reaction_set.html#a5b872a8519740a6d06cfaed03784826a',1,'gridfire::reaction::ReactionSet']]], - ['convert_5fnetin_18',['convert_netIn',['../classgridfire_1_1approx8_1_1_approx8_network.html#a56426da6f1af7eb8a6d1cc70bc8e742a',1,'gridfire::approx8::Approx8Network']]] + ['calculateallreactionflows_6',['calculateAllReactionFlows',['../classgridfire_1_1_adaptive_engine_view.html#abdbaf4b87629efe43ac1255dad424c0c',1,'gridfire::AdaptiveEngineView']]], + ['calculatefactors_5fimpl_7',['calculateFactors_impl',['../classgridfire_1_1screening_1_1_bare_screening_model.html#a6c93b72c8ca34623127f0846d8dee50a',1,'gridfire::screening::BareScreeningModel::calculateFactors_impl()'],['../classgridfire_1_1screening_1_1_weak_screening_model.html#a2695206d46b9d2c2503f8e58c44df88f',1,'gridfire::screening::WeakScreeningModel::calculateFactors_impl()']]], + ['calculatemolarreactionflow_8',['calculateMolarReactionFlow',['../classgridfire_1_1_dynamic_engine.html#a6633b1757c41dd9e1c397333f4f9e785',1,'gridfire::DynamicEngine::calculateMolarReactionFlow()'],['../classgridfire_1_1_graph_engine.html#a9245642b741f215e52861d00e756fb3f',1,'gridfire::GraphEngine::calculateMolarReactionFlow(const reaction::Reaction &reaction, const std::vector< double > &Y, const double T9, const double rho) const override'],['../classgridfire_1_1_graph_engine.html#a5e96b5a0b34c8932f0e14eabda57f1a4',1,'gridfire::GraphEngine::calculateMolarReactionFlow(const reaction::Reaction &reaction, const std::vector< T > &Y, const T T9, const T rho) const'],['../classgridfire_1_1_adaptive_engine_view.html#a048d4b1d41ecb4125a558d1b9ed7cb31',1,'gridfire::AdaptiveEngineView::calculateMolarReactionFlow()'],['../classgridfire_1_1_file_defined_engine_view.html#ac371fb66fd0a76a04df204c9dd9a05ef',1,'gridfire::FileDefinedEngineView::calculateMolarReactionFlow()']]], + ['calculaterhsandenergy_9',['calculateRHSAndEnergy',['../classgridfire_1_1_engine.html#ac8b56124b6b49cd1802addb74a9a47c2',1,'gridfire::Engine::calculateRHSAndEnergy()'],['../classgridfire_1_1_graph_engine.html#a8b3baf29829c7ae0a61430ea70632bbf',1,'gridfire::GraphEngine::calculateRHSAndEnergy()'],['../classgridfire_1_1_adaptive_engine_view.html#a7b276b7210be588263395bdb0497fc6d',1,'gridfire::AdaptiveEngineView::calculateRHSAndEnergy()'],['../classgridfire_1_1_file_defined_engine_view.html#a2c1d88b06568f9ea4c65e794d012ebfb',1,'gridfire::FileDefinedEngineView::calculateRHSAndEnergy()']]], + ['calculatescreeningfactors_10',['calculateScreeningFactors',['../classgridfire_1_1screening_1_1_screening_model.html#aaec9184d80c86a2d8674e395dad81bde',1,'gridfire::screening::ScreeningModel::calculateScreeningFactors(const reaction::LogicalReactionSet &reactions, const std::vector< fourdst::atomic::Species > &species, const std::vector< double > &Y, const double T9, const double rho) const =0'],['../classgridfire_1_1screening_1_1_screening_model.html#a6c381a823cb9c1680d3e9c846da4ae22',1,'gridfire::screening::ScreeningModel::calculateScreeningFactors(const reaction::LogicalReactionSet &reactions, const std::vector< fourdst::atomic::Species > &species, const std::vector< ADDouble > &Y, const ADDouble T9, const ADDouble rho) const =0'],['../classgridfire_1_1screening_1_1_bare_screening_model.html#ac35ad34c5da7e1b5087552aa5c83fe60',1,'gridfire::screening::BareScreeningModel::calculateScreeningFactors(const reaction::LogicalReactionSet &reactions, const std::vector< fourdst::atomic::Species > &species, const std::vector< double > &Y, const double T9, const double rho) const override'],['../classgridfire_1_1screening_1_1_bare_screening_model.html#ac5647d633cd5bbd7cb5136b7fa4cad99',1,'gridfire::screening::BareScreeningModel::calculateScreeningFactors(const reaction::LogicalReactionSet &reactions, const std::vector< fourdst::atomic::Species > &species, const std::vector< ADDouble > &Y, const ADDouble T9, const ADDouble rho) const override'],['../classgridfire_1_1screening_1_1_weak_screening_model.html#afbaeaefe6b3ab3ecf81889ddc1cff76c',1,'gridfire::screening::WeakScreeningModel::calculateScreeningFactors(const reaction::LogicalReactionSet &reactions, const std::vector< fourdst::atomic::Species > &species, const std::vector< double > &Y, const double T9, const double rho) const override'],['../classgridfire_1_1screening_1_1_weak_screening_model.html#ac6bc78769670a460af1ff88284cb8ad4',1,'gridfire::screening::WeakScreeningModel::calculateScreeningFactors(const reaction::LogicalReactionSet &reactions, const std::vector< fourdst::atomic::Species > &species, const std::vector< CppAD::AD< double > > &Y, const CppAD::AD< double > T9, const CppAD::AD< double > rho) const override']]], + ['calculatesteadystateabundances_11',['calculateSteadyStateAbundances',['../classgridfire_1_1solver_1_1_q_s_e_network_solver.html#a00d112f6087f6e3a93f4d40a519308d2',1,'gridfire::solver::QSENetworkSolver']]], + ['chapter_12',['chapter',['../classgridfire_1_1reaction_1_1_reaction.html#a5cb438adfefb640e4bc58e09053bd629',1,'gridfire::reaction::Reaction']]], + ['clear_13',['clear',['../classgridfire_1_1reaction_1_1_templated_reaction_set.html#a05f71d318564d880079fd6c96d59ae21',1,'gridfire::reaction::TemplatedReactionSet']]], + ['collectnetworkspecies_14',['collectNetworkSpecies',['../classgridfire_1_1_graph_engine.html#aedf42d83bfcc28313b6b6454034d2efa',1,'gridfire::GraphEngine']]], + ['constructreactionindexmap_15',['constructReactionIndexMap',['../classgridfire_1_1_adaptive_engine_view.html#a89614f4a48f60c4170a0197f45303e7c',1,'gridfire::AdaptiveEngineView::constructReactionIndexMap()'],['../classgridfire_1_1_file_defined_engine_view.html#aebb3f3548f8781506f31580706810a4e',1,'gridfire::FileDefinedEngineView::constructReactionIndexMap()']]], + ['constructspeciesindexmap_16',['constructSpeciesIndexMap',['../classgridfire_1_1_adaptive_engine_view.html#a896d29325b4233e83d9298850b617a2d',1,'gridfire::AdaptiveEngineView::constructSpeciesIndexMap()'],['../classgridfire_1_1_file_defined_engine_view.html#a51ba09ff01fdcac1125d42f276c9a0a7',1,'gridfire::FileDefinedEngineView::constructSpeciesIndexMap()']]], + ['contains_17',['contains',['../classgridfire_1_1reaction_1_1_reaction.html#ab92785f331a446e51a0960b75d60b37b',1,'gridfire::reaction::Reaction::contains()'],['../classgridfire_1_1reaction_1_1_templated_reaction_set.html#a7777ecd0f594fdf66ce57d22610fad3c',1,'gridfire::reaction::TemplatedReactionSet::contains(const std::string_view &id) const'],['../classgridfire_1_1reaction_1_1_templated_reaction_set.html#ab8cb5fbce6b819b9e4e44b0c2db54c6f',1,'gridfire::reaction::TemplatedReactionSet::contains(const Reaction &reaction) const']]], + ['contains_5fproduct_18',['contains_product',['../classgridfire_1_1reaction_1_1_reaction.html#a074d3cd2421fd5d0133e47f0522403e2',1,'gridfire::reaction::Reaction::contains_product()'],['../classgridfire_1_1reaction_1_1_templated_reaction_set.html#a443ec5d7138764b32975232e13071ccf',1,'gridfire::reaction::TemplatedReactionSet::contains_product()']]], + ['contains_5freactant_19',['contains_reactant',['../classgridfire_1_1reaction_1_1_reaction.html#abbe243affa61ba9b2cd2a7b905cd5e45',1,'gridfire::reaction::Reaction::contains_reactant()'],['../classgridfire_1_1reaction_1_1_templated_reaction_set.html#ac42606350d7557106f7954b1f114c128',1,'gridfire::reaction::TemplatedReactionSet::contains_reactant(const fourdst::atomic::Species &species) const']]], + ['contains_5fspecies_20',['contains_species',['../classgridfire_1_1reaction_1_1_templated_reaction_set.html#ad870856d206d93f27125c88d44ff9e34',1,'gridfire::reaction::TemplatedReactionSet']]], + ['convert_5fnetin_21',['convert_netIn',['../classgridfire_1_1approx8_1_1_approx8_network.html#a56426da6f1af7eb8a6d1cc70bc8e742a',1,'gridfire::approx8::Approx8Network']]], + ['cullreactionsbyflow_22',['cullReactionsByFlow',['../classgridfire_1_1_adaptive_engine_view.html#a42417e96fe9fd623458af109401daf08',1,'gridfire::AdaptiveEngineView']]] ]; diff --git a/docs/html/search/functions_3.js b/docs/html/search/functions_3.js index 85a11536..89707a6d 100644 --- a/docs/html/search/functions_3.js +++ b/docs/html/search/functions_3.js @@ -1,5 +1,5 @@ var searchData= [ - ['df_0',['df',['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#ac46bd712296b03f31af1573f6a0f5644',1,'gridfire::solver::QSENetworkSolver::EigenFunctor']]], + ['df_0',['df',['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#a51687d7a9770164f79e485a763bd94b0',1,'gridfire::solver::QSENetworkSolver::EigenFunctor']]], ['dp_5frate_1',['dp_rate',['../namespacegridfire_1_1approx8.html#a51d139de74680c8437d20a3fa622200c',1,'gridfire::approx8']]] ]; diff --git a/docs/html/search/functions_4.js b/docs/html/search/functions_4.js index 53a14492..55698ed3 100644 --- a/docs/html/search/functions_4.js +++ b/docs/html/search/functions_4.js @@ -1,7 +1,7 @@ var searchData= [ - ['eigenfunctor_0',['EigenFunctor',['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#af8650f704c2ca512c9c5b4562b3b0958',1,'gridfire::solver::QSENetworkSolver::EigenFunctor']]], - ['end_1',['end',['../classgridfire_1_1reaction_1_1_reaction_set.html#abae9fbc4b4306479a6cd3173ac628987',1,'gridfire::reaction::ReactionSet::end()'],['../classgridfire_1_1reaction_1_1_reaction_set.html#a436f9c4b8f8a4e115b19728d57d8e105',1,'gridfire::reaction::ReactionSet::end() const'],['../classgridfire_1_1reaction_1_1_logical_reaction.html#af8d23557326e6c8499fa4919ac0bd972',1,'gridfire::reaction::LogicalReaction::end()'],['../classgridfire_1_1reaction_1_1_logical_reaction.html#a054994f733b44293b4d79f3a9b207560',1,'gridfire::reaction::LogicalReaction::end() const'],['../classgridfire_1_1reaction_1_1_logical_reaction_set.html#a9707407faf8efd3f4da745a54d3fa9e2',1,'gridfire::reaction::LogicalReactionSet::end()'],['../classgridfire_1_1reaction_1_1_logical_reaction_set.html#a70b669622690196e68eedfd2a8fd6318',1,'gridfire::reaction::LogicalReactionSet::end() const']]], + ['eigenfunctor_0',['EigenFunctor',['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#a94a1e5994062c32bd45c248860be6fa4',1,'gridfire::solver::QSENetworkSolver::EigenFunctor']]], + ['end_1',['end',['../classgridfire_1_1reaction_1_1_logical_reaction.html#af8d23557326e6c8499fa4919ac0bd972',1,'gridfire::reaction::LogicalReaction::end()'],['../classgridfire_1_1reaction_1_1_logical_reaction.html#a054994f733b44293b4d79f3a9b207560',1,'gridfire::reaction::LogicalReaction::end() const'],['../classgridfire_1_1reaction_1_1_templated_reaction_set.html#ad19adbee44a71559a53785e3b1fc7e92',1,'gridfire::reaction::TemplatedReactionSet::end()'],['../classgridfire_1_1reaction_1_1_templated_reaction_set.html#ac128da7417955ef8c5cb2bde5a1293c9',1,'gridfire::reaction::TemplatedReactionSet::end() const']]], ['evaluate_2',['evaluate',['../classgridfire_1_1approx8_1_1_approx8_network.html#a888734a3cdde4259e921e2efece411ee',1,'gridfire::approx8::Approx8Network::evaluate()'],['../classgridfire_1_1_network.html#afc8d5172dd0e2295248b42dcb52b655c',1,'gridfire::Network::evaluate()'],['../classgridfire_1_1solver_1_1_network_solver_strategy.html#ace539b0482db171845ff1bd38d76b70f',1,'gridfire::solver::NetworkSolverStrategy::evaluate()'],['../classgridfire_1_1solver_1_1_q_s_e_network_solver.html#a53b5496db7fed6f345dca39656bf9c0e',1,'gridfire::solver::QSENetworkSolver::evaluate()'],['../classgridfire_1_1solver_1_1_direct_network_solver.html#a0e8a4b8ef656e0b084d11bea982e412a',1,'gridfire::solver::DirectNetworkSolver::evaluate()']]], ['excess_5fenergy_3',['excess_energy',['../classgridfire_1_1reaction_1_1_reaction.html#aa1d71e38fc55ae691dbb9ec459a612a5',1,'gridfire::reaction::Reaction']]], ['exporttocsv_4',['exportToCSV',['../classgridfire_1_1_graph_engine.html#a832e2fe066381811a3e0464806ff5e95',1,'gridfire::GraphEngine']]], diff --git a/docs/html/search/functions_5.js b/docs/html/search/functions_5.js index 012e0e1e..0e452471 100644 --- a/docs/html/search/functions_5.js +++ b/docs/html/search/functions_5.js @@ -1,16 +1,7 @@ var searchData= [ - ['generatejacobianmatrix_0',['generateJacobianMatrix',['../classgridfire_1_1_dynamic_engine.html#a0a2fb3435ee3271ab9c806f225c61a7f',1,'gridfire::DynamicEngine::generateJacobianMatrix()'],['../classgridfire_1_1_adaptive_engine_view.html#ac9aab6f60e80a9228b2b19b1b10449ef',1,'gridfire::AdaptiveEngineView::generateJacobianMatrix()'],['../classgridfire_1_1_graph_engine.html#ae347ff0316e532e0298ec8c913908105',1,'gridfire::GraphEngine::generateJacobianMatrix()']]], - ['generatestoichiometrymatrix_1',['generateStoichiometryMatrix',['../classgridfire_1_1_dynamic_engine.html#aeae6d84ef74d88fd2cdf07b82e98a16f',1,'gridfire::DynamicEngine::generateStoichiometryMatrix()'],['../classgridfire_1_1_adaptive_engine_view.html#a231193a61ba5a31e8eb92b0d4ce69111',1,'gridfire::AdaptiveEngineView::generateStoichiometryMatrix()'],['../classgridfire_1_1_graph_engine.html#aed726d36ee2b3796beff6067a1e4db38',1,'gridfire::GraphEngine::generateStoichiometryMatrix()']]], - ['get_5fall_5freactions_2',['get_all_reactions',['../namespacegridfire_1_1reaclib.html#a91c7971c9d0a2971b9a6fa4d841c761d',1,'gridfire::reaclib']]], - ['get_5ft9_5farray_3',['get_T9_array',['../namespacegridfire_1_1approx8.html#a20f9c48e60a5abf0b6868d1d05080222',1,'gridfire::approx8']]], - ['getbaseengine_4',['getBaseEngine',['../classgridfire_1_1_adaptive_engine_view.html#aee095b30a9dce5fcb5ae2fa1d2aa192c',1,'gridfire::AdaptiveEngineView::getBaseEngine()'],['../classgridfire_1_1_engine_view.html#ad294227f8b5cf6d970c349eabf5447a6',1,'gridfire::EngineView::getBaseEngine()']]], - ['getformat_5',['getFormat',['../classgridfire_1_1_network.html#a315a123499719178286b29e2aca69118',1,'gridfire::Network']]], - ['getjacobianmatrixentry_6',['getJacobianMatrixEntry',['../classgridfire_1_1_dynamic_engine.html#a05d15ff35a6bc06a2fa7eda19838bd07',1,'gridfire::DynamicEngine::getJacobianMatrixEntry()'],['../classgridfire_1_1_adaptive_engine_view.html#a4710d218c8a0fd161e994ecd60b48e58',1,'gridfire::AdaptiveEngineView::getJacobianMatrixEntry()'],['../classgridfire_1_1_graph_engine.html#a303e6093591cde91430f866a04a8be7c',1,'gridfire::GraphEngine::getJacobianMatrixEntry(const int i, const int j) const override']]], - ['getnetreactionstoichiometry_7',['getNetReactionStoichiometry',['../classgridfire_1_1_graph_engine.html#a8c29d8bbde407e913be5eb77efb2c0c9',1,'gridfire::GraphEngine']]], - ['getnetworkreactions_8',['getNetworkReactions',['../classgridfire_1_1_dynamic_engine.html#ad2a82099edbb374bbb2c9509ccdb1037',1,'gridfire::DynamicEngine::getNetworkReactions()'],['../classgridfire_1_1_adaptive_engine_view.html#a12cc2f352678fba9688363ba1876ab9c',1,'gridfire::AdaptiveEngineView::getNetworkReactions()'],['../classgridfire_1_1_graph_engine.html#ad45650d10fc5dff1673ae3f806d067da',1,'gridfire::GraphEngine::getNetworkReactions()']]], - ['getnetworkspecies_9',['getNetworkSpecies',['../classgridfire_1_1_engine.html#a020e1b493d6964cafdad08fde697ceb3',1,'gridfire::Engine::getNetworkSpecies()'],['../classgridfire_1_1_adaptive_engine_view.html#ac83a8efe25c0e5b9bf7756ac3a500bb1',1,'gridfire::AdaptiveEngineView::getNetworkSpecies()'],['../classgridfire_1_1_graph_engine.html#a0ed390f3e598ebba4e245ac90bb78767',1,'gridfire::GraphEngine::getNetworkSpecies()']]], - ['getspeciestimescales_10',['getSpeciesTimescales',['../classgridfire_1_1_dynamic_engine.html#a5d8ba98b230d2849035ee2507728fa15',1,'gridfire::DynamicEngine::getSpeciesTimescales()'],['../classgridfire_1_1_adaptive_engine_view.html#a93b38d0fdc4647f6f7340172dae17872',1,'gridfire::AdaptiveEngineView::getSpeciesTimescales()'],['../classgridfire_1_1_graph_engine.html#a26215593544c3a52597194602e4e25dd',1,'gridfire::GraphEngine::getSpeciesTimescales()']]], - ['getstoichiometrymatrixentry_11',['getStoichiometryMatrixEntry',['../classgridfire_1_1_dynamic_engine.html#afa108dd5227dbb1045e90d7b3bd8b84f',1,'gridfire::DynamicEngine::getStoichiometryMatrixEntry()'],['../classgridfire_1_1_adaptive_engine_view.html#a67b4ea8cad115394bb4a42cc39d696f9',1,'gridfire::AdaptiveEngineView::getStoichiometryMatrixEntry()'],['../classgridfire_1_1_graph_engine.html#a6b5feaf788bade212b7c8df7ac8c8152',1,'gridfire::GraphEngine::getStoichiometryMatrixEntry(const int speciesIndex, const int reactionIndex) const override']]], - ['graphengine_12',['GraphEngine',['../classgridfire_1_1_graph_engine.html#a9f74786ff930ab72664b31f29d05a30c',1,'gridfire::GraphEngine::GraphEngine(const fourdst::composition::Composition &composition)'],['../classgridfire_1_1_graph_engine.html#a9c285e3a38de6e73503a4e19666678e2',1,'gridfire::GraphEngine::GraphEngine(reaction::LogicalReactionSet reactions)']]] + ['filedefinedengineview_0',['FileDefinedEngineView',['../classgridfire_1_1_file_defined_engine_view.html#a8f2f64bab0f516ed2a6fd529912e0acd',1,'gridfire::FileDefinedEngineView']]], + ['finalizeactiveset_1',['finalizeActiveSet',['../classgridfire_1_1_adaptive_engine_view.html#aa79fb382c98461b02a2c30668491e6c5',1,'gridfire::AdaptiveEngineView']]], + ['findreachablespecies_2',['findReachableSpecies',['../classgridfire_1_1_adaptive_engine_view.html#a0ed21f7e7c1034fc87b40d4116c4221b',1,'gridfire::AdaptiveEngineView']]], + ['formatnucleartimescalelogstring_3',['formatNuclearTimescaleLogString',['../namespacegridfire_1_1utils.html#af56693a70d9e2b40c8ae2c3bcd4b26c8',1,'gridfire::utils']]] ]; diff --git a/docs/html/search/functions_6.js b/docs/html/search/functions_6.js index 0545983b..7d7fcc45 100644 --- a/docs/html/search/functions_6.js +++ b/docs/html/search/functions_6.js @@ -1,6 +1,18 @@ var searchData= [ - ['hash_0',['hash',['../classgridfire_1_1reaction_1_1_reaction.html#af6c20e6d03a2d9f87632f71a90b88cb5',1,'gridfire::reaction::Reaction::hash()'],['../classgridfire_1_1reaction_1_1_reaction_set.html#a3209bb7c2a41deabaab059f6c671776f',1,'gridfire::reaction::ReactionSet::hash()']]], - ['he3he3_5frate_1',['he3he3_rate',['../namespacegridfire_1_1approx8.html#a12cb71ba6ed03750af9e7659464197ea',1,'gridfire::approx8']]], - ['he3he4_5frate_2',['he3he4_rate',['../namespacegridfire_1_1approx8.html#a593cd66c1eadae4da233ae73b4aad4a3',1,'gridfire::approx8']]] + ['generatejacobianmatrix_0',['generateJacobianMatrix',['../classgridfire_1_1_dynamic_engine.html#a0a2fb3435ee3271ab9c806f225c61a7f',1,'gridfire::DynamicEngine::generateJacobianMatrix()'],['../classgridfire_1_1_graph_engine.html#ae347ff0316e532e0298ec8c913908105',1,'gridfire::GraphEngine::generateJacobianMatrix()'],['../classgridfire_1_1_adaptive_engine_view.html#ac9aab6f60e80a9228b2b19b1b10449ef',1,'gridfire::AdaptiveEngineView::generateJacobianMatrix()'],['../classgridfire_1_1_file_defined_engine_view.html#a48b2451f96b8f5511ffc4071519c0810',1,'gridfire::FileDefinedEngineView::generateJacobianMatrix()']]], + ['generatestoichiometrymatrix_1',['generateStoichiometryMatrix',['../classgridfire_1_1_dynamic_engine.html#aeae6d84ef74d88fd2cdf07b82e98a16f',1,'gridfire::DynamicEngine::generateStoichiometryMatrix()'],['../classgridfire_1_1_graph_engine.html#aed726d36ee2b3796beff6067a1e4db38',1,'gridfire::GraphEngine::generateStoichiometryMatrix()'],['../classgridfire_1_1_adaptive_engine_view.html#a231193a61ba5a31e8eb92b0d4ce69111',1,'gridfire::AdaptiveEngineView::generateStoichiometryMatrix()'],['../classgridfire_1_1_file_defined_engine_view.html#a27a5163157cc15c4cb3b99a5d3564dbd',1,'gridfire::FileDefinedEngineView::generateStoichiometryMatrix()']]], + ['get_5fall_5freactions_2',['get_all_reactions',['../namespacegridfire_1_1reaclib.html#a91c7971c9d0a2971b9a6fa4d841c761d',1,'gridfire::reaclib']]], + ['get_5ft9_5farray_3',['get_T9_array',['../namespacegridfire_1_1approx8.html#a20f9c48e60a5abf0b6868d1d05080222',1,'gridfire::approx8']]], + ['getbaseengine_4',['getBaseEngine',['../classgridfire_1_1_adaptive_engine_view.html#aee095b30a9dce5fcb5ae2fa1d2aa192c',1,'gridfire::AdaptiveEngineView::getBaseEngine()'],['../classgridfire_1_1_file_defined_engine_view.html#a4c8b273c5cb3d470567c5691b68493a3',1,'gridfire::FileDefinedEngineView::getBaseEngine()'],['../classgridfire_1_1_engine_view.html#ad294227f8b5cf6d970c349eabf5447a6',1,'gridfire::EngineView::getBaseEngine()']]], + ['getformat_5',['getFormat',['../classgridfire_1_1_network.html#a315a123499719178286b29e2aca69118',1,'gridfire::Network']]], + ['getjacobianmatrixentry_6',['getJacobianMatrixEntry',['../classgridfire_1_1_dynamic_engine.html#a05d15ff35a6bc06a2fa7eda19838bd07',1,'gridfire::DynamicEngine::getJacobianMatrixEntry()'],['../classgridfire_1_1_graph_engine.html#a303e6093591cde91430f866a04a8be7c',1,'gridfire::GraphEngine::getJacobianMatrixEntry()'],['../classgridfire_1_1_adaptive_engine_view.html#a4710d218c8a0fd161e994ecd60b48e58',1,'gridfire::AdaptiveEngineView::getJacobianMatrixEntry()'],['../classgridfire_1_1_file_defined_engine_view.html#a0ef8804780d13bbfce0856237bb00470',1,'gridfire::FileDefinedEngineView::getJacobianMatrixEntry()']]], + ['getnetreactionstoichiometry_7',['getNetReactionStoichiometry',['../classgridfire_1_1_graph_engine.html#a8c29d8bbde407e913be5eb77efb2c0c9',1,'gridfire::GraphEngine']]], + ['getnetworkreactions_8',['getNetworkReactions',['../classgridfire_1_1_dynamic_engine.html#ad2a82099edbb374bbb2c9509ccdb1037',1,'gridfire::DynamicEngine::getNetworkReactions()'],['../classgridfire_1_1_graph_engine.html#ad45650d10fc5dff1673ae3f806d067da',1,'gridfire::GraphEngine::getNetworkReactions()'],['../classgridfire_1_1_adaptive_engine_view.html#a12cc2f352678fba9688363ba1876ab9c',1,'gridfire::AdaptiveEngineView::getNetworkReactions()'],['../classgridfire_1_1_file_defined_engine_view.html#a5bbea17b69cc8f81bc251a04f4435a0c',1,'gridfire::FileDefinedEngineView::getNetworkReactions()']]], + ['getnetworkspecies_9',['getNetworkSpecies',['../classgridfire_1_1_engine.html#a020e1b493d6964cafdad08fde697ceb3',1,'gridfire::Engine::getNetworkSpecies()'],['../classgridfire_1_1_graph_engine.html#a0ed390f3e598ebba4e245ac90bb78767',1,'gridfire::GraphEngine::getNetworkSpecies()'],['../classgridfire_1_1_adaptive_engine_view.html#ac83a8efe25c0e5b9bf7756ac3a500bb1',1,'gridfire::AdaptiveEngineView::getNetworkSpecies()'],['../classgridfire_1_1_file_defined_engine_view.html#a8bb583e039b49608272997ed2d3387fa',1,'gridfire::FileDefinedEngineView::getNetworkSpecies()']]], + ['getreactionsetspecies_10',['getReactionSetSpecies',['../classgridfire_1_1reaction_1_1_templated_reaction_set.html#a1596de3439735a45ac344fa85ace6c82',1,'gridfire::reaction::TemplatedReactionSet']]], + ['getscreeningmodel_11',['getScreeningModel',['../classgridfire_1_1_dynamic_engine.html#a7a203f8e0f3a6744ddc912dfbcfdbcc0',1,'gridfire::DynamicEngine::getScreeningModel()'],['../classgridfire_1_1_graph_engine.html#a697f2004e0d02c59e83c7890742d7c9a',1,'gridfire::GraphEngine::getScreeningModel()'],['../classgridfire_1_1_adaptive_engine_view.html#a0ab1199f900a58f309c3c36532c9164f',1,'gridfire::AdaptiveEngineView::getScreeningModel()'],['../classgridfire_1_1_file_defined_engine_view.html#adbc50f397445f92b810d80cf329b8626',1,'gridfire::FileDefinedEngineView::getScreeningModel()']]], + ['getspeciestimescales_12',['getSpeciesTimescales',['../classgridfire_1_1_dynamic_engine.html#a5d8ba98b230d2849035ee2507728fa15',1,'gridfire::DynamicEngine::getSpeciesTimescales()'],['../classgridfire_1_1_graph_engine.html#a26215593544c3a52597194602e4e25dd',1,'gridfire::GraphEngine::getSpeciesTimescales()'],['../classgridfire_1_1_adaptive_engine_view.html#a93b38d0fdc4647f6f7340172dae17872',1,'gridfire::AdaptiveEngineView::getSpeciesTimescales()'],['../classgridfire_1_1_file_defined_engine_view.html#ace3c6ea4841318c08695973ab3dcddc6',1,'gridfire::FileDefinedEngineView::getSpeciesTimescales()']]], + ['getstoichiometrymatrixentry_13',['getStoichiometryMatrixEntry',['../classgridfire_1_1_dynamic_engine.html#afa108dd5227dbb1045e90d7b3bd8b84f',1,'gridfire::DynamicEngine::getStoichiometryMatrixEntry()'],['../classgridfire_1_1_graph_engine.html#a6b5feaf788bade212b7c8df7ac8c8152',1,'gridfire::GraphEngine::getStoichiometryMatrixEntry()'],['../classgridfire_1_1_adaptive_engine_view.html#a67b4ea8cad115394bb4a42cc39d696f9',1,'gridfire::AdaptiveEngineView::getStoichiometryMatrixEntry()'],['../classgridfire_1_1_file_defined_engine_view.html#a9da9224f5c99a5068f3d8cbf066e4693',1,'gridfire::FileDefinedEngineView::getStoichiometryMatrixEntry()']]], + ['graphengine_14',['GraphEngine',['../classgridfire_1_1_graph_engine.html#a9f74786ff930ab72664b31f29d05a30c',1,'gridfire::GraphEngine::GraphEngine(const fourdst::composition::Composition &composition)'],['../classgridfire_1_1_graph_engine.html#a9c285e3a38de6e73503a4e19666678e2',1,'gridfire::GraphEngine::GraphEngine(reaction::LogicalReactionSet reactions)']]] ]; diff --git a/docs/html/search/functions_7.js b/docs/html/search/functions_7.js index 5b5905d9..d095a399 100644 --- a/docs/html/search/functions_7.js +++ b/docs/html/search/functions_7.js @@ -1,9 +1,6 @@ var searchData= [ - ['id_0',['id',['../classgridfire_1_1reaction_1_1_reaction.html#a084c38181408ed5e6fa2a2dd4d0ec905',1,'gridfire::reaction::Reaction']]], - ['initializeallreaclibreactions_1',['initializeAllReaclibReactions',['../namespacegridfire_1_1reaclib.html#a02ff11b88be94392151873e06a30b276',1,'gridfire::reaclib']]], - ['initializenetworkwithshortignition_2',['initializeNetworkWithShortIgnition',['../classgridfire_1_1solver_1_1_q_s_e_network_solver.html#abaa567001df0007b714f474febae408b',1,'gridfire::solver::QSENetworkSolver']]], - ['involvesspecies_3',['involvesSpecies',['../classgridfire_1_1_graph_engine.html#aa6202cee0c3c481eda77cc9a91bc126b',1,'gridfire::GraphEngine']]], - ['is_5freverse_4',['is_reverse',['../classgridfire_1_1reaction_1_1_reaction.html#aa67d05dfabf007c1acad34052d9a1dba',1,'gridfire::reaction::Reaction']]], - ['isstiff_5',['isStiff',['../classgridfire_1_1approx8_1_1_approx8_network.html#a5b17b2831389829533385900ce19a37a',1,'gridfire::approx8::Approx8Network::isStiff()'],['../classgridfire_1_1_network.html#ae93ad65deba79def4b77d420e7affa0b',1,'gridfire::Network::isStiff()']]] + ['hash_0',['hash',['../classgridfire_1_1reaction_1_1_reaction.html#af6c20e6d03a2d9f87632f71a90b88cb5',1,'gridfire::reaction::Reaction::hash()'],['../classgridfire_1_1reaction_1_1_templated_reaction_set.html#a272800016c83f259f5c6a92dc797353c',1,'gridfire::reaction::TemplatedReactionSet::hash()']]], + ['he3he3_5frate_1',['he3he3_rate',['../namespacegridfire_1_1approx8.html#a12cb71ba6ed03750af9e7659464197ea',1,'gridfire::approx8']]], + ['he3he4_5frate_2',['he3he4_rate',['../namespacegridfire_1_1approx8.html#a593cd66c1eadae4da233ae73b4aad4a3',1,'gridfire::approx8']]] ]; diff --git a/docs/html/search/functions_8.js b/docs/html/search/functions_8.js index 1bbe6fcc..b262959f 100644 --- a/docs/html/search/functions_8.js +++ b/docs/html/search/functions_8.js @@ -1,4 +1,10 @@ var searchData= [ - ['jacobianfunctor_0',['JacobianFunctor',['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_jacobian_functor.html#ab8222646cd32670a046b6c74909bd83a',1,'gridfire::solver::QSENetworkSolver::JacobianFunctor::JacobianFunctor()'],['../structgridfire_1_1solver_1_1_direct_network_solver_1_1_jacobian_functor.html#afd2a548ffb907b0fb1fa28993ea99f25',1,'gridfire::solver::DirectNetworkSolver::JacobianFunctor::JacobianFunctor()']]] + ['id_0',['id',['../classgridfire_1_1reaction_1_1_reaction.html#a084c38181408ed5e6fa2a2dd4d0ec905',1,'gridfire::reaction::Reaction']]], + ['initializeallreaclibreactions_1',['initializeAllReaclibReactions',['../namespacegridfire_1_1reaclib.html#a02ff11b88be94392151873e06a30b276',1,'gridfire::reaclib']]], + ['initializenetworkwithshortignition_2',['initializeNetworkWithShortIgnition',['../classgridfire_1_1solver_1_1_q_s_e_network_solver.html#abaa567001df0007b714f474febae408b',1,'gridfire::solver::QSENetworkSolver']]], + ['inputs_3',['inputs',['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#a5ce08aab2f1976c9258dad2b67e1c5b6',1,'gridfire::solver::QSENetworkSolver::EigenFunctor']]], + ['involvesspecies_4',['involvesSpecies',['../classgridfire_1_1_graph_engine.html#aa6202cee0c3c481eda77cc9a91bc126b',1,'gridfire::GraphEngine']]], + ['is_5freverse_5',['is_reverse',['../classgridfire_1_1reaction_1_1_reaction.html#aa67d05dfabf007c1acad34052d9a1dba',1,'gridfire::reaction::Reaction']]], + ['isstiff_6',['isStiff',['../classgridfire_1_1approx8_1_1_approx8_network.html#a5b17b2831389829533385900ce19a37a',1,'gridfire::approx8::Approx8Network::isStiff()'],['../classgridfire_1_1_network.html#ae93ad65deba79def4b77d420e7affa0b',1,'gridfire::Network::isStiff()']]] ]; diff --git a/docs/html/search/functions_9.js b/docs/html/search/functions_9.js index 37eca5c0..1bbe6fcc 100644 --- a/docs/html/search/functions_9.js +++ b/docs/html/search/functions_9.js @@ -1,5 +1,4 @@ var searchData= [ - ['logicalreaction_0',['LogicalReaction',['../classgridfire_1_1reaction_1_1_logical_reaction.html#a6965906ea33ebd0d615811219d9e9537',1,'gridfire::reaction::LogicalReaction']]], - ['logicalreactionset_1',['LogicalReactionSet',['../classgridfire_1_1reaction_1_1_logical_reaction_set.html#ac650a2a2c83cfb618f11a924552e251d',1,'gridfire::reaction::LogicalReactionSet::LogicalReactionSet()=delete'],['../classgridfire_1_1reaction_1_1_logical_reaction_set.html#a129d55e5f57ec3c2e256070fd219e2df',1,'gridfire::reaction::LogicalReactionSet::LogicalReactionSet(const ReactionSet &reactionSet)']]] + ['jacobianfunctor_0',['JacobianFunctor',['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_jacobian_functor.html#ab8222646cd32670a046b6c74909bd83a',1,'gridfire::solver::QSENetworkSolver::JacobianFunctor::JacobianFunctor()'],['../structgridfire_1_1solver_1_1_direct_network_solver_1_1_jacobian_functor.html#afd2a548ffb907b0fb1fa28993ea99f25',1,'gridfire::solver::DirectNetworkSolver::JacobianFunctor::JacobianFunctor()']]] ]; diff --git a/docs/html/search/functions_a.js b/docs/html/search/functions_a.js index b6c06dcc..22cc88cb 100644 --- a/docs/html/search/functions_a.js +++ b/docs/html/search/functions_a.js @@ -1,8 +1,4 @@ var searchData= [ - ['mapculledtofull_0',['mapCulledToFull',['../classgridfire_1_1_adaptive_engine_view.html#a68695f056b660e91285b7e5a931612e1',1,'gridfire::AdaptiveEngineView']]], - ['mapculledtofullreactionindex_1',['mapCulledToFullReactionIndex',['../classgridfire_1_1_adaptive_engine_view.html#a91e742642d8a8d9ec0620779927e5101',1,'gridfire::AdaptiveEngineView']]], - ['mapculledtofullspeciesindex_2',['mapCulledToFullSpeciesIndex',['../classgridfire_1_1_adaptive_engine_view.html#a256d14a333f9401039b826cc889761a8',1,'gridfire::AdaptiveEngineView']]], - ['mapfulltoculled_3',['mapFullToCulled',['../classgridfire_1_1_adaptive_engine_view.html#a3d9d8e862d1c2f0a8ba460c57f6a7f44',1,'gridfire::AdaptiveEngineView']]], - ['molarabundance_4',['MolarAbundance',['../structgridfire_1_1_net_in.html#a47781e8d5503e3b4f12d669e2cbcfb65',1,'gridfire::NetIn']]] + ['logicalreaction_0',['LogicalReaction',['../classgridfire_1_1reaction_1_1_logical_reaction.html#a6965906ea33ebd0d615811219d9e9537',1,'gridfire::reaction::LogicalReaction']]] ]; diff --git a/docs/html/search/functions_b.js b/docs/html/search/functions_b.js index 4ed165c6..26d16564 100644 --- a/docs/html/search/functions_b.js +++ b/docs/html/search/functions_b.js @@ -1,12 +1,13 @@ var searchData= [ - ['n14a_5frate_0',['n14a_rate',['../namespacegridfire_1_1approx8.html#a3a9861a77093effdfc061743eb13fcdb',1,'gridfire::approx8']]], - ['n14p_5frate_1',['n14p_rate',['../namespacegridfire_1_1approx8.html#a34f18b2345a8fd8d96bbe1a9825c1f21',1,'gridfire::approx8']]], - ['n15pa_5frate_2',['n15pa_rate',['../namespacegridfire_1_1approx8.html#a9a90b83dd4aa2dcc928bd14f4678dcef',1,'gridfire::approx8']]], - ['n15pg_5ffrac_3',['n15pg_frac',['../namespacegridfire_1_1approx8.html#ac309c160c806208bf01bebeb29c23896',1,'gridfire::approx8']]], - ['n15pg_5frate_4',['n15pg_rate',['../namespacegridfire_1_1approx8.html#acdbb3ee2ef22bfd9c836324285d0da98',1,'gridfire::approx8']]], - ['ne20a_5frate_5',['ne20a_rate',['../namespacegridfire_1_1approx8.html#ad7a6f894fa4bdeebb4cae0eba3b2c210',1,'gridfire::approx8']]], - ['network_6',['Network',['../classgridfire_1_1_network.html#a20b631f2404bfdec2333f680a62abf55',1,'gridfire::Network']]], - ['networksolverstrategy_7',['NetworkSolverStrategy',['../classgridfire_1_1solver_1_1_network_solver_strategy.html#a01cbbec0eb5c3a60f50da38cdaf66505',1,'gridfire::solver::NetworkSolverStrategy']]], - ['num_5fspecies_8',['num_species',['../classgridfire_1_1reaction_1_1_reaction.html#a1d3c8ab6d55155f9a21ad80ed8b9ef97',1,'gridfire::reaction::Reaction']]] + ['mapculledtofull_0',['mapCulledToFull',['../classgridfire_1_1_adaptive_engine_view.html#a68695f056b660e91285b7e5a931612e1',1,'gridfire::AdaptiveEngineView']]], + ['mapculledtofullreactionindex_1',['mapCulledToFullReactionIndex',['../classgridfire_1_1_adaptive_engine_view.html#a91e742642d8a8d9ec0620779927e5101',1,'gridfire::AdaptiveEngineView']]], + ['mapculledtofullspeciesindex_2',['mapCulledToFullSpeciesIndex',['../classgridfire_1_1_adaptive_engine_view.html#a256d14a333f9401039b826cc889761a8',1,'gridfire::AdaptiveEngineView']]], + ['mapfulltoculled_3',['mapFullToCulled',['../classgridfire_1_1_adaptive_engine_view.html#a3d9d8e862d1c2f0a8ba460c57f6a7f44',1,'gridfire::AdaptiveEngineView']]], + ['mapfulltoview_4',['mapFullToView',['../classgridfire_1_1_file_defined_engine_view.html#a97e5ee4651dbe6754678fe96e4702fee',1,'gridfire::FileDefinedEngineView']]], + ['mapviewtofull_5',['mapViewToFull',['../classgridfire_1_1_file_defined_engine_view.html#ac231044e37e0962f664f8465e1ccb022',1,'gridfire::FileDefinedEngineView']]], + ['mapviewtofullreactionindex_6',['mapViewToFullReactionIndex',['../classgridfire_1_1_file_defined_engine_view.html#ae7d6f0ff9076d59d1245c047bbd1bdb9',1,'gridfire::FileDefinedEngineView']]], + ['mapviewtofullspeciesindex_7',['mapViewToFullSpeciesIndex',['../classgridfire_1_1_file_defined_engine_view.html#a8d2c6b9a33b9c8c172bbd2c2e2e9ffaf',1,'gridfire::FileDefinedEngineView']]], + ['mesanetworkfileparser_8',['MESANetworkFileParser',['../classgridfire_1_1io_1_1_m_e_s_a_network_file_parser.html#ac5963d0da6780de753df996b490f8d2c',1,'gridfire::io::MESANetworkFileParser']]], + ['molarabundance_9',['MolarAbundance',['../structgridfire_1_1_net_in.html#a47781e8d5503e3b4f12d669e2cbcfb65',1,'gridfire::NetIn']]] ]; diff --git a/docs/html/search/functions_c.js b/docs/html/search/functions_c.js index fdf47227..4ed165c6 100644 --- a/docs/html/search/functions_c.js +++ b/docs/html/search/functions_c.js @@ -1,11 +1,12 @@ var searchData= [ - ['o16a_5frate_0',['o16a_rate',['../namespacegridfire_1_1approx8.html#a7387008e672ea12d277e2194745a4c93',1,'gridfire::approx8']]], - ['o16p_5frate_1',['o16p_rate',['../namespacegridfire_1_1approx8.html#a62c2f567dc1ada3816843c8586aad0dc',1,'gridfire::approx8']]], - ['operator_21_3d_2',['operator!=',['../classgridfire_1_1reaction_1_1_reaction.html#a2f1c115a99bc7c477a2e858ff18b1b51',1,'gridfire::reaction::Reaction::operator!=()'],['../classgridfire_1_1reaction_1_1_reaction_set.html#a529189f464aebc6b5ac5c717f70e14b8',1,'gridfire::reaction::ReactionSet::operator!=()']]], - ['operator_28_29_3',['operator()',['../structgridfire_1_1approx8_1_1_jacobian.html#a548431915b5895082eb96ce66d5494fa',1,'gridfire::approx8::Jacobian::operator()()'],['../structgridfire_1_1approx8_1_1_o_d_e.html#a2e1eb1ce2aa7949c225d45ce4edf03d0',1,'gridfire::approx8::ODE::operator()()'],['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_r_h_s_functor.html#ae0b6362d9c0a14e69c7a47233db6a86a',1,'gridfire::solver::QSENetworkSolver::RHSFunctor::operator()()'],['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_jacobian_functor.html#a3668fae1e0f8e69ff3fd87275bf4a79d',1,'gridfire::solver::QSENetworkSolver::JacobianFunctor::operator()()'],['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#a91c9c7c40c061dcfb6e57524e696676e',1,'gridfire::solver::QSENetworkSolver::EigenFunctor::operator()()'],['../structgridfire_1_1solver_1_1_direct_network_solver_1_1_r_h_s_functor.html#a3a7542b6c6b4c86b6fe53f54d7232919',1,'gridfire::solver::DirectNetworkSolver::RHSFunctor::operator()()'],['../structgridfire_1_1solver_1_1_direct_network_solver_1_1_jacobian_functor.html#ad4fc0b406218aa2f567f5c61a4eda3c9',1,'gridfire::solver::DirectNetworkSolver::JacobianFunctor::operator()()'],['../structstd_1_1hash_3_01gridfire_1_1reaction_1_1_reaction_01_4.html#a48224b63a80690e4f0620f1312be5dd9',1,'std::hash< gridfire::reaction::Reaction >::operator()()'],['../structstd_1_1hash_3_01gridfire_1_1reaction_1_1_reaction_set_01_4.html#a32b976b3e3e4e0403c1295f9b467e921',1,'std::hash< gridfire::reaction::ReactionSet >::operator()()']]], - ['operator_3c_3c_4',['operator<<',['../namespacegridfire_1_1reaclib.html#a6bb94d5adc7bb9db5a67f770f7453e63',1,'gridfire::reaclib']]], - ['operator_3d_5',['operator=',['../classgridfire_1_1reaction_1_1_reaction_set.html#aac890bf7fdf689890d765ff67489520a',1,'gridfire::reaction::ReactionSet']]], - ['operator_3d_3d_6',['operator==',['../classgridfire_1_1reaction_1_1_reaction.html#ac426457cf0a54a15b206549422083bac',1,'gridfire::reaction::Reaction::operator==()'],['../classgridfire_1_1reaction_1_1_reaction_set.html#a4e572e823a80b905e7d002b612123135',1,'gridfire::reaction::ReactionSet::operator==(const ReactionSet &other) const']]], - ['operator_5b_5d_7',['operator[]',['../classgridfire_1_1reaction_1_1_reaction_set.html#a4057f74ae647b691f4f61f150553c52b',1,'gridfire::reaction::ReactionSet::operator[](size_t index) const'],['../classgridfire_1_1reaction_1_1_reaction_set.html#a896b4e492ef596d9174aeda4b59c46cd',1,'gridfire::reaction::ReactionSet::operator[](const std::string_view &id) const'],['../classgridfire_1_1reaction_1_1_logical_reaction_set.html#a00001bbc0f888b167da50ae9fc2a75af',1,'gridfire::reaction::LogicalReactionSet::operator[]()']]] + ['n14a_5frate_0',['n14a_rate',['../namespacegridfire_1_1approx8.html#a3a9861a77093effdfc061743eb13fcdb',1,'gridfire::approx8']]], + ['n14p_5frate_1',['n14p_rate',['../namespacegridfire_1_1approx8.html#a34f18b2345a8fd8d96bbe1a9825c1f21',1,'gridfire::approx8']]], + ['n15pa_5frate_2',['n15pa_rate',['../namespacegridfire_1_1approx8.html#a9a90b83dd4aa2dcc928bd14f4678dcef',1,'gridfire::approx8']]], + ['n15pg_5ffrac_3',['n15pg_frac',['../namespacegridfire_1_1approx8.html#ac309c160c806208bf01bebeb29c23896',1,'gridfire::approx8']]], + ['n15pg_5frate_4',['n15pg_rate',['../namespacegridfire_1_1approx8.html#acdbb3ee2ef22bfd9c836324285d0da98',1,'gridfire::approx8']]], + ['ne20a_5frate_5',['ne20a_rate',['../namespacegridfire_1_1approx8.html#ad7a6f894fa4bdeebb4cae0eba3b2c210',1,'gridfire::approx8']]], + ['network_6',['Network',['../classgridfire_1_1_network.html#a20b631f2404bfdec2333f680a62abf55',1,'gridfire::Network']]], + ['networksolverstrategy_7',['NetworkSolverStrategy',['../classgridfire_1_1solver_1_1_network_solver_strategy.html#a01cbbec0eb5c3a60f50da38cdaf66505',1,'gridfire::solver::NetworkSolverStrategy']]], + ['num_5fspecies_8',['num_species',['../classgridfire_1_1reaction_1_1_reaction.html#a1d3c8ab6d55155f9a21ad80ed8b9ef97',1,'gridfire::reaction::Reaction']]] ]; diff --git a/docs/html/search/functions_d.js b/docs/html/search/functions_d.js index e4ac8f05..0d796329 100644 --- a/docs/html/search/functions_d.js +++ b/docs/html/search/functions_d.js @@ -1,11 +1,11 @@ var searchData= [ - ['packspeciestypeindexvectors_0',['packSpeciesTypeIndexVectors',['../classgridfire_1_1solver_1_1_q_s_e_network_solver.html#a5d81ee5bfcfd5e77fe52201ba9e63719',1,'gridfire::solver::QSENetworkSolver']]], - ['parsespeciesstring_1',['parseSpeciesString',['../namespacegridfire_1_1reaclib.html#afc0deac6cbef076e8884e66fd3ab66e0',1,'gridfire::reaclib']]], - ['pename_2',['peName',['../classgridfire_1_1reaction_1_1_reaction.html#a78f42664cc957e266b6cf15fda09be97',1,'gridfire::reaction::Reaction']]], - ['populatereactionidmap_3',['populateReactionIDMap',['../classgridfire_1_1_graph_engine.html#a26602e1b3c610780a47b5a6511d6d567',1,'gridfire::GraphEngine']]], - ['populatespeciestoindexmap_4',['populateSpeciesToIndexMap',['../classgridfire_1_1_graph_engine.html#a47202c43342b96480070874bffce1391',1,'gridfire::GraphEngine']]], - ['pp_5frate_5',['pp_rate',['../namespacegridfire_1_1approx8.html#a16739298c01e56967ce784a9a957439f',1,'gridfire::approx8']]], - ['product_5fspecies_6',['product_species',['../classgridfire_1_1reaction_1_1_reaction.html#a01c67726efbaa2ff8e4d6f2c965f485c',1,'gridfire::reaction::Reaction']]], - ['products_7',['products',['../classgridfire_1_1reaction_1_1_reaction.html#a6e2ff61b9e8409f2a561663628b8ce02',1,'gridfire::reaction::Reaction']]] + ['o16a_5frate_0',['o16a_rate',['../namespacegridfire_1_1approx8.html#a7387008e672ea12d277e2194745a4c93',1,'gridfire::approx8']]], + ['o16p_5frate_1',['o16p_rate',['../namespacegridfire_1_1approx8.html#a62c2f567dc1ada3816843c8586aad0dc',1,'gridfire::approx8']]], + ['operator_21_3d_2',['operator!=',['../classgridfire_1_1reaction_1_1_reaction.html#a2f1c115a99bc7c477a2e858ff18b1b51',1,'gridfire::reaction::Reaction::operator!=()'],['../classgridfire_1_1reaction_1_1_templated_reaction_set.html#aac76ec883b4ecebb2a94b2485dae7105',1,'gridfire::reaction::TemplatedReactionSet::operator!=()']]], + ['operator_28_29_3',['operator()',['../structgridfire_1_1approx8_1_1_jacobian.html#a548431915b5895082eb96ce66d5494fa',1,'gridfire::approx8::Jacobian::operator()()'],['../structgridfire_1_1approx8_1_1_o_d_e.html#a2e1eb1ce2aa7949c225d45ce4edf03d0',1,'gridfire::approx8::ODE::operator()()'],['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_r_h_s_functor.html#ae0b6362d9c0a14e69c7a47233db6a86a',1,'gridfire::solver::QSENetworkSolver::RHSFunctor::operator()()'],['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_jacobian_functor.html#a3668fae1e0f8e69ff3fd87275bf4a79d',1,'gridfire::solver::QSENetworkSolver::JacobianFunctor::operator()()'],['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#a16dc10cb9c1392920f8d0ba95e0bc86e',1,'gridfire::solver::QSENetworkSolver::EigenFunctor::operator()()'],['../structgridfire_1_1solver_1_1_direct_network_solver_1_1_r_h_s_functor.html#a3a7542b6c6b4c86b6fe53f54d7232919',1,'gridfire::solver::DirectNetworkSolver::RHSFunctor::operator()()'],['../structgridfire_1_1solver_1_1_direct_network_solver_1_1_jacobian_functor.html#ad4fc0b406218aa2f567f5c61a4eda3c9',1,'gridfire::solver::DirectNetworkSolver::JacobianFunctor::operator()()'],['../structstd_1_1hash_3_01gridfire_1_1reaction_1_1_reaction_01_4.html#a48224b63a80690e4f0620f1312be5dd9',1,'std::hash< gridfire::reaction::Reaction >::operator()()'],['../structstd_1_1hash_3_01gridfire_1_1reaction_1_1_reaction_set_01_4.html#a32b976b3e3e4e0403c1295f9b467e921',1,'std::hash< gridfire::reaction::ReactionSet >::operator()()'],['../structstd_1_1hash_3_01gridfire_1_1reaction_1_1_logical_reaction_set_01_4.html#a4b76e7119050266952ded94d6f0544cb',1,'std::hash< gridfire::reaction::LogicalReactionSet >::operator()()']]], + ['operator_3c_3c_4',['operator<<',['../namespacegridfire_1_1reaclib.html#a6bb94d5adc7bb9db5a67f770f7453e63',1,'gridfire::reaclib']]], + ['operator_3d_5',['operator=',['../classgridfire_1_1reaction_1_1_templated_reaction_set.html#ac510dce14a6033551318c0c7b241f3c8',1,'gridfire::reaction::TemplatedReactionSet']]], + ['operator_3d_3d_6',['operator==',['../classgridfire_1_1reaction_1_1_reaction.html#ac426457cf0a54a15b206549422083bac',1,'gridfire::reaction::Reaction::operator==()'],['../classgridfire_1_1reaction_1_1_templated_reaction_set.html#a128660f5fbc67054f73811ed2982d24d',1,'gridfire::reaction::TemplatedReactionSet::operator==(const TemplatedReactionSet &other) const']]], + ['operator_5b_5d_7',['operator[]',['../classgridfire_1_1reaction_1_1_templated_reaction_set.html#a638067a3e55ec2a422206055881aaaad',1,'gridfire::reaction::TemplatedReactionSet::operator[](size_t index) const'],['../classgridfire_1_1reaction_1_1_templated_reaction_set.html#a13e003529a17fa61aafdce3abd2dc773',1,'gridfire::reaction::TemplatedReactionSet::operator[](const std::string_view &id) const']]] ]; diff --git a/docs/html/search/functions_e.js b/docs/html/search/functions_e.js index 0269c898..c26acaca 100644 --- a/docs/html/search/functions_e.js +++ b/docs/html/search/functions_e.js @@ -1,4 +1,13 @@ var searchData= [ - ['qvalue_0',['qValue',['../classgridfire_1_1reaction_1_1_reaction.html#abda0b4e4313e6d4ba57acf37d5976fb8',1,'gridfire::reaction::Reaction']]] + ['packreactionsettologicalreactionset_0',['packReactionSetToLogicalReactionSet',['../namespacegridfire_1_1reaction.html#abfcfafc0cda0c3ed56930a12e7ead67f',1,'gridfire::reaction']]], + ['packspeciestypeindexvectors_1',['packSpeciesTypeIndexVectors',['../classgridfire_1_1solver_1_1_q_s_e_network_solver.html#a5d81ee5bfcfd5e77fe52201ba9e63719',1,'gridfire::solver::QSENetworkSolver']]], + ['parse_2',['parse',['../classgridfire_1_1io_1_1_network_file_parser.html#a66e8e724c903d6ef4dd1c8103276bdbf',1,'gridfire::io::NetworkFileParser::parse()'],['../classgridfire_1_1io_1_1_simple_reaction_list_file_parser.html#a4df01e3a93e1291d2cde0458545325f8',1,'gridfire::io::SimpleReactionListFileParser::parse()'],['../classgridfire_1_1io_1_1_m_e_s_a_network_file_parser.html#a568194277733b5c537901f8af32ee329',1,'gridfire::io::MESANetworkFileParser::parse()']]], + ['parsespeciesstring_3',['parseSpeciesString',['../namespacegridfire_1_1reaclib.html#afc0deac6cbef076e8884e66fd3ab66e0',1,'gridfire::reaclib']]], + ['pename_4',['peName',['../classgridfire_1_1reaction_1_1_reaction.html#a78f42664cc957e266b6cf15fda09be97',1,'gridfire::reaction::Reaction']]], + ['populatereactionidmap_5',['populateReactionIDMap',['../classgridfire_1_1_graph_engine.html#a26602e1b3c610780a47b5a6511d6d567',1,'gridfire::GraphEngine']]], + ['populatespeciestoindexmap_6',['populateSpeciesToIndexMap',['../classgridfire_1_1_graph_engine.html#a47202c43342b96480070874bffce1391',1,'gridfire::GraphEngine']]], + ['pp_5frate_7',['pp_rate',['../namespacegridfire_1_1approx8.html#a16739298c01e56967ce784a9a957439f',1,'gridfire::approx8']]], + ['product_5fspecies_8',['product_species',['../classgridfire_1_1reaction_1_1_reaction.html#a01c67726efbaa2ff8e4d6f2c965f485c',1,'gridfire::reaction::Reaction']]], + ['products_9',['products',['../classgridfire_1_1reaction_1_1_reaction.html#a6e2ff61b9e8409f2a561663628b8ce02',1,'gridfire::reaction::Reaction']]] ]; diff --git a/docs/html/search/functions_f.js b/docs/html/search/functions_f.js index 051bc590..0269c898 100644 --- a/docs/html/search/functions_f.js +++ b/docs/html/search/functions_f.js @@ -1,13 +1,4 @@ var searchData= [ - ['rate_5ffit_0',['rate_fit',['../namespacegridfire_1_1approx8.html#aed8175751b4920a53922f87f8c0e63c4',1,'gridfire::approx8']]], - ['ratecoefficients_1',['rateCoefficients',['../classgridfire_1_1reaction_1_1_reaction.html#a85968076e686e67763f4fdf4f72a892e',1,'gridfire::reaction::Reaction']]], - ['reactant_5fspecies_2',['reactant_species',['../classgridfire_1_1reaction_1_1_reaction.html#a855ea65e4b62fb0cddc550424a4bc923',1,'gridfire::reaction::Reaction']]], - ['reactants_3',['reactants',['../classgridfire_1_1reaction_1_1_reaction.html#a0b543e9b0bb4a21efe4b29780d9bdf5b',1,'gridfire::reaction::Reaction']]], - ['reaction_4',['Reaction',['../classgridfire_1_1reaction_1_1_reaction.html#a7dff19d387e771d96c26e98d75ee9d5c',1,'gridfire::reaction::Reaction']]], - ['reactionset_5',['ReactionSet',['../classgridfire_1_1reaction_1_1_reaction_set.html#afc40e3783576867229fad3115b3d39d3',1,'gridfire::reaction::ReactionSet::ReactionSet(std::vector< Reaction > reactions)'],['../classgridfire_1_1reaction_1_1_reaction_set.html#acfe2341ae1f016ad82098b6f5a1efc45',1,'gridfire::reaction::ReactionSet::ReactionSet(const ReactionSet &other)']]], - ['recordadtape_6',['recordADTape',['../classgridfire_1_1_graph_engine.html#a95563f6bc86007d9ee053a0f1e15b889',1,'gridfire::GraphEngine']]], - ['remove_5freaction_7',['remove_reaction',['../classgridfire_1_1reaction_1_1_reaction_set.html#a1177193b1e46b4e5be630028883ab8dd',1,'gridfire::reaction::ReactionSet']]], - ['reservejacobianmatrix_8',['reserveJacobianMatrix',['../classgridfire_1_1_graph_engine.html#a5a5458ed01923124f2d7e1f04f32f138',1,'gridfire::GraphEngine']]], - ['rhsfunctor_9',['RHSFunctor',['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_r_h_s_functor.html#a5353d8e6f27b6c435084a167bc009e46',1,'gridfire::solver::QSENetworkSolver::RHSFunctor::RHSFunctor()'],['../structgridfire_1_1solver_1_1_direct_network_solver_1_1_r_h_s_functor.html#aed201b52ea757069c17a49e9638b3d3c',1,'gridfire::solver::DirectNetworkSolver::RHSFunctor::RHSFunctor()']]] + ['qvalue_0',['qValue',['../classgridfire_1_1reaction_1_1_reaction.html#abda0b4e4313e6d4ba57acf37d5976fb8',1,'gridfire::reaction::Reaction']]] ]; diff --git a/docs/html/search/namespaces_0.js b/docs/html/search/namespaces_0.js index 61454677..889be69a 100644 --- a/docs/html/search/namespaces_0.js +++ b/docs/html/search/namespaces_0.js @@ -2,7 +2,10 @@ var searchData= [ ['gridfire_0',['gridfire',['../namespacegridfire.html',1,'']]], ['gridfire_3a_3aapprox8_1',['approx8',['../namespacegridfire_1_1approx8.html',1,'gridfire']]], - ['gridfire_3a_3areaclib_2',['reaclib',['../namespacegridfire_1_1reaclib.html',1,'gridfire']]], - ['gridfire_3a_3areaction_3',['reaction',['../namespacegridfire_1_1reaction.html',1,'gridfire']]], - ['gridfire_3a_3asolver_4',['solver',['../namespacegridfire_1_1solver.html',1,'gridfire']]] + ['gridfire_3a_3aio_2',['io',['../namespacegridfire_1_1io.html',1,'gridfire']]], + ['gridfire_3a_3areaclib_3',['reaclib',['../namespacegridfire_1_1reaclib.html',1,'gridfire']]], + ['gridfire_3a_3areaction_4',['reaction',['../namespacegridfire_1_1reaction.html',1,'gridfire']]], + ['gridfire_3a_3ascreening_5',['screening',['../namespacegridfire_1_1screening.html',1,'gridfire']]], + ['gridfire_3a_3asolver_6',['solver',['../namespacegridfire_1_1solver.html',1,'gridfire']]], + ['gridfire_3a_3autils_7',['utils',['../namespacegridfire_1_1utils.html',1,'gridfire']]] ]; diff --git a/docs/html/search/related_0.js b/docs/html/search/related_0.js index 7b653036..13a47f65 100644 --- a/docs/html/search/related_0.js +++ b/docs/html/search/related_0.js @@ -1,4 +1,4 @@ var searchData= [ - ['operator_3c_3c_0',['operator<<',['../structgridfire_1_1_net_out.html#a6996f06951c2a873e5464773ddc7319b',1,'gridfire::NetOut::operator<<()'],['../structgridfire_1_1reaction_1_1_rate_coefficient_set.html#a31a92f95a27e4430209dfc2bdfa5c40f',1,'gridfire::reaction::RateCoefficientSet::operator<<()']]] + ['operator_3c_3c_0',['operator<<',['../structgridfire_1_1_net_out.html#a6996f06951c2a873e5464773ddc7319b',1,'gridfire::NetOut::operator<<()'],['../structgridfire_1_1reaction_1_1_rate_coefficient_set.html#a31a92f95a27e4430209dfc2bdfa5c40f',1,'gridfire::reaction::RateCoefficientSet::operator<<()'],['../classgridfire_1_1reaction_1_1_reaction.html#a2b05ab608187216fc751bd2e42e8b7d8',1,'gridfire::reaction::Reaction::operator<<()'],['../classgridfire_1_1reaction_1_1_logical_reaction.html#a10cbea11653524dae2f7eafb5c22c90f',1,'gridfire::reaction::LogicalReaction::operator<<()'],['../classgridfire_1_1reaction_1_1_templated_reaction_set.html#a47265467dbf2c324ce3e4c85ebbaa6a7',1,'gridfire::reaction::TemplatedReactionSet::operator<<()']]] ]; diff --git a/docs/html/search/searchdata.js b/docs/html/search/searchdata.js index 2445d089..c53fea97 100644 --- a/docs/html/search/searchdata.js +++ b/docs/html/search/searchdata.js @@ -1,14 +1,14 @@ var indexSectionsWithContent = { - 0: "abcdefghijlmnopqrstuv~", - 1: "adeghjlnoqrs", + 0: "abcdefghijlmnopqrstuvw~", + 1: "abdefghjlmnopqrstw", 2: "gs", - 3: "emnrs", - 4: "abcdeghijlmnopqrstuv~", + 3: "elmnrs", + 4: "abcdefghijlmnopqrstuv~", 5: "acdefilmnpqrst", - 6: "acdijlmosv", - 7: "n", - 8: "aru", + 6: "acdijlmorsv", + 7: "ns", + 8: "abiruvw", 9: "o", 10: "glt", 11: "ei" diff --git a/docs/html/search/typedefs_0.js b/docs/html/search/typedefs_0.js index 8aba0d36..75579a39 100644 --- a/docs/html/search/typedefs_0.js +++ b/docs/html/search/typedefs_0.js @@ -1,5 +1,5 @@ var searchData= [ ['adaptivenetworksolverstrategy_0',['AdaptiveNetworkSolverStrategy',['../namespacegridfire_1_1solver.html#af3b10822ab58b55365577755c1f4faf6',1,'gridfire::solver']]], - ['addouble_1',['ADDouble',['../namespacegridfire.html#a1121d0b2d005195333412559fa29d3cc',1,'gridfire']]] + ['addouble_1',['ADDouble',['../classgridfire_1_1screening_1_1_screening_model.html#a107ff2897f040d6f27f69d56a0bdd28d',1,'gridfire::screening::ScreeningModel::ADDouble'],['../classgridfire_1_1screening_1_1_bare_screening_model.html#a51119d705267e0b415aae8b4881d8c96',1,'gridfire::screening::BareScreeningModel::ADDouble'],['../namespacegridfire.html#a1121d0b2d005195333412559fa29d3cc',1,'gridfire::ADDouble'],['../namespacegridfire_1_1screening.html#ae7dd1a7ccb7bf3c05084094ab008d8a3',1,'gridfire::screening::ADDouble']]] ]; diff --git a/docs/html/search/typedefs_1.js b/docs/html/search/typedefs_1.js index 7d5ccdd3..17b30d9b 100644 --- a/docs/html/search/typedefs_1.js +++ b/docs/html/search/typedefs_1.js @@ -1,4 +1,4 @@ var searchData= [ - ['config_0',['Config',['../classgridfire_1_1_adaptive_engine_view.html#afec39b2faa34ea65c5488dd8e11ba3c3',1,'gridfire::AdaptiveEngineView']]] + ['config_0',['Config',['../classgridfire_1_1_adaptive_engine_view.html#afec39b2faa34ea65c5488dd8e11ba3c3',1,'gridfire::AdaptiveEngineView::Config'],['../classgridfire_1_1_file_defined_engine_view.html#a63f8f85e75ecaab6fa39d48d7a846187',1,'gridfire::FileDefinedEngineView::Config'],['../classgridfire_1_1io_1_1_simple_reaction_list_file_parser.html#ad913155a5a2a36b29e4ce4ca8d71c036',1,'gridfire::io::SimpleReactionListFileParser::Config'],['../classgridfire_1_1io_1_1_m_e_s_a_network_file_parser.html#af43ad8375abf1cedfdccc296b9958c2b',1,'gridfire::io::MESANetworkFileParser::Config']]] ]; diff --git a/docs/html/search/typedefs_5.js b/docs/html/search/typedefs_5.js index 5699c3ea..91cf0c4a 100644 --- a/docs/html/search/typedefs_5.js +++ b/docs/html/search/typedefs_5.js @@ -1,4 +1,5 @@ var searchData= [ - ['logmanager_0',['LogManager',['../classgridfire_1_1_adaptive_engine_view.html#a5eaf7c3a4e28cd3a4f34979b88a80103',1,'gridfire::AdaptiveEngineView']]] + ['logicalreactionset_0',['LogicalReactionSet',['../namespacegridfire_1_1reaction.html#aa86f08712565f278adacc7cd2361eb31',1,'gridfire::reaction']]], + ['logmanager_1',['LogManager',['../classgridfire_1_1_adaptive_engine_view.html#a5eaf7c3a4e28cd3a4f34979b88a80103',1,'gridfire::AdaptiveEngineView::LogManager'],['../classgridfire_1_1_file_defined_engine_view.html#acbb1a9bcb775e6d50de512a333afed08',1,'gridfire::FileDefinedEngineView::LogManager'],['../classgridfire_1_1io_1_1_simple_reaction_list_file_parser.html#a6f8f9a1f54cd2be5ec66c3181be892de',1,'gridfire::io::SimpleReactionListFileParser::LogManager'],['../classgridfire_1_1io_1_1_m_e_s_a_network_file_parser.html#a84aa6894a331ad57bdab1e1ab85d4055',1,'gridfire::io::MESANetworkFileParser::LogManager']]] ]; diff --git a/docs/html/search/typedefs_8.js b/docs/html/search/typedefs_8.js index 30e286a9..76387ed7 100644 --- a/docs/html/search/typedefs_8.js +++ b/docs/html/search/typedefs_8.js @@ -1,4 +1,4 @@ var searchData= [ - ['staticnetworksolverstrategy_0',['StaticNetworkSolverStrategy',['../namespacegridfire_1_1solver.html#a5361d6cf364f0ba2f88285a60bb9cd92',1,'gridfire::solver']]] + ['reactionset_0',['ReactionSet',['../namespacegridfire_1_1reaction.html#ad838ce3fb6cc02c3fd90b924a0dd91b1',1,'gridfire::reaction']]] ]; diff --git a/docs/html/search/typedefs_9.js b/docs/html/search/typedefs_9.js index 4c09a1c9..30e286a9 100644 --- a/docs/html/search/typedefs_9.js +++ b/docs/html/search/typedefs_9.js @@ -1,5 +1,4 @@ var searchData= [ - ['vec7_0',['vec7',['../namespacegridfire_1_1approx8.html#aaa49cb0c9ad4b0b9dd0f9b5e192ca12a',1,'gridfire::approx8']]], - ['vector_5ftype_1',['vector_type',['../namespacegridfire_1_1approx8.html#aa04f907d4ef6a1b6b2a9a28d4bb53882',1,'gridfire::approx8']]] + ['staticnetworksolverstrategy_0',['StaticNetworkSolverStrategy',['../namespacegridfire_1_1solver.html#a5361d6cf364f0ba2f88285a60bb9cd92',1,'gridfire::solver']]] ]; diff --git a/docs/html/search/variables_7.js b/docs/html/search/variables_7.js index 7aa2f6dd..ec2841d1 100644 --- a/docs/html/search/variables_7.js +++ b/docs/html/search/variables_7.js @@ -1,52 +1,57 @@ var searchData= [ - ['m_5factivereactions_0',['m_activeReactions',['../classgridfire_1_1_adaptive_engine_view.html#a19fc7e02e216b797aa643fa35e429800',1,'gridfire::AdaptiveEngineView']]], - ['m_5factivespecies_1',['m_activeSpecies',['../classgridfire_1_1_adaptive_engine_view.html#af4bc9fc6e4afcd6a53c49ca6e2a95940',1,'gridfire::AdaptiveEngineView']]], - ['m_5fbaseengine_2',['m_baseEngine',['../classgridfire_1_1_adaptive_engine_view.html#a4d38b46be9f25c7afe7ddd2b284253f8',1,'gridfire::AdaptiveEngineView']]], + ['m_5factivereactions_0',['m_activeReactions',['../classgridfire_1_1_adaptive_engine_view.html#a19fc7e02e216b797aa643fa35e429800',1,'gridfire::AdaptiveEngineView::m_activeReactions'],['../classgridfire_1_1_file_defined_engine_view.html#ae012da2b1f6169cb13e6075a73353ab2',1,'gridfire::FileDefinedEngineView::m_activeReactions']]], + ['m_5factivespecies_1',['m_activeSpecies',['../classgridfire_1_1_adaptive_engine_view.html#af4bc9fc6e4afcd6a53c49ca6e2a95940',1,'gridfire::AdaptiveEngineView::m_activeSpecies'],['../classgridfire_1_1_file_defined_engine_view.html#a299a0c61aa4f26029c770013c9feff5e',1,'gridfire::FileDefinedEngineView::m_activeSpecies']]], + ['m_5fbaseengine_2',['m_baseEngine',['../classgridfire_1_1_adaptive_engine_view.html#a4d38b46be9f25c7afe7ddd2b284253f8',1,'gridfire::AdaptiveEngineView::m_baseEngine'],['../classgridfire_1_1_file_defined_engine_view.html#ad8454c98fa9a4bb45dc81059bc51fc81',1,'gridfire::FileDefinedEngineView::m_baseEngine']]], ['m_5fchapter_3',['m_chapter',['../classgridfire_1_1reaction_1_1_reaction.html#a16f9cbb6269817099d3dc07d4e63da7b',1,'gridfire::reaction::Reaction']]], - ['m_5fconfig_4',['m_config',['../classgridfire_1_1_adaptive_engine_view.html#a14171a9ccc45a63996a967c72983de30',1,'gridfire::AdaptiveEngineView::m_config'],['../classgridfire_1_1_graph_engine.html#a3b17102b143435ddfdc015d7a50c4b18',1,'gridfire::GraphEngine::m_config'],['../classgridfire_1_1_network.html#a9f8802012728ef5fea0e8cd465044e09',1,'gridfire::Network::m_config'],['../classgridfire_1_1solver_1_1_q_s_e_network_solver.html#a7d19b6e50db34d38c81afec76bbedee1',1,'gridfire::solver::QSENetworkSolver::m_config'],['../classgridfire_1_1solver_1_1_direct_network_solver.html#a0d1b52d06b0521e7c556d75cd8d2ffe6',1,'gridfire::solver::DirectNetworkSolver::m_config']]], + ['m_5fconfig_4',['m_config',['../classgridfire_1_1_graph_engine.html#a3b17102b143435ddfdc015d7a50c4b18',1,'gridfire::GraphEngine::m_config'],['../classgridfire_1_1_adaptive_engine_view.html#a14171a9ccc45a63996a967c72983de30',1,'gridfire::AdaptiveEngineView::m_config'],['../classgridfire_1_1_file_defined_engine_view.html#a7a80966c023ae722239491af58609362',1,'gridfire::FileDefinedEngineView::m_config'],['../classgridfire_1_1io_1_1_simple_reaction_list_file_parser.html#a4061e99bd77a3de0d6d9e317bfc74874',1,'gridfire::io::SimpleReactionListFileParser::m_config'],['../classgridfire_1_1io_1_1_m_e_s_a_network_file_parser.html#aea206c3a7600db8d657666fef88fa20d',1,'gridfire::io::MESANetworkFileParser::m_config'],['../classgridfire_1_1_network.html#a9f8802012728ef5fea0e8cd465044e09',1,'gridfire::Network::m_config'],['../classgridfire_1_1solver_1_1_q_s_e_network_solver.html#a7d19b6e50db34d38c81afec76bbedee1',1,'gridfire::solver::QSENetworkSolver::m_config'],['../classgridfire_1_1solver_1_1_direct_network_solver.html#a0d1b52d06b0521e7c556d75cd8d2ffe6',1,'gridfire::solver::DirectNetworkSolver::m_config']]], ['m_5fconstants_5',['m_constants',['../classgridfire_1_1_graph_engine.html#a0837bab6dcd111d9075c9343b90d64f1',1,'gridfire::GraphEngine::m_constants'],['../classgridfire_1_1_network.html#adf7002883160101c9f9d1b376b265410',1,'gridfire::Network::m_constants']]], ['m_5fdt0_6',['m_dt0',['../classgridfire_1_1approx8_1_1_approx8_network.html#a6ed8022834e9541b3e547dd867648b0f',1,'gridfire::approx8::Approx8Network']]], ['m_5fdynamicspeciesindices_7',['m_dynamicSpeciesIndices',['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_r_h_s_functor.html#a3ac1ef529627d21f7d1ad718dc87f7f9',1,'gridfire::solver::QSENetworkSolver::RHSFunctor::m_dynamicSpeciesIndices'],['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_jacobian_functor.html#a2071ce797f94ae1a3ea6d934748672ce',1,'gridfire::solver::QSENetworkSolver::JacobianFunctor::m_dynamicSpeciesIndices'],['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#a08ce53701b152f3ce108c1c18ce64de2',1,'gridfire::solver::QSENetworkSolver::EigenFunctor::m_dynamicSpeciesIndices']]], ['m_5fengine_8',['m_engine',['../classgridfire_1_1solver_1_1_network_solver_strategy.html#a724924d94eaf82b67d9988a55c3261e8',1,'gridfire::solver::NetworkSolverStrategy::m_engine'],['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_r_h_s_functor.html#a0d8d28a6559cfed5e7cd683523d49b2c',1,'gridfire::solver::QSENetworkSolver::RHSFunctor::m_engine'],['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_jacobian_functor.html#aaaa82eff96e6127a6de05444f730e43a',1,'gridfire::solver::QSENetworkSolver::JacobianFunctor::m_engine'],['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#a93b46ca95ddf9e4d21d02700621e6285',1,'gridfire::solver::QSENetworkSolver::EigenFunctor::m_engine'],['../structgridfire_1_1solver_1_1_direct_network_solver_1_1_r_h_s_functor.html#a04f8c84e46e6fbd0977e50fda4829d1a',1,'gridfire::solver::DirectNetworkSolver::RHSFunctor::m_engine'],['../structgridfire_1_1solver_1_1_direct_network_solver_1_1_jacobian_functor.html#a56f8b2b222fb2a7dac190ead0babfdd0',1,'gridfire::solver::DirectNetworkSolver::JacobianFunctor::m_engine']]], - ['m_5fformat_9',['m_format',['../classgridfire_1_1_network.html#a37218e18f1bdbda7be94aa230f47dd18',1,'gridfire::Network']]], - ['m_5fid_10',['m_id',['../classgridfire_1_1reaction_1_1_reaction.html#a5c685e5a736b51799e5b9f6746c4126b',1,'gridfire::reaction::Reaction::m_id'],['../classgridfire_1_1reaction_1_1_reaction_set.html#af92e3003b2a3606b48ab857cdedc3111',1,'gridfire::reaction::ReactionSet::m_id'],['../classgridfire_1_1reaction_1_1_logical_reaction_set.html#a7e21865d3dafb65d2bf3b051ee55c4c2',1,'gridfire::reaction::LogicalReactionSet::m_id']]], - ['m_5fisstale_11',['m_isStale',['../classgridfire_1_1_adaptive_engine_view.html#a63580db57e0f48f508906a11ccfd465e',1,'gridfire::AdaptiveEngineView']]], - ['m_5fisviewinitialized_12',['m_isViewInitialized',['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_r_h_s_functor.html#a81f964b87457847d7de13fed18499283',1,'gridfire::solver::QSENetworkSolver::RHSFunctor::m_isViewInitialized'],['../classgridfire_1_1solver_1_1_q_s_e_network_solver.html#ab07e68fd418ab058f890502d191b3f18',1,'gridfire::solver::QSENetworkSolver::m_isViewInitialized']]], - ['m_5fjacobianmatrix_13',['m_jacobianMatrix',['../classgridfire_1_1_graph_engine.html#a2f1718c89d4aaad028102724d18fa910',1,'gridfire::GraphEngine']]], - ['m_5flastseenconditions_14',['m_lastSeenConditions',['../classgridfire_1_1solver_1_1_q_s_e_network_solver.html#a3c9d46c8f5c519854cd65309a588772f',1,'gridfire::solver::QSENetworkSolver']]], - ['m_5flogger_15',['m_logger',['../classgridfire_1_1_adaptive_engine_view.html#ac5bdbe46f87d38d9f23ece5743dcd193',1,'gridfire::AdaptiveEngineView::m_logger'],['../classgridfire_1_1_graph_engine.html#a483979fc154adc88d029b3b672066d53',1,'gridfire::GraphEngine::m_logger'],['../classgridfire_1_1_network.html#a960d309defc570f92d296ce4b93920e5',1,'gridfire::Network::m_logger'],['../classgridfire_1_1reaction_1_1_reaction.html#a7044d0a1d59d85502ce554e4ec2167e4',1,'gridfire::reaction::Reaction::m_logger'],['../classgridfire_1_1reaction_1_1_reaction_set.html#aff5ae284012009164d4b3033577709eb',1,'gridfire::reaction::ReactionSet::m_logger'],['../classgridfire_1_1reaction_1_1_logical_reaction_set.html#ad5c1f6a1642c47437dbf8cc20a32b51e',1,'gridfire::reaction::LogicalReactionSet::m_logger'],['../classgridfire_1_1solver_1_1_q_s_e_network_solver.html#a428b49fa7878559665363de06f1a44a7',1,'gridfire::solver::QSENetworkSolver::m_logger'],['../classgridfire_1_1solver_1_1_direct_network_solver.html#a093aa89fd23c2fe03266e286871c7079',1,'gridfire::solver::DirectNetworkSolver::m_logger']]], - ['m_5flogmanager_16',['m_logManager',['../classgridfire_1_1_network.html#a0bb7c7be9a3c3212ef6dcbf26dcacb16',1,'gridfire::Network']]], - ['m_5fnetworkspecies_17',['m_networkSpecies',['../classgridfire_1_1_graph_engine.html#a92d26068ba139e47d335f5fe9e2814cc',1,'gridfire::GraphEngine']]], - ['m_5fnetworkspeciesmap_18',['m_networkSpeciesMap',['../classgridfire_1_1_graph_engine.html#a30e09ed0bce6aa5fc89beaa316a7b827',1,'gridfire::GraphEngine']]], - ['m_5fnumspecies_19',['m_numSpecies',['../structgridfire_1_1solver_1_1_direct_network_solver_1_1_r_h_s_functor.html#ac4a1af03d2a4fbc5cc2407b8a6833147',1,'gridfire::solver::DirectNetworkSolver::RHSFunctor::m_numSpecies'],['../structgridfire_1_1solver_1_1_direct_network_solver_1_1_jacobian_functor.html#a3f624142212b5e6ff65f5706953fe353',1,'gridfire::solver::DirectNetworkSolver::JacobianFunctor::m_numSpecies']]], - ['m_5fpename_20',['m_peName',['../classgridfire_1_1reaction_1_1_reaction.html#a6124aa9fc2306349e1dd879a37923248',1,'gridfire::reaction::Reaction']]], - ['m_5fproducts_21',['m_products',['../classgridfire_1_1reaction_1_1_reaction.html#a4b5607ed413acdf29539b8a57461e49e',1,'gridfire::reaction::Reaction']]], - ['m_5fqsespeciesindices_22',['m_QSESpeciesIndices',['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_r_h_s_functor.html#a6be7259897a47ce480b289144b06e269',1,'gridfire::solver::QSENetworkSolver::RHSFunctor::m_QSESpeciesIndices'],['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_jacobian_functor.html#a1b92391170eb46771bd499aa8d115334',1,'gridfire::solver::QSENetworkSolver::JacobianFunctor::m_QSESpeciesIndices'],['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#abaf28fdd93e881ef56c24f541be7492d',1,'gridfire::solver::QSENetworkSolver::EigenFunctor::m_QSESpeciesIndices']]], - ['m_5fqvalue_23',['m_qValue',['../classgridfire_1_1reaction_1_1_reaction.html#a59122a2898bb9af640cc3e9aeb49028b',1,'gridfire::reaction::Reaction']]], - ['m_5fratecoefficients_24',['m_rateCoefficients',['../classgridfire_1_1reaction_1_1_reaction.html#aa61a9a024d7c4ff66a351ccd0277ec72',1,'gridfire::reaction::Reaction']]], - ['m_5frates_25',['m_rates',['../classgridfire_1_1reaction_1_1_logical_reaction.html#a81f75f0085f8a5a45169f0b7240c809d',1,'gridfire::reaction::LogicalReaction']]], - ['m_5freactants_26',['m_reactants',['../classgridfire_1_1reaction_1_1_reaction.html#a87a065b3c7806bcdb5eadb7de2978a11',1,'gridfire::reaction::Reaction']]], - ['m_5freactionidmap_27',['m_reactionIDMap',['../classgridfire_1_1_graph_engine.html#a5d6cc63b99b467c2a976d1fbaaa1dfa3',1,'gridfire::GraphEngine']]], - ['m_5freactionindexmap_28',['m_reactionIndexMap',['../classgridfire_1_1_adaptive_engine_view.html#a21c6e33bbf8c18fd5b5eaabb469054de',1,'gridfire::AdaptiveEngineView']]], - ['m_5freactionnamemap_29',['m_reactionNameMap',['../classgridfire_1_1reaction_1_1_reaction_set.html#ad3e2715e9e4d6b4f1dc54b969a1322f4',1,'gridfire::reaction::ReactionSet::m_reactionNameMap'],['../classgridfire_1_1reaction_1_1_logical_reaction_set.html#a49280e0f29d2d4e322d76831688f7f27',1,'gridfire::reaction::LogicalReactionSet::m_reactionNameMap']]], - ['m_5freactions_30',['m_reactions',['../classgridfire_1_1_graph_engine.html#acb7c4f5108b0efeae48ad15598e808c3',1,'gridfire::GraphEngine::m_reactions'],['../classgridfire_1_1reaction_1_1_reaction_set.html#aaa3c40cb22b8bd056cf62b047ae4937c',1,'gridfire::reaction::ReactionSet::m_reactions'],['../classgridfire_1_1reaction_1_1_logical_reaction_set.html#a04f5579b45258e623a0b8f1d3d43fee9',1,'gridfire::reaction::LogicalReactionSet::m_reactions']]], - ['m_5freverse_31',['m_reverse',['../classgridfire_1_1reaction_1_1_reaction.html#a0b0b9ac498080aae91ffd466d1ae85a9',1,'gridfire::reaction::Reaction']]], - ['m_5frho_32',['m_rho',['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_r_h_s_functor.html#adc0f8e655af42f414dcb220a7224f261',1,'gridfire::solver::QSENetworkSolver::RHSFunctor::m_rho'],['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_jacobian_functor.html#a0907f7b6c1a87baf5e39fbc17a30df82',1,'gridfire::solver::QSENetworkSolver::JacobianFunctor::m_rho'],['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#ab0a0d4c166e97b971543cbbf2b0a1a2e',1,'gridfire::solver::QSENetworkSolver::EigenFunctor::m_rho'],['../structgridfire_1_1solver_1_1_direct_network_solver_1_1_r_h_s_functor.html#a7d4f7f04c4ee6f0b519194f87aa265e7',1,'gridfire::solver::DirectNetworkSolver::RHSFunctor::m_rho'],['../structgridfire_1_1solver_1_1_direct_network_solver_1_1_jacobian_functor.html#a932c41aa9f1aa38e56a03b27cd2ccda4',1,'gridfire::solver::DirectNetworkSolver::JacobianFunctor::m_rho']]], - ['m_5frhsadfun_33',['m_rhsADFun',['../classgridfire_1_1_graph_engine.html#a2e22b111f6d00ecc9e3804a71f1ce876',1,'gridfire::GraphEngine']]], - ['m_5fsourcelabel_34',['m_sourceLabel',['../classgridfire_1_1reaction_1_1_reaction.html#a0185c6be5465d113f25e00aee1297cd6',1,'gridfire::reaction::Reaction']]], - ['m_5fsources_35',['m_sources',['../classgridfire_1_1reaction_1_1_logical_reaction.html#a7fe91d24e20ebc76d612f6ad742f476f',1,'gridfire::reaction::LogicalReaction']]], - ['m_5fspeciesindexmap_36',['m_speciesIndexMap',['../classgridfire_1_1_adaptive_engine_view.html#a5f66204a0ff5b27eed243afddecb0093',1,'gridfire::AdaptiveEngineView']]], - ['m_5fspeciestoindexmap_37',['m_speciesToIndexMap',['../classgridfire_1_1_graph_engine.html#ad8237c252145a75092202d00f5e1ddf7',1,'gridfire::GraphEngine']]], - ['m_5fstiff_38',['m_stiff',['../classgridfire_1_1approx8_1_1_approx8_network.html#a697cb49bebc8d0659eb791500c451c67',1,'gridfire::approx8::Approx8Network::m_stiff'],['../classgridfire_1_1_network.html#aefe364ae5af783e19e7b93bfd475566e',1,'gridfire::Network::m_stiff']]], - ['m_5fstoichiometrymatrix_39',['m_stoichiometryMatrix',['../classgridfire_1_1_graph_engine.html#ad1cb5fd32efc37668e2d9ecf0c72ad24',1,'gridfire::GraphEngine']]], - ['m_5ft9_40',['m_T9',['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_r_h_s_functor.html#a35026100163c7cc6fdb4c2e4d988b8cb',1,'gridfire::solver::QSENetworkSolver::RHSFunctor::m_T9'],['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_jacobian_functor.html#a85f88639447a9a706008efece82ff289',1,'gridfire::solver::QSENetworkSolver::JacobianFunctor::m_T9'],['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#a6771ae56ddd9058954b42ee92a378309',1,'gridfire::solver::QSENetworkSolver::EigenFunctor::m_T9'],['../structgridfire_1_1solver_1_1_direct_network_solver_1_1_r_h_s_functor.html#a082844f1eae0609e66620575210e8823',1,'gridfire::solver::DirectNetworkSolver::RHSFunctor::m_T9'],['../structgridfire_1_1solver_1_1_direct_network_solver_1_1_jacobian_functor.html#a88f5fc48a555b369f1e2688d6bb67b83',1,'gridfire::solver::DirectNetworkSolver::JacobianFunctor::m_T9']]], - ['m_5ftmax_41',['m_tMax',['../classgridfire_1_1approx8_1_1_approx8_network.html#a6fadf388f07c160f1887a3cb72eaa869',1,'gridfire::approx8::Approx8Network']]], - ['m_5fy_42',['m_y',['../classgridfire_1_1approx8_1_1_approx8_network.html#abf9f13ff532917ddac4a7d987698836d',1,'gridfire::approx8::Approx8Network']]], - ['m_5fy_5fqse_43',['m_Y_QSE',['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_r_h_s_functor.html#a02c23ef20d616bf5a591a274b66cd75a',1,'gridfire::solver::QSENetworkSolver::RHSFunctor']]], - ['m_5fydynamic_44',['m_YDynamic',['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#af4f10300bde1e8e07b896bfca6335401',1,'gridfire::solver::QSENetworkSolver::EigenFunctor']]], - ['min_5fabundance_5fthreshold_45',['MIN_ABUNDANCE_THRESHOLD',['../namespacegridfire.html#a96c062f94713921e5d7568ecedcdcb06',1,'gridfire']]], - ['min_5fdensity_5fthreshold_46',['MIN_DENSITY_THRESHOLD',['../namespacegridfire.html#ada3c137c014ecd8d06200fea2d1a9f50',1,'gridfire']]], - ['min_5fjacobian_5fthreshold_47',['MIN_JACOBIAN_THRESHOLD',['../namespacegridfire.html#ae01b1738df1921db565bcbd68dd6cf64',1,'gridfire']]], - ['mion_48',['mIon',['../structgridfire_1_1approx8_1_1_approx8_net.html#a928b7810cb2993d59d40aa73c2faef18',1,'gridfire::approx8::Approx8Net']]] + ['m_5ffilename_9',['m_fileName',['../classgridfire_1_1_file_defined_engine_view.html#a1b343998b93955025a589b2b4541e33b',1,'gridfire::FileDefinedEngineView']]], + ['m_5ffilename_10',['m_filename',['../classgridfire_1_1io_1_1_m_e_s_a_network_file_parser.html#ab7f82597abf17f16c401bcdf528bd099',1,'gridfire::io::MESANetworkFileParser']]], + ['m_5fformat_11',['m_format',['../classgridfire_1_1_network.html#a37218e18f1bdbda7be94aa230f47dd18',1,'gridfire::Network']]], + ['m_5fid_12',['m_id',['../classgridfire_1_1reaction_1_1_reaction.html#a5c685e5a736b51799e5b9f6746c4126b',1,'gridfire::reaction::Reaction::m_id'],['../classgridfire_1_1reaction_1_1_templated_reaction_set.html#a5fda3af5ea9ae0ecfb60a61a9e07f5b4',1,'gridfire::reaction::TemplatedReactionSet::m_id']]], + ['m_5fisstale_13',['m_isStale',['../classgridfire_1_1_adaptive_engine_view.html#a63580db57e0f48f508906a11ccfd465e',1,'gridfire::AdaptiveEngineView::m_isStale'],['../classgridfire_1_1_file_defined_engine_view.html#a6e421bc748933be31bed9ff53f12b595',1,'gridfire::FileDefinedEngineView::m_isStale']]], + ['m_5fisviewinitialized_14',['m_isViewInitialized',['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_r_h_s_functor.html#a81f964b87457847d7de13fed18499283',1,'gridfire::solver::QSENetworkSolver::RHSFunctor::m_isViewInitialized'],['../classgridfire_1_1solver_1_1_q_s_e_network_solver.html#ab07e68fd418ab058f890502d191b3f18',1,'gridfire::solver::QSENetworkSolver::m_isViewInitialized']]], + ['m_5fjacobianmatrix_15',['m_jacobianMatrix',['../classgridfire_1_1_graph_engine.html#a2f1718c89d4aaad028102724d18fa910',1,'gridfire::GraphEngine']]], + ['m_5flastseenconditions_16',['m_lastSeenConditions',['../classgridfire_1_1solver_1_1_q_s_e_network_solver.html#a3c9d46c8f5c519854cd65309a588772f',1,'gridfire::solver::QSENetworkSolver']]], + ['m_5flogger_17',['m_logger',['../classgridfire_1_1_graph_engine.html#a483979fc154adc88d029b3b672066d53',1,'gridfire::GraphEngine::m_logger'],['../classgridfire_1_1_adaptive_engine_view.html#ac5bdbe46f87d38d9f23ece5743dcd193',1,'gridfire::AdaptiveEngineView::m_logger'],['../classgridfire_1_1_file_defined_engine_view.html#a9d93633ed4ab68de94b7274f879a0432',1,'gridfire::FileDefinedEngineView::m_logger'],['../classgridfire_1_1io_1_1_simple_reaction_list_file_parser.html#acef7eafe3cbea159259f69c88d309b66',1,'gridfire::io::SimpleReactionListFileParser::m_logger'],['../classgridfire_1_1io_1_1_m_e_s_a_network_file_parser.html#ab9c683289d48e58edf06bf59215b4937',1,'gridfire::io::MESANetworkFileParser::m_logger'],['../classgridfire_1_1_network.html#a960d309defc570f92d296ce4b93920e5',1,'gridfire::Network::m_logger'],['../classgridfire_1_1reaction_1_1_reaction.html#a7044d0a1d59d85502ce554e4ec2167e4',1,'gridfire::reaction::Reaction::m_logger'],['../classgridfire_1_1reaction_1_1_templated_reaction_set.html#ac6fcc5b08938b73ff6dac680e5bf28d9',1,'gridfire::reaction::TemplatedReactionSet::m_logger'],['../classgridfire_1_1screening_1_1_weak_screening_model.html#a0a4d7d6d36dbe7b764b613d34f18386f',1,'gridfire::screening::WeakScreeningModel::m_logger'],['../classgridfire_1_1solver_1_1_q_s_e_network_solver.html#a428b49fa7878559665363de06f1a44a7',1,'gridfire::solver::QSENetworkSolver::m_logger'],['../structgridfire_1_1solver_1_1_direct_network_solver_1_1_r_h_s_functor.html#a9cf3e5b5206b5cd8650cbf620ca5007b',1,'gridfire::solver::DirectNetworkSolver::RHSFunctor::m_logger'],['../classgridfire_1_1solver_1_1_direct_network_solver.html#a093aa89fd23c2fe03266e286871c7079',1,'gridfire::solver::DirectNetworkSolver::m_logger']]], + ['m_5flogmanager_18',['m_logManager',['../classgridfire_1_1_network.html#a0bb7c7be9a3c3212ef6dcbf26dcacb16',1,'gridfire::Network']]], + ['m_5fnetworkspecies_19',['m_networkSpecies',['../classgridfire_1_1_graph_engine.html#a92d26068ba139e47d335f5fe9e2814cc',1,'gridfire::GraphEngine']]], + ['m_5fnetworkspeciesmap_20',['m_networkSpeciesMap',['../classgridfire_1_1_graph_engine.html#a30e09ed0bce6aa5fc89beaa316a7b827',1,'gridfire::GraphEngine']]], + ['m_5fnumspecies_21',['m_numSpecies',['../structgridfire_1_1solver_1_1_direct_network_solver_1_1_r_h_s_functor.html#ac4a1af03d2a4fbc5cc2407b8a6833147',1,'gridfire::solver::DirectNetworkSolver::RHSFunctor::m_numSpecies'],['../structgridfire_1_1solver_1_1_direct_network_solver_1_1_jacobian_functor.html#a3f624142212b5e6ff65f5706953fe353',1,'gridfire::solver::DirectNetworkSolver::JacobianFunctor::m_numSpecies']]], + ['m_5fparser_22',['m_parser',['../classgridfire_1_1_file_defined_engine_view.html#a0a9b07176cb93b54c677b6ce71fda500',1,'gridfire::FileDefinedEngineView']]], + ['m_5fpename_23',['m_peName',['../classgridfire_1_1reaction_1_1_reaction.html#a6124aa9fc2306349e1dd879a37923248',1,'gridfire::reaction::Reaction']]], + ['m_5fproducts_24',['m_products',['../classgridfire_1_1reaction_1_1_reaction.html#a4b5607ed413acdf29539b8a57461e49e',1,'gridfire::reaction::Reaction']]], + ['m_5fqsespeciesindices_25',['m_QSESpeciesIndices',['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_r_h_s_functor.html#a6be7259897a47ce480b289144b06e269',1,'gridfire::solver::QSENetworkSolver::RHSFunctor::m_QSESpeciesIndices'],['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_jacobian_functor.html#a1b92391170eb46771bd499aa8d115334',1,'gridfire::solver::QSENetworkSolver::JacobianFunctor::m_QSESpeciesIndices'],['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#abaf28fdd93e881ef56c24f541be7492d',1,'gridfire::solver::QSENetworkSolver::EigenFunctor::m_QSESpeciesIndices']]], + ['m_5fqvalue_26',['m_qValue',['../classgridfire_1_1reaction_1_1_reaction.html#a59122a2898bb9af640cc3e9aeb49028b',1,'gridfire::reaction::Reaction']]], + ['m_5fratecoefficients_27',['m_rateCoefficients',['../classgridfire_1_1reaction_1_1_reaction.html#aa61a9a024d7c4ff66a351ccd0277ec72',1,'gridfire::reaction::Reaction']]], + ['m_5frates_28',['m_rates',['../classgridfire_1_1reaction_1_1_logical_reaction.html#a81f75f0085f8a5a45169f0b7240c809d',1,'gridfire::reaction::LogicalReaction']]], + ['m_5freactants_29',['m_reactants',['../classgridfire_1_1reaction_1_1_reaction.html#a87a065b3c7806bcdb5eadb7de2978a11',1,'gridfire::reaction::Reaction']]], + ['m_5freactionidmap_30',['m_reactionIDMap',['../classgridfire_1_1_graph_engine.html#a5d6cc63b99b467c2a976d1fbaaa1dfa3',1,'gridfire::GraphEngine']]], + ['m_5freactionindexmap_31',['m_reactionIndexMap',['../classgridfire_1_1_adaptive_engine_view.html#a21c6e33bbf8c18fd5b5eaabb469054de',1,'gridfire::AdaptiveEngineView::m_reactionIndexMap'],['../classgridfire_1_1_file_defined_engine_view.html#af0a77a4749a15aae87bdecfccbd1736e',1,'gridfire::FileDefinedEngineView::m_reactionIndexMap']]], + ['m_5freactionnamemap_32',['m_reactionNameMap',['../classgridfire_1_1reaction_1_1_templated_reaction_set.html#a3a4c2448865580001fd3c797b9f56979',1,'gridfire::reaction::TemplatedReactionSet']]], + ['m_5freactions_33',['m_reactions',['../classgridfire_1_1_graph_engine.html#acb7c4f5108b0efeae48ad15598e808c3',1,'gridfire::GraphEngine::m_reactions'],['../classgridfire_1_1reaction_1_1_templated_reaction_set.html#a5962968fe478c79250e9d88d80a87600',1,'gridfire::reaction::TemplatedReactionSet::m_reactions']]], + ['m_5freverse_34',['m_reverse',['../classgridfire_1_1reaction_1_1_reaction.html#a0b0b9ac498080aae91ffd466d1ae85a9',1,'gridfire::reaction::Reaction']]], + ['m_5frho_35',['m_rho',['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_r_h_s_functor.html#adc0f8e655af42f414dcb220a7224f261',1,'gridfire::solver::QSENetworkSolver::RHSFunctor::m_rho'],['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_jacobian_functor.html#a0907f7b6c1a87baf5e39fbc17a30df82',1,'gridfire::solver::QSENetworkSolver::JacobianFunctor::m_rho'],['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#ab0a0d4c166e97b971543cbbf2b0a1a2e',1,'gridfire::solver::QSENetworkSolver::EigenFunctor::m_rho'],['../structgridfire_1_1solver_1_1_direct_network_solver_1_1_r_h_s_functor.html#a7d4f7f04c4ee6f0b519194f87aa265e7',1,'gridfire::solver::DirectNetworkSolver::RHSFunctor::m_rho'],['../structgridfire_1_1solver_1_1_direct_network_solver_1_1_jacobian_functor.html#a932c41aa9f1aa38e56a03b27cd2ccda4',1,'gridfire::solver::DirectNetworkSolver::JacobianFunctor::m_rho']]], + ['m_5frhsadfun_36',['m_rhsADFun',['../classgridfire_1_1_graph_engine.html#a2e22b111f6d00ecc9e3804a71f1ce876',1,'gridfire::GraphEngine']]], + ['m_5fscreeningmodel_37',['m_screeningModel',['../classgridfire_1_1_graph_engine.html#af17cf3762abac3efcab9a8e87c961210',1,'gridfire::GraphEngine']]], + ['m_5fscreeningtype_38',['m_screeningType',['../classgridfire_1_1_graph_engine.html#a52edc3e88f1e8fc497e1e63972d63c80',1,'gridfire::GraphEngine']]], + ['m_5fsourcelabel_39',['m_sourceLabel',['../classgridfire_1_1reaction_1_1_reaction.html#a0185c6be5465d113f25e00aee1297cd6',1,'gridfire::reaction::Reaction']]], + ['m_5fsources_40',['m_sources',['../classgridfire_1_1reaction_1_1_logical_reaction.html#a7fe91d24e20ebc76d612f6ad742f476f',1,'gridfire::reaction::LogicalReaction']]], + ['m_5fspeciesindexmap_41',['m_speciesIndexMap',['../classgridfire_1_1_adaptive_engine_view.html#a5f66204a0ff5b27eed243afddecb0093',1,'gridfire::AdaptiveEngineView::m_speciesIndexMap'],['../classgridfire_1_1_file_defined_engine_view.html#aebd4a1a584f2784f1df3d503645be03b',1,'gridfire::FileDefinedEngineView::m_speciesIndexMap']]], + ['m_5fspeciestoindexmap_42',['m_speciesToIndexMap',['../classgridfire_1_1_graph_engine.html#ad8237c252145a75092202d00f5e1ddf7',1,'gridfire::GraphEngine']]], + ['m_5fstiff_43',['m_stiff',['../classgridfire_1_1approx8_1_1_approx8_network.html#a697cb49bebc8d0659eb791500c451c67',1,'gridfire::approx8::Approx8Network::m_stiff'],['../classgridfire_1_1_network.html#aefe364ae5af783e19e7b93bfd475566e',1,'gridfire::Network::m_stiff']]], + ['m_5fstoichiometrymatrix_44',['m_stoichiometryMatrix',['../classgridfire_1_1_graph_engine.html#ad1cb5fd32efc37668e2d9ecf0c72ad24',1,'gridfire::GraphEngine']]], + ['m_5ft9_45',['m_T9',['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_r_h_s_functor.html#a35026100163c7cc6fdb4c2e4d988b8cb',1,'gridfire::solver::QSENetworkSolver::RHSFunctor::m_T9'],['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_jacobian_functor.html#a85f88639447a9a706008efece82ff289',1,'gridfire::solver::QSENetworkSolver::JacobianFunctor::m_T9'],['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#a6771ae56ddd9058954b42ee92a378309',1,'gridfire::solver::QSENetworkSolver::EigenFunctor::m_T9'],['../structgridfire_1_1solver_1_1_direct_network_solver_1_1_r_h_s_functor.html#a082844f1eae0609e66620575210e8823',1,'gridfire::solver::DirectNetworkSolver::RHSFunctor::m_T9'],['../structgridfire_1_1solver_1_1_direct_network_solver_1_1_jacobian_functor.html#a88f5fc48a555b369f1e2688d6bb67b83',1,'gridfire::solver::DirectNetworkSolver::JacobianFunctor::m_T9']]], + ['m_5ftmax_46',['m_tMax',['../classgridfire_1_1approx8_1_1_approx8_network.html#a6fadf388f07c160f1887a3cb72eaa869',1,'gridfire::approx8::Approx8Network']]], + ['m_5fy_47',['m_y',['../classgridfire_1_1approx8_1_1_approx8_network.html#abf9f13ff532917ddac4a7d987698836d',1,'gridfire::approx8::Approx8Network']]], + ['m_5fy_5fqse_48',['m_Y_QSE',['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_r_h_s_functor.html#a02c23ef20d616bf5a591a274b66cd75a',1,'gridfire::solver::QSENetworkSolver::RHSFunctor']]], + ['m_5fyfull_49',['m_YFull',['../structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#a2dca32a9e0bea5aea2a565f94b99a8de',1,'gridfire::solver::QSENetworkSolver::EigenFunctor']]], + ['min_5fabundance_5fthreshold_50',['MIN_ABUNDANCE_THRESHOLD',['../namespacegridfire.html#a96c062f94713921e5d7568ecedcdcb06',1,'gridfire']]], + ['min_5fdensity_5fthreshold_51',['MIN_DENSITY_THRESHOLD',['../namespacegridfire.html#ada3c137c014ecd8d06200fea2d1a9f50',1,'gridfire']]], + ['min_5fjacobian_5fthreshold_52',['MIN_JACOBIAN_THRESHOLD',['../namespacegridfire.html#ae01b1738df1921db565bcbd68dd6cf64',1,'gridfire']]], + ['mion_53',['mIon',['../structgridfire_1_1approx8_1_1_approx8_net.html#a928b7810cb2993d59d40aa73c2faef18',1,'gridfire::approx8::Approx8Net']]] ]; diff --git a/docs/html/search/variables_b.js b/docs/html/search/variables_b.js index f1cf3af8..8502274a 100644 --- a/docs/html/search/variables_b.js +++ b/docs/html/search/variables_b.js @@ -3,7 +3,8 @@ var searchData= ['raw_5freactions_5fdata_0',['raw_reactions_data',['../reactions__data_8h.html#aeb44e2b3b67960dfd83ecd7136c7d38b',1,'reactions_data.h']]], ['raw_5freactions_5fdata_5flen_1',['raw_reactions_data_len',['../reactions__data_8h.html#a32dea82d95667c3df395d58fb469ce2a',1,'reactions_data.h']]], ['reactants_5fstr_2',['reactants_str',['../structgridfire_1_1reaclib_1_1_reaction_record.html#a67afc513db8dbcc43d79733e22ca8d39',1,'gridfire::reaclib::ReactionRecord']]], - ['reactionptr_3',['reactionPtr',['../structgridfire_1_1_adaptive_engine_view_1_1_reaction_flow.html#afc894db76a799be17be91130ff3ae6d9',1,'gridfire::AdaptiveEngineView::ReactionFlow']]], - ['reverse_4',['reverse',['../structgridfire_1_1reaclib_1_1_reaction_record.html#aa1fd4f510d7c00d2e4197e9b9caf29fd',1,'gridfire::reaclib::ReactionRecord']]], - ['rpname_5',['rpName',['../structgridfire_1_1reaclib_1_1_reaction_record.html#a523b7cfb0a6d8ddccd785aef2f425ad1',1,'gridfire::reaclib::ReactionRecord']]] + ['reactionpenames_3',['reactionPENames',['../structgridfire_1_1io_1_1_parsed_network_data.html#a5145c672877638e6113abf1f719b246d',1,'gridfire::io::ParsedNetworkData']]], + ['reactionptr_4',['reactionPtr',['../structgridfire_1_1_adaptive_engine_view_1_1_reaction_flow.html#a3bb21f20df8115d37108cf3c3be3bc6f',1,'gridfire::AdaptiveEngineView::ReactionFlow']]], + ['reverse_5',['reverse',['../structgridfire_1_1reaclib_1_1_reaction_record.html#aa1fd4f510d7c00d2e4197e9b9caf29fd',1,'gridfire::reaclib::ReactionRecord']]], + ['rpname_6',['rpName',['../structgridfire_1_1reaclib_1_1_reaction_record.html#a523b7cfb0a6d8ddccd785aef2f425ad1',1,'gridfire::reaclib::ReactionRecord']]] ]; diff --git a/docs/html/solver_8cpp.html b/docs/html/solver_8cpp.html index 247e36b0..2a623bbe 100644 --- a/docs/html/solver_8cpp.html +++ b/docs/html/solver_8cpp.html @@ -107,6 +107,7 @@ $(function(){initNavTree('solver_8cpp.html',''); initResizable(true); });
          #include "gridfire/solver/solver.h"
          #include "gridfire/engine/engine_graph.h"
          #include "gridfire/network.h"
          +#include "gridfire/utils/logging.h"
          #include "fourdst/composition/atomicSpecies.h"
          #include "fourdst/composition/composition.h"
          #include "fourdst/config/config.h"
          @@ -117,6 +118,7 @@ $(function(){initNavTree('solver_8cpp.html',''); initResizable(true); }); #include <unordered_map>
          #include <string>
          #include <stdexcept>
          +#include <iomanip>
          #include "quill/LogMacros.h"

          Go to the source code of this file.

          diff --git a/docs/html/solver_8cpp_source.html b/docs/html/solver_8cpp_source.html index 9eceda46..9b166733 100644 --- a/docs/html/solver_8cpp_source.html +++ b/docs/html/solver_8cpp_source.html @@ -106,439 +106,518 @@ $(function(){initNavTree('solver_8cpp_source.html',''); initResizable(true); });
          3#include "gridfire/network.h"
          4
          -
          5#include "fourdst/composition/atomicSpecies.h"
          -
          6#include "fourdst/composition/composition.h"
          -
          7#include "fourdst/config/config.h"
          -
          8
          -
          9#include "Eigen/Dense"
          -
          10#include "unsupported/Eigen/NonLinearOptimization"
          -
          11
          -
          12#include <boost/numeric/odeint.hpp>
          + +
          6
          +
          7#include "fourdst/composition/atomicSpecies.h"
          +
          8#include "fourdst/composition/composition.h"
          +
          9#include "fourdst/config/config.h"
          +
          10
          +
          11#include "Eigen/Dense"
          +
          12#include "unsupported/Eigen/NonLinearOptimization"
          13
          -
          14#include <vector>
          -
          15#include <unordered_map>
          -
          16#include <string>
          -
          17#include <stdexcept>
          -
          18
          -
          19#include "quill/LogMacros.h"
          -
          20
          -
          21namespace gridfire::solver {
          -
          22
          -
          - -
          24 // --- Use the policy to decide whether to update the view ---
          -
          25 if (shouldUpdateView(netIn)) {
          -
          26 LOG_DEBUG(m_logger, "Solver update policy triggered, network view updating...");
          -
          27 m_engine.update(netIn);
          -
          28 LOG_DEBUG(m_logger, "Network view updated!");
          -
          29
          - - -
          32 }
          -
          33 m_engine.generateJacobianMatrix(netIn.MolarAbundance(), netIn.temperature / 1e9, netIn.density);
          -
          34 using state_type = boost::numeric::ublas::vector<double>;
          -
          35 using namespace boost::numeric::odeint;
          -
          36
          -
          37 NetOut postIgnition = initializeNetworkWithShortIgnition(netIn);
          -
          38
          -
          39 constexpr double abundance_floor = 1.0e-30;
          -
          40 std::vector<double>Y_sanitized_initial;
          -
          41 Y_sanitized_initial.reserve(m_engine.getNetworkSpecies().size());
          -
          42
          -
          43 LOG_DEBUG(m_logger, "Sanitizing initial abundances with a floor of {:0.3E}...", abundance_floor);
          -
          44 for (const auto& species : m_engine.getNetworkSpecies()) {
          -
          45 double molar_abundance = 0.0;
          -
          46 if (postIgnition.composition.contains(species)) {
          -
          47 molar_abundance = postIgnition.composition.getMolarAbundance(std::string(species.name()));
          -
          48 }
          -
          49
          -
          50 if (molar_abundance < abundance_floor) {
          -
          51 molar_abundance = abundance_floor;
          -
          52 }
          -
          53 Y_sanitized_initial.push_back(molar_abundance);
          -
          54 }
          -
          55 const double T9 = netIn.temperature / 1e9; // Convert temperature from Kelvin to T9 (T9 = T / 1e9)
          -
          56 const double rho = netIn.density; // Density in g/cm^3
          -
          57
          -
          58 const auto indices = packSpeciesTypeIndexVectors(Y_sanitized_initial, T9, rho);
          -
          59 Eigen::VectorXd Y_QSE;
          -
          60 try {
          -
          61 Y_QSE = calculateSteadyStateAbundances(Y_sanitized_initial, T9, rho, indices);
          -
          62 } catch (const std::runtime_error& e) {
          -
          63 LOG_ERROR(m_logger, "Failed to calculate steady state abundances. Aborting QSE evaluation.");
          -
          64 m_logger->flush_log();
          -
          65 throw std::runtime_error("Failed to calculate steady state abundances: " + std::string(e.what()));
          -
          66 }
          -
          67
          -
          68 state_type YDynamic_ublas(indices.dynamicSpeciesIndices.size() + 1);
          -
          69 for (size_t i = 0; i < indices.dynamicSpeciesIndices.size(); ++i) {
          -
          70 YDynamic_ublas(i) = Y_sanitized_initial[indices.dynamicSpeciesIndices[i]];
          -
          71 }
          -
          72 YDynamic_ublas(indices.dynamicSpeciesIndices.size()) = 0.0; // Placeholder for specific energy rate
          -
          73
          -
          74 const RHSFunctor rhs_functor(m_engine, indices.dynamicSpeciesIndices, indices.QSESpeciesIndices, Y_QSE, T9, rho);
          -
          75 const auto stepper = make_controlled<runge_kutta_dopri5<state_type>>(1.0e-8, 1.0e-8);
          +
          14#include <boost/numeric/odeint.hpp>
          +
          15
          +
          16#include <vector>
          +
          17#include <unordered_map>
          +
          18#include <string>
          +
          19#include <stdexcept>
          +
          20#include <iomanip>
          +
          21
          +
          22#include "quill/LogMacros.h"
          +
          23
          +
          24namespace gridfire::solver {
          +
          25
          +
          + +
          27 // --- Use the policy to decide whether to update the view ---
          +
          28 if (shouldUpdateView(netIn)) {
          +
          29 LOG_DEBUG(m_logger, "Solver update policy triggered, network view updating...");
          +
          30 m_engine.update(netIn);
          +
          31 LOG_DEBUG(m_logger, "Network view updated!");
          +
          32
          + + +
          35 }
          +
          36 m_engine.generateJacobianMatrix(netIn.MolarAbundance(), netIn.temperature / 1e9, netIn.density);
          +
          37 using state_type = boost::numeric::ublas::vector<double>;
          +
          38 using namespace boost::numeric::odeint;
          +
          39
          +
          40 NetOut postIgnition = initializeNetworkWithShortIgnition(netIn);
          +
          41
          +
          42 constexpr double abundance_floor = 1.0e-30;
          +
          43 std::vector<double>Y_sanitized_initial;
          +
          44 Y_sanitized_initial.reserve(m_engine.getNetworkSpecies().size());
          +
          45
          +
          46 LOG_DEBUG(m_logger, "Sanitizing initial abundances with a floor of {:0.3E}...", abundance_floor);
          +
          47 for (const auto& species : m_engine.getNetworkSpecies()) {
          +
          48 double molar_abundance = 0.0;
          +
          49 if (postIgnition.composition.contains(species)) {
          +
          50 molar_abundance = postIgnition.composition.getMolarAbundance(std::string(species.name()));
          +
          51 }
          +
          52
          +
          53 if (molar_abundance < abundance_floor) {
          +
          54 molar_abundance = abundance_floor;
          +
          55 }
          +
          56 Y_sanitized_initial.push_back(molar_abundance);
          +
          57 }
          +
          58 const double T9 = netIn.temperature / 1e9; // Convert temperature from Kelvin to T9 (T9 = T / 1e9)
          +
          59 const double rho = netIn.density; // Density in g/cm^3
          +
          60
          +
          61 const auto indices = packSpeciesTypeIndexVectors(Y_sanitized_initial, T9, rho);
          +
          62 Eigen::VectorXd Y_QSE;
          +
          63 try {
          +
          64 Y_QSE = calculateSteadyStateAbundances(Y_sanitized_initial, T9, rho, indices);
          +
          65 LOG_DEBUG(m_logger, "QSE Abundances: {}", [*this](const dynamicQSESpeciesIndices& indices, const Eigen::VectorXd& Y_QSE) -> std::string {
          +
          66 std::stringstream ss;
          +
          67 ss << std::scientific << std::setprecision(5);
          +
          68 for (size_t i = 0; i < indices.QSESpeciesIndices.size(); ++i) {
          +
          69 ss << std::string(m_engine.getNetworkSpecies()[indices.QSESpeciesIndices[i]].name()) + ": ";
          +
          70 ss << Y_QSE(i);
          +
          71 if (i < indices.QSESpeciesIndices.size() - 2) {
          +
          72 ss << ", ";
          +
          73 } else if (i == indices.QSESpeciesIndices.size() - 2) {
          +
          74 ss << ", and ";
          +
          75 }
          76
          -
          77 size_t stepCount = integrate_adaptive(
          -
          78 stepper,
          -
          79 rhs_functor,
          -
          80 YDynamic_ublas,
          -
          81 0.0, // Start time
          -
          82 netIn.tMax,
          -
          83 netIn.dt0
          -
          84 );
          +
          77 }
          +
          78 return ss.str();
          +
          79 }(indices, Y_QSE));
          +
          80 } catch (const std::runtime_error& e) {
          +
          81 LOG_ERROR(m_logger, "Failed to calculate steady state abundances. Aborting QSE evaluation.");
          +
          82 m_logger->flush_log();
          +
          83 throw std::runtime_error("Failed to calculate steady state abundances: " + std::string(e.what()));
          +
          84 }
          85
          -
          86 std::vector<double> YFinal = Y_sanitized_initial;
          -
          87 for (size_t i = 0; i <indices.dynamicSpeciesIndices.size(); ++i) {
          -
          88 YFinal[indices.dynamicSpeciesIndices[i]] = YDynamic_ublas(i);
          +
          86 state_type YDynamic_ublas(indices.dynamicSpeciesIndices.size() + 1);
          +
          87 for (size_t i = 0; i < indices.dynamicSpeciesIndices.size(); ++i) {
          +
          88 YDynamic_ublas(i) = Y_sanitized_initial[indices.dynamicSpeciesIndices[i]];
          89 }
          -
          90 for (size_t i = 0; i < indices.QSESpeciesIndices.size(); ++i) {
          -
          91 YFinal[indices.QSESpeciesIndices[i]] = Y_QSE(i);
          -
          92 }
          -
          93
          -
          94 const double finalSpecificEnergyRate = YDynamic_ublas(indices.dynamicSpeciesIndices.size());
          -
          95
          -
          96 // --- Marshal output variables ---
          -
          97 std::vector<std::string> speciesNames(m_engine.getNetworkSpecies().size());
          -
          98 std::vector<double> finalMassFractions(m_engine.getNetworkSpecies().size());
          -
          99 double massFractionSum = 0.0;
          -
          100
          -
          101 for (size_t i = 0; i < speciesNames.size(); ++i) {
          -
          102 const auto& species = m_engine.getNetworkSpecies()[i];
          -
          103 speciesNames[i] = species.name();
          -
          104 finalMassFractions[i] = YFinal[i] * species.mass(); // Convert from molar abundance to mass fraction
          -
          105 massFractionSum += finalMassFractions[i];
          -
          106 }
          -
          107 for (auto& mf : finalMassFractions) {
          -
          108 mf /= massFractionSum; // Normalize to get mass fractions
          -
          109 }
          -
          110
          -
          111 fourdst::composition::Composition outputComposition(speciesNames, finalMassFractions);
          -
          112 NetOut netOut;
          -
          113 netOut.composition = outputComposition;
          -
          114 netOut.energy = finalSpecificEnergyRate; // Specific energy rate
          -
          115 netOut.num_steps = stepCount;
          -
          116 return netOut;
          -
          117 }
          -
          +
          90 YDynamic_ublas(indices.dynamicSpeciesIndices.size()) = 0.0; // Placeholder for specific energy rate
          +
          91
          +
          92 const RHSFunctor rhs_functor(m_engine, indices.dynamicSpeciesIndices, indices.QSESpeciesIndices, Y_QSE, T9, rho);
          +
          93 const auto stepper = make_controlled<runge_kutta_dopri5<state_type>>(1.0e-8, 1.0e-8);
          +
          94
          +
          95 size_t stepCount = integrate_adaptive(
          +
          96 stepper,
          +
          97 rhs_functor,
          +
          98 YDynamic_ublas,
          +
          99 0.0, // Start time
          +
          100 netIn.tMax,
          +
          101 netIn.dt0
          +
          102 );
          +
          103
          +
          104 std::vector<double> YFinal = Y_sanitized_initial;
          +
          105 for (size_t i = 0; i <indices.dynamicSpeciesIndices.size(); ++i) {
          +
          106 YFinal[indices.dynamicSpeciesIndices[i]] = YDynamic_ublas(i);
          +
          107 }
          +
          108 for (size_t i = 0; i < indices.QSESpeciesIndices.size(); ++i) {
          +
          109 YFinal[indices.QSESpeciesIndices[i]] = Y_QSE(i);
          +
          110 }
          +
          111
          +
          112 const double finalSpecificEnergyRate = YDynamic_ublas(indices.dynamicSpeciesIndices.size());
          +
          113
          +
          114 // --- Marshal output variables ---
          +
          115 std::vector<std::string> speciesNames(m_engine.getNetworkSpecies().size());
          +
          116 std::vector<double> finalMassFractions(m_engine.getNetworkSpecies().size());
          +
          117 double massFractionSum = 0.0;
          118
          -
          - -
          120 const std::vector<double>& Y,
          -
          121 const double T9,
          -
          122 const double rho
          -
          123 ) const {
          -
          124 constexpr double timescaleCutoff = 1.0e-5;
          -
          125 constexpr double abundanceCutoff = 1.0e-15;
          -
          126
          -
          127 LOG_INFO(m_logger, "Partitioning species using T9={:0.2f} and ρ={:0.2e}", T9, rho);
          -
          128 LOG_INFO(m_logger, "Timescale Cutoff: {:.1e} s, Abundance Cutoff: {:.1e}", timescaleCutoff, abundanceCutoff);
          -
          129
          -
          130 std::vector<size_t>dynamicSpeciesIndices; // Slow species that are not in QSE
          -
          131 std::vector<size_t>QSESpeciesIndices; // Fast species that are in QSE
          -
          132
          -
          133 std::unordered_map<fourdst::atomic::Species, double> speciesTimescale = m_engine.getSpeciesTimescales(Y, T9, rho);
          -
          134
          -
          135 for (size_t i = 0; i < m_engine.getNetworkSpecies().size(); ++i) {
          -
          136 const auto& species = m_engine.getNetworkSpecies()[i];
          -
          137 const double network_timescale = speciesTimescale.at(species);
          -
          138 const double abundance = Y[i];
          -
          139
          -
          140 double decay_timescale = std::numeric_limits<double>::infinity();
          -
          141 const double half_life = species.halfLife();
          -
          142 if (half_life > 0 && !std::isinf(half_life)) {
          -
          143 constexpr double LN2 = 0.69314718056;
          -
          144 decay_timescale = half_life / LN2;
          -
          145 }
          -
          146
          -
          147 const double final_timescale = std::min(network_timescale, decay_timescale);
          -
          148
          -
          149 if (std::isinf(final_timescale) || abundance < abundanceCutoff || final_timescale <= timescaleCutoff) {
          -
          150 QSESpeciesIndices.push_back(i);
          -
          151 } else {
          -
          152 dynamicSpeciesIndices.push_back(i);
          -
          153 }
          -
          154 }
          -
          155 LOG_INFO(m_logger, "Partitioning complete. Dynamical species: {}, QSE species: {}.", dynamicSpeciesIndices.size(), QSESpeciesIndices.size());
          -
          156 LOG_INFO(m_logger, "Dynamic species: {}", [dynamicSpeciesIndices](const DynamicEngine& engine_wrapper) -> std::string {
          -
          157 std::string result;
          -
          158 int count = 0;
          -
          159 for (const auto& i : dynamicSpeciesIndices) {
          -
          160 result += std::string(engine_wrapper.getNetworkSpecies()[i].name());
          -
          161 if (count < dynamicSpeciesIndices.size() - 2) {
          -
          162 result += ", ";
          -
          163 } else if (count == dynamicSpeciesIndices.size() - 2) {
          -
          164 result += " and ";
          -
          165 }
          -
          166 count++;
          -
          167 }
          -
          168 return result;
          -
          169 }(m_engine));
          -
          170 LOG_INFO(m_logger, "QSE species: {}", [QSESpeciesIndices](const DynamicEngine& engine_wrapper) -> std::string {
          -
          171 std::string result;
          -
          172 int count = 0;
          -
          173 for (const auto& i : QSESpeciesIndices) {
          -
          174 result += std::string(engine_wrapper.getNetworkSpecies()[i].name());
          -
          175 if (count < QSESpeciesIndices.size() - 2) {
          -
          176 result += ", ";
          -
          177 } else if (count == QSESpeciesIndices.size() - 2) {
          -
          178 result += " and ";
          -
          179 }
          -
          180 count++;
          -
          181 }
          -
          182 return result;
          -
          183 }(m_engine));
          -
          184 return {dynamicSpeciesIndices, QSESpeciesIndices};
          -
          185 }
          +
          119 for (size_t i = 0; i < speciesNames.size(); ++i) {
          +
          120 const auto& species = m_engine.getNetworkSpecies()[i];
          +
          121 speciesNames[i] = species.name();
          +
          122 finalMassFractions[i] = YFinal[i] * species.mass(); // Convert from molar abundance to mass fraction
          +
          123 massFractionSum += finalMassFractions[i];
          +
          124 }
          +
          125 for (auto& mf : finalMassFractions) {
          +
          126 mf /= massFractionSum; // Normalize to get mass fractions
          +
          127 }
          +
          128
          +
          129 fourdst::composition::Composition outputComposition(speciesNames, finalMassFractions);
          +
          130 NetOut netOut;
          +
          131 netOut.composition = outputComposition;
          +
          132 netOut.energy = finalSpecificEnergyRate; // Specific energy rate
          +
          133 netOut.num_steps = stepCount;
          +
          134 return netOut;
          +
          135 }
          -
          186
          -
          - -
          188 const std::vector<double> &Y,
          -
          189 const double T9,
          -
          190 const double rho,
          -
          191 const dynamicQSESpeciesIndices &indices
          -
          192 ) const {
          -
          193 LOG_TRACE_L1(m_logger, "Calculating steady state abundances for QSE species...");
          -
          194 LOG_WARNING(m_logger, "QSE solver logic not yet implemented, assuming all QSE species have 0 abundance.");
          -
          195
          -
          196 // --- Prepare the QSE species vector ---
          -
          197 Eigen::VectorXd v_qse(indices.QSESpeciesIndices.size());
          -
          198 v_qse.setZero();
          -
          199 return v_qse.array();
          -
          200 }
          +
          136
          +
          + +
          138 const std::vector<double>& Y,
          +
          139 const double T9,
          +
          140 const double rho
          +
          141 ) const {
          +
          142 constexpr double timescaleCutoff = 1.0e-5;
          +
          143 constexpr double abundanceCutoff = 1.0e-15;
          +
          144
          +
          145 LOG_INFO(m_logger, "Partitioning species using T9={:0.2f} and ρ={:0.2e}", T9, rho);
          +
          146 LOG_INFO(m_logger, "Timescale Cutoff: {:.1e} s, Abundance Cutoff: {:.1e}", timescaleCutoff, abundanceCutoff);
          +
          147
          +
          148 std::vector<size_t>dynamicSpeciesIndices; // Slow species that are not in QSE
          +
          149 std::vector<size_t>QSESpeciesIndices; // Fast species that are in QSE
          +
          150
          +
          151 std::unordered_map<fourdst::atomic::Species, double> speciesTimescale = m_engine.getSpeciesTimescales(Y, T9, rho);
          +
          152
          +
          153 for (size_t i = 0; i < m_engine.getNetworkSpecies().size(); ++i) {
          +
          154 const auto& species = m_engine.getNetworkSpecies()[i];
          +
          155 const double network_timescale = speciesTimescale.at(species);
          +
          156 const double abundance = Y[i];
          +
          157
          +
          158 double decay_timescale = std::numeric_limits<double>::infinity();
          +
          159 const double half_life = species.halfLife();
          +
          160 if (half_life > 0 && !std::isinf(half_life)) {
          +
          161 constexpr double LN2 = 0.69314718056;
          +
          162 decay_timescale = half_life / LN2;
          +
          163 }
          +
          164
          +
          165 const double final_timescale = std::min(network_timescale, decay_timescale);
          +
          166
          +
          167 if (std::isinf(final_timescale) || abundance < abundanceCutoff || final_timescale <= timescaleCutoff) {
          +
          168 QSESpeciesIndices.push_back(i);
          +
          169 } else {
          +
          170 dynamicSpeciesIndices.push_back(i);
          +
          171 }
          +
          172 }
          +
          173 LOG_INFO(m_logger, "Partitioning complete. Dynamical species: {}, QSE species: {}.", dynamicSpeciesIndices.size(), QSESpeciesIndices.size());
          +
          174 LOG_INFO(m_logger, "Dynamic species: {}", [dynamicSpeciesIndices](const DynamicEngine& engine_wrapper) -> std::string {
          +
          175 std::string result;
          +
          176 int count = 0;
          +
          177 for (const auto& i : dynamicSpeciesIndices) {
          +
          178 result += std::string(engine_wrapper.getNetworkSpecies()[i].name());
          +
          179 if (count < dynamicSpeciesIndices.size() - 2) {
          +
          180 result += ", ";
          +
          181 } else if (count == dynamicSpeciesIndices.size() - 2) {
          +
          182 result += " and ";
          +
          183 }
          +
          184 count++;
          +
          185 }
          +
          186 return result;
          +
          187 }(m_engine));
          +
          188 LOG_INFO(m_logger, "QSE species: {}", [QSESpeciesIndices](const DynamicEngine& engine_wrapper) -> std::string {
          +
          189 std::string result;
          +
          190 int count = 0;
          +
          191 for (const auto& i : QSESpeciesIndices) {
          +
          192 result += std::string(engine_wrapper.getNetworkSpecies()[i].name());
          +
          193 if (count < QSESpeciesIndices.size() - 2) {
          +
          194 result += ", ";
          +
          195 } else if (count == QSESpeciesIndices.size() - 2) {
          +
          196 result += " and ";
          +
          197 }
          +
          198 count++;
          +
          199 }
          +
          200 return result;
          +
          201 }(m_engine));
          +
          202 return {dynamicSpeciesIndices, QSESpeciesIndices};
          +
          203 }
          -
          201
          -
          - -
          203 const auto ignitionTemperature = m_config.get<double>(
          -
          204 "gridfire:solver:QSE:ignition:temperature",
          -
          205 2e8
          -
          206 ); // 0.2 GK
          -
          207 const auto ignitionDensity = m_config.get<double>(
          -
          208 "gridfire:solver:QSE:ignition:density",
          -
          209 1e6
          -
          210 ); // 1e6 g/cm^3
          -
          211 const auto ignitionTime = m_config.get<double>(
          -
          212 "gridfire:solver:QSE:ignition:tMax",
          -
          213 1e-7
          -
          214 ); // 0.1 μs
          -
          215 const auto ignitionStepSize = m_config.get<double>(
          -
          216 "gridfire:solver:QSE:ignition:dt0",
          -
          217 1e-15
          -
          218 ); // 1e-15 seconds
          -
          219
          -
          220 LOG_INFO(
          -
          221 m_logger,
          -
          222 "Igniting network with T={:<5.3E}, ρ={:<5.3E}, tMax={:<5.3E}, dt0={:<5.3E}...",
          -
          223 ignitionTemperature,
          -
          224 ignitionDensity,
          -
          225 ignitionTime,
          -
          226 ignitionStepSize
          -
          227 );
          -
          228
          -
          229 NetIn preIgnition = netIn;
          -
          230 preIgnition.temperature = ignitionTemperature;
          -
          231 preIgnition.density = ignitionDensity;
          -
          232 preIgnition.tMax = ignitionTime;
          -
          233 preIgnition.dt0 = ignitionStepSize;
          -
          234
          -
          235 DirectNetworkSolver ignitionSolver(m_engine);
          -
          236 NetOut postIgnition = ignitionSolver.evaluate(preIgnition);
          -
          237 LOG_INFO(m_logger, "Network ignition completed in {} steps.", postIgnition.num_steps);
          -
          238 return postIgnition;
          -
          239 }
          -
          -
          240
          -
          -
          241 bool QSENetworkSolver::shouldUpdateView(const NetIn &conditions) const {
          -
          242 // Policy 1: If the view has never been initialized, we must update.
          -
          243 if (!m_isViewInitialized) {
          -
          244 return true;
          -
          245 }
          +
          204
          +
          + +
          206 const std::vector<double> &Y,
          +
          207 const double T9,
          +
          208 const double rho,
          +
          209 const dynamicQSESpeciesIndices &indices
          +
          210 ) const {
          +
          211 LOG_TRACE_L1(m_logger, "Calculating steady state abundances for QSE species...");
          +
          212
          +
          213 if (indices.QSESpeciesIndices.empty()) {
          +
          214 LOG_DEBUG(m_logger, "No QSE species to solve for.");
          +
          215 return Eigen::VectorXd(0);
          +
          216 }
          +
          217 // Use the EigenFunctor with Eigen's nonlinear solver
          +
          218 EigenFunctor<double> functor(
          +
          219 m_engine,
          +
          220 Y,
          +
          221 indices.dynamicSpeciesIndices,
          +
          222 indices.QSESpeciesIndices,
          +
          223 T9,
          +
          224 rho
          +
          225 );
          +
          226
          +
          227 Eigen::VectorXd v_qse_log_initial(indices.QSESpeciesIndices.size());
          +
          228 for (size_t i = 0; i < indices.QSESpeciesIndices.size(); ++i) {
          +
          229 v_qse_log_initial(i) = std::log(std::max(Y[indices.QSESpeciesIndices[i]], 1e-99));
          +
          230 }
          +
          231
          +
          232 const static std::unordered_map<Eigen::LevenbergMarquardtSpace::Status, const char*> statusMessages = {
          +
          233 {Eigen::LevenbergMarquardtSpace::NotStarted, "Not started"},
          +
          234 {Eigen::LevenbergMarquardtSpace::Running, "Running"},
          +
          235 {Eigen::LevenbergMarquardtSpace::ImproperInputParameters, "Improper input parameters"},
          +
          236 {Eigen::LevenbergMarquardtSpace::RelativeReductionTooSmall, "Relative reduction too small"},
          +
          237 {Eigen::LevenbergMarquardtSpace::RelativeErrorTooSmall, "Relative error too small"},
          +
          238 {Eigen::LevenbergMarquardtSpace::RelativeErrorAndReductionTooSmall, "Relative error and reduction too small"},
          +
          239 {Eigen::LevenbergMarquardtSpace::CosinusTooSmall, "Cosine too small"},
          +
          240 {Eigen::LevenbergMarquardtSpace::TooManyFunctionEvaluation, "Too many function evaluations"},
          +
          241 {Eigen::LevenbergMarquardtSpace::FtolTooSmall, "Function tolerance too small"},
          +
          242 {Eigen::LevenbergMarquardtSpace::XtolTooSmall, "X tolerance too small"},
          +
          243 {Eigen::LevenbergMarquardtSpace::GtolTooSmall, "Gradient tolerance too small"},
          +
          244 {Eigen::LevenbergMarquardtSpace::UserAsked, "User asked to stop"}
          +
          245 };
          246
          -
          247 // Policy 2: Check for significant relative change in temperature.
          -
          248 // Reaction rates are exponentially sensitive to temperature, so we use a tight threshold.
          -
          249 const double temp_threshold = m_config.get<double>("gridfire:solver:policy:temp_threshold", 0.05); // 5%
          -
          250 const double temp_relative_change = std::abs(conditions.temperature - m_lastSeenConditions.temperature) / m_lastSeenConditions.temperature;
          -
          251 if (temp_relative_change > temp_threshold) {
          -
          252 LOG_DEBUG(m_logger, "Temperature changed by {:.1f}%, triggering view update.", temp_relative_change * 100);
          -
          253 return true;
          -
          254 }
          -
          255
          -
          256 // Policy 3: Check for significant relative change in density.
          -
          257 const double rho_threshold = m_config.get<double>("gridfire:solver:policy:rho_threshold", 0.10); // 10%
          -
          258 const double rho_relative_change = std::abs(conditions.density - m_lastSeenConditions.density) / m_lastSeenConditions.density;
          -
          259 if (rho_relative_change > rho_threshold) {
          -
          260 LOG_DEBUG(m_logger, "Density changed by {:.1f}%, triggering view update.", rho_relative_change * 100);
          -
          261 return true;
          -
          262 }
          -
          263
          -
          264 // Policy 4: Check for fuel depletion.
          -
          265 // If a primary fuel source changes significantly, the network structure may change.
          -
          266 const double fuel_threshold = m_config.get<double>("gridfire:solver:policy:fuel_threshold", 0.15); // 15%
          -
          267
          -
          268 // Example: Check hydrogen abundance
          -
          269 const double h1_old = m_lastSeenConditions.composition.getMassFraction("H-1");
          -
          270 const double h1_new = conditions.composition.getMassFraction("H-1");
          -
          271 if (h1_old > 1e-12) { // Avoid division by zero
          -
          272 const double h1_relative_change = std::abs(h1_new - h1_old) / h1_old;
          -
          273 if (h1_relative_change > fuel_threshold) {
          -
          274 LOG_DEBUG(m_logger, "H-1 mass fraction changed by {:.1f}%, triggering view update.", h1_relative_change * 100);
          -
          275 return true;
          -
          276 }
          -
          277 }
          -
          278
          -
          279 // If none of the above conditions are met, the current view is still good enough.
          -
          280 return false;
          -
          281 }
          +
          247 Eigen::LevenbergMarquardt lm(functor);
          +
          248 const Eigen::LevenbergMarquardtSpace::Status info = lm.minimize(v_qse_log_initial);
          +
          249
          +
          250 if (info <= 0 || info >= 4) {
          +
          251 LOG_ERROR(m_logger, "QSE species minimization failed with status: {} ({})",
          +
          252 static_cast<int>(info), statusMessages.at(info));
          +
          253 throw std::runtime_error(
          +
          254 "QSE species minimization failed with status: " + std::to_string(static_cast<int>(info)) +
          +
          255 " (" + std::string(statusMessages.at(info)) + ")"
          +
          256 );
          +
          257 }
          +
          258 LOG_DEBUG(m_logger, "QSE species minimization completed successfully with status: {} ({})",
          +
          259 static_cast<int>(info), statusMessages.at(info));
          +
          260 return v_qse_log_initial.array().exp();
          +
          261
          +
          262 }
          -
          282
          -
          - -
          284 const boost::numeric::ublas::vector<double> &YDynamic,
          -
          285 boost::numeric::ublas::vector<double> &dYdtDynamic,
          -
          286 double t
          -
          287 ) const {
          -
          288 // --- Populate the slow / dynamic species vector ---
          -
          289 std::vector<double> YFull(m_engine.getNetworkSpecies().size());
          -
          290 for (size_t i = 0; i < m_dynamicSpeciesIndices.size(); ++i) {
          -
          291 YFull[m_dynamicSpeciesIndices[i]] = YDynamic(i);
          -
          292 }
          -
          293
          -
          294 // --- Populate the QSE species vector ---
          -
          295 for (size_t i = 0; i < m_QSESpeciesIndices.size(); ++i) {
          -
          296 YFull[m_QSESpeciesIndices[i]] = m_Y_QSE(i);
          -
          297 }
          -
          298
          -
          299 auto [full_dYdt, specificEnergyRate] = m_engine.calculateRHSAndEnergy(YFull, m_T9, m_rho);
          -
          300
          -
          301 dYdtDynamic.resize(m_dynamicSpeciesIndices.size() + 1);
          -
          302 for (size_t i = 0; i < m_dynamicSpeciesIndices.size(); ++i) {
          -
          303 dYdtDynamic(i) = full_dYdt[m_dynamicSpeciesIndices[i]];
          -
          304 }
          -
          305 dYdtDynamic[m_dynamicSpeciesIndices.size()] = specificEnergyRate;
          +
          263
          +
          + +
          265 const auto ignitionTemperature = m_config.get<double>(
          +
          266 "gridfire:solver:QSE:ignition:temperature",
          +
          267 2e8
          +
          268 ); // 0.2 GK
          +
          269 const auto ignitionDensity = m_config.get<double>(
          +
          270 "gridfire:solver:QSE:ignition:density",
          +
          271 1e6
          +
          272 ); // 1e6 g/cm^3
          +
          273 const auto ignitionTime = m_config.get<double>(
          +
          274 "gridfire:solver:QSE:ignition:tMax",
          +
          275 1e-7
          +
          276 ); // 0.1 μs
          +
          277 const auto ignitionStepSize = m_config.get<double>(
          +
          278 "gridfire:solver:QSE:ignition:dt0",
          +
          279 1e-15
          +
          280 ); // 1e-15 seconds
          +
          281
          +
          282 LOG_INFO(
          +
          283 m_logger,
          +
          284 "Igniting network with T={:<5.3E}, ρ={:<5.3E}, tMax={:<5.3E}, dt0={:<5.3E}...",
          +
          285 ignitionTemperature,
          +
          286 ignitionDensity,
          +
          287 ignitionTime,
          +
          288 ignitionStepSize
          +
          289 );
          +
          290
          +
          291 NetIn preIgnition = netIn;
          +
          292 preIgnition.temperature = ignitionTemperature;
          +
          293 preIgnition.density = ignitionDensity;
          +
          294 preIgnition.tMax = ignitionTime;
          +
          295 preIgnition.dt0 = ignitionStepSize;
          +
          296
          +
          297 const auto prevScreeningModel = m_engine.getScreeningModel();
          +
          298 LOG_DEBUG(m_logger, "Setting screening model to BARE for high temperature and density ignition.");
          +
          299 m_engine.setScreeningModel(screening::ScreeningType::BARE);
          +
          300 DirectNetworkSolver ignitionSolver(m_engine);
          +
          301 NetOut postIgnition = ignitionSolver.evaluate(preIgnition);
          +
          302 LOG_INFO(m_logger, "Network ignition completed in {} steps.", postIgnition.num_steps);
          +
          303 m_engine.setScreeningModel(prevScreeningModel);
          +
          304 LOG_DEBUG(m_logger, "Restoring previous screening model: {}", static_cast<int>(prevScreeningModel));
          +
          305 return postIgnition;
          306 }
          307
          - -
          309 namespace ublas = boost::numeric::ublas;
          -
          310 namespace odeint = boost::numeric::odeint;
          -
          311 using fourdst::composition::Composition;
          -
          312
          +
          308 bool QSENetworkSolver::shouldUpdateView(const NetIn &conditions) const {
          +
          309 // Policy 1: If the view has never been initialized, we must update.
          +
          310 if (!m_isViewInitialized) {
          +
          311 return true;
          +
          312 }
          313
          -
          314 const double T9 = netIn.temperature / 1e9; // Convert temperature from Kelvin to T9 (T9 = T / 1e9)
          -
          315 const unsigned long numSpecies = m_engine.getNetworkSpecies().size();
          -
          316
          -
          317 const auto absTol = m_config.get<double>("gridfire:solver:DirectNetworkSolver:absTol", 1.0e-8);
          -
          318 const auto relTol = m_config.get<double>("gridfire:solver:DirectNetworkSolver:relTol", 1.0e-8);
          -
          319
          -
          320 size_t stepCount = 0;
          -
          321
          -
          322 RHSFunctor rhsFunctor(m_engine, T9, netIn.density);
          -
          323 JacobianFunctor jacobianFunctor(m_engine, T9, netIn.density);
          -
          324
          -
          325 ublas::vector<double> Y(numSpecies + 1);
          -
          326
          -
          327 for (size_t i = 0; i < numSpecies; ++i) {
          -
          328 const auto& species = m_engine.getNetworkSpecies()[i];
          -
          329 try {
          -
          330 Y(i) = netIn.composition.getMolarAbundance(std::string(species.name()));
          -
          331 } catch (const std::runtime_error) {
          -
          332 LOG_DEBUG(m_logger, "Species '{}' not found in composition. Setting abundance to 0.0.", species.name());
          -
          333 Y(i) = 0.0;
          -
          334 }
          -
          335 }
          -
          336 Y(numSpecies) = 0.0;
          -
          337
          -
          338 const auto stepper = odeint::make_controlled<odeint::rosenbrock4<double>>(absTol, relTol);
          -
          339 stepCount = odeint::integrate_adaptive(
          -
          340 stepper,
          -
          341 std::make_pair(rhsFunctor, jacobianFunctor),
          -
          342 Y,
          -
          343 0.0,
          -
          344 netIn.tMax,
          -
          345 netIn.dt0
          -
          346 );
          -
          347
          -
          348 std::vector<double> finalMassFractions(numSpecies);
          -
          349 for (size_t i = 0; i < numSpecies; ++i) {
          -
          350 const double molarMass = m_engine.getNetworkSpecies()[i].mass();
          -
          351 finalMassFractions[i] = Y(i) * molarMass; // Convert from molar abundance to mass fraction
          -
          352 if (finalMassFractions[i] < MIN_ABUNDANCE_THRESHOLD) {
          -
          353 finalMassFractions[i] = 0.0;
          -
          354 }
          -
          355 }
          -
          356
          -
          357 std::vector<std::string> speciesNames;
          -
          358 speciesNames.reserve(numSpecies);
          -
          359 for (const auto& species : m_engine.getNetworkSpecies()) {
          -
          360 speciesNames.push_back(std::string(species.name()));
          -
          361 }
          -
          362
          -
          363 Composition outputComposition(speciesNames, finalMassFractions);
          -
          364 outputComposition.finalize(true);
          +
          314 // Policy 2: Check for significant relative change in temperature.
          +
          315 // Reaction rates are exponentially sensitive to temperature, so we use a tight threshold.
          +
          316 const double temp_threshold = m_config.get<double>("gridfire:solver:policy:temp_threshold", 0.05); // 5%
          +
          317 const double temp_relative_change = std::abs(conditions.temperature - m_lastSeenConditions.temperature) / m_lastSeenConditions.temperature;
          +
          318 if (temp_relative_change > temp_threshold) {
          +
          319 LOG_DEBUG(m_logger, "Temperature changed by {:.1f}%, triggering view update.", temp_relative_change * 100);
          +
          320 return true;
          +
          321 }
          +
          322
          +
          323 // Policy 3: Check for significant relative change in density.
          +
          324 const double rho_threshold = m_config.get<double>("gridfire:solver:policy:rho_threshold", 0.10); // 10%
          +
          325 const double rho_relative_change = std::abs(conditions.density - m_lastSeenConditions.density) / m_lastSeenConditions.density;
          +
          326 if (rho_relative_change > rho_threshold) {
          +
          327 LOG_DEBUG(m_logger, "Density changed by {:.1f}%, triggering view update.", rho_relative_change * 100);
          +
          328 return true;
          +
          329 }
          +
          330
          +
          331 // Policy 4: Check for fuel depletion.
          +
          332 // If a primary fuel source changes significantly, the network structure may change.
          +
          333 const double fuel_threshold = m_config.get<double>("gridfire:solver:policy:fuel_threshold", 0.15); // 15%
          +
          334
          +
          335 // Example: Check hydrogen abundance
          +
          336 const double h1_old = m_lastSeenConditions.composition.getMassFraction("H-1");
          +
          337 const double h1_new = conditions.composition.getMassFraction("H-1");
          +
          338 if (h1_old > 1e-12) { // Avoid division by zero
          +
          339 const double h1_relative_change = std::abs(h1_new - h1_old) / h1_old;
          +
          340 if (h1_relative_change > fuel_threshold) {
          +
          341 LOG_DEBUG(m_logger, "H-1 mass fraction changed by {:.1f}%, triggering view update.", h1_relative_change * 100);
          +
          342 return true;
          +
          343 }
          +
          344 }
          +
          345
          +
          346 // If none of the above conditions are met, the current view is still good enough.
          +
          347 return false;
          +
          348 }
          +
          +
          349
          +
          + +
          351 const boost::numeric::ublas::vector<double> &YDynamic,
          +
          352 boost::numeric::ublas::vector<double> &dYdtDynamic,
          +
          353 double t
          +
          354 ) const {
          +
          355 // --- Populate the slow / dynamic species vector ---
          +
          356 std::vector<double> YFull(m_engine.getNetworkSpecies().size());
          +
          357 for (size_t i = 0; i < m_dynamicSpeciesIndices.size(); ++i) {
          +
          358 YFull[m_dynamicSpeciesIndices[i]] = YDynamic(i);
          +
          359 }
          +
          360
          +
          361 // --- Populate the QSE species vector ---
          +
          362 for (size_t i = 0; i < m_QSESpeciesIndices.size(); ++i) {
          +
          363 YFull[m_QSESpeciesIndices[i]] = m_Y_QSE(i);
          +
          364 }
          365
          -
          366 NetOut netOut;
          -
          367 netOut.composition = std::move(outputComposition);
          -
          368 netOut.energy = Y(numSpecies); // Specific energy rate
          -
          369 netOut.num_steps = stepCount;
          -
          370
          -
          371 return netOut;
          -
          372 }
          +
          366 auto [full_dYdt, specificEnergyRate] = m_engine.calculateRHSAndEnergy(YFull, m_T9, m_rho);
          +
          367
          +
          368 dYdtDynamic.resize(m_dynamicSpeciesIndices.size() + 1);
          +
          369 for (size_t i = 0; i < m_dynamicSpeciesIndices.size(); ++i) {
          +
          370 dYdtDynamic(i) = full_dYdt[m_dynamicSpeciesIndices[i]];
          +
          371 }
          +
          372 dYdtDynamic[m_dynamicSpeciesIndices.size()] = specificEnergyRate;
          +
          373 }
          -
          373
          -
          - -
          375 const boost::numeric::ublas::vector<double> &Y,
          -
          376 boost::numeric::ublas::vector<double> &dYdt,
          -
          377 double t
          -
          378 ) const {
          -
          379 const std::vector<double> y(Y.begin(), m_numSpecies + Y.begin());
          -
          380 auto [dydt, eps] = m_engine.calculateRHSAndEnergy(y, m_T9, m_rho);
          -
          381 dYdt.resize(m_numSpecies + 1);
          -
          382 std::ranges::copy(dydt, dYdt.begin());
          -
          383 dYdt(m_numSpecies) = eps;
          -
          384 }
          +
          374
          +
          + +
          376 namespace ublas = boost::numeric::ublas;
          +
          377 namespace odeint = boost::numeric::odeint;
          +
          378 using fourdst::composition::Composition;
          +
          379
          +
          380
          +
          381 const double T9 = netIn.temperature / 1e9; // Convert temperature from Kelvin to T9 (T9 = T / 1e9)
          +
          382 const unsigned long numSpecies = m_engine.getNetworkSpecies().size();
          +
          383
          +
          384 const auto absTol = m_config.get<double>("gridfire:solver:DirectNetworkSolver:absTol", 1.0e-8);
          +
          385 const auto relTol = m_config.get<double>("gridfire:solver:DirectNetworkSolver:relTol", 1.0e-8);
          +
          386
          +
          387 size_t stepCount = 0;
          +
          388
          +
          389 RHSFunctor rhsFunctor(m_engine, T9, netIn.density);
          +
          390 JacobianFunctor jacobianFunctor(m_engine, T9, netIn.density);
          +
          391
          +
          392 ublas::vector<double> Y(numSpecies + 1);
          +
          393
          +
          394 for (size_t i = 0; i < numSpecies; ++i) {
          +
          395 const auto& species = m_engine.getNetworkSpecies()[i];
          +
          396 try {
          +
          397 Y(i) = netIn.composition.getMolarAbundance(std::string(species.name()));
          +
          398 } catch (const std::runtime_error) {
          +
          399 LOG_DEBUG(m_logger, "Species '{}' not found in composition. Setting abundance to 0.0.", species.name());
          +
          400 Y(i) = 0.0;
          +
          401 }
          +
          402 }
          +
          403 Y(numSpecies) = 0.0;
          +
          404
          +
          405 const auto stepper = odeint::make_controlled<odeint::rosenbrock4<double>>(absTol, relTol);
          +
          406 stepCount = odeint::integrate_adaptive(
          +
          407 stepper,
          +
          408 std::make_pair(rhsFunctor, jacobianFunctor),
          +
          409 Y,
          +
          410 0.0,
          +
          411 netIn.tMax,
          +
          412 netIn.dt0
          +
          413 );
          +
          414
          +
          415 std::vector<double> finalMassFractions(numSpecies);
          +
          416 for (size_t i = 0; i < numSpecies; ++i) {
          +
          417 const double molarMass = m_engine.getNetworkSpecies()[i].mass();
          +
          418 finalMassFractions[i] = Y(i) * molarMass; // Convert from molar abundance to mass fraction
          +
          419 if (finalMassFractions[i] < MIN_ABUNDANCE_THRESHOLD) {
          +
          420 finalMassFractions[i] = 0.0;
          +
          421 }
          +
          422 }
          +
          423
          +
          424 std::vector<std::string> speciesNames;
          +
          425 speciesNames.reserve(numSpecies);
          +
          426 for (const auto& species : m_engine.getNetworkSpecies()) {
          +
          427 speciesNames.push_back(std::string(species.name()));
          +
          428 }
          +
          429
          +
          430 Composition outputComposition(speciesNames);
          +
          431 outputComposition.setMassFraction(speciesNames, finalMassFractions);
          +
          432 outputComposition.finalize(true);
          +
          433
          +
          434 NetOut netOut;
          +
          435 netOut.composition = std::move(outputComposition);
          +
          436 netOut.energy = Y(numSpecies); // Specific energy rate
          +
          437 netOut.num_steps = stepCount;
          +
          438
          +
          439 return netOut;
          +
          440 }
          -
          385
          -
          - -
          387 const boost::numeric::ublas::vector<double> &Y,
          -
          388 boost::numeric::ublas::matrix<double> &J,
          -
          389 double t,
          -
          390 boost::numeric::ublas::vector<double> &dfdt
          -
          391 ) const {
          -
          392 J.resize(m_numSpecies+1, m_numSpecies+1);
          -
          393 J.clear();
          -
          394 for (int i = 0; i < m_numSpecies; ++i) {
          -
          395 for (int j = 0; j < m_numSpecies; ++j) {
          -
          396 J(i, j) = m_engine.getJacobianMatrixEntry(i, j);
          -
          397 }
          -
          398 }
          -
          399 }
          +
          441
          +
          + +
          443 const boost::numeric::ublas::vector<double> &Y,
          +
          444 boost::numeric::ublas::vector<double> &dYdt,
          +
          445 double t
          +
          446 ) const {
          +
          447 const std::vector<double> y(Y.begin(), m_numSpecies + Y.begin());
          +
          448
          +
          449 // std::string timescales = utils::formatNuclearTimescaleLogString(
          +
          450 // m_engine,
          +
          451 // y,
          +
          452 // m_T9,
          +
          453 // m_rho
          +
          454 // );
          +
          455 // LOG_TRACE_L2(m_logger, "{}", timescales);
          +
          456
          +
          457 auto [dydt, eps] = m_engine.calculateRHSAndEnergy(y, m_T9, m_rho);
          +
          458 dYdt.resize(m_numSpecies + 1);
          +
          459 std::ranges::copy(dydt, dYdt.begin());
          +
          460 dYdt(m_numSpecies) = eps;
          +
          461 }
          -
          400}
          -
          Abstract class for engines supporting Jacobian and stoichiometry operations.
          +
          462
          +
          + +
          464 const boost::numeric::ublas::vector<double> &Y,
          +
          465 boost::numeric::ublas::matrix<double> &J,
          +
          466 double t,
          +
          467 boost::numeric::ublas::vector<double> &dfdt
          +
          468 ) const {
          +
          469 J.resize(m_numSpecies+1, m_numSpecies+1);
          +
          470 J.clear();
          +
          471 for (int i = 0; i < m_numSpecies; ++i) {
          +
          472 for (int j = 0; j < m_numSpecies; ++j) {
          +
          473 J(i, j) = m_engine.getJacobianMatrixEntry(i, j);
          +
          474 }
          +
          475 }
          +
          476 }
          +
          +
          477}
          +
          Abstract class for engines supporting Jacobian and stoichiometry operations.
          virtual const std::vector< fourdst::atomic::Species > & getNetworkSpecies() const =0
          Get the list of species in the network.
          -
          A network solver that directly integrates the reaction network ODEs.
          Definition solver.h:379
          -
          quill::Logger * m_logger
          Logger instance.
          Definition solver.h:483
          -
          fourdst::config::Config & m_config
          Configuration instance.
          Definition solver.h:484
          -
          NetOut evaluate(const NetIn &netIn) override
          Evaluates the network for a given timestep using direct integration.
          Definition solver.cpp:308
          - -
          Eigen::VectorXd calculateSteadyStateAbundances(const std::vector< double > &Y, const double T9, const double rho, const dynamicQSESpeciesIndices &indices) const
          Calculates the steady-state abundances of the QSE species.
          Definition solver.cpp:187
          -
          bool shouldUpdateView(const NetIn &conditions) const
          Determines whether the adaptive engine view should be updated.
          Definition solver.cpp:241
          -
          NetIn m_lastSeenConditions
          The last seen input conditions.
          Definition solver.h:366
          -
          quill::Logger * m_logger
          Logger instance.
          Definition solver.h:362
          -
          NetOut evaluate(const NetIn &netIn) override
          Evaluates the network for a given timestep using the QSE approach.
          Definition solver.cpp:23
          -
          dynamicQSESpeciesIndices packSpeciesTypeIndexVectors(const std::vector< double > &Y, const double T9, const double rho) const
          Packs the species indices into vectors based on their type (dynamic or QSE).
          Definition solver.cpp:119
          -
          fourdst::config::Config & m_config
          Configuration instance.
          Definition solver.h:363
          -
          bool m_isViewInitialized
          Flag indicating whether the adaptive engine view has been initialized.
          Definition solver.h:365
          -
          NetOut initializeNetworkWithShortIgnition(const NetIn &netIn) const
          Initializes the network with a short ignition phase.
          Definition solver.cpp:202
          +
          A network solver that directly integrates the reaction network ODEs.
          Definition solver.h:386
          +
          quill::Logger * m_logger
          Logger instance.
          Definition solver.h:491
          +
          fourdst::config::Config & m_config
          Configuration instance.
          Definition solver.h:492
          +
          NetOut evaluate(const NetIn &netIn) override
          Evaluates the network for a given timestep using direct integration.
          Definition solver.cpp:375
          + +
          Eigen::VectorXd calculateSteadyStateAbundances(const std::vector< double > &Y, const double T9, const double rho, const dynamicQSESpeciesIndices &indices) const
          Calculates the steady-state abundances of the QSE species.
          Definition solver.cpp:205
          +
          bool shouldUpdateView(const NetIn &conditions) const
          Determines whether the adaptive engine view should be updated.
          Definition solver.cpp:308
          +
          NetIn m_lastSeenConditions
          The last seen input conditions.
          Definition solver.h:373
          +
          quill::Logger * m_logger
          Logger instance.
          Definition solver.h:369
          +
          NetOut evaluate(const NetIn &netIn) override
          Evaluates the network for a given timestep using the QSE approach.
          Definition solver.cpp:26
          +
          dynamicQSESpeciesIndices packSpeciesTypeIndexVectors(const std::vector< double > &Y, const double T9, const double rho) const
          Packs the species indices into vectors based on their type (dynamic or QSE).
          Definition solver.cpp:137
          +
          fourdst::config::Config & m_config
          Configuration instance.
          Definition solver.h:370
          +
          bool m_isViewInitialized
          Flag indicating whether the adaptive engine view has been initialized.
          Definition solver.h:372
          +
          NetOut initializeNetworkWithShortIgnition(const NetIn &netIn) const
          Initializes the network with a short ignition phase.
          Definition solver.cpp:264
          + + -
          static constexpr double MIN_ABUNDANCE_THRESHOLD
          Minimum abundance threshold below which species are ignored.
          +
          static constexpr double MIN_ABUNDANCE_THRESHOLD
          Minimum abundance threshold below which species are ignored.
          @@ -552,16 +631,17 @@ $(function(){initNavTree('solver_8cpp_source.html',''); initResizable(true); });
          fourdst::composition::Composition composition
          Composition of the network after evaluation.
          Definition network.h:66
          double energy
          Energy in ergs after evaluation.
          Definition network.h:68
          int num_steps
          Number of steps taken in the evaluation.
          Definition network.h:67
          -
          Functor for calculating the Jacobian matrix.
          Definition solver.h:444
          -
          const size_t m_numSpecies
          The number of species in the network.
          Definition solver.h:448
          -
          DynamicEngine & m_engine
          The engine used to evaluate the network.
          Definition solver.h:445
          -
          void operator()(const boost::numeric::ublas::vector< double > &Y, boost::numeric::ublas::matrix< double > &J, double t, boost::numeric::ublas::vector< double > &dfdt) const
          Calculates the Jacobian matrix.
          Definition solver.cpp:386
          -
          Functor for calculating the right-hand side of the ODEs.
          Definition solver.h:402
          -
          DynamicEngine & m_engine
          The engine used to evaluate the network.
          Definition solver.h:403
          -
          const double m_T9
          Temperature in units of 10^9 K.
          Definition solver.h:404
          -
          void operator()(const boost::numeric::ublas::vector< double > &Y, boost::numeric::ublas::vector< double > &dYdt, double t) const
          Calculates the time derivatives of the species abundances.
          Definition solver.cpp:374
          -
          const double m_rho
          Density in g/cm^3.
          Definition solver.h:405
          -
          const size_t m_numSpecies
          The number of species in the network.
          Definition solver.h:406
          +
          Functor for calculating the Jacobian matrix.
          Definition solver.h:452
          +
          const size_t m_numSpecies
          The number of species in the network.
          Definition solver.h:456
          +
          DynamicEngine & m_engine
          The engine used to evaluate the network.
          Definition solver.h:453
          +
          void operator()(const boost::numeric::ublas::vector< double > &Y, boost::numeric::ublas::matrix< double > &J, double t, boost::numeric::ublas::vector< double > &dfdt) const
          Calculates the Jacobian matrix.
          Definition solver.cpp:463
          +
          Functor for calculating the right-hand side of the ODEs.
          Definition solver.h:409
          +
          DynamicEngine & m_engine
          The engine used to evaluate the network.
          Definition solver.h:410
          +
          const double m_T9
          Temperature in units of 10^9 K.
          Definition solver.h:411
          +
          void operator()(const boost::numeric::ublas::vector< double > &Y, boost::numeric::ublas::vector< double > &dYdt, double t) const
          Calculates the time derivatives of the species abundances.
          Definition solver.cpp:442
          +
          const double m_rho
          Density in g/cm^3.
          Definition solver.h:412
          +
          const size_t m_numSpecies
          The number of species in the network.
          Definition solver.h:413
          +
          Functor for calculating the residual and Jacobian for the QSE species using Eigen.
          Definition solver.h:309
          Functor for calculating the right-hand side of the ODEs for the dynamic species.
          Definition solver.h:201
          const Eigen::VectorXd & m_Y_QSE
          Steady-state abundances of the QSE species.
          Definition solver.h:205
          DynamicEngine & m_engine
          The engine used to evaluate the network.
          Definition solver.h:202
          @@ -569,9 +649,10 @@ $(function(){initNavTree('solver_8cpp_source.html',''); initResizable(true); });
          const std::vector< size_t > & m_dynamicSpeciesIndices
          Indices of the dynamic species.
          Definition solver.h:203
          const std::vector< size_t > & m_QSESpeciesIndices
          Indices of the QSE species.
          Definition solver.h:204
          const double m_rho
          Density in g/cm^3.
          Definition solver.h:207
          -
          void operator()(const boost::numeric::ublas::vector< double > &YDynamic, boost::numeric::ublas::vector< double > &dYdtDynamic, double t) const
          Calculates the time derivatives of the dynamic species.
          Definition solver.cpp:283
          +
          void operator()(const boost::numeric::ublas::vector< double > &YDynamic, boost::numeric::ublas::vector< double > &dYdtDynamic, double t) const
          Calculates the time derivatives of the dynamic species.
          Definition solver.cpp:350
          Structure to hold indices of dynamic and QSE species.
          Definition solver.h:27
          std::vector< size_t > QSESpeciesIndices
          Indices of fast species that are in QSE.
          Definition solver.h:29
          +
          std::vector< size_t > dynamicSpeciesIndices
          Indices of slow species that are not in QSE.
          Definition solver.h:28
          diff --git a/docs/html/solver_8h.html b/docs/html/solver_8h.html index ae7fafbe..266b76fb 100644 --- a/docs/html/solver_8h.html +++ b/docs/html/solver_8h.html @@ -108,12 +108,12 @@ $(function(){initNavTree('solver_8h.html',''); initResizable(true); });
          #include "gridfire/engine/engine_graph.h"
          #include "gridfire/engine/engine_abstract.h"
          -#include "gridfire/engine/engine_adaptive.h"
          +#include "../engine/views/engine_adaptive.h"
          #include "gridfire/network.h"
          #include "fourdst/logging/logging.h"
          #include "fourdst/config/config.h"
          #include "quill/Logger.h"
          -#include "Eigen/Dense"
          +#include "unsupported/Eigen/NonLinearOptimization"
          #include <vector>

          Go to the source code of this file.

          diff --git a/docs/html/solver_8h_source.html b/docs/html/solver_8h_source.html index b2128dce..32fb8a1c 100644 --- a/docs/html/solver_8h_source.html +++ b/docs/html/solver_8h_source.html @@ -106,7 +106,7 @@ $(function(){initNavTree('solver_8h_source.html',''); initResizable(true); });
          2
          - +
          6#include "gridfire/network.h"
          7
          8#include "fourdst/logging/logging.h"
          @@ -114,7 +114,7 @@ $(function(){initNavTree('solver_8h_source.html',''); initResizable(true); });
          10
          11#include "quill/Logger.h"
          12
          -
          13#include "Eigen/Dense"
          +
          13#include "unsupported/Eigen/NonLinearOptimization" // Required for LevenbergMarquardt
          14
          15#include <vector>
          16
          @@ -149,9 +149,9 @@ $(function(){initNavTree('solver_8h_source.html',''); initResizable(true); });
          80
          - +
          99 public:
          -
          104 using AdaptiveNetworkSolverStrategy::AdaptiveNetworkSolverStrategy;
          +
          104 using DynamicNetworkSolverStrategy::DynamicNetworkSolverStrategy;
          105
          124 NetOut evaluate(const NetIn& netIn) override;
          125 private: // methods
          @@ -245,191 +245,195 @@ $(function(){initNavTree('solver_8h_source.html',''); initResizable(true); });
          301
          308 template<typename T>
          - +
          310 using InputType = Eigen::Matrix<T, Eigen::Dynamic, 1>;
          311 using OutputType = Eigen::Matrix<T, Eigen::Dynamic, 1>;
          312 using JacobianType = Eigen::Matrix<T, Eigen::Dynamic, Eigen::Dynamic>;
          -
          313
          - -
          315 const std::vector<double>& m_YDynamic;
          -
          316 const std::vector<size_t>& m_dynamicSpeciesIndices;
          -
          317 const std::vector<size_t>& m_QSESpeciesIndices;
          -
          318 const double m_T9;
          -
          319 const double m_rho;
          -
          320
          -
          - -
          331 DynamicEngine& engine,
          -
          332 const std::vector<double>& YDynamic,
          -
          333 const std::vector<size_t>& dynamicSpeciesIndices,
          -
          334 const std::vector<size_t>& QSESpeciesIndices,
          -
          335 const double T9,
          -
          336 const double rho
          -
          337 ) :
          -
          338 m_engine(engine),
          -
          339 m_YDynamic(YDynamic),
          -
          340 m_dynamicSpeciesIndices(dynamicSpeciesIndices),
          -
          341 m_QSESpeciesIndices(QSESpeciesIndices),
          -
          342 m_T9(T9),
          -
          343 m_rho(rho) {}
          +
          313 enum {
          +
          314 InputsAtCompileTime = Eigen::Dynamic,
          +
          315 ValuesAtCompileTime = Eigen::Dynamic
          +
          316 };
          +
          317
          + +
          319 const std::vector<double>& m_YFull;
          +
          320 const std::vector<size_t>& m_dynamicSpeciesIndices;
          +
          321 const std::vector<size_t>& m_QSESpeciesIndices;
          +
          322 const double m_T9;
          +
          323 const double m_rho;
          +
          324
          +
          + +
          335 DynamicEngine& engine,
          +
          336 const std::vector<double>& YFull,
          +
          337 const std::vector<size_t>& dynamicSpeciesIndices,
          +
          338 const std::vector<size_t>& QSESpeciesIndices,
          +
          339 const double T9,
          +
          340 const double rho
          +
          341 ) :
          +
          342 m_engine(engine),
          +
          343 m_YFull(YFull),
          +
          344 m_dynamicSpeciesIndices(dynamicSpeciesIndices),
          +
          345 m_QSESpeciesIndices(QSESpeciesIndices),
          +
          346 m_T9(T9),
          +
          347 m_rho(rho) {}
          -
          344
          -
          351 int operator()(const InputType& v_QSE, OutputType& f_QSE) const;
          -
          352
          -
          359 int df(const InputType& v_QSE, JacobianType& J_QSE) const;
          -
          360 };
          +
          348
          +
          349 int values() const { return m_QSESpeciesIndices.size(); }
          +
          350 int inputs() const { return m_QSESpeciesIndices.size(); }
          +
          351
          +
          358 int operator()(const InputType& v_QSE_log, OutputType& f_QSE) const;
          +
          359
          +
          366 int df(const InputType& v_QSE_log, JacobianType& J_QSE) const;
          +
          367 };
          -
          361 private:
          -
          362 quill::Logger* m_logger = fourdst::logging::LogManager::getInstance().getLogger("log");
          -
          363 fourdst::config::Config& m_config = fourdst::config::Config::getInstance();
          -
          364
          -
          365 bool m_isViewInitialized = false;
          - -
          367 };
          +
          368 private:
          +
          369 quill::Logger* m_logger = fourdst::logging::LogManager::getInstance().getLogger("log");
          +
          370 fourdst::config::Config& m_config = fourdst::config::Config::getInstance();
          +
          371
          +
          372 bool m_isViewInitialized = false;
          + +
          374 };
          -
          368
          -
          - -
          380 public:
          -
          385 using DynamicNetworkSolverStrategy::DynamicNetworkSolverStrategy;
          -
          386
          -
          392 NetOut evaluate(const NetIn& netIn) override;
          -
          393 private:
          -
          -
          402 struct RHSFunctor {
          - -
          404 const double m_T9;
          -
          405 const double m_rho;
          -
          406 const size_t m_numSpecies;
          -
          407
          -
          - -
          415 DynamicEngine& engine,
          -
          416 const double T9,
          -
          417 const double rho
          -
          418 ) :
          -
          419 m_engine(engine),
          -
          420 m_T9(T9),
          -
          421 m_rho(rho),
          -
          422 m_numSpecies(engine.getNetworkSpecies().size()) {}
          +
          375
          +
          + +
          387 public:
          +
          392 using DynamicNetworkSolverStrategy::DynamicNetworkSolverStrategy;
          +
          393
          +
          399 NetOut evaluate(const NetIn& netIn) override;
          +
          400 private:
          +
          +
          409 struct RHSFunctor {
          + +
          411 const double m_T9;
          +
          412 const double m_rho;
          +
          413 const size_t m_numSpecies;
          +
          414 quill::Logger* m_logger = LogManager::getInstance().getLogger("log");
          +
          415
          +
          + +
          423 DynamicEngine& engine,
          +
          424 const double T9,
          +
          425 const double rho
          +
          426 ) :
          +
          427 m_engine(engine),
          +
          428 m_T9(T9),
          +
          429 m_rho(rho),
          +
          430 m_numSpecies(engine.getNetworkSpecies().size()) {}
          -
          423
          -
          430 void operator()(
          -
          431 const boost::numeric::ublas::vector<double>& Y,
          -
          432 boost::numeric::ublas::vector<double>& dYdt,
          -
          433 double t
          -
          434 ) const;
          -
          435 };
          +
          431
          +
          438 void operator()(
          +
          439 const boost::numeric::ublas::vector<double>& Y,
          +
          440 boost::numeric::ublas::vector<double>& dYdt,
          +
          441 double t
          +
          442 ) const;
          +
          443 };
          -
          436
          -
          - - -
          446 const double m_T9;
          -
          447 const double m_rho;
          -
          448 const size_t m_numSpecies;
          -
          449
          -
          - -
          457 DynamicEngine& engine,
          -
          458 const double T9,
          -
          459 const double rho
          -
          460 ) :
          -
          461 m_engine(engine),
          -
          462 m_T9(T9),
          -
          463 m_rho(rho),
          -
          464 m_numSpecies(engine.getNetworkSpecies().size()) {}
          +
          444
          +
          + + +
          454 const double m_T9;
          +
          455 const double m_rho;
          +
          456 const size_t m_numSpecies;
          +
          457
          +
          + +
          465 DynamicEngine& engine,
          +
          466 const double T9,
          +
          467 const double rho
          +
          468 ) :
          +
          469 m_engine(engine),
          +
          470 m_T9(T9),
          +
          471 m_rho(rho),
          +
          472 m_numSpecies(engine.getNetworkSpecies().size()) {}
          -
          465
          -
          473 void operator()(
          -
          474 const boost::numeric::ublas::vector<double>& Y,
          -
          475 boost::numeric::ublas::matrix<double>& J,
          -
          476 double t,
          -
          477 boost::numeric::ublas::vector<double>& dfdt
          -
          478 ) const;
          -
          479
          -
          480 };
          +
          473
          +
          481 void operator()(
          +
          482 const boost::numeric::ublas::vector<double>& Y,
          +
          483 boost::numeric::ublas::matrix<double>& J,
          +
          484 double t,
          +
          485 boost::numeric::ublas::vector<double>& dfdt
          +
          486 ) const;
          +
          487
          +
          488 };
          -
          481
          -
          482 private:
          -
          483 quill::Logger* m_logger = fourdst::logging::LogManager::getInstance().getLogger("log");
          -
          484 fourdst::config::Config& m_config = fourdst::config::Config::getInstance();
          -
          485 };
          +
          489
          +
          490 private:
          +
          491 quill::Logger* m_logger = fourdst::logging::LogManager::getInstance().getLogger("log");
          +
          492 fourdst::config::Config& m_config = fourdst::config::Config::getInstance();
          +
          493 };
          -
          486
          -
          487 template<typename T>
          -
          - -
          489 std::vector<double> YFull(m_engine.getNetworkSpecies().size(), 0.0);
          -
          490 Eigen::VectorXd Y_QSE(v_QSE.array().exp());
          -
          491 for (size_t i = 0; i < m_dynamicSpeciesIndices.size(); ++i) {
          -
          492 YFull[m_dynamicSpeciesIndices[i]] = m_YDynamic[i];
          -
          493 }
          -
          494 for (size_t i = 0; i < m_QSESpeciesIndices.size(); ++i) {
          -
          495 YFull[m_QSESpeciesIndices[i]] = Y_QSE(i);
          -
          496 }
          -
          497 const auto [full_dYdt, specificEnergyGenerationRate] = m_engine.calculateRHSAndEnergy(YFull, m_T9, m_rho);
          -
          498 f_QSE.resize(m_QSESpeciesIndices.size());
          -
          499 for (size_t i = 0; i < m_QSESpeciesIndices.size(); ++i) {
          -
          500 f_QSE(i) = full_dYdt[m_QSESpeciesIndices[i]];
          -
          501 }
          -
          502
          -
          503 return 0; // Success
          -
          504 }
          +
          494
          +
          495 template<typename T>
          +
          + +
          497 std::vector<double> y = m_YFull; // Full vector of species abundances
          +
          498 Eigen::VectorXd Y_QSE = v_QSE_log.array().exp();
          +
          499
          +
          500 for (size_t i = 0; i < m_QSESpeciesIndices.size(); ++i) {
          +
          501 y[m_QSESpeciesIndices[i]] = Y_QSE(i);
          +
          502 }
          +
          503
          +
          504
          +
          505 const auto [dydt, specificEnergyRate] = m_engine.calculateRHSAndEnergy(y, m_T9, m_rho);
          +
          506 f_QSE.resize(m_QSESpeciesIndices.size());
          +
          507 for (size_t i = 0; i < m_QSESpeciesIndices.size(); ++i) {
          +
          508 f_QSE(i) = dydt[m_QSESpeciesIndices[i]];
          +
          509 }
          +
          510 return 0; // Success
          +
          511 }
          -
          505
          -
          506 template <typename T>
          -
          - -
          508 std::vector<double> YFull(m_engine.getNetworkSpecies().size(), 0.0);
          -
          509 Eigen::VectorXd Y_QSE(v_QSE.array().exp());
          -
          510 for (size_t i = 0; i < m_dynamicSpeciesIndices.size(); ++i) {
          -
          511 YFull[m_dynamicSpeciesIndices[i]] = m_YDynamic[i];
          -
          512 }
          -
          513 for (size_t i = 0; i < m_QSESpeciesIndices.size(); ++i) {
          -
          514 YFull[m_QSESpeciesIndices[i]] = Y_QSE(i);
          -
          515 }
          -
          516
          -
          517 m_engine.generateJacobianMatrix(YFull, m_T9, m_rho);
          -
          518
          -
          519 Eigen::MatrixXd J_orig(m_QSESpeciesIndices.size(), m_QSESpeciesIndices.size());
          -
          520 for (size_t i = 0; i < m_QSESpeciesIndices.size(); ++i) {
          -
          521 for (size_t j = 0; j < m_QSESpeciesIndices.size(); ++j) {
          -
          522 J_orig(i, j) = m_engine.getJacobianMatrixEntry(m_QSESpeciesIndices[i], m_QSESpeciesIndices[j]);
          -
          523 }
          -
          524 }
          -
          525
          -
          526 J_QSE = J_orig;
          -
          527 for (long j = 0; j < J_QSE.cols(); ++j) {
          -
          528 J_QSE.col(j) *= Y_QSE(j); // Chain rule for log space
          +
          512
          +
          513 template <typename T>
          +
          + +
          515 std::vector<double> y = m_YFull;
          +
          516 Eigen::VectorXd Y_QSE = v_QSE_log.array().exp();
          +
          517
          +
          518 for (size_t i = 0; i < m_QSESpeciesIndices.size(); ++i) {
          +
          519 y[m_QSESpeciesIndices[i]] = Y_QSE(i);
          +
          520 }
          +
          521
          +
          522 m_engine.generateJacobianMatrix(y, m_T9, m_rho);
          +
          523
          +
          524 J_QSE.resize(m_QSESpeciesIndices.size(), m_QSESpeciesIndices.size());
          +
          525 for (size_t i = 0; i < m_QSESpeciesIndices.size(); ++i) {
          +
          526 for (size_t j = 0; j < m_QSESpeciesIndices.size(); ++j) {
          +
          527 J_QSE(i, j) = m_engine.getJacobianMatrixEntry(m_QSESpeciesIndices[i], m_QSESpeciesIndices[j]);
          +
          528 }
          529 }
          -
          530 return 0; // Success
          -
          531 }
          +
          530
          +
          531 for (long j = 0; j < J_QSE.cols(); ++j) {
          +
          532 J_QSE(j, j) *= Y_QSE(j); // chain rule for log space transformation
          +
          533 }
          +
          534 return 0;
          +
          535 }
          -
          532
          -
          533
          -
          534}
          +
          536
          +
          537
          +
          538}
          -
          Abstract class for engines supporting Jacobian and stoichiometry operations.
          -
          A network solver that directly integrates the reaction network ODEs.
          Definition solver.h:379
          -
          quill::Logger * m_logger
          Logger instance.
          Definition solver.h:483
          -
          fourdst::config::Config & m_config
          Configuration instance.
          Definition solver.h:484
          -
          NetOut evaluate(const NetIn &netIn) override
          Evaluates the network for a given timestep using direct integration.
          Definition solver.cpp:308
          +
          Abstract class for engines supporting Jacobian and stoichiometry operations.
          +
          A network solver that directly integrates the reaction network ODEs.
          Definition solver.h:386
          +
          quill::Logger * m_logger
          Logger instance.
          Definition solver.h:491
          +
          fourdst::config::Config & m_config
          Configuration instance.
          Definition solver.h:492
          +
          NetOut evaluate(const NetIn &netIn) override
          Evaluates the network for a given timestep using direct integration.
          Definition solver.cpp:375
          Abstract base class for network solver strategies.
          Definition solver.h:43
          NetworkSolverStrategy(EngineT &engine)
          Constructor for the NetworkSolverStrategy.
          Definition solver.h:49
          virtual ~NetworkSolverStrategy()=default
          Virtual destructor.
          virtual NetOut evaluate(const NetIn &netIn)=0
          Evaluates the network for a given timestep.
          A network solver that uses a Quasi-Steady-State Equilibrium (QSE) approach.
          Definition solver.h:98
          -
          Eigen::VectorXd calculateSteadyStateAbundances(const std::vector< double > &Y, const double T9, const double rho, const dynamicQSESpeciesIndices &indices) const
          Calculates the steady-state abundances of the QSE species.
          Definition solver.cpp:187
          -
          bool shouldUpdateView(const NetIn &conditions) const
          Determines whether the adaptive engine view should be updated.
          Definition solver.cpp:241
          -
          NetIn m_lastSeenConditions
          The last seen input conditions.
          Definition solver.h:366
          -
          quill::Logger * m_logger
          Logger instance.
          Definition solver.h:362
          -
          NetOut evaluate(const NetIn &netIn) override
          Evaluates the network for a given timestep using the QSE approach.
          Definition solver.cpp:23
          -
          dynamicQSESpeciesIndices packSpeciesTypeIndexVectors(const std::vector< double > &Y, const double T9, const double rho) const
          Packs the species indices into vectors based on their type (dynamic or QSE).
          Definition solver.cpp:119
          -
          fourdst::config::Config & m_config
          Configuration instance.
          Definition solver.h:363
          -
          bool m_isViewInitialized
          Flag indicating whether the adaptive engine view has been initialized.
          Definition solver.h:365
          -
          NetOut initializeNetworkWithShortIgnition(const NetIn &netIn) const
          Initializes the network with a short ignition phase.
          Definition solver.cpp:202
          +
          Eigen::VectorXd calculateSteadyStateAbundances(const std::vector< double > &Y, const double T9, const double rho, const dynamicQSESpeciesIndices &indices) const
          Calculates the steady-state abundances of the QSE species.
          Definition solver.cpp:205
          +
          bool shouldUpdateView(const NetIn &conditions) const
          Determines whether the adaptive engine view should be updated.
          Definition solver.cpp:308
          +
          NetIn m_lastSeenConditions
          The last seen input conditions.
          Definition solver.h:373
          +
          quill::Logger * m_logger
          Logger instance.
          Definition solver.h:369
          +
          NetOut evaluate(const NetIn &netIn) override
          Evaluates the network for a given timestep using the QSE approach.
          Definition solver.cpp:26
          +
          dynamicQSESpeciesIndices packSpeciesTypeIndexVectors(const std::vector< double > &Y, const double T9, const double rho) const
          Packs the species indices into vectors based on their type (dynamic or QSE).
          Definition solver.cpp:137
          +
          fourdst::config::Config & m_config
          Configuration instance.
          Definition solver.h:370
          +
          bool m_isViewInitialized
          Flag indicating whether the adaptive engine view has been initialized.
          Definition solver.h:372
          +
          NetOut initializeNetworkWithShortIgnition(const NetIn &netIn) const
          Initializes the network with a short ignition phase.
          Definition solver.cpp:264
          Abstract interfaces for reaction network engines in GridFire.
          @@ -440,30 +444,35 @@ $(function(){initNavTree('solver_8h_source.html',''); initResizable(true); }); -
          const size_t m_numSpecies
          The number of species in the network.
          Definition solver.h:448
          -
          DynamicEngine & m_engine
          The engine used to evaluate the network.
          Definition solver.h:445
          -
          const double m_T9
          Temperature in units of 10^9 K.
          Definition solver.h:446
          - -
          void operator()(const boost::numeric::ublas::vector< double > &Y, boost::numeric::ublas::matrix< double > &J, double t, boost::numeric::ublas::vector< double > &dfdt) const
          Calculates the Jacobian matrix.
          Definition solver.cpp:386
          -
          JacobianFunctor(DynamicEngine &engine, const double T9, const double rho)
          Constructor for the JacobianFunctor.
          Definition solver.h:456
          -
          DynamicEngine & m_engine
          The engine used to evaluate the network.
          Definition solver.h:403
          -
          const double m_T9
          Temperature in units of 10^9 K.
          Definition solver.h:404
          -
          void operator()(const boost::numeric::ublas::vector< double > &Y, boost::numeric::ublas::vector< double > &dYdt, double t) const
          Calculates the time derivatives of the species abundances.
          Definition solver.cpp:374
          -
          const double m_rho
          Density in g/cm^3.
          Definition solver.h:405
          -
          const size_t m_numSpecies
          The number of species in the network.
          Definition solver.h:406
          -
          RHSFunctor(DynamicEngine &engine, const double T9, const double rho)
          Constructor for the RHSFunctor.
          Definition solver.h:414
          -
          const std::vector< size_t > & m_dynamicSpeciesIndices
          Indices of the dynamic species.
          Definition solver.h:316
          -
          const double m_T9
          Temperature in units of 10^9 K.
          Definition solver.h:318
          -
          int operator()(const InputType &v_QSE, OutputType &f_QSE) const
          Calculates the residual vector for the QSE species.
          Definition solver.h:488
          -
          DynamicEngine & m_engine
          The engine used to evaluate the network.
          Definition solver.h:314
          -
          const double m_rho
          Density in g/cm^3.
          Definition solver.h:319
          -
          const std::vector< size_t > & m_QSESpeciesIndices
          Indices of the QSE species.
          Definition solver.h:317
          +
          const size_t m_numSpecies
          The number of species in the network.
          Definition solver.h:456
          +
          DynamicEngine & m_engine
          The engine used to evaluate the network.
          Definition solver.h:453
          +
          const double m_T9
          Temperature in units of 10^9 K.
          Definition solver.h:454
          + +
          void operator()(const boost::numeric::ublas::vector< double > &Y, boost::numeric::ublas::matrix< double > &J, double t, boost::numeric::ublas::vector< double > &dfdt) const
          Calculates the Jacobian matrix.
          Definition solver.cpp:463
          +
          JacobianFunctor(DynamicEngine &engine, const double T9, const double rho)
          Constructor for the JacobianFunctor.
          Definition solver.h:464
          +
          DynamicEngine & m_engine
          The engine used to evaluate the network.
          Definition solver.h:410
          +
          const double m_T9
          Temperature in units of 10^9 K.
          Definition solver.h:411
          +
          void operator()(const boost::numeric::ublas::vector< double > &Y, boost::numeric::ublas::vector< double > &dYdt, double t) const
          Calculates the time derivatives of the species abundances.
          Definition solver.cpp:442
          +
          const double m_rho
          Density in g/cm^3.
          Definition solver.h:412
          +
          quill::Logger * m_logger
          Logger instance.
          Definition solver.h:414
          +
          const size_t m_numSpecies
          The number of species in the network.
          Definition solver.h:413
          +
          RHSFunctor(DynamicEngine &engine, const double T9, const double rho)
          Constructor for the RHSFunctor.
          Definition solver.h:422
          +
          const std::vector< size_t > & m_dynamicSpeciesIndices
          Indices of the dynamic species.
          Definition solver.h:320
          +
          int operator()(const InputType &v_QSE_log, OutputType &f_QSE) const
          Calculates the residual vector for the QSE species.
          Definition solver.h:496
          + + +
          const std::vector< double > & m_YFull
          The full, initial abundance vector.
          Definition solver.h:319
          +
          int df(const InputType &v_QSE_log, JacobianType &J_QSE) const
          Calculates the Jacobian matrix for the QSE species.
          Definition solver.h:514
          + +
          const double m_T9
          Temperature in units of 10^9 K.
          Definition solver.h:322
          +
          DynamicEngine & m_engine
          The engine used to evaluate the network.
          Definition solver.h:318
          +
          EigenFunctor(DynamicEngine &engine, const std::vector< double > &YFull, const std::vector< size_t > &dynamicSpeciesIndices, const std::vector< size_t > &QSESpeciesIndices, const double T9, const double rho)
          Constructor for the EigenFunctor.
          Definition solver.h:334
          + +
          const double m_rho
          Density in g/cm^3.
          Definition solver.h:323
          +
          const std::vector< size_t > & m_QSESpeciesIndices
          Indices of the QSE species.
          Definition solver.h:321
          Eigen::Matrix< T, Eigen::Dynamic, 1 > OutputType
          Definition solver.h:311
          -
          int df(const InputType &v_QSE, JacobianType &J_QSE) const
          Calculates the Jacobian matrix for the QSE species.
          Definition solver.h:507
          Eigen::Matrix< T, Eigen::Dynamic, 1 > InputType
          Definition solver.h:310
          Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > JacobianType
          Definition solver.h:312
          -
          const std::vector< double > & m_YDynamic
          Abundances of the dynamic species.
          Definition solver.h:315
          -
          EigenFunctor(DynamicEngine &engine, const std::vector< double > &YDynamic, const std::vector< size_t > &dynamicSpeciesIndices, const std::vector< size_t > &QSESpeciesIndices, const double T9, const double rho)
          Constructor for the EigenFunctor.
          Definition solver.h:330
          const double m_rho
          Density in g/cm^3.
          Definition solver.h:264
          const std::vector< size_t > & m_QSESpeciesIndices
          Indices of the QSE species.
          Definition solver.h:262
          const std::vector< size_t > & m_dynamicSpeciesIndices
          Indices of the dynamic species.
          Definition solver.h:261
          @@ -479,7 +488,7 @@ $(function(){initNavTree('solver_8h_source.html',''); initResizable(true); });
          const std::vector< size_t > & m_QSESpeciesIndices
          Indices of the QSE species.
          Definition solver.h:204
          const double m_rho
          Density in g/cm^3.
          Definition solver.h:207
          -
          void operator()(const boost::numeric::ublas::vector< double > &YDynamic, boost::numeric::ublas::vector< double > &dYdtDynamic, double t) const
          Calculates the time derivatives of the dynamic species.
          Definition solver.cpp:283
          +
          void operator()(const boost::numeric::ublas::vector< double > &YDynamic, boost::numeric::ublas::vector< double > &dYdtDynamic, double t) const
          Calculates the time derivatives of the dynamic species.
          Definition solver.cpp:350
          Structure to hold indices of dynamic and QSE species.
          Definition solver.h:27
          std::vector< size_t > QSESpeciesIndices
          Indices of fast species that are in QSE.
          Definition solver.h:29
          std::vector< size_t > dynamicSpeciesIndices
          Indices of slow species that are not in QSE.
          Definition solver.h:28
          diff --git a/docs/html/structgridfire_1_1_adaptive_engine_view_1_1_reaction_flow-members.html b/docs/html/structgridfire_1_1_adaptive_engine_view_1_1_reaction_flow-members.html index a6d6da30..92c133a0 100644 --- a/docs/html/structgridfire_1_1_adaptive_engine_view_1_1_reaction_flow-members.html +++ b/docs/html/structgridfire_1_1_adaptive_engine_view_1_1_reaction_flow-members.html @@ -106,7 +106,7 @@ $(function(){initNavTree('structgridfire_1_1_adaptive_engine_view_1_1_reaction_f

          This is the complete list of members for gridfire::AdaptiveEngineView::ReactionFlow, including all inherited members.

          - +
          flowRategridfire::AdaptiveEngineView::ReactionFlow
          reactionPtrgridfire::AdaptiveEngineView::ReactionFlow
          reactionPtrgridfire::AdaptiveEngineView::ReactionFlow
          diff --git a/docs/html/structgridfire_1_1_adaptive_engine_view_1_1_reaction_flow.html b/docs/html/structgridfire_1_1_adaptive_engine_view_1_1_reaction_flow.html index 3abcf982..9f76f7d8 100644 --- a/docs/html/structgridfire_1_1_adaptive_engine_view_1_1_reaction_flow.html +++ b/docs/html/structgridfire_1_1_adaptive_engine_view_1_1_reaction_flow.html @@ -111,15 +111,15 @@ $(function(){initNavTree('structgridfire_1_1_adaptive_engine_view_1_1_reaction_f - - + +

          Public Attributes

          const reaction::ReactionreactionPtr
           
          const reaction::LogicalReactionreactionPtr
           
          double flowRate
           

          Detailed Description

          A struct to hold a reaction and its flow rate.

          -

          Definition at line 314 of file engine_adaptive.h.

          +

          Definition at line 251 of file engine_adaptive.h.

          Member Data Documentation

          ◆ flowRate

          @@ -133,28 +133,28 @@ Public Attributes
          -

          Definition at line 316 of file engine_adaptive.h.

          +

          Definition at line 253 of file engine_adaptive.h.

          - -

          ◆ reactionPtr

          + +

          ◆ reactionPtr

          - +
          const reaction::Reaction* gridfire::AdaptiveEngineView::ReactionFlow::reactionPtrconst reaction::LogicalReaction* gridfire::AdaptiveEngineView::ReactionFlow::reactionPtr
          -

          Definition at line 315 of file engine_adaptive.h.

          +

          Definition at line 252 of file engine_adaptive.h.


          The documentation for this struct was generated from the following file:
          diff --git a/docs/html/structgridfire_1_1_adaptive_engine_view_1_1_reaction_flow.js b/docs/html/structgridfire_1_1_adaptive_engine_view_1_1_reaction_flow.js index c5e10a61..0a73992f 100644 --- a/docs/html/structgridfire_1_1_adaptive_engine_view_1_1_reaction_flow.js +++ b/docs/html/structgridfire_1_1_adaptive_engine_view_1_1_reaction_flow.js @@ -1,5 +1,5 @@ var structgridfire_1_1_adaptive_engine_view_1_1_reaction_flow = [ [ "flowRate", "structgridfire_1_1_adaptive_engine_view_1_1_reaction_flow.html#a6c2e9087f6c8af5d89a5f0de7bd4a5b4", null ], - [ "reactionPtr", "structgridfire_1_1_adaptive_engine_view_1_1_reaction_flow.html#afc894db76a799be17be91130ff3ae6d9", null ] + [ "reactionPtr", "structgridfire_1_1_adaptive_engine_view_1_1_reaction_flow.html#a3bb21f20df8115d37108cf3c3be3bc6f", null ] ]; \ No newline at end of file diff --git a/docs/html/structgridfire_1_1_step_derivatives.html b/docs/html/structgridfire_1_1_step_derivatives.html index 3ec0bf54..54b35de7 100644 --- a/docs/html/structgridfire_1_1_step_derivatives.html +++ b/docs/html/structgridfire_1_1_step_derivatives.html @@ -135,11 +135,11 @@ struct gridfire::StepDerivatives< T >

          Structure holding derivative

          // Use derivative
          }
          double energyRate = result.nuclearEnergyGenerationRate;
          -
          Structure holding derivatives and energy generation for a network step.
          -
          T nuclearEnergyGenerationRate
          Specific energy generation rate (e.g., erg/g/s).
          -
          std::vector< T > dydt
          Derivatives of abundances (dY/dt for each species).
          +
          Structure holding derivatives and energy generation for a network step.
          +
          T nuclearEnergyGenerationRate
          Specific energy generation rate (e.g., erg/g/s).
          +
          std::vector< T > dydt
          Derivatives of abundances (dY/dt for each species).
          -

          Definition at line 50 of file engine_abstract.h.

          +

          Definition at line 53 of file engine_abstract.h.

          Member Data Documentation

          ◆ dydt

          @@ -157,7 +157,7 @@ template<IsArithmeticOrAD T>

          Derivatives of abundances (dY/dt for each species).

          -

          Definition at line 51 of file engine_abstract.h.

          +

          Definition at line 54 of file engine_abstract.h.

          @@ -177,7 +177,7 @@ template<IsArithmeticOrAD T>

          Specific energy generation rate (e.g., erg/g/s).

          -

          Definition at line 52 of file engine_abstract.h.

          +

          Definition at line 55 of file engine_abstract.h.

          diff --git a/docs/html/structgridfire_1_1reaction_1_1_rate_coefficient_set.html b/docs/html/structgridfire_1_1reaction_1_1_rate_coefficient_set.html index 176c9c4b..31c91c5d 100644 --- a/docs/html/structgridfire_1_1reaction_1_1_rate_coefficient_set.html +++ b/docs/html/structgridfire_1_1reaction_1_1_rate_coefficient_set.html @@ -146,7 +146,7 @@ Friends

          Holds the seven coefficients for the REACLIB rate equation.

          This struct stores the parameters (a0-a6) used to calculate reaction rates as a function of temperature.

          -

          Definition at line 32 of file reaction.h.

          +

          Definition at line 33 of file reaction.h.

          Friends And Related Symbol Documentation

          ◆ operator<<

          @@ -185,7 +185,7 @@ Friends
          Returns
          The output stream.
          -

          Definition at line 47 of file reaction.h.

          +

          Definition at line 48 of file reaction.h.

          @@ -204,7 +204,7 @@ Friends

          Coefficient a0.

          -

          Definition at line 33 of file reaction.h.

          +

          Definition at line 34 of file reaction.h.

          @@ -222,7 +222,7 @@ Friends

          Coefficient a1.

          -

          Definition at line 34 of file reaction.h.

          +

          Definition at line 35 of file reaction.h.

          @@ -240,7 +240,7 @@ Friends

          Coefficient a2.

          -

          Definition at line 35 of file reaction.h.

          +

          Definition at line 36 of file reaction.h.

          @@ -258,7 +258,7 @@ Friends

          Coefficient a3.

          -

          Definition at line 36 of file reaction.h.

          +

          Definition at line 37 of file reaction.h.

          @@ -276,7 +276,7 @@ Friends

          Coefficient a4.

          -

          Definition at line 37 of file reaction.h.

          +

          Definition at line 38 of file reaction.h.

          @@ -294,7 +294,7 @@ Friends

          Coefficient a5.

          -

          Definition at line 38 of file reaction.h.

          +

          Definition at line 39 of file reaction.h.

          @@ -312,7 +312,7 @@ Friends

          Coefficient a6.

          -

          Definition at line 39 of file reaction.h.

          +

          Definition at line 40 of file reaction.h.

          diff --git a/docs/html/structgridfire_1_1solver_1_1_direct_network_solver_1_1_jacobian_functor.html b/docs/html/structgridfire_1_1solver_1_1_direct_network_solver_1_1_jacobian_functor.html index 2201f855..47cf9b9c 100644 --- a/docs/html/structgridfire_1_1solver_1_1_direct_network_solver_1_1_jacobian_functor.html +++ b/docs/html/structgridfire_1_1solver_1_1_direct_network_solver_1_1_jacobian_functor.html @@ -138,7 +138,7 @@ Public Attributes

          Functor for calculating the Jacobian matrix.

          This functor is used by the ODE solver to calculate the Jacobian matrix of the ODEs. It takes the current abundances as input and returns the Jacobian matrix.

          -

          Definition at line 444 of file solver.h.

          +

          Definition at line 452 of file solver.h.

          Constructor & Destructor Documentation

          ◆ JacobianFunctor()

          @@ -182,7 +182,7 @@ Public Attributes -

          Definition at line 456 of file solver.h.

          +

          Definition at line 464 of file solver.h.

          @@ -227,7 +227,7 @@ Public Attributes -

          Definition at line 386 of file solver.cpp.

          +

          Definition at line 463 of file solver.cpp.

          @@ -246,7 +246,7 @@ Public Attributes

          The engine used to evaluate the network.

          -

          Definition at line 445 of file solver.h.

          +

          Definition at line 453 of file solver.h.

          @@ -264,7 +264,7 @@ Public Attributes

          The number of species in the network.

          -

          Definition at line 448 of file solver.h.

          +

          Definition at line 456 of file solver.h.

          @@ -282,7 +282,7 @@ Public Attributes

          Density in g/cm^3.

          -

          Definition at line 447 of file solver.h.

          +

          Definition at line 455 of file solver.h.

          @@ -300,7 +300,7 @@ Public Attributes

          Temperature in units of 10^9 K.

          -

          Definition at line 446 of file solver.h.

          +

          Definition at line 454 of file solver.h.

          diff --git a/docs/html/structgridfire_1_1solver_1_1_direct_network_solver_1_1_r_h_s_functor-members.html b/docs/html/structgridfire_1_1solver_1_1_direct_network_solver_1_1_r_h_s_functor-members.html index b183d63a..c42484d5 100644 --- a/docs/html/structgridfire_1_1solver_1_1_direct_network_solver_1_1_r_h_s_functor-members.html +++ b/docs/html/structgridfire_1_1solver_1_1_direct_network_solver_1_1_r_h_s_functor-members.html @@ -106,11 +106,12 @@ $(function(){initNavTree('structgridfire_1_1solver_1_1_direct_network_solver_1_1

          This is the complete list of members for gridfire::solver::DirectNetworkSolver::RHSFunctor, including all inherited members.

          - - - - - + + + + + +
          m_enginegridfire::solver::DirectNetworkSolver::RHSFunctor
          m_numSpeciesgridfire::solver::DirectNetworkSolver::RHSFunctor
          m_rhogridfire::solver::DirectNetworkSolver::RHSFunctor
          m_T9gridfire::solver::DirectNetworkSolver::RHSFunctor
          operator()(const boost::numeric::ublas::vector< double > &Y, boost::numeric::ublas::vector< double > &dYdt, double t) constgridfire::solver::DirectNetworkSolver::RHSFunctor
          RHSFunctor(DynamicEngine &engine, const double T9, const double rho)gridfire::solver::DirectNetworkSolver::RHSFunctorinline
          m_loggergridfire::solver::DirectNetworkSolver::RHSFunctor
          m_numSpeciesgridfire::solver::DirectNetworkSolver::RHSFunctor
          m_rhogridfire::solver::DirectNetworkSolver::RHSFunctor
          m_T9gridfire::solver::DirectNetworkSolver::RHSFunctor
          operator()(const boost::numeric::ublas::vector< double > &Y, boost::numeric::ublas::vector< double > &dYdt, double t) constgridfire::solver::DirectNetworkSolver::RHSFunctor
          RHSFunctor(DynamicEngine &engine, const double T9, const double rho)gridfire::solver::DirectNetworkSolver::RHSFunctorinline
          diff --git a/docs/html/structgridfire_1_1solver_1_1_direct_network_solver_1_1_r_h_s_functor.html b/docs/html/structgridfire_1_1solver_1_1_direct_network_solver_1_1_r_h_s_functor.html index 0232e455..95ab3b6b 100644 --- a/docs/html/structgridfire_1_1solver_1_1_direct_network_solver_1_1_r_h_s_functor.html +++ b/docs/html/structgridfire_1_1solver_1_1_direct_network_solver_1_1_r_h_s_functor.html @@ -133,12 +133,15 @@ Public Attributes const size_t m_numSpecies  The number of species in the network.
            +quill::Logger * m_logger = LogManager::getInstance().getLogger("log") + Logger instance.

          Detailed Description

          Functor for calculating the right-hand side of the ODEs.

          This functor is used by the ODE solver to calculate the time derivatives of the species abundances. It takes the current abundances as input and returns the time derivatives.

          -

          Definition at line 402 of file solver.h.

          +

          Definition at line 409 of file solver.h.

          Constructor & Destructor Documentation

          ◆ RHSFunctor()

          @@ -182,7 +185,7 @@ Public Attributes -

          Definition at line 414 of file solver.h.

          +

          Definition at line 422 of file solver.h.

          @@ -221,7 +224,7 @@ Public Attributes -

          Definition at line 374 of file solver.cpp.

          +

          Definition at line 442 of file solver.cpp.

          @@ -240,7 +243,25 @@ Public Attributes

          The engine used to evaluate the network.

          -

          Definition at line 403 of file solver.h.

          +

          Definition at line 410 of file solver.h.

          + + + + +

          ◆ m_logger

          + +
          +
          + + + + +
          quill::Logger* gridfire::solver::DirectNetworkSolver::RHSFunctor::m_logger = LogManager::getInstance().getLogger("log")
          +
          + +

          Logger instance.

          + +

          Definition at line 414 of file solver.h.

          @@ -258,7 +279,7 @@ Public Attributes

          The number of species in the network.

          -

          Definition at line 406 of file solver.h.

          +

          Definition at line 413 of file solver.h.

          @@ -276,7 +297,7 @@ Public Attributes

          Density in g/cm^3.

          -

          Definition at line 405 of file solver.h.

          +

          Definition at line 412 of file solver.h.

          @@ -294,7 +315,7 @@ Public Attributes

          Temperature in units of 10^9 K.

          -

          Definition at line 404 of file solver.h.

          +

          Definition at line 411 of file solver.h.

          diff --git a/docs/html/structgridfire_1_1solver_1_1_direct_network_solver_1_1_r_h_s_functor.js b/docs/html/structgridfire_1_1solver_1_1_direct_network_solver_1_1_r_h_s_functor.js index 89f4f09f..e8ebe212 100644 --- a/docs/html/structgridfire_1_1solver_1_1_direct_network_solver_1_1_r_h_s_functor.js +++ b/docs/html/structgridfire_1_1solver_1_1_direct_network_solver_1_1_r_h_s_functor.js @@ -3,6 +3,7 @@ var structgridfire_1_1solver_1_1_direct_network_solver_1_1_r_h_s_functor = [ "RHSFunctor", "structgridfire_1_1solver_1_1_direct_network_solver_1_1_r_h_s_functor.html#aed201b52ea757069c17a49e9638b3d3c", null ], [ "operator()", "structgridfire_1_1solver_1_1_direct_network_solver_1_1_r_h_s_functor.html#a3a7542b6c6b4c86b6fe53f54d7232919", null ], [ "m_engine", "structgridfire_1_1solver_1_1_direct_network_solver_1_1_r_h_s_functor.html#a04f8c84e46e6fbd0977e50fda4829d1a", null ], + [ "m_logger", "structgridfire_1_1solver_1_1_direct_network_solver_1_1_r_h_s_functor.html#a9cf3e5b5206b5cd8650cbf620ca5007b", null ], [ "m_numSpecies", "structgridfire_1_1solver_1_1_direct_network_solver_1_1_r_h_s_functor.html#ac4a1af03d2a4fbc5cc2407b8a6833147", null ], [ "m_rho", "structgridfire_1_1solver_1_1_direct_network_solver_1_1_r_h_s_functor.html#a7d4f7f04c4ee6f0b519194f87aa265e7", null ], [ "m_T9", "structgridfire_1_1solver_1_1_direct_network_solver_1_1_r_h_s_functor.html#a082844f1eae0609e66620575210e8823", null ] diff --git a/docs/html/structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor-members.html b/docs/html/structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor-members.html index 81d5c0e5..ee9f6472 100644 --- a/docs/html/structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor-members.html +++ b/docs/html/structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor-members.html @@ -105,8 +105,10 @@ $(function(){initNavTree('structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_

          This is the complete list of members for gridfire::solver::QSENetworkSolver::EigenFunctor< T >, including all inherited members.

          - - + + + + @@ -114,9 +116,11 @@ $(function(){initNavTree('structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_ - - + + + +
          df(const InputType &v_QSE, JacobianType &J_QSE) constgridfire::solver::QSENetworkSolver::EigenFunctor< T >
          EigenFunctor(DynamicEngine &engine, const std::vector< double > &YDynamic, const std::vector< size_t > &dynamicSpeciesIndices, const std::vector< size_t > &QSESpeciesIndices, const double T9, const double rho)gridfire::solver::QSENetworkSolver::EigenFunctor< T >inline
          df(const InputType &v_QSE_log, JacobianType &J_QSE) constgridfire::solver::QSENetworkSolver::EigenFunctor< T >
          EigenFunctor(DynamicEngine &engine, const std::vector< double > &YFull, const std::vector< size_t > &dynamicSpeciesIndices, const std::vector< size_t > &QSESpeciesIndices, const double T9, const double rho)gridfire::solver::QSENetworkSolver::EigenFunctor< T >inline
          inputs() constgridfire::solver::QSENetworkSolver::EigenFunctor< T >inline
          InputsAtCompileTime enum valuegridfire::solver::QSENetworkSolver::EigenFunctor< T >
          InputType typedefgridfire::solver::QSENetworkSolver::EigenFunctor< T >
          JacobianType typedefgridfire::solver::QSENetworkSolver::EigenFunctor< T >
          m_dynamicSpeciesIndicesgridfire::solver::QSENetworkSolver::EigenFunctor< T >
          m_QSESpeciesIndicesgridfire::solver::QSENetworkSolver::EigenFunctor< T >
          m_rhogridfire::solver::QSENetworkSolver::EigenFunctor< T >
          m_T9gridfire::solver::QSENetworkSolver::EigenFunctor< T >
          m_YDynamicgridfire::solver::QSENetworkSolver::EigenFunctor< T >
          operator()(const InputType &v_QSE, OutputType &f_QSE) constgridfire::solver::QSENetworkSolver::EigenFunctor< T >
          m_YFullgridfire::solver::QSENetworkSolver::EigenFunctor< T >
          operator()(const InputType &v_QSE_log, OutputType &f_QSE) constgridfire::solver::QSENetworkSolver::EigenFunctor< T >
          OutputType typedefgridfire::solver::QSENetworkSolver::EigenFunctor< T >
          values() constgridfire::solver::QSENetworkSolver::EigenFunctor< T >inline
          ValuesAtCompileTime enum valuegridfire::solver::QSENetworkSolver::EigenFunctor< T >
          diff --git a/docs/html/structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html b/docs/html/structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html index 7527075a..d23f1396 100644 --- a/docs/html/structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html +++ b/docs/html/structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html @@ -113,6 +113,10 @@ $(function(){initNavTree('structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_ + + @@ -122,24 +126,28 @@ Public Types

          Public Types

          enum  { InputsAtCompileTime = Eigen::Dynamic +, ValuesAtCompileTime = Eigen::Dynamic + }
           
          using InputType = Eigen::Matrix<T, Eigen::Dynamic, 1>
           
          using OutputType = Eigen::Matrix<T, Eigen::Dynamic, 1>
          - - - - - - - - - + + + + + + + + + + + + +

          Public Member Functions

           EigenFunctor (DynamicEngine &engine, const std::vector< double > &YDynamic, const std::vector< size_t > &dynamicSpeciesIndices, const std::vector< size_t > &QSESpeciesIndices, const double T9, const double rho)
           Constructor for the EigenFunctor.
           
          int operator() (const InputType &v_QSE, OutputType &f_QSE) const
           Calculates the residual vector for the QSE species.
           
          int df (const InputType &v_QSE, JacobianType &J_QSE) const
           Calculates the Jacobian matrix for the QSE species.
           
           EigenFunctor (DynamicEngine &engine, const std::vector< double > &YFull, const std::vector< size_t > &dynamicSpeciesIndices, const std::vector< size_t > &QSESpeciesIndices, const double T9, const double rho)
           Constructor for the EigenFunctor.
           
          int values () const
           
          int inputs () const
           
          int operator() (const InputType &v_QSE_log, OutputType &f_QSE) const
           Calculates the residual vector for the QSE species.
           
          int df (const InputType &v_QSE_log, JacobianType &J_QSE) const
           Calculates the Jacobian matrix for the QSE species.
           
          - - - + + + @@ -217,11 +225,34 @@ template<typename T>

          Definition at line 311 of file solver.h.

          + + +

          Member Enumeration Documentation

          + +

          ◆ anonymous enum

          + +
          +
          +
          +template<typename T>
          +

          Public Attributes

          DynamicEnginem_engine
           The engine used to evaluate the network.
           
          const std::vector< double > & m_YDynamic
           Abundances of the dynamic species.
           
          const std::vector< double > & m_YFull
           The full, initial abundance vector.
           
          const std::vector< size_t > & m_dynamicSpeciesIndices
           Indices of the dynamic species.
           
          + + + +
          anonymous enum
          +
          + + + +
          Enumerator
          InputsAtCompileTime 
          ValuesAtCompileTime 
          + +

          Definition at line 313 of file solver.h.

          +

          Constructor & Destructor Documentation

          - -

          ◆ EigenFunctor()

          + +

          ◆ EigenFunctor()

          @@ -239,7 +270,7 @@ template<typename T>
          - const std::vector< double > & YDynamic, + const std::vector< double > & YFull, @@ -273,7 +304,7 @@ template<typename T>
          Parameters
          - + @@ -282,13 +313,13 @@ template<typename T> -

          Definition at line 330 of file solver.h.

          +

          Definition at line 334 of file solver.h.

          Member Function Documentation

          - -

          ◆ df()

          + +

          ◆ df()

          @@ -298,7 +329,7 @@ template<typename T>
          - + @@ -311,19 +342,48 @@ template<typename T>

          Calculates the Jacobian matrix for the QSE species.

          Parameters
          engineThe engine used to evaluate the network.
          YDynamicAbundances of the dynamic species.
          YFullAbundances of the dynamic species.
          dynamicSpeciesIndicesIndices of the dynamic species.
          QSESpeciesIndicesIndices of the QSE species.
          T9Temperature in units of 10^9 K.
          int gridfire::solver::QSENetworkSolver::EigenFunctor< T >::df (const InputType & v_QSE, const InputType & v_QSE_log,
          - +
          v_QSEInput vector of QSE species abundances (logarithmic).
          v_QSE_logInput vector of QSE species abundances (logarithmic).
          J_QSEOutput Jacobian matrix.
          Returns
          0 for success.
          -

          Definition at line 507 of file solver.h.

          +

          Definition at line 514 of file solver.h.

          - -

          ◆ operator()()

          + +

          ◆ inputs()

          + +
          +
          +
          +template<typename T>
          + + + + + +
          + + + + + + + +
          int gridfire::solver::QSENetworkSolver::EigenFunctor< T >::inputs () const
          +
          +inline
          +
          + +

          Definition at line 350 of file solver.h.

          + +
          +
          + +

          ◆ operator()()

          @@ -333,7 +393,7 @@ template<typename T>
          int gridfire::solver::QSENetworkSolver::EigenFunctor< T >::operator() ( - const InputType & v_QSE, + const InputType & v_QSE_log, @@ -346,14 +406,43 @@ template<typename T>

          Calculates the residual vector for the QSE species.

          Parameters
          - +
          v_QSEInput vector of QSE species abundances (logarithmic).
          v_QSE_logInput vector of QSE species abundances (logarithmic).
          f_QSEOutput vector of residuals.
          Returns
          0 for success.
          -

          Definition at line 488 of file solver.h.

          +

          Definition at line 496 of file solver.h.

          + + + + +

          ◆ values()

          + +
          +
          +
          +template<typename T>
          + + + + + +
          + + + + + + + +
          int gridfire::solver::QSENetworkSolver::EigenFunctor< T >::values () const
          +
          +inline
          +
          + +

          Definition at line 349 of file solver.h.

          @@ -374,7 +463,7 @@ template<typename T>

          Indices of the dynamic species.

          -

          Definition at line 316 of file solver.h.

          +

          Definition at line 320 of file solver.h.

          @@ -394,7 +483,7 @@ template<typename T>

          The engine used to evaluate the network.

          -

          Definition at line 314 of file solver.h.

          +

          Definition at line 318 of file solver.h.

          @@ -414,7 +503,7 @@ template<typename T>

          Indices of the QSE species.

          -

          Definition at line 317 of file solver.h.

          +

          Definition at line 321 of file solver.h.

          @@ -434,7 +523,7 @@ template<typename T>

          Density in g/cm^3.

          -

          Definition at line 319 of file solver.h.

          +

          Definition at line 323 of file solver.h.

          @@ -454,12 +543,12 @@ template<typename T>

          Temperature in units of 10^9 K.

          -

          Definition at line 318 of file solver.h.

          +

          Definition at line 322 of file solver.h.

          - -

          ◆ m_YDynamic

          + +

          ◆ m_YFull

          @@ -467,14 +556,14 @@ template<typename T>
          template<typename T>
          - +
          const std::vector<double>& gridfire::solver::QSENetworkSolver::EigenFunctor< T >::m_YDynamicconst std::vector<double>& gridfire::solver::QSENetworkSolver::EigenFunctor< T >::m_YFull
          -

          Abundances of the dynamic species.

          +

          The full, initial abundance vector.

          -

          Definition at line 315 of file solver.h.

          +

          Definition at line 319 of file solver.h.

          diff --git a/docs/html/structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.js b/docs/html/structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.js index c1351823..acdac110 100644 --- a/docs/html/structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.js +++ b/docs/html/structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.js @@ -3,13 +3,15 @@ var structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor = [ "InputType", "structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#ac4ec3c180a9778acdd604a9b80d25399", null ], [ "JacobianType", "structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#ad42fdb6d5ae06eaa6ddccf03eba0a50c", null ], [ "OutputType", "structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#abc86b32db81acf1b24feb3763dc4ddb0", null ], - [ "EigenFunctor", "structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#af8650f704c2ca512c9c5b4562b3b0958", null ], - [ "df", "structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#ac46bd712296b03f31af1573f6a0f5644", null ], - [ "operator()", "structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#a91c9c7c40c061dcfb6e57524e696676e", null ], + [ "EigenFunctor", "structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#a94a1e5994062c32bd45c248860be6fa4", null ], + [ "df", "structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#a51687d7a9770164f79e485a763bd94b0", null ], + [ "inputs", "structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#a5ce08aab2f1976c9258dad2b67e1c5b6", null ], + [ "operator()", "structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#a16dc10cb9c1392920f8d0ba95e0bc86e", null ], + [ "values", "structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#aa9730f06a604c3c95ccc33ab6f0f8878", null ], [ "m_dynamicSpeciesIndices", "structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#a08ce53701b152f3ce108c1c18ce64de2", null ], [ "m_engine", "structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#a93b46ca95ddf9e4d21d02700621e6285", null ], [ "m_QSESpeciesIndices", "structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#abaf28fdd93e881ef56c24f541be7492d", null ], [ "m_rho", "structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#ab0a0d4c166e97b971543cbbf2b0a1a2e", null ], [ "m_T9", "structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#a6771ae56ddd9058954b42ee92a378309", null ], - [ "m_YDynamic", "structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#af4f10300bde1e8e07b896bfca6335401", null ] + [ "m_YFull", "structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_eigen_functor.html#a2dca32a9e0bea5aea2a565f94b99a8de", null ] ]; \ No newline at end of file diff --git a/docs/html/structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_r_h_s_functor.html b/docs/html/structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_r_h_s_functor.html index eec82167..6c07251a 100644 --- a/docs/html/structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_r_h_s_functor.html +++ b/docs/html/structgridfire_1_1solver_1_1_q_s_e_network_solver_1_1_r_h_s_functor.html @@ -247,7 +247,7 @@ Public Attributes -

          Definition at line 283 of file solver.cpp.

          +

          Definition at line 350 of file solver.cpp.

          diff --git a/docs/html/structstd_1_1hash_3_01gridfire_1_1reaction_1_1_reaction_01_4.html b/docs/html/structstd_1_1hash_3_01gridfire_1_1reaction_1_1_reaction_01_4.html index 29257219..d7f1ea24 100644 --- a/docs/html/structstd_1_1hash_3_01gridfire_1_1reaction_1_1_reaction_01_4.html +++ b/docs/html/structstd_1_1hash_3_01gridfire_1_1reaction_1_1_reaction_01_4.html @@ -113,7 +113,7 @@ Public Member Functions

          Detailed Description

          -

          Definition at line 367 of file reaction.cpp.

          +

          Definition at line 221 of file reaction.cpp.

          Member Function Documentation

          ◆ operator()()

          @@ -138,7 +138,7 @@ Public Member Functions
          -

          Definition at line 368 of file reaction.cpp.

          +

          Definition at line 222 of file reaction.cpp.

          diff --git a/docs/html/structstd_1_1hash_3_01gridfire_1_1reaction_1_1_reaction_set_01_4.html b/docs/html/structstd_1_1hash_3_01gridfire_1_1reaction_1_1_reaction_set_01_4.html index 0d444500..abc1ff53 100644 --- a/docs/html/structstd_1_1hash_3_01gridfire_1_1reaction_1_1_reaction_set_01_4.html +++ b/docs/html/structstd_1_1hash_3_01gridfire_1_1reaction_1_1_reaction_set_01_4.html @@ -108,12 +108,12 @@ $(function(){initNavTree('structstd_1_1hash_3_01gridfire_1_1reaction_1_1_reactio - +

          Public Member Functions

          size_t operator() (const gridfire::reaction::ReactionSet &s) const noexcept
          size_t operator() (const gridfire::reaction::ReactionSet &s) const noexcept
           

          Detailed Description

          -

          Definition at line 374 of file reaction.cpp.

          +

          Definition at line 228 of file reaction.cpp.

          Member Function Documentation

          ◆ operator()()

          @@ -125,9 +125,9 @@ Public Member Functions - + - +
          size_t std::hash< gridfire::reaction::ReactionSet >::operator() size_t std::hash< gridfire::reaction::ReactionSet >::operator() (const gridfire::reaction::ReactionSet & s)const gridfire::reaction::ReactionSet & s) const
          @@ -138,7 +138,7 @@ Public Member Functions
          -

          Definition at line 375 of file reaction.cpp.

          +

          Definition at line 229 of file reaction.cpp.