public override double[] DW_CalcFugCoeff(Array Vx, double T, double P, PropertyPackages.State st) { double[] vz = Vx.Cast <double>().ToArray(); switch (st) { case PropertyPackages.State.Liquid: return((double[])CalculateProperty(ThermoProperty.FugacityCoeff, vz, "L", T, P, 0, 0)); case PropertyPackages.State.Vapor: return((double[])CalculateProperty(ThermoProperty.FugacityCoeff, vz, "V", T, P, 0, 0)); default: return(RET_NullVector()); } }
public override double DW_CalcEntropy(Array Vx, double T, double P, PropertyPackages.State st) { double[] vz = Vx.Cast <double>().ToArray(); if (UseLeeKeslerEnthalpy) { switch (st) { case PropertyPackages.State.Liquid: return(lk.S_LK_MIX("L", T, P, vz, RET_VKij(), RET_VTC(), RET_VPC(), RET_VW(), RET_VMM(), RET_Sid(298.15, T, P, vz))); case PropertyPackages.State.Vapor: return(lk.S_LK_MIX("V", T, P, vz, RET_VKij(), RET_VTC(), RET_VPC(), RET_VW(), RET_VMM(), RET_Sid(298.15, T, P, vz))); case PropertyPackages.State.Solid: return(lk.S_LK_MIX("L", T, P, vz, RET_VKij(), RET_VTC(), RET_VPC(), RET_VW(), RET_VMM(), RET_Sid(298.15, T, P, vz)) - RET_HFUSM(AUX_CONVERT_MOL_TO_MASS(vz), T) / T); default: return(0d); } } else { switch (st) { case PropertyPackages.State.Liquid: return((double)CalculateProperty(ThermoProperty.Enthalpy, vz, "L", T, P, 0, 0) / T); case PropertyPackages.State.Vapor: return((double)CalculateProperty(ThermoProperty.Enthalpy, vz, "V", T, P, 0, 0) / T); case PropertyPackages.State.Solid: return((double)CalculateProperty(ThermoProperty.Enthalpy, vz, "L", T, P, 0, 0) / T - RET_HFUSM(AUX_CONVERT_MOL_TO_MASS(vz), T) / T); default: return(0d); } } }
public override double DW_CalcEntropyDeparture(Array Vx, double T, double P, PropertyPackages.State st) { throw new NotImplementedException(); }