chemmisol 0.1
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | List of all members
chemmisol::FixedChemicalSpecies Class Reference

#include <species.h>

Inheritance diagram for chemmisol::FixedChemicalSpecies:
Inheritance graph
[legend]
Collaboration diagram for chemmisol::FixedChemicalSpecies:
Collaboration graph
[legend]

Public Member Functions

void incrementConcentration (double) override
 
double concentration () const override
 
double concentration (double) const override
 
double quantity (double) const override
 
std::complex< double > quantity (std::complex< double >) const override
 
double activity (double) const override
 
void setActivity (double) override
 
- Public Member Functions inherited from chemmisol::ChemicalSpecies
const std::string & getName () const
 
std::size_t getIndex () const
 
virtual Phase getPhase () const =0
 
double activity () const
 
double quantity () const
 

Protected Member Functions

 FixedChemicalSpecies (const std::string &name, std::size_t index, double C, double A, double Q)
 
- Protected Member Functions inherited from chemmisol::ChemicalSpecies
 ChemicalSpecies (const std::string &name, std::size_t index)
 

Detailed Description

ChemicalSpecies implementation for a species with fixed quantity, activity and concentration in the chemical system.

The quantity, activity and concentration of such species will never change for any reaction process. This does not mean that a reaction with a fixed reagent cannot process, but that the fixed activity is always used in the reaction quotient computation for any extent of the reaction.

Notice that only components can be fixed within a ChemicalSystem: FixedChemicalSpecies are supposed to be associated to FixedChemicalComponent.

See also
FixedChemicalComponent
ChemicalSystem::fixComponent()

Constructor & Destructor Documentation

◆ FixedChemicalSpecies()

chemmisol::FixedChemicalSpecies::FixedChemicalSpecies ( const std::string &  name,
std::size_t  index,
double  C,
double  A,
double  Q 
)
inlineprotected

FixedChemicalSpecies constructor.

Even if the quantity, activity and concentration must be manually specified in the FixedChemicalSpecies constructor, they are generally bound according to physical laws. Such rules depends on the nature of the species and are implemented in Solvent, FixedAqueousSpecies or FixedMineralSpecies subclasses.

Parameters
nameName of the fixed species
indexIndex used to retrieve the species in data structures used internally by the ChemicalSystem. The index can also be used to uniquely identify each species of a system.
CFixed concentration
AFixed activity
QFixed quantity

Member Function Documentation

◆ incrementConcentration()

void chemmisol::FixedChemicalSpecies::incrementConcentration ( double  )
inlineoverridevirtual

This method has no effect for a fixed component: the fixed concentration is not changed.

Implements chemmisol::ChemicalSpecies.

◆ concentration() [1/2]

double chemmisol::FixedChemicalSpecies::concentration ( ) const
inlineoverridevirtual

Returns the fixed concentration of this chemical species.

Implements chemmisol::ChemicalSpecies.

◆ concentration() [2/2]

double chemmisol::FixedChemicalSpecies::concentration ( double  ) const
inlineoverridevirtual

Returns the fixed concentration of this chemical species, ignoring the provided quantity.

Implements chemmisol::ChemicalSpecies.

◆ quantity() [1/2]

double chemmisol::FixedChemicalSpecies::quantity ( double  ) const
inlineoverridevirtual

Returns the fixed quantity of this chemical species, ignoring the provided activity.

Implements chemmisol::ChemicalSpecies.

◆ quantity() [2/2]

std::complex< double > chemmisol::FixedChemicalSpecies::quantity ( std::complex< double >  ) const
inlineoverridevirtual

◆ activity()

double chemmisol::FixedChemicalSpecies::activity ( double  ) const
inlineoverridevirtual

Returns the fixed activity of this chemical species, ignoring the provided concentration.

Implements chemmisol::ChemicalSpecies.

◆ setActivity()

void chemmisol::FixedChemicalSpecies::setActivity ( double  )
inlineoverridevirtual

This method has no effect for a fixed component: the fixed activity is not changed.

Implements chemmisol::ChemicalSpecies.


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