|
GridFire v0.7.1_rc2
General Purpose Nuclear Network
|
Base class for reaction chain policies that are active only within specific temperature ranges. More...
#include <chains.h>
Classes | |
| struct | ActiveTempRange |
| Struct to hold the active temperature range for the reaction chain. More... | |
Public Member Functions | |
| TemperatureDependentChainPolicy (const std::vector< std::string > &reactionIDs) | |
| Construct a new Temperature Dependent Chain Policy object. | |
| TemperatureDependentChainPolicy (const std::vector< std::string > &reactionIDs, std::optional< double > minT9) | |
| Construct a new Temperature Dependent Chain Policy object. | |
| TemperatureDependentChainPolicy (const std::vector< std::string > &reactionIDs, std::optional< double > minT9, std::optional< double > maxT9) | |
| Construct a new Temperature Dependent Chain Policy object. | |
| ~TemperatureDependentChainPolicy () override=default | |
| Virtual destructor. | |
| const reaction::ReactionSet & | get_reactions () const override |
| Get the reactions that comprise the chain. | |
| bool | contains (const std::string &id) const override |
| Check if a reaction or reaction ID is part of the chain. | |
| bool | contains (const reaction::Reaction &reaction) const override |
| Check if a reaction is part of the chain. | |
| uint64_t | hash (uint64_t seed) const override |
| Generate the hash for the reaction chain policy. | |
| bool | operator== (const ReactionChainPolicy &other) const override |
| Equality operator. | |
| bool | operator!= (const ReactionChainPolicy &other) const override |
| Inequality operator. | |
| bool | is_active (double T9) const |
| Check if the reaction chain is active at a given temperature. | |
Public Member Functions inherited from gridfire::policy::ReactionChainPolicy | |
| virtual | ~ReactionChainPolicy ()=default |
| virtual std::unique_ptr< ReactionChainPolicy > | clone () const =0 |
| virtual std::string | name () const =0 |
Protected Attributes | |
| ActiveTempRange | m_tempRange |
| Active temperature range for the reaction chain. | |
| std::vector< std::string > | m_reactionIDs |
| Vector of reaction IDs that comprise the chain. | |
| reaction::ReactionSet | m_reactions |
| Set of reactions that comprise the chain. | |
Base class for reaction chain policies that are active only within specific temperature ranges.
Such chains may only operate effectively within certain temperature regimes, reflecting the physical conditions required for the reactions to proceed. This class allows defining such temperature-dependent behavior. This is one of the locations where domain specific knowledge is allowed within GridFire.
|
explicit |
Construct a new Temperature Dependent Chain Policy object.
| reactionIDs | Vector of reaction IDs that comprise the chain |
|
explicit |
Construct a new Temperature Dependent Chain Policy object.
| reactionIDs | Vector of reaction IDs that comprise the chain |
| minT9 | Minimum temperature (in T9) for which the chain is active |
|
explicit |
Construct a new Temperature Dependent Chain Policy object.
| reactionIDs | Vector of reaction IDs that comprise the chain |
| minT9 | Minimum temperature (in T9) for which the chain is active |
| maxT9 | Maximum temperature (in T9) for which the chain is active |
|
overridedefault |
Virtual destructor.
|
overridevirtual |
Check if a reaction is part of the chain.
| reaction | The reaction to check |
Implements gridfire::policy::ReactionChainPolicy.
|
overridevirtual |
Check if a reaction or reaction ID is part of the chain.
| id | The reaction ID to check |
Implements gridfire::policy::ReactionChainPolicy.
|
overridevirtual |
Get the reactions that comprise the chain.
Implements gridfire::policy::ReactionChainPolicy.
|
overridevirtual |
Generate the hash for the reaction chain policy.
| seed | Seed value for the hash |
Implements gridfire::policy::ReactionChainPolicy.
| bool gridfire::policy::TemperatureDependentChainPolicy::is_active | ( | double | T9 | ) | const |
Check if the reaction chain is active at a given temperature.
| T9 | Temperature in billions of Kelvin (T9) |
|
overridevirtual |
Inequality operator.
| other | The other ReactionChainPolicy to compare against |
Implements gridfire::policy::ReactionChainPolicy.
|
overridevirtual |
Equality operator.
| other | The other ReactionChainPolicy to compare against |
Implements gridfire::policy::ReactionChainPolicy.
|
protected |
Vector of reaction IDs that comprise the chain.
|
protected |
Set of reactions that comprise the chain.
|
protected |
Active temperature range for the reaction chain.