def resSatVisc(uOobs,uGobs,xOil,yOil,dOil,dGas,clsBLK) : uOcal = BP.calcLBCvisc(xOil,dOil,clsBLK) uGcal = BP.calcLBCvisc(yOil,dGas,clsBLK) resO = (uOcal - uOobs)/uOobs resG = (uGcal - uGobs)/uGobs return resO,resG
def calcResVISPhase(uObs,xOil,dOil,clsBLK,clsIO) : if clsIO.Deb["BLACK"] > 0 : qDeb = True else : qDeb = False nSat = len(uObs) resP = NP.zeros(nSat) ssQ = 0.0 for iSat in range(nSat) : uCal = BP.calcLBCvisc(xOil[iSat],dOil[iSat],clsBLK,clsIO) resP[iSat] = (uCal - uObs[iSat])/uObs[iSat] if qDeb : print("iS,uO,uC,rP {:2d} {:10.3e} {:10.3e} {:10.3e}".format(iSat,uObs[iSat],uCal,resP[iSat])) ssQ = ssQ + resP[iSat]*resP[iSat] #== Return SSQ and Residuals ========================================== ssQ = 0.5*ssQ if qDeb : print("ssQ {:10.3e}".format(ssQ)) return ssQ,resP
def calcSatProp(qLiq, RTp, cCon, dSTO, dSTG, Rs, clsBLK): if qLiq: xO = cCon / (cCon + Rs) BoC = dSTO + Rs * dSTG else: xO = cCon * Rs / (cCon * Rs + 1.0) BoC = dSTG + Rs * dSTO Bo = BP.calcPhaseFVF(qLiq, RTp, BoC, xO, clsBLK) dO = BoC / Bo uO = BP.calcLBCvisc(xO, dO, clsBLK) #== Return values ===================================================== return Bo, uO
def calcSatProp(qLiq, RTp, cCon, dSTO, dSTG, Rs, clsBLK, clsIO): if clsIO.Deb["BLACK"] > 0: qDeb = True else: qDeb = False if qLiq: xO = cCon / (cCon + Rs) BoC = dSTO + Rs * dSTG else: xO = cCon * Rs / (cCon * Rs + 1.0) BoC = dSTG + Rs * dSTO if qDeb: print("xO,BoC {:8.5f} {:10.5f}".format(xO, BoC)) Bo = BP.calcPhaseFVF(qLiq, RTp, BoC, xO, clsBLK, clsIO) dO = BoC / Bo uO = BP.calcLBCvisc(xO, dO, clsBLK, clsIO) #== Return values ===================================================== return Bo, uO
def calcResVISPhase(sPhs,uObs,xOil,dOil,clsBLK,clsIO) : nSat = len(uObs) resP = NP.zeros(nSat) ssQ = 0.0 for iSat in range(nSat) : uCal = BP.calcLBCvisc(xOil[iSat],dOil[iSat],clsBLK) resP[iSat] = (uCal - uObs[iSat])/uObs[iSat] #print("Phase,iS,uO,uC,rP {:3s} {:2d} {:10.3e} {:10.3e} {:10.3e}".format(sPhs,iSat,uObs[iSat],uCal,resP[iSat])) ssQ = ssQ + resP[iSat]*resP[iSat] #== Return SSQ and Residuals ========================================== ssQ = 0.5*ssQ #print("ssQ {:10.3e}".format(ssQ)) return ssQ,resP