fourdst::libcomposition v1.5.2
Robust atomic species information library
Loading...
Searching...
No Matches
fourdst::composition::CompositionEntry Struct Reference

Represents a single entry (an isotope) within a composition. More...

#include <composition.h>

Public Member Functions

 CompositionEntry ()
 Default constructor. Initializes a default entry (H-1), but in an uninitialized state.
 
 CompositionEntry (const std::string &symbol, bool massFracMode=true)
 Constructs a CompositionEntry for a given symbol and abundance mode.
 
 CompositionEntry (const CompositionEntry &entry)
 Copy constructor.
 
void setSpecies (const std::string &symbol)
 Sets the species for the composition entry. This can only be done once.
 
std::string symbol () const
 Gets the chemical symbol of the species.
 
double mass_fraction () const
 Gets the mass fraction of the species.
 
double mass_fraction (double meanMolarMass) const
 Gets the mass fraction, converting from number fraction if necessary.
 
double number_fraction () const
 Gets the number fraction of the species.
 
double number_fraction (double totalMoles) const
 Gets the number fraction, converting from mass fraction if necessary.
 
double rel_abundance () const
 Gets the relative abundance of the species.
 
atomic::Species isotope () const
 Gets the isotope data for the species.
 
bool getMassFracMode () const
 Gets the mode of the composition entry.
 
void setMassFraction (double mass_fraction)
 Sets the mass fraction of the species.
 
void setNumberFraction (double number_fraction)
 Sets the number fraction of the species.
 
bool setMassFracMode (double meanMolarMass)
 Switches the mode to mass fraction mode.
 
bool setNumberFracMode (double totalMoles)
 Switches the mode to number fraction mode.
 

Public Attributes

std::string m_symbol
 The chemical symbol of the species (e.g., "H-1", "Fe-56").
 
atomic::Species m_isotope
 The atomic::Species object containing detailed isotope data.
 
bool m_massFracMode = true
 The mode of the composition entry. True if mass fraction, false if number fraction.
 
double m_massFraction = 0.0
 The mass fraction of the species. Valid only if m_massFracMode is true.
 
double m_numberFraction = 0.0
 The number fraction (mole fraction) of the species. Valid only if m_massFracMode is false.
 
double m_relAbundance = 0.0
 The relative abundance, used internally for conversions. For mass fraction mode, this is X_i / A_i; for number fraction mode, it's n_i * A_i.
 
bool m_initialized = false
 True if the composition entry has been initialized with a valid species.
 

Friends

std::ostream & operator<< (std::ostream &os, const CompositionEntry &entry)
 Overloaded output stream operator for CompositionEntry.
 

Detailed Description

Represents a single entry (an isotope) within a composition.

This struct holds the properties of one component, including its symbol, the corresponding atomic::Species object, and its abundance (either as a mass fraction or number fraction). It manages the state and conversions for that single entry.

Definition at line 83 of file composition.h.

Constructor & Destructor Documentation

◆ CompositionEntry() [1/3]

fourdst::composition::CompositionEntry::CompositionEntry ( )

Default constructor. Initializes a default entry (H-1), but in an uninitialized state.

Definition at line 38 of file composition.cpp.

◆ CompositionEntry() [2/3]

fourdst::composition::CompositionEntry::CompositionEntry ( const std::string & symbol,
bool massFracMode = true )
explicit

Constructs a CompositionEntry for a given symbol and abundance mode.

Parameters
symbolThe chemical symbol of the species (e.g., "He-4").
massFracModeTrue to operate in mass fraction mode, false for number fraction mode.
Exceptions
exceptions::InvalidSpeciesSymbolErrorif the symbol does not exist in the atomic species database.
exceptions::EntryAlreadyInitializedErrorif setSpecies is called on an already initialized entry.
Usage Example:
CompositionEntry entry("H-1", true); // Entry for H-1 in mass fraction mode.
CompositionEntry()
Default constructor. Initializes a default entry (H-1), but in an uninitialized state.

Definition at line 43 of file composition.cpp.

◆ CompositionEntry() [3/3]

fourdst::composition::CompositionEntry::CompositionEntry ( const CompositionEntry & entry)

Copy constructor.

Parameters
entryThe CompositionEntry to copy.

Definition at line 47 of file composition.cpp.

Member Function Documentation

◆ getMassFracMode()

bool fourdst::composition::CompositionEntry::getMassFracMode ( ) const
nodiscard

Gets the mode of the composition entry.

Returns
True if in mass fraction mode, false if in number fraction mode.

Definition at line 147 of file composition.cpp.

◆ isotope()

fourdst::atomic::Species fourdst::composition::CompositionEntry::isotope ( ) const
nodiscard

Gets the isotope data for the species.

Returns
A const reference to the atomic::Species object.

Definition at line 109 of file composition.cpp.

◆ mass_fraction() [1/2]

double fourdst::composition::CompositionEntry::mass_fraction ( ) const
nodiscard

Gets the mass fraction of the species.

Precondition
The entry must be in mass fraction mode.
Returns
The mass fraction of the species.
Exceptions
exceptions::CompositionModeErrorif the entry is in number fraction mode.

Definition at line 72 of file composition.cpp.

◆ mass_fraction() [2/2]

double fourdst::composition::CompositionEntry::mass_fraction ( double meanMolarMass) const
nodiscard

Gets the mass fraction, converting from number fraction if necessary.

Parameters
meanMolarMassThe mean molar mass of the entire composition, required for conversion.
Returns
The mass fraction of the species.

Definition at line 79 of file composition.cpp.

◆ number_fraction() [1/2]

double fourdst::composition::CompositionEntry::number_fraction ( ) const
nodiscard

Gets the number fraction of the species.

Precondition
The entry must be in number fraction mode.
Returns
The number fraction of the species.
Exceptions
exceptions::CompositionModeErrorif the entry is in mass fraction mode.

Definition at line 89 of file composition.cpp.

◆ number_fraction() [2/2]

double fourdst::composition::CompositionEntry::number_fraction ( double totalMoles) const
nodiscard

Gets the number fraction, converting from mass fraction if necessary.

Parameters
totalMolesThe total moles per unit mass (specific number density) of the entire composition.
Returns
The number fraction of the species.

Definition at line 96 of file composition.cpp.

◆ rel_abundance()

double fourdst::composition::CompositionEntry::rel_abundance ( ) const
nodiscard

Gets the relative abundance of the species.

Returns
The relative abundance.

Definition at line 105 of file composition.cpp.

◆ setMassFracMode()

bool fourdst::composition::CompositionEntry::setMassFracMode ( double meanMolarMass)

Switches the mode to mass fraction mode.

Parameters
meanMolarMassThe mean molar mass of the composition, required for conversion.
Returns
True if the mode was successfully set, false otherwise.

Definition at line 129 of file composition.cpp.

◆ setMassFraction()

void fourdst::composition::CompositionEntry::setMassFraction ( double mass_fraction)

Sets the mass fraction of the species.

Parameters
mass_fractionThe mass fraction to set. Must be in [0, 1].
Precondition
The entry must be in mass fraction mode.
Exceptions
exceptions::CompositionModeErrorif the entry is in number fraction mode.

Definition at line 113 of file composition.cpp.

◆ setNumberFracMode()

bool fourdst::composition::CompositionEntry::setNumberFracMode ( double totalMoles)

Switches the mode to number fraction mode.

Parameters
totalMolesThe total moles per unit mass (specific number density) of the composition.
Returns
True if the mode was successfully set, false otherwise.

Definition at line 138 of file composition.cpp.

◆ setNumberFraction()

void fourdst::composition::CompositionEntry::setNumberFraction ( double number_fraction)

Sets the number fraction of the species.

Parameters
number_fractionThe number fraction to set. Must be in [0, 1].
Precondition
The entry must be in number fraction mode.
Exceptions
exceptions::CompositionModeErrorif the entry is in mass fraction mode.

Definition at line 121 of file composition.cpp.

◆ setSpecies()

void fourdst::composition::CompositionEntry::setSpecies ( const std::string & symbol)

Sets the species for the composition entry. This can only be done once.

Parameters
symbolThe chemical symbol of the species.
Exceptions
exceptions::EntryAlreadyInitializedErrorif the entry has already been initialized.
exceptions::InvalidSpeciesSymbolErrorif the symbol is not found in the atomic species database.

Definition at line 56 of file composition.cpp.

◆ symbol()

std::string fourdst::composition::CompositionEntry::symbol ( ) const
nodiscard

Gets the chemical symbol of the species.

Returns
The chemical symbol.

Definition at line 68 of file composition.cpp.

Friends And Related Symbol Documentation

◆ operator<<

std::ostream & operator<< ( std::ostream & os,
const CompositionEntry & entry )
friend

Overloaded output stream operator for CompositionEntry.

Parameters
osThe output stream.
entryThe CompositionEntry to output.
Returns
The output stream.

Definition at line 767 of file composition.cpp.

Member Data Documentation

◆ m_initialized

bool fourdst::composition::CompositionEntry::m_initialized = false

True if the composition entry has been initialized with a valid species.

Definition at line 92 of file composition.h.

◆ m_isotope

atomic::Species fourdst::composition::CompositionEntry::m_isotope

The atomic::Species object containing detailed isotope data.

Definition at line 85 of file composition.h.

◆ m_massFracMode

bool fourdst::composition::CompositionEntry::m_massFracMode = true

The mode of the composition entry. True if mass fraction, false if number fraction.

Definition at line 86 of file composition.h.

◆ m_massFraction

double fourdst::composition::CompositionEntry::m_massFraction = 0.0

The mass fraction of the species. Valid only if m_massFracMode is true.

Definition at line 88 of file composition.h.

◆ m_numberFraction

double fourdst::composition::CompositionEntry::m_numberFraction = 0.0

The number fraction (mole fraction) of the species. Valid only if m_massFracMode is false.

Definition at line 89 of file composition.h.

◆ m_relAbundance

double fourdst::composition::CompositionEntry::m_relAbundance = 0.0

The relative abundance, used internally for conversions. For mass fraction mode, this is X_i / A_i; for number fraction mode, it's n_i * A_i.

Definition at line 90 of file composition.h.

◆ m_symbol

std::string fourdst::composition::CompositionEntry::m_symbol

The chemical symbol of the species (e.g., "H-1", "Fe-56").

Definition at line 84 of file composition.h.


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