BioCMAMC-ST
Models::Stoichiometry Namespace Reference

Compile time elemental closure of the reactions of Models::Acetate. More...

Functions

constexpr double e_surplus (double m_cmol_sub, double gamma_sub, double y_x)
constexpr double y_o2_ox (double m_cmol_sub, double gamma_sub, double y_x)
constexpr double y_ac_fer (double m_cmol_sub, double gamma_sub, double y_x)
 sub -> X + Ac + CO2 (+H2O) : gAc per g of substrate

Variables

constexpr double m_o2 = 32.0
 [g/mol]
constexpr double m_cmol_glucose = 30.0
 C6H12O6, 180/6 [g/Cmol].
constexpr double m_cmol_acetate = 30.0
 C2H4O2, 60/2 [g/Cmol].
constexpr double m_cmol_biomass = 24.6
 CH1.8O0.5N0.2 [g/Cmol].
constexpr double gamma_glucose = 4.0
 Degree of reduction per C-mole.
constexpr double gamma_acetate = 4.0
 (2*4 + 4 - 2*2)/2
constexpr double gamma_biomass = 4.2
 4 + 1.8 - 1.0 - 0.6

Detailed Description

Compile time elemental closure of the reactions of Models::Acetate.

Only the growth yields are free parameters; the oxygen and acetate coefficients are the only ones that balance carbon and electrons, so they are derived here instead of being tabulated. Everything is per C-mole of the carbon substrate, with NH3 as nitrogen source; water closes H and O automatically once C, N and the electrons balance.

Nothing in this namespace is evaluated at run time.

Function Documentation

◆ e_surplus()

double Models::Stoichiometry::e_surplus ( double m_cmol_sub,
double gamma_sub,
double y_x )
constexpr

Electrons left by 1 g of substrate once y_x g of biomass are built. They must go somewhere: to O2 if the reaction is oxidative, to acetate if it is fermentative. This is what forbids an arbitrary acetate yield.

Here is the caller graph for this function:

◆ y_ac_fer()

double Models::Stoichiometry::y_ac_fer ( double m_cmol_sub,
double gamma_sub,
double y_x )
constexpr

sub -> X + Ac + CO2 (+H2O) : gAc per g of substrate

Here is the call graph for this function:

◆ y_o2_ox()

double Models::Stoichiometry::y_o2_ox ( double m_cmol_sub,
double gamma_sub,
double y_x )
constexpr

sub + O2 -> X + CO2 (+H2O) : gO2 per g of substrate. At y_x = 0 this gives back the complete combustion demand, 192/180 for glucose: that value is only correct for a reaction that does not grow.

Here is the call graph for this function:

Variable Documentation

◆ gamma_acetate

double Models::Stoichiometry::gamma_acetate = 4.0
inlineconstexpr

(2*4 + 4 - 2*2)/2

◆ gamma_biomass

double Models::Stoichiometry::gamma_biomass = 4.2
inlineconstexpr

4 + 1.8 - 1.0 - 0.6

◆ gamma_glucose

double Models::Stoichiometry::gamma_glucose = 4.0
inlineconstexpr

Degree of reduction per C-mole.

4 + 2 - 2

◆ m_cmol_acetate

double Models::Stoichiometry::m_cmol_acetate = 30.0
inlineconstexpr

C2H4O2, 60/2 [g/Cmol].

◆ m_cmol_biomass

double Models::Stoichiometry::m_cmol_biomass = 24.6
inlineconstexpr

CH1.8O0.5N0.2 [g/Cmol].

◆ m_cmol_glucose

double Models::Stoichiometry::m_cmol_glucose = 30.0
inlineconstexpr

C6H12O6, 180/6 [g/Cmol].

◆ m_o2

double Models::Stoichiometry::m_o2 = 32.0
inlineconstexpr

[g/mol]