doublereal Phase::elementalMassFraction(const size_t m) const { checkElementIndex(m); doublereal Z_m = 0.0; for (size_t k = 0; k != m_kk; ++k) { Z_m += nAtoms(k, m) * atomicWeight(m) / molecularWeight(k) * massFraction(k); } return Z_m; }
doublereal Phase::elementalMoleFraction(const size_t m) const { checkElementIndex(m); double denom = 0; for (size_t k = 0; k < m_kk; k++) { double atoms = 0; for (size_t j = 0; j < nElements(); j++) { atoms += nAtoms(k, j); } denom += atoms * moleFraction(k); } doublereal numerator = 0.0; for (size_t k = 0; k != m_kk; ++k) { numerator += nAtoms(k, m) * moleFraction(k); } return numerator / denom; }
string Phase::elementName(size_t m) const { checkElementIndex(m); return m_elementNames[m]; }
doublereal Phase::nAtoms(size_t k, size_t m) const { checkElementIndex(m); checkSpeciesIndex(k); return m_speciesComp[m_mm * k + m]; }
doublereal Phase::entropyElement298(size_t m) const { checkElementIndex(m); return m_entropy298[m]; }