<ahref="#pub-methods">Public Member Functions</a>|
<ahref="classgridfire_1_1partition_1_1_partition_function-members.html">List of all members</a></div>
<divclass="headertitle"><divclass="title">gridfire::partition::PartitionFunction Class Reference<spanclass="mlabels"><spanclass="mlabel abstract">abstract</span></span></div></div>
</div><!--header-->
<divclass="contents">
<p>Abstract interface for evaluating nuclear partition functions.
<areahref="classgridfire_1_1partition_1_1_composite_partition_function.html"title="Combines multiple PartitionFunction instances into a single composite strategy."alt="gridfire::partition::CompositePartitionFunction"shape="rect"coords="333,56,656,80"/>
<areahref="classgridfire_1_1partition_1_1_ground_state_partition_function.html"title="Partition function implementation for nuclear ground states."alt="gridfire::partition::GroundStatePartitionFunction"shape="rect"coords="666,56,989,80"/>
<areahref="classgridfire_1_1partition_1_1_rauscher_thielemann_partition_function.html"title="Partition function using Rauscher-Thielemann tabulated normalized G-values."alt="gridfire::partition::RauscherThielemannPartitionFunction"shape="rect"coords="999,56,1322,80"/>
<trclass="memitem:a08ee79b7d8723b4e00ee1fc9cdfbe817"id="r_a08ee79b7d8723b4e00ee1fc9cdfbe817"><tdclass="memItemLeft"align="right"valign="top">virtual double </td><tdclass="memItemRight"valign="bottom"><aclass="el"href="#a08ee79b7d8723b4e00ee1fc9cdfbe817">evaluate</a> (int z, int a, double T9) const =0</td></tr>
<trclass="memdesc:a08ee79b7d8723b4e00ee1fc9cdfbe817"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Evaluate the partition function for a given isotope. <br/></td></tr>
<trclass="memitem:a14009bdaca47f3eddf2c6c023845db5a"id="r_a14009bdaca47f3eddf2c6c023845db5a"><tdclass="memItemLeft"align="right"valign="top">virtual double </td><tdclass="memItemRight"valign="bottom"><aclass="el"href="#a14009bdaca47f3eddf2c6c023845db5a">evaluateDerivative</a> (int z, int a, double T9) const =0</td></tr>
<trclass="memdesc:a14009bdaca47f3eddf2c6c023845db5a"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Evaluate the temperature derivative of the partition function. <br/></td></tr>
<trclass="memitem:a6df4191d10516477371a0384e1e55bf5"id="r_a6df4191d10516477371a0384e1e55bf5"><tdclass="memItemLeft"align="right"valign="top">virtual bool </td><tdclass="memItemRight"valign="bottom"><aclass="el"href="#a6df4191d10516477371a0384e1e55bf5">supports</a> (int z, int a) const =0</td></tr>
<trclass="memdesc:a6df4191d10516477371a0384e1e55bf5"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Check if this partition function supports an isotope. <br/></td></tr>
<trclass="memdesc:ab0c67985a972707eac0ebc64417dfb97"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Get the human-readable type of this partition function. <br/></td></tr>
<trclass="memdesc:a677a90f992fd56b8718e36655c33ce6d"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Create a deep copy of this <aclass="el"href="classgridfire_1_1partition_1_1_partition_function.html"title="Abstract interface for evaluating nuclear partition functions.">PartitionFunction</a>. <br/></td></tr>
<divclass="textblock"><p>Abstract interface for evaluating nuclear partition functions. </p>
<p>Provides methods to compute the partition function and its temperature derivative for a given isotope, to query if the function supports that isotope, and to clone the function object. Concrete implementations must provide temperature- dependent statistical models. </p>
</div><h2class="groupheader">Constructor & Destructor Documentation</h2>
<p>Create a deep copy of this <aclass="el"href="classgridfire_1_1partition_1_1_partition_function.html"title="Abstract interface for evaluating nuclear partition functions.">PartitionFunction</a>. </p>
<dlclass="section return"><dt>Returns</dt><dd>Unique pointer to a new <aclass="el"href="classgridfire_1_1partition_1_1_partition_function.html"title="Abstract interface for evaluating nuclear partition functions.">PartitionFunction</a> instance with identical state. </dd></dl>
<dlclass="section post"><dt>Postcondition</dt><dd>The caller owns the returned object and must manage its lifetime. </dd></dl>
<p>Implemented in <aclass="el"href="classgridfire_1_1partition_1_1_composite_partition_function.html#a7b000d55c7d1f489e54a57f7f4e3808a">gridfire::partition::CompositePartitionFunction</a>, <aclass="el"href="classgridfire_1_1partition_1_1_ground_state_partition_function.html#ade2b0f92a3d9b74968166793466a11e4">gridfire::partition::GroundStatePartitionFunction</a>, <aclass="el"href="classgridfire_1_1partition_1_1_rauscher_thielemann_partition_function.html#ad229cac0a84df5ebbcaf0550f83debf6">gridfire::partition::RauscherThielemannPartitionFunction</a>, and <aclass="el"href="class_py_partition_function.html#af918b357e38fb82499ad53584557c43d">PyPartitionFunction</a>.</p>
<p>Evaluate the partition function for a given isotope. </p>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramname">z</td><td>Proton number (atomic number) of the isotope; must be >= 1. </td></tr>
<tr><tdclass="paramname">a</td><td>Mass number of the isotope; must be >= z. </td></tr>
<tr><tdclass="paramname">T9</td><td>Temperature in units of 10^9 K; must be > 0. </td></tr>
</table>
</dd>
</dl>
<dlclass="section return"><dt>Returns</dt><dd>Partition function value (dimensionless) at the specified temperature. </dd></dl>
<dlclass="section pre"><dt>Precondition</dt><dd>Derived implementation supports (z, a) and T9 > 0. </dd></dl>
<dlclass="section post"><dt>Postcondition</dt><dd>No side effects; pure function. </dd></dl>
<p>Implemented in <aclass="el"href="classgridfire_1_1partition_1_1_composite_partition_function.html#a8d6d278fcb5b8478b0e27535f877ee2b">gridfire::partition::CompositePartitionFunction</a>, <aclass="el"href="classgridfire_1_1partition_1_1_ground_state_partition_function.html#af16da0015489307eb64639efbafbbdd5">gridfire::partition::GroundStatePartitionFunction</a>, <aclass="el"href="classgridfire_1_1partition_1_1_rauscher_thielemann_partition_function.html#aebe49d06b50a18ea4484ff15cb301681">gridfire::partition::RauscherThielemannPartitionFunction</a>, and <aclass="el"href="class_py_partition_function.html#a83aca0bc261734b7d3df8269f730c69b">PyPartitionFunction</a>.</p>
<p>Evaluate the temperature derivative of the partition function. </p>
<p>Computes d/dT (partition function) at the given parameters.</p>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramname">z</td><td>Proton number (atomic number) of the isotope; must be >= 1. </td></tr>
<tr><tdclass="paramname">a</td><td>Mass number of the isotope; must be >= z. </td></tr>
<tr><tdclass="paramname">T9</td><td>Temperature in units of 10^9 K; must be > 0. </td></tr>
</table>
</dd>
</dl>
<dlclass="section return"><dt>Returns</dt><dd>Temperature derivative of the partition function. </dd></dl>
<dlclass="section pre"><dt>Precondition</dt><dd>Derived implementation supports (z, a) and T9 > 0. </dd></dl>
<dlclass="section post"><dt>Postcondition</dt><dd>No side effects; pure function. </dd></dl>
<p>Implemented in <aclass="el"href="classgridfire_1_1partition_1_1_composite_partition_function.html#ac8900afaa5edd24fcb8eaf19e7379183">gridfire::partition::CompositePartitionFunction</a>, <aclass="el"href="classgridfire_1_1partition_1_1_ground_state_partition_function.html#a0eff10c7b134d9d4081ad72bbc785c5b">gridfire::partition::GroundStatePartitionFunction</a>, <aclass="el"href="classgridfire_1_1partition_1_1_rauscher_thielemann_partition_function.html#aaa1e11579b44a88c5f18943cc303c4b4">gridfire::partition::RauscherThielemannPartitionFunction</a>, and <aclass="el"href="class_py_partition_function.html#a260df9689bf698970ebf5104977a3dcf">PyPartitionFunction</a>.</p>
<p>Check if this partition function supports an isotope. </p>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramname">z</td><td>Proton number of the isotope. </td></tr>
<tr><tdclass="paramname">a</td><td>Mass number of the isotope. </td></tr>
</table>
</dd>
</dl>
<dlclass="section return"><dt>Returns</dt><dd>true if evaluate and evaluateDerivative can be called for this isotope; false otherwise. </dd></dl>
<dlclass="section post"><dt>Postcondition</dt><dd>No side effects. </dd></dl>
<p>Implemented in <aclass="el"href="classgridfire_1_1partition_1_1_composite_partition_function.html#ae8908a78f087ea516cdd5a4cdd449a9c">gridfire::partition::CompositePartitionFunction</a>, <aclass="el"href="classgridfire_1_1partition_1_1_ground_state_partition_function.html#a49b18aae58eb6250aaa23d43d55f02bd">gridfire::partition::GroundStatePartitionFunction</a>, <aclass="el"href="classgridfire_1_1partition_1_1_rauscher_thielemann_partition_function.html#a588a11c654751765b04d6425c99041f5">gridfire::partition::RauscherThielemannPartitionFunction</a>, and <aclass="el"href="class_py_partition_function.html#a0f288a01a3ed7fb92fff5d9fd7d56aa8">PyPartitionFunction</a>.</p>
<p>Get the human-readable type of this partition function. </p>
<dlclass="section return"><dt>Returns</dt><dd>String identifier for the partition function implementation. </dd></dl>
<dlclass="section post"><dt>Postcondition</dt><dd>No side effects. </dd></dl>
<p>Implemented in <aclass="el"href="classgridfire_1_1partition_1_1_composite_partition_function.html#a66560e21a4a7b08e8da135ce8279ed88">gridfire::partition::CompositePartitionFunction</a>, <aclass="el"href="classgridfire_1_1partition_1_1_ground_state_partition_function.html#af8d0146fc2afedf3785ae9ec932d3250">gridfire::partition::GroundStatePartitionFunction</a>, <aclass="el"href="classgridfire_1_1partition_1_1_rauscher_thielemann_partition_function.html#a3aa478acf12e09b6dd268f744071b2a0">gridfire::partition::RauscherThielemannPartitionFunction</a>, and <aclass="el"href="class_py_partition_function.html#a07f4d0ff83822dd2800897161d2a3717">PyPartitionFunction</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<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>