Include dependency graph for engine_graph_scratchpad.h:</div>
<divclass="dyncontent">
<divclass="center"><divclass="zoom"><iframescrolling="no"frameborder="0"src="engine__graph__scratchpad_8h__incl.svg"width="100%"height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div></div>
This graph shows which files directly or indirectly include this file:</div>
<divclass="dyncontent">
<divclass="center"><divclass="zoom"><iframescrolling="no"frameborder="0"src="engine__graph__scratchpad_8h__dep__incl.svg"width="100%"height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div></div>
<trclass="memdesc:"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Scratchpad for storing CppAD automatic differentiation state for <aclass="el"href="classgridfire_1_1engine_1_1_graph_engine.html"title="A reaction network engine that uses a graph-based representation.">GraphEngine</a>. <ahref="structgridfire_1_1engine_1_1scratch_1_1_graph_engine_scratch_pad.html#details">More...</a><br/></td></tr>
<divclass="textblock"><p>Scratchpad implementation for the GraphEngine using CppAD automatic differentiation. </p>
<p>This header defines the GraphEngineScratchPad, a concrete implementation of AbstractScratchPad designed for use with the GraphEngine. It provides thread-local storage for CppAD automatic differentiation functions, Jacobian computation work structures, and cached derivatives used during ODE integration.</p>
<divclass="ttc"id="aengine__graph__scratchpad_8h_html"><divclass="ttname"><ahref="engine__graph__scratchpad_8h.html">engine_graph_scratchpad.h</a></div><divclass="ttdoc">Scratchpad implementation for the GraphEngine using CppAD automatic differentiation.</div></div>
<divclass="ttc"id="astructgridfire_1_1engine_1_1scratch_1_1_graph_engine_scratch_pad_html"><divclass="ttname"><ahref="structgridfire_1_1engine_1_1scratch_1_1_graph_engine_scratch_pad.html">gridfire::engine::scratch::GraphEngineScratchPad</a></div><divclass="ttdoc">Scratchpad for storing CppAD automatic differentiation state for GraphEngine.</div><divclass="ttdef"><b>Definition</b> engine_graph_scratchpad.h:83</div></div>
<divclass="ttc"id="astructgridfire_1_1engine_1_1scratch_1_1_graph_engine_scratch_pad_html_a880842c920f730a70b11fef372e267c0"><divclass="ttname"><ahref="structgridfire_1_1engine_1_1scratch_1_1_graph_engine_scratch_pad.html#a880842c920f730a70b11fef372e267c0">gridfire::engine::scratch::GraphEngineScratchPad::jac_work</a></div><divclass="ttdeci">CppAD::sparse_jac_work jac_work</div><divclass="ttdoc">Work structure for sparse Jacobian calculations.</div><divclass="ttdef"><b>Definition</b> engine_graph_scratchpad.h:98</div></div>
<divclass="ttc"id="astructgridfire_1_1engine_1_1scratch_1_1_graph_engine_scratch_pad_html_aa5ececd1fb07a0aabb662c42dcb824b5"><divclass="ttname"><ahref="structgridfire_1_1engine_1_1scratch_1_1_graph_engine_scratch_pad.html#aa5ececd1fb07a0aabb662c42dcb824b5">gridfire::engine::scratch::GraphEngineScratchPad::clone</a></div><divclass="ttdeci">std::unique_ptr< AbstractScratchPad > clone() const override</div><divclass="ttdoc">Create a deep copy of this scratchpad.</div><divclass="ttdef"><b>Definition</b> engine_graph_scratchpad.h:185</div></div>
<divclass="ttc"id="astructgridfire_1_1engine_1_1scratch_1_1_graph_engine_scratch_pad_html_ac31f77dafaa622ad33496a451caca1ba"><divclass="ttname"><ahref="structgridfire_1_1engine_1_1scratch_1_1_graph_engine_scratch_pad.html#ac31f77dafaa622ad33496a451caca1ba">gridfire::engine::scratch::GraphEngineScratchPad::is_initialized</a></div><divclass="ttdeci">bool is_initialized() const override</div><divclass="ttdoc">Check whether the scratchpad has been initialized.</div><divclass="ttdef"><b>Definition</b> engine_graph_scratchpad.h:125</div></div>
<divclass="ttc"id="astructgridfire_1_1engine_1_1scratch_1_1_graph_engine_scratch_pad_html_adcd7fe8dfb789527428a868e646053ca"><divclass="ttname"><ahref="structgridfire_1_1engine_1_1scratch_1_1_graph_engine_scratch_pad.html#adcd7fe8dfb789527428a868e646053ca">gridfire::engine::scratch::GraphEngineScratchPad::initialize</a></div><divclass="ttdeci">void initialize(const GraphEngine &engine)</div><divclass="ttdoc">Initialize the scratchpad from a GraphEngine.</div><divclass="ttdef"><b>Definition</b> engine_graph_scratchpad.h:146</div></div>
<divclass="ttc"id="astructgridfire_1_1engine_1_1scratch_1_1_graph_engine_scratch_pad_html_af484620a6c7022af3e0775bfa2568f79"><divclass="ttname"><ahref="structgridfire_1_1engine_1_1scratch_1_1_graph_engine_scratch_pad.html#af484620a6c7022af3e0775bfa2568f79">gridfire::engine::scratch::GraphEngineScratchPad::rhsADFun</a></div><divclass="ttdeci">std::optional< CppAD::ADFun< double >> rhsADFun</div><divclass="ttdoc">CppAD function object for evaluating the ODE right-hand side.</div><divclass="ttdef"><b>Definition</b> engine_graph_scratchpad.h:94</div></div>
</div><!-- fragment --></dd></dl>
<dlclass="section user"><dt>Thread Safety</dt><dd>This class is <b>not thread-safe</b>. Each thread must have its own instance of GraphEngineScratchPad because CppAD ADFun objects maintain internal state that is modified during evaluation. Use clone() to create independent copies for parallel workers, ensuring each thread has its own ADFun instance.</dd></dl>
<liclass="footer">Generated by <ahref="https://www.doxygen.org/index.html"><imgclass="footer"src="doxygen.svg"width="104"height="31"alt="doxygen"/></a> 1.13.2 </li>