Joback¶
- class lib.newComponent.joback.Joback(**kwargs)[source]¶
Bases:
GroupContributionGroup contribution for definition of unknown component using the Joback procedure (1987). This method is fairly complete, can calculate critical properties, boiling and melting temperature, enthalpy and gibbs free energy of formation, vaporization and melting heat, ideal gas heat capacity dependence with temperature and viscosity.
The resulting instance has all the necessary properties to use in PFD as a predefined compound, using general properties for calculation of other mandatory properties don’t defined by the method.
- Parameters:
- grouparray
List with group index
- contributionfloat
List with group count ocurrences
- M: float, optional
Molecular weight, [-]
- Tbfloat, optional
Normal boiling temperature, [K]
- SG: float, optional
Specific gravity, [-]
Methods
calculo()Calculation procedure
Notes
M, Tb and SG are optional input, anyway know them improve the estimation
Examples
p-dichlorobenzene example in [2], Table V
>>> cmp = Joback(group=[16, 13, 14], contribution=[2, 4, 2]) >>> "%0.1f %0.0f %0.0f %0.1f" % (cmp.Tb, cmp.Tf, cmp.Tc, cmp.Pc.bar) '443.4 256 675 41.5' >>> "%0.0f" % (cmp.Vc.ccg*cmp.M) '362' >>> "%0.2f %0.2f" % (cmp.Hf.kJg*cmp.M, cmp.Gf.kJg*cmp.M) '26.41 78.56' >>> "%0.0f %0.0f" % (cmp._Cp0(298).JgK*cmp.M, cmp._Cp0(400).JgK*cmp.M) '112 139' >>> "%0.0f %0.0f" % (cmp._Cp0(800).JgK*cmp.M, cmp._Cp0(1000).JgK*cmp.M) '206 224' >>> "%0.2f %0.1f" % (cmp.Hv.kJg*cmp.M, cmp.Hm.kJg*cmp.M) '40.66 13.3' >>> "%0.2e %0.2e" % (cmp._Visco(333.8), cmp._Visco(374.4)) '7.26e-04 4.92e-04' >>> "%0.2e %0.1e" % (cmp._Visco(403.1), cmp._Visco(423.3)) '3.91e-04 3.4e-04'
Example 2-1 in [1], 2-ethylphenol critical properties
>>> cmp = Joback(group=[0, 1, 13, 14, 20], contribution=[1, 1, 4, 2, 1]) >>> "%0.2f %0.1f %0.2f" % (cmp.Tb, cmp.Tc, cmp.Pc.bar) '489.94 716.0 44.09' >>> "%0.1f" % (cmp.Vc.ccg*cmp.M) '341.5' >>> cmp.formula 'C8H10O'
Example 3-1 in [1], 2,4 dimethylphenol ΔH and ΔG
>>> "%0.2f %0.2f" % (cmp.Hf.kJg*cmp.M, cmp.Gf.kJg*cmp.M) '-149.23 -25.73' >>> "%0.1f" % (cmp._Cp0(700).JgK*cmp.M) '281.2'
Example 2-10 in [1], 2,4 dimethylphenol Tb and Tf
>>> cmp = Joback(group=[0, 13, 14, 20], contribution=[2, 3, 3, 1]) >>> "%0.2f %0.2f" % (cmp.Tf, cmp.Tb) '330.58 494.92'
Example in http://en.wikipedia.org/wiki/Joback_method, acetone
>>> cmp = Joback(group=[0, 23], contribution=[2, 1]) >>> "%0.3f %0.3f %0.2f %0.1f" % (cmp.Tc, cmp.Pc.bar, cmp.Tb, cmp.Tf) '500.559 48.025 322.11 173.5' >>> "%0.1f" % (cmp.Vc.ccg*cmp.M) '209.5' >>> "%0.2f %0.2f" % (cmp.Hf.kJg*cmp.M, cmp.Gf.kJg*cmp.M) '-217.83 -154.54' >>> "%0.4f" % (cmp._Cp0(300).JgK*cmp.M) '75.3264' >>> "%0.2f %0.2f" % (cmp.Hm.kJg*cmp.M, cmp.Hv.kJg*cmp.M) '5.12 29.02' >>> "%0.7f" % (cmp._Visco(300)) '0.0002942'
Example in [3] pag. 2-470, o-xylene
>>> cmp = Joback(group=[13, 14, 0], contribution=[4, 2, 2], Tb=417.58) >>> "%0.2f %0.2f %0.1f" % (cmp.Tc, cmp.Pc.bar, cmp.Vc.ccg*cmp.M) '630.37 35.86 375.5'
Example in [3] pag. 2-470, sec-butanol
>>> cmp = Joback(group=[0, 1, 2, 19], contribution=[2, 1, 1, 1], Tb=372.7) >>> "%0.1f %0.2f %0.1f" % (cmp.Tc, cmp.Pc.bar, cmp.Vc.ccg*cmp.M) '534.1 44.33 272.5'
- FirstOrder = 41¶