GridFire 0.6.0
General Purpose Nuclear Network
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:
PyPartitionFunction gridfire::partition::CompositePartitionFunction gridfire::partition::GroundStatePartitionFunction gridfire::partition::RauscherThielemannPartitionFunction

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< PartitionFunctionclone () 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
nodiscardpure 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
nodiscardpure virtual

Evaluate the partition function for a given isotope.

Parameters
zProton number (atomic number) of the isotope; must be >= 1.
aMass number of the isotope; must be >= z.
T9Temperature 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::CompositePartitionFunction, gridfire::partition::GroundStatePartitionFunction, gridfire::partition::RauscherThielemannPartitionFunction, and PyPartitionFunction.

◆ evaluateDerivative()

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

Evaluate the temperature derivative of the partition function.

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

Parameters
zProton number (atomic number) of the isotope; must be >= 1.
aMass number of the isotope; must be >= z.
T9Temperature 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::CompositePartitionFunction, gridfire::partition::GroundStatePartitionFunction, gridfire::partition::RauscherThielemannPartitionFunction, and PyPartitionFunction.

◆ supports()

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

Check if this partition function supports an isotope.

Parameters
zProton number of the isotope.
aMass 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::CompositePartitionFunction, gridfire::partition::GroundStatePartitionFunction, gridfire::partition::RauscherThielemannPartitionFunction, and PyPartitionFunction.

◆ type()

virtual std::string gridfire::partition::PartitionFunction::type ( ) const
nodiscardpure 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: