Added a built-in type to handle electrons in metals that
follow the SHE convention.
Took out electrodeElectron, since it was hidden and not used.
MetalSHEelectrons have a standard concentration of 1, instead
of the previous treatment where SHE electrons had a standard
concentration equal to the concentration of an ideal gas.
There were two changes:
Additions to support some reversible reactions which have fractional
stoichiometries. These were not allowed previously. However, if
the species with fractional stoichiometries are in single-species
phases, this is ok, and actually necessary for some solid-phase
reactions.
Removed comments from DEBUG_MODE about about too high or low an activation
for electrode reactions.
The function getActivityConcentration in the HMWSoln object had
a bug in it that caused it to be incompatible with standardConcentration()
and getActivities(). This meant that the ROP in kinetics managers
for this object was being calculated incorrectly.
This is now fixed.
The function getActivityConcentration in the HMWSoln object had
a bug in it that caused it to be incompatible with standardConcentration
and getActivities(). This meant that the ROP in kinetics managers
for this object was being calculated incorrectly.
The member function getActivityConcentration() calculated the
standard concentrations for solute species incorrectly. This
caused the reaction rates of progress for kinetics operations
involving HMWSoln to be calculated incorrectly. In particular,
equilibrium constants (which were and are correct)
were not compatible with forward vs.
reverse ROP's.
I fixed this error, and worked on more documentation of
generalized activity concentrations.
phase eos type. We've not had this until now.
The idea here is to have a 1 to 1 mapping between an
eosType int and a string, which can be used for writing output.
This mainly involved fixing the copy and assignment operators
for the IonsFromNeutralVPSSTP operator.
Added docs for PDSS_SSVol
Turned on keyword substitution
<transport>
<speciesDiffusivity>
<velocityBasis basis="mass">
Other valid values are "mole" or a species name.
This is loaded into LiquidTransportParams and then copied into
LiquidTransport in the initLiquidTransport() method.
velocity. This allows selection of a mass-averaged, mole-averaged or
solvent specified reference velocity using the member m_velocityBasis
or the methods setVelocityBasis() and getVelocityBasis(). Parsing of
input needs to be added for this still. An enum has been added
enum VelocityBasis {
VB_MOLEAVG = -2,
VB_MASSAVG = -1 };
Other values can correspond to species indices.
In LiquidTransport, the Stefan Maxwell solve now checks to see what
the m_velocityBasis member says the reference velocity should be and
fills the matrix accordingly. To allow mass averaged we have added
members m_massfracs and m_massfracs_tran.
Added methods to extract the diffusion velocity in a similar manner to
the diffusive fluxes. The diffusion velocity will be needed to not
force the porosity/tortuosity into the Transport classes for
porous flow. These methods are getSpeciesVdiff() and
getSpeciesVdiffES().