Cantera  3.1.0
Loading...
Searching...
No Matches
vcs_defs.h File Reference

Defines and definitions within the vcs package. More...

Detailed Description

Defines and definitions within the vcs package.

Definition in file vcs_defs.h.

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  Cantera
 Namespace for the Cantera kernel.
 

Macros

#define VCS_SSVOL_IDEALGAS   0
 Models for the standard state volume of each species.
 
#define VCS_SSVOL_CONSTANT   1
 
#define VCS_SUCCESS   0
 
#define VCS_NOMEMORY   1
 
#define VCS_FAILED_CONVERGENCE   -1
 
#define VCS_SHOULDNT_BE_HERE   -2
 
#define VCS_PUB_BAD   -3
 
#define VCS_THERMO_OUTOFRANGE   -4
 
#define VCS_FAILED_LOOKUP   -5
 
#define VCS_MP_FAIL   -6
 
Sizes of Phases and Cutoff Mole Numbers

All size parameters are listed here

#define VCS_RELDELETE_SPECIES_CUTOFF   1.0e-64
 Cutoff relative mole fraction value, below which species are deleted from the equilibrium problem.
 
#define VCS_DELETE_MINORSPECIES_CUTOFF   1.0e-140
 Cutoff relative mole number value, below which species are deleted from the equilibrium problem.
 
#define VCS_SMALL_MULTIPHASE_SPECIES   1.0e-25
 Relative value of multiphase species mole number for a multiphase species which is small.
 
#define VCS_DELETE_PHASE_CUTOFF   1.0e-13
 Cutoff relative moles below which a phase is deleted from the equilibrium problem.
 
#define VCS_POP_PHASE_MOLENUM   1.0e-11
 Relative mole number of species in a phase that is created We want this to be comfortably larger than the VCS_DELETE_PHASE_CUTOFF value so that the phase can have a chance to survive.
 
#define VCS_DELETE_ELEMENTABS_CUTOFF   1.0e-280
 Cutoff moles below which a phase or species which comprises the bulk of an element's total concentration is deleted.
 
#define VCS_MAXSTEPS   50000
 Maximum steps in the inner loop.
 
Species Categories used during the iteration
#define VCS_SPECIES_COMPONENT_STOICHZERO   3
 Species is a component which can never be nonzero because of a stoichiometric constraint.
 
#define VCS_SPECIES_COMPONENT   2
 Species is a component which can be nonzero.
 
#define VCS_SPECIES_MAJOR   1
 Species is a major species.
 
#define VCS_SPECIES_MINOR   0
 Species is a major species.
 
#define VCS_SPECIES_SMALLMS   -1
 Species lies in a multicomponent phase, with a small phase concentration.
 
#define VCS_SPECIES_ZEROEDMS   -2
 Species lies in a multicomponent phase with concentration zero.
 
#define VCS_SPECIES_ZEROEDSS   -3
 Species is a SS phase, that is currently zeroed out.
 
#define VCS_SPECIES_DELETED   -4
 Species has such a small mole fraction it is deleted even though its phase may possibly exist.
 
#define VCS_SPECIES_INTERFACIALVOLTAGE   -5
 Species refers to an electron in the metal.
 
#define VCS_SPECIES_ZEROEDPHASE   -6
 Species lies in a multicomponent phase that is zeroed atm.
 
#define VCS_SPECIES_ACTIVEBUTZERO   -7
 Species lies in a multicomponent phase that is active, but species concentration is zero.
 
#define VCS_SPECIES_STOICHZERO   -8
 Species lies in a multicomponent phase that is active, but species concentration is zero due to stoich constraint.
 
Phase Categories used during the iteration
#define VCS_PHASE_EXIST_ALWAYS   3
 
#define VCS_PHASE_EXIST_YES   2
 Phase is a normal phase that currently exists.
 
#define VCS_PHASE_EXIST_MINORCONC   1
 Phase is a normal phase that exists in a small concentration.
 
#define VCS_PHASE_EXIST_NO   0
 Phase doesn't currently exist in the mixture.
 
#define VCS_PHASE_EXIST_ZEROEDPHASE   -6
 Phase currently is zeroed due to a programmatic issue.
 
Types of Element Constraint Equations

There may be several different types of element constraints handled by the equilibrium program and by Cantera in other contexts.

These defines are used to assign each constraint to one category.

#define VCS_ELEM_TYPE_TURNEDOFF   -1
 An element constraint that is current turned off.
 
#define VCS_ELEM_TYPE_ABSPOS   0
 Normal element constraint consisting of positive coefficients for the formula matrix.
 
#define VCS_ELEM_TYPE_ELECTRONCHARGE   1
 This refers to conservation of electrons.
 
#define VCS_ELEM_TYPE_CHARGENEUTRALITY   2
 This refers to a charge neutrality of a single phase.
 
#define VCS_ELEM_TYPE_LATTICERATIO   3
 Constraint associated with maintaining a fixed lattice stoichiometry in the solids.
 
#define VCS_ELEM_TYPE_KINETICFROZEN   4
 Constraint associated with maintaining frozen kinetic equilibria in some functional groups within molecules.
 
#define VCS_ELEM_TYPE_SURFACECONSTRAINT   5
 Constraint associated with the maintenance of a surface phase.
 
#define VCS_ELEM_TYPE_OTHERCONSTRAINT   6
 Other constraint equations.
 
Types of Species Unknowns in the problem
#define VCS_SPECIES_TYPE_MOLNUM   0
 Unknown refers to mole number of a single species.
 
#define VCS_SPECIES_TYPE_INTERFACIALVOLTAGE   -5
 Unknown refers to the voltage level of a phase.
 
Types of State Calculations within VCS

These values determine where the results are stored within the VCS_SOLVE object.

#define VCS_STATECALC_UNKNOWN   -1
 State Calculation is currently in an unknown state.
 
#define VCS_STATECALC_OLD   0
 State Calculation based on the old or base mole numbers.
 
#define VCS_STATECALC_NEW   1
 State Calculation based on the new or tentative mole numbers.
 
#define VCS_STATECALC_PHASESTABILITY   2
 State Calculation based on tentative mole numbers for a phase which is currently zeroed, but is being evaluated for whether it should pop back into existence.
 
#define VCS_STATECALC_TMP   3
 State Calculation based on a temporary set of mole numbers.
 

Macro Definition Documentation

◆ VCS_SUCCESS

#define VCS_SUCCESS   0

ERROR CODES

Definition at line 18 of file vcs_defs.h.

◆ VCS_NOMEMORY

#define VCS_NOMEMORY   1

Definition at line 19 of file vcs_defs.h.

◆ VCS_FAILED_CONVERGENCE

#define VCS_FAILED_CONVERGENCE   -1

Definition at line 20 of file vcs_defs.h.

◆ VCS_SHOULDNT_BE_HERE

#define VCS_SHOULDNT_BE_HERE   -2

Definition at line 21 of file vcs_defs.h.

◆ VCS_PUB_BAD

#define VCS_PUB_BAD   -3

Definition at line 22 of file vcs_defs.h.

◆ VCS_THERMO_OUTOFRANGE

#define VCS_THERMO_OUTOFRANGE   -4

Definition at line 23 of file vcs_defs.h.

◆ VCS_FAILED_LOOKUP

#define VCS_FAILED_LOOKUP   -5

Definition at line 24 of file vcs_defs.h.

◆ VCS_MP_FAIL

#define VCS_MP_FAIL   -6

Definition at line 25 of file vcs_defs.h.

◆ VCS_SSVOL_IDEALGAS

#define VCS_SSVOL_IDEALGAS   0

Models for the standard state volume of each species.

Definition at line 29 of file vcs_defs.h.

◆ VCS_SSVOL_CONSTANT

#define VCS_SSVOL_CONSTANT   1

Definition at line 30 of file vcs_defs.h.

◆ VCS_RELDELETE_SPECIES_CUTOFF

#define VCS_RELDELETE_SPECIES_CUTOFF   1.0e-64

Cutoff relative mole fraction value, below which species are deleted from the equilibrium problem.

Definition at line 40 of file vcs_defs.h.

◆ VCS_DELETE_MINORSPECIES_CUTOFF

#define VCS_DELETE_MINORSPECIES_CUTOFF   1.0e-140

Cutoff relative mole number value, below which species are deleted from the equilibrium problem.

Definition at line 46 of file vcs_defs.h.

◆ VCS_SMALL_MULTIPHASE_SPECIES

#define VCS_SMALL_MULTIPHASE_SPECIES   1.0e-25

Relative value of multiphase species mole number for a multiphase species which is small.

Definition at line 52 of file vcs_defs.h.

◆ VCS_DELETE_PHASE_CUTOFF

#define VCS_DELETE_PHASE_CUTOFF   1.0e-13

Cutoff relative moles below which a phase is deleted from the equilibrium problem.

Definition at line 58 of file vcs_defs.h.

◆ VCS_POP_PHASE_MOLENUM

#define VCS_POP_PHASE_MOLENUM   1.0e-11

Relative mole number of species in a phase that is created We want this to be comfortably larger than the VCS_DELETE_PHASE_CUTOFF value so that the phase can have a chance to survive.

Definition at line 65 of file vcs_defs.h.

◆ VCS_DELETE_ELEMENTABS_CUTOFF

#define VCS_DELETE_ELEMENTABS_CUTOFF   1.0e-280

Cutoff moles below which a phase or species which comprises the bulk of an element's total concentration is deleted.

Definition at line 72 of file vcs_defs.h.

◆ VCS_MAXSTEPS

#define VCS_MAXSTEPS   50000

Maximum steps in the inner loop.

Definition at line 77 of file vcs_defs.h.

◆ VCS_SPECIES_COMPONENT_STOICHZERO

#define VCS_SPECIES_COMPONENT_STOICHZERO   3

Species is a component which can never be nonzero because of a stoichiometric constraint.

These defines are valid values for spStatus()

An example of this would be a species that contains Ni. But, the amount of Ni elements is exactly zero.

Definition at line 94 of file vcs_defs.h.

◆ VCS_SPECIES_COMPONENT

#define VCS_SPECIES_COMPONENT   2

Species is a component which can be nonzero.

Definition at line 97 of file vcs_defs.h.

◆ VCS_SPECIES_MAJOR

#define VCS_SPECIES_MAJOR   1

Species is a major species.

A major species is either a species in a multicomponent phase with significant concentration or it's a Stoich Phase

Definition at line 104 of file vcs_defs.h.

◆ VCS_SPECIES_MINOR

#define VCS_SPECIES_MINOR   0

Species is a major species.

A major species is either a species in a multicomponent phase with significant concentration or it's a Stoich Phase

Definition at line 111 of file vcs_defs.h.

◆ VCS_SPECIES_SMALLMS

#define VCS_SPECIES_SMALLMS   -1

Species lies in a multicomponent phase, with a small phase concentration.

The species lies in a multicomponent phase that exists. It concentration is currently very low, necessitating a different method of calculation.

Definition at line 118 of file vcs_defs.h.

◆ VCS_SPECIES_ZEROEDMS

#define VCS_SPECIES_ZEROEDMS   -2

Species lies in a multicomponent phase with concentration zero.

The species lies in a multicomponent phase which currently doesn't exist. It concentration is currently zero.

Definition at line 125 of file vcs_defs.h.

◆ VCS_SPECIES_ZEROEDSS

#define VCS_SPECIES_ZEROEDSS   -3

Species is a SS phase, that is currently zeroed out.

The species lies in a single-species phase which is currently zeroed out.

Definition at line 131 of file vcs_defs.h.

◆ VCS_SPECIES_DELETED

#define VCS_SPECIES_DELETED   -4

Species has such a small mole fraction it is deleted even though its phase may possibly exist.

The species is believed to have such a small mole fraction that it best to throw the calculation of it out. It will be added back in at the end of the calculation.

Definition at line 140 of file vcs_defs.h.

◆ VCS_SPECIES_INTERFACIALVOLTAGE

#define VCS_SPECIES_INTERFACIALVOLTAGE   -5

Species refers to an electron in the metal.

The unknown is equal to the electric potential of the phase in which it exists.

Definition at line 147 of file vcs_defs.h.

◆ VCS_SPECIES_ZEROEDPHASE

#define VCS_SPECIES_ZEROEDPHASE   -6

Species lies in a multicomponent phase that is zeroed atm.

The species lies in a multicomponent phase that is currently deleted and will stay deleted due to a choice from a higher level. These species will formally always have zero mole numbers in the solution vector.

Definition at line 155 of file vcs_defs.h.

◆ VCS_SPECIES_ACTIVEBUTZERO

#define VCS_SPECIES_ACTIVEBUTZERO   -7

Species lies in a multicomponent phase that is active, but species concentration is zero.

The species lies in a multicomponent phase which currently does exist. It concentration is currently identically zero, though the phase exists. Note, this is a temporary condition that exists at the start of an equilibrium problem. The species is soon "birthed" or "deleted".

Definition at line 165 of file vcs_defs.h.

◆ VCS_SPECIES_STOICHZERO

#define VCS_SPECIES_STOICHZERO   -8

Species lies in a multicomponent phase that is active, but species concentration is zero due to stoich constraint.

The species lies in a multicomponent phase which currently does exist. Its concentration is currently identically zero, though the phase exists. This is a permanent condition due to stoich constraints.

An example of this would be a species that contains Ni. But, the amount of Ni elements in the current problem statement is exactly zero.

Definition at line 177 of file vcs_defs.h.

◆ VCS_PHASE_EXIST_ALWAYS

#define VCS_PHASE_EXIST_ALWAYS   3

These defines are valid values for the phase existence flag Always exists because it contains inerts which can't exist in any other phase

Definition at line 187 of file vcs_defs.h.

◆ VCS_PHASE_EXIST_YES

#define VCS_PHASE_EXIST_YES   2

Phase is a normal phase that currently exists.

Definition at line 190 of file vcs_defs.h.

◆ VCS_PHASE_EXIST_MINORCONC

#define VCS_PHASE_EXIST_MINORCONC   1

Phase is a normal phase that exists in a small concentration.

Concentration is so small that it must be calculated using an alternate method

Definition at line 197 of file vcs_defs.h.

◆ VCS_PHASE_EXIST_NO

#define VCS_PHASE_EXIST_NO   0

Phase doesn't currently exist in the mixture.

Definition at line 200 of file vcs_defs.h.

◆ VCS_PHASE_EXIST_ZEROEDPHASE

#define VCS_PHASE_EXIST_ZEROEDPHASE   -6

Phase currently is zeroed due to a programmatic issue.

We zero phases because we want to follow phase stability boundaries.

Definition at line 206 of file vcs_defs.h.

◆ VCS_ELEM_TYPE_TURNEDOFF

#define VCS_ELEM_TYPE_TURNEDOFF   -1

An element constraint that is current turned off.

Definition at line 217 of file vcs_defs.h.

◆ VCS_ELEM_TYPE_ABSPOS

#define VCS_ELEM_TYPE_ABSPOS   0

Normal element constraint consisting of positive coefficients for the formula matrix.

All species have positive coefficients within the formula matrix. With this constraint, we may employ various strategies to handle small values of the element number successfully.

Definition at line 226 of file vcs_defs.h.

◆ VCS_ELEM_TYPE_ELECTRONCHARGE

#define VCS_ELEM_TYPE_ELECTRONCHARGE   1

This refers to conservation of electrons.

Electrons may have positive or negative values in the Formula matrix.

Definition at line 232 of file vcs_defs.h.

◆ VCS_ELEM_TYPE_CHARGENEUTRALITY

#define VCS_ELEM_TYPE_CHARGENEUTRALITY   2

This refers to a charge neutrality of a single phase.

Charge neutrality may have positive or negative values in the Formula matrix.

Definition at line 238 of file vcs_defs.h.

◆ VCS_ELEM_TYPE_LATTICERATIO

#define VCS_ELEM_TYPE_LATTICERATIO   3

Constraint associated with maintaining a fixed lattice stoichiometry in the solids.

The constraint may have positive or negative values. The lattice 0 species will have negative values while higher lattices will have positive values

Definition at line 246 of file vcs_defs.h.

◆ VCS_ELEM_TYPE_KINETICFROZEN

#define VCS_ELEM_TYPE_KINETICFROZEN   4

Constraint associated with maintaining frozen kinetic equilibria in some functional groups within molecules.

We seek here to say that some functional groups or ionic states should be treated as if they are separate elements given the time scale of the problem. This will be abs positive constraint. We have not implemented any examples yet. A requirement will be that we must be able to add and subtract these constraints.

Definition at line 257 of file vcs_defs.h.

◆ VCS_ELEM_TYPE_SURFACECONSTRAINT

#define VCS_ELEM_TYPE_SURFACECONSTRAINT   5

Constraint associated with the maintenance of a surface phase.

We don't have any examples of this yet either. However, surfaces only exist because they are interfaces between bulk layers. If we want to treat surfaces within thermodynamic systems we must come up with a way to constrain their total number.

Definition at line 266 of file vcs_defs.h.

◆ VCS_ELEM_TYPE_OTHERCONSTRAINT

#define VCS_ELEM_TYPE_OTHERCONSTRAINT   6

Other constraint equations.

currently there are none

Definition at line 271 of file vcs_defs.h.

◆ VCS_SPECIES_TYPE_MOLNUM

#define VCS_SPECIES_TYPE_MOLNUM   0

Unknown refers to mole number of a single species.

Definition at line 278 of file vcs_defs.h.

◆ VCS_SPECIES_TYPE_INTERFACIALVOLTAGE

#define VCS_SPECIES_TYPE_INTERFACIALVOLTAGE   -5

Unknown refers to the voltage level of a phase.

Typically, these species are electrons in metals. There is an infinite supply of them. However, their electrical potential is sometimes allowed to vary, for example if the open circuit voltage is sought after.

Definition at line 286 of file vcs_defs.h.

◆ VCS_STATECALC_UNKNOWN

#define VCS_STATECALC_UNKNOWN   -1

State Calculation is currently in an unknown state.

Definition at line 295 of file vcs_defs.h.

◆ VCS_STATECALC_OLD

#define VCS_STATECALC_OLD   0

State Calculation based on the old or base mole numbers.

Definition at line 297 of file vcs_defs.h.

◆ VCS_STATECALC_NEW

#define VCS_STATECALC_NEW   1

State Calculation based on the new or tentative mole numbers.

Definition at line 300 of file vcs_defs.h.

◆ VCS_STATECALC_PHASESTABILITY

#define VCS_STATECALC_PHASESTABILITY   2

State Calculation based on tentative mole numbers for a phase which is currently zeroed, but is being evaluated for whether it should pop back into existence.

Definition at line 305 of file vcs_defs.h.

◆ VCS_STATECALC_TMP

#define VCS_STATECALC_TMP   3

State Calculation based on a temporary set of mole numbers.

Definition at line 308 of file vcs_defs.h.