Loading...
Searching...
No Matches
gridfire::partition::PartitionFunction Class Referenceabstract

Abstract interface for evaluating nuclear partition functions. More...

`#include <partition_abstract.h>`

Inheritance diagram for gridfire::partition::PartitionFunction:
[legend]

## Public Member Functions

virtual | ~PartitionFunction ()=default
| Virtual destructor.
virtual double | evaluate (int z, int a, double T9) const =0
| Evaluate the partition function for a given isotope.
virtual double | evaluateDerivative (int z, int a, double T9) const =0
| Evaluate the temperature derivative of the partition function.
virtual bool | supports (int z, int a) const =0
| Check if this partition function supports an isotope.
virtual std::string | type () const =0
| Get the human-readable type of this partition function.
virtual std::unique_ptr< PartitionFunction > | clone () const =0
| Create a deep copy of this PartitionFunction.

## Detailed Description

Abstract interface for evaluating nuclear partition functions.

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.

## Constructor & Destructor Documentation

## ~PartitionFunction()

virtual gridfire::partition::PartitionFunction::~PartitionFunction | ( |  | ) |

virtualdefault

Virtual destructor.

Ensures proper cleanup in derived classes.

## Member Function Documentation

## clone()

virtual std::unique_ptr< PartitionFunction > gridfire::partition::PartitionFunction::clone | ( |  | ) | const

pure virtual

Create a deep copy of this PartitionFunction.

Returns
  Unique pointer to a new PartitionFunction instance with identical state.

Postcondition
  The caller owns the returned object and must manage its lifetime.

Implemented in gridfire::partition::CompositePartitionFunction, gridfire::partition::GroundStatePartitionFunction, gridfire::partition::RauscherThielemannPartitionFunction, and PyPartitionFunction.

## evaluate()

virtual double gridfire::partition::PartitionFunction::evaluate | ( | int | z,
|  | int | a,
|  | double | T9
| ) |  | const

pure virtual

Evaluate the partition function for a given isotope.

Parameters

  z | Proton number (atomic number) of the isotope; must be >= 1.
  a | Mass number of the isotope; must be >= z.
  T9 | Temperature in units of 10^9 K; must be > 0.

Returns
  Partition function value (dimensionless) at the specified temperature.

Precondition
  Derived implementation supports (z, a) and T9 > 0.

Postcondition
  No side effects; pure function.

Implemented in gridfire::partition::GroundStatePartitionFunction, gridfire::partition::CompositePartitionFunction, gridfire::partition::RauscherThielemannPartitionFunction, and PyPartitionFunction.

## evaluateDerivative()

virtual double gridfire::partition::PartitionFunction::evaluateDerivative | ( | int | z,
|  | int | a,
|  | double | T9
| ) |  | const

pure virtual

Evaluate the temperature derivative of the partition function.

Computes d/dT (partition function) at the given parameters.

Parameters

  z | Proton number (atomic number) of the isotope; must be >= 1.
  a | Mass number of the isotope; must be >= z.
  T9 | Temperature in units of 10^9 K; must be > 0.

Returns
  Temperature derivative of the partition function.

Precondition
  Derived implementation supports (z, a) and T9 > 0.

Postcondition
  No side effects; pure function.

Implemented in gridfire::partition::GroundStatePartitionFunction, gridfire::partition::CompositePartitionFunction, gridfire::partition::RauscherThielemannPartitionFunction, and PyPartitionFunction.

## supports()

virtual bool gridfire::partition::PartitionFunction::supports | ( | int | z,
|  | int | a
| ) |  | const

pure virtual

Check if this partition function supports an isotope.

Parameters

  z | Proton number of the isotope.
  a | Mass number of the isotope.

Returns
  true if evaluate and evaluateDerivative can be called for this isotope; false otherwise.

Postcondition
  No side effects.

Implemented in gridfire::partition::GroundStatePartitionFunction, gridfire::partition::CompositePartitionFunction, gridfire::partition::RauscherThielemannPartitionFunction, and PyPartitionFunction.

## type()

virtual std::string gridfire::partition::PartitionFunction::type | ( |  | ) | const

pure virtual

Get the human-readable type of this partition function.

Returns
  String identifier for the partition function implementation.

Postcondition
  No side effects.

Implemented in gridfire::partition::CompositePartitionFunction, gridfire::partition::GroundStatePartitionFunction, gridfire::partition::RauscherThielemannPartitionFunction, and PyPartitionFunction.

The documentation for this class was generated from the following file:

- src/include/gridfire/partition/partition_abstract.h