34 PseudoBinaryVPSSTP::PseudoBinaryVPSSTP() :
36 PBType_(PBTYPE_PASSTHROUGH),
38 indexSpecialSpecies_(
npos),
41 numPassThroughSpecies_(0),
42 neutralPBindexStart(0),
56 PBType_(PBTYPE_PASSTHROUGH),
58 indexSpecialSpecies_(
npos),
61 numPassThroughSpecies_(0),
62 neutralPBindexStart(0),
85 PBMoleFractions_ = b.PBMoleFractions_;
86 cationList_ = b.cationList_;
87 numCationSpecies_ = b.numCationSpecies_;
88 anionList_ = b.anionList_;
89 numAnionSpecies_ = b.numAnionSpecies_;
90 passThroughList_ = b.passThroughList_;
91 numPassThroughSpecies_ = b.numPassThroughSpecies_;
92 neutralPBindexStart = b.neutralPBindexStart;
93 cationPhase_ = b.cationPhase_;
94 anionPhase_ = b.anionPhase_;
95 moleFractionsTmp_ = b.moleFractionsTmp_;
154 err(
"standardConcentration");
160 err(
"logStandardConc");
170 for (
size_t k = 0; k <
m_kk; k++) {
180 doublereal sum = 0.0;
182 case PBTYPE_PASSTHROUGH:
183 for (k = 0; k <
m_kk; k++) {
187 case PBTYPE_SINGLEANION:
190 for (k = 0; k <
m_kk; k++) {
193 for (k = 0; k < cationList_.size(); k++) {
197 PBMoleFractions_[0] = sumCat -sumAnion;
201 for (k = 0; k < numCationSpecies_; k++) {
202 PBMoleFractions_[1+k] = moleFractionsTmp_[cationList_[k]];
205 for (k = 0; k < numPassThroughSpecies_; k++) {
206 PBMoleFractions_[neutralPBindexStart + k] =
210 sum =
std::max(0.0, PBMoleFractions_[0]);
212 sum += PBMoleFractions_[k];
215 PBMoleFractions_[k] /= sum;
219 case PBTYPE_SINGLECATION:
224 case PBTYPE_MULTICATIONANION:
242 throw CanteraError(
"PseudoBinaryVPSSTP",
"Base class method "
309 sprintf(p,
" \n %s:\n",
name().c_str());
312 sprintf(p,
" \n temperature %12.6g K\n",
temperature());
314 sprintf(p,
" pressure %12.6g Pa\n",
pressure());
316 sprintf(p,
" density %12.6g kg/m^3\n",
density());
322 sprintf(p,
" potential %12.6g V\n", phi);
342 sprintf(p,
" 1 kg 1 kmol\n");
344 sprintf(p,
" ----------- ------------\n");
346 sprintf(p,
" enthalpy %12.6g %12.4g J\n",
349 sprintf(p,
" internal energy %12.6g %12.4g J\n",
352 sprintf(p,
" entropy %12.6g %12.4g J/K\n",
355 sprintf(p,
" Gibbs function %12.6g %12.4g J\n",
358 sprintf(p,
" heat capacity c_p %12.6g %12.4g J/K\n",
362 sprintf(p,
" heat capacity c_v %12.6g %12.4g J/K\n",
367 sprintf(p,
" heat capacity c_v <not implemented> \n");