27#include "quill/Logger.h"
30#include <unordered_map>
95 os <<
"NetOut(composition=" << netOut.composition <<
", num_steps=" << netOut.num_steps <<
", energy=" << netOut.energy <<
")";
Manages the composition of elements.
Class to manage a collection of constants.
virtual ~Network()=default
virtual NetOut evaluate(const NetIn &netIn)
Evaluate the network based on the input parameters.
NetworkFormat setFormat(const NetworkFormat format)
serif::probe::LogManager & m_logManager
Log manager instance.
NetworkFormat m_format
Format of the network.
NetworkFormat getFormat() const
virtual bool isStiff() const
bool m_stiff
Flag indicating if the network is stiff.
Network(const NetworkFormat format=NetworkFormat::APPROX8)
serif::constant::Constants & m_constants
quill::Logger * m_logger
Logger instance.
serif::config::Config & m_config
Configuration instance.
virtual void setStiff(const bool stiff)
NetOut evaluate(const NetIn &netIn) override
Evaluate the network based on the input parameters.
serif::network::reaclib::REACLIBReactionSet m_reactions
Set of REACLIB reactions.
ReaclibNetwork(serif::composition::Composition composition, const NetworkFormat format=NetworkFormat::APPROX8)
ReaclibNetwork(const NetworkFormat format=NetworkFormat::APPROX8)
Class to manage logging operations.
@ REACLIB
General REACLIB nuclear reaction network format.
@ APPROX8
Approx8 nuclear reaction network format.
serif::network::reaclib::REACLIBReactionSet build_reaclib_nuclear_network(const serif::composition::Composition &composition)
static std::unordered_map< NetworkFormat, std::string > FormatStringLookup
Input structure for the network evaluation.
double temperature
Temperature in Kelvin.
double dt0
Initial time step.
double culling
Culling threshold for reactions (default is 0.0, meaning no culling)
double energy
Energy in ergs.
serif::composition::Composition composition
Composition of the network.
double density
Density in g/cm^3.
Output structure for the network evaluation.
double energy
Energy in ergs after evaluation.
friend std::ostream & operator<<(std::ostream &os, const NetOut &netOut)
int num_steps
Number of steps taken in the evaluation.
serif::composition::Composition composition
Composition of the network after evaluation.