69        Scalar Vm = params.molarVolume(phaseIdx);
 
   72        Scalar bi_b = params.bPure(phaseIdx, compIdx) / params.b(phaseIdx);
 
   76        Scalar p = fs.pressure(phaseIdx); 
 
   80        Scalar Astar = params.a(phaseIdx)*p/(RT*RT);
 
   81        Scalar Bstar = params.b(phaseIdx)*p/(RT);
 
   84        Scalar sumMoleFractions = 0.0;
 
   85        for (
int compJIdx = 0; compJIdx < numComponents; ++compJIdx)
 
   86            sumMoleFractions += fs.moleFraction(phaseIdx, compJIdx);
 
   89        Scalar deltai = 2*sqrt(params.aPure(phaseIdx, compIdx))/params.a(phaseIdx);
 
   91        for (
int compJIdx = 0; compJIdx < numComponents; ++compJIdx) {
 
   93                fs.moleFraction(phaseIdx, compJIdx)
 
   95                * sqrt(params.aPure(phaseIdx, compJIdx))
 
   96                * (1.0 - StaticParameters::interactionCoefficient(compIdx, compJIdx));
 
  101            (2*Z + Bstar*(u + sqrt(u*u - 4*w))) /
 
  102            (2*Z + Bstar*(u - sqrt(u*u - 4*w)));
 
  103        Scalar expo =  Astar/(Bstar*sqrt(u*u - 4*w))*(bi_b - deltai);
 
  110            exp(bi_b*(Z - 1))/max(1e-9, Z - Bstar) *
 
  120        fugCoeff = min(1e10, fugCoeff);
 
  125        fugCoeff = max(1e-10, fugCoeff);
 
  128        if (!isfinite(fugCoeff)) {
 
  129            std::cout << 
"Non finite phi: " << fugCoeff << 
"\n";