Loading...
Searching...
No Matches
PyPartitionFunction Class Referencefinal

`#include <py_partition.h>`

Inheritance diagram for PyPartitionFunction:
[legend]
Collaboration diagram for PyPartitionFunction:
[legend]

## Private Member Functions

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

## Additional Inherited Members

Public Member Functions inherited from gridfire::partition::PartitionFunction
virtual | ~PartitionFunction ()=default
| Virtual destructor.

## Member Function Documentation

## clone()

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

nodiscardoverrideprivatevirtual

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.

Implements gridfire::partition::PartitionFunction.

## evaluate()

double PyPartitionFunction::evaluate | ( | int | z,
|  | int | a,
|  | double | T9 ) const

nodiscardoverrideprivatevirtual

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.

Implements gridfire::partition::PartitionFunction.

## evaluateDerivative()

double PyPartitionFunction::evaluateDerivative | ( | int | z,
|  | int | a,
|  | double | T9 ) const

nodiscardoverrideprivatevirtual

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.

Implements gridfire::partition::PartitionFunction.

## supports()

bool PyPartitionFunction::supports | ( | int | z,
|  | int | a ) const

nodiscardoverrideprivatevirtual

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.

Implements gridfire::partition::PartitionFunction.

## type()

std::string PyPartitionFunction::type | ( |  | ) | const

nodiscardoverrideprivatevirtual

Get the human-readable type of this partition function.

Returns
  String identifier for the partition function implementation.

Postcondition
  No side effects.

Implements gridfire::partition::PartitionFunction.

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

- src/python/partition/trampoline/py_partition.h
- src/python/partition/trampoline/py_partition.cpp