11 #ifndef CT_LATTICESOLID_H
12 #define CT_LATTICESOLID_H
14 #include "cantera/base/config.h"
142 return cLatticeSolid;
261 virtual doublereal
cp_mole()
const;
341 return err(
"not implemented");
350 err(
"not implemented");
361 return err(
"not implemented");
376 err(
"not implemented");
389 err(
"not implemented");
392 void getConcentrations(doublereal*
const c)
const {
393 err(
"not implemented");
396 doublereal concentration(
int k)
const {
397 return err(
"not implemented");
401 err(
"not implemented");
627 #ifdef H298MODIFY_CAPABILITY
647 doublereal
err(
const std::string& msg)
const;
678 std::vector<size_t> lkstart_;
virtual doublereal logStandardConc(size_t k=0) const
Natural logarithm of the standard concentration of the kth species.
std::vector< LatticePhase * > m_lattice
Vector of sublattic ThermoPhase objects.
virtual void installSlavePhases(Cantera::XML_Node *phaseNode)
Add in species from Slave phases.
virtual void getPartialMolarEntropies(doublereal *sbar) const
Returns an array of partial molar entropies of the species in the solution.
virtual void getPartialMolarCp(doublereal *cpbar) const
Returns an array of partial molar Heat Capacities at constant pressure of the species in the solution...
virtual void getChemPotentials(doublereal *mu) const
Get the species chemical potentials. Units: J/kmol.
virtual void initThermo()
Initialize the ThermoPhase object after all species have been set up.
Various templated functions that carry out common vector operations (see Templated Utility Functions)...
doublereal moleFraction(const int k) const
The mole fraction of species k.
virtual doublereal cv_mole() const
Return the constant volume heat capacity. Units: J/kmol/K.
doublereal calcDensity()
Calculate the density of the solid mixture.
const size_t npos
index returned by functions to indicate "no position"
LatticeSolidPhase & operator=(const LatticeSolidPhase &right)
Assignment operator.
virtual doublereal standardConcentration(size_t k=0) const
Return the standard concentration for the kth species.
LatticeSolidPhase()
Base empty constructor.
virtual void modifyOneHf298SS(const int k, const doublereal Hf298New)
Modify the value of the 298 K Heat of Formation of one species in the phase (J kmol-1) ...
virtual void setMoleFractions(const doublereal *const x)
Set the mole fractions to the specified values, and then normalize them so that they sum to 1...
Class XML_Node is a tree-based representation of the contents of an XML file.
virtual doublereal cp_mole() const
Return the constant pressure heat capacity. Units: J/kmol/K.
This file contains definitions of terms that are used in internal routines and are unlikely to need m...
Virtual base class for the calculation of multiple-species thermodynamic reference-state property man...
virtual ~LatticeSolidPhase()
Destructor.
virtual void setMassFractions_NoNorm(const doublereal *const y)
Set the mass fractions to the specified values without normalizing.
doublereal m_tlast
Last temperature at which the reference thermo was calculated.
virtual void setPressure(doublereal p)
Set the pressure at constant temperature. Units: Pa.
Base class for a phase with thermodynamic properties.
void _updateThermo() const
Update the reference thermodynamic functions.
virtual void getGibbs_RT_ref(doublereal *grt) const
Returns the vector of nondimensional enthalpies of the reference state at the current temperature of ...
virtual void getStandardChemPotentials(doublereal *mu0) const
Get the array of standard state chemical potentials at unit activity for the species at their standar...
virtual void getGibbs_ref(doublereal *g) const
Returns the vector of the gibbs function of the reference state at the current temperatureof the solu...
void initLengths()
Initialize vectors that depend on the number of species and sublattices.
ThermoPhase * duplMyselfAsThermoPhase() const
Duplication function.
doublereal m_molar_density
Current value of the molar density.
vector_fp tmpV_
Temporary vector.
virtual doublereal pressure() const
Report the Pressure. Units: Pa.
doublereal err(const std::string &msg) const
error routine
doublereal m_press
Current value of the pressure.
virtual doublereal maxTemp(size_t k=npos) const
Maximum temperature for which the thermodynamic data for the species are valid.
virtual void getPartialMolarVolumes(doublereal *vbar) const
returns an array of partial molar volumes of the species in the solution.
virtual doublereal refPressure() const
Returns the reference pressure in Pa.
virtual doublereal intEnergy_mole() const
Return the Molar Internal Energy. Units: J/kmol.
void setLatticeMoleFractionsByName(int n, const std::string &x)
Set the Lattice mole fractions using a string.
virtual doublereal minTemp(size_t k=npos) const
Minimum temperature for which the thermodynamic data for the species or phase are valid...
void getMassFractions(doublereal *const y) const
Get the species mass fractions.
vector_fp m_x
Vector of mole fractions.
std::vector< doublereal > theta_
Lattice stoichiometric coefficients.
virtual int eosType() const
Equation of state type flag.
std::vector< double > vector_fp
Turn on the use of stl vectors for the basic array type within cantera Vector of doubles.
virtual void getActivityConcentrations(doublereal *c) const
This method returns an array of generalized activity concentrations.
virtual void setParametersFromXML(const XML_Node &eosdata)
Set equation of state parameter values from XML entries.
A phase that is comprised of a fixed additive combination of other lattice phases.
virtual void getActivityCoefficients(doublereal *ac) const
Get the array of non-dimensional molar-based activity coefficients at the current solution temperatur...
virtual doublereal entropy_mole() const
Return the Molar Entropy. Units: J/kmol/K.
virtual int standardStateConvention() const
This method returns the convention used in specification of the standard state, of which there are cu...
doublereal massFraction(const int k) const
Mass fraction of species k.
size_t m_nlattice
Number of sublattice phases.
virtual void getMoleFractions(doublereal *const x) const
Get the species mole fraction vector.
virtual doublereal enthalpy_mole() const
Return the Molar Enthalpy. Units: J/kmol.
Header file for class ThermoPhase, the base class for phases with thermodynamic properties, and the text for the Module thermoprops (see Thermodynamic Properties and class ThermoPhase).
virtual doublereal gibbs_mole() const
Return the Molar Gibbs energy. Units: J/kmol.
Header for a simple thermodynamics model of a bulk phase derived from ThermoPhase, assuming a lattice of solid atoms (see Thermodynamic Properties and class LatticePhase).
virtual void getPartialMolarEnthalpies(doublereal *hbar) const
Returns an array of partial molar enthalpies for the species in the mixture.
virtual void setMassFractions(const doublereal *const y)
Set the mass fractions to the specified values, and then normalize them so that they sum to 1...
const int cSS_CONVENTION_SLAVE
Standard state thermodynamics is obtained from slave ThermoPhase objects.
virtual void setConcentrations(const doublereal *const conc)
Set the concentrations to the specified values within the phase.