Nannoolal¶
- class lib.newComponent.nannoolal.Nannoolal(**kwargs)[source]¶
Bases:
GroupContributionGroup contribution for definition of unknown component using the Nannoolal procedure (2007). This method can calculate critical properties, boiling temperature, and vapor presssure.
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
Tb, M and SG are optional input, anyway know them improve the estimation
Examples
Table 17a in [1], 3,3,4,4-tetramethylhexane
>>> cmp = Nannoolal(group=[0, 3, 5, 131], contribution=[6, 2, 2, 1]) >>> "%0.1f" % cmp.Tb '429.5' >>> cmp.formula 'C10H22'
Table 17b in [1], di-isopropanolamine, find too in [10]_
>>> cmp = Nannoolal(group=[0, 6, 33, 41], contribution=[2, 4, 2, 1]) >>> "%0.1f" % cmp.Tb '509.3'
Table 17c in [1], perfluoro-2-propanone
>>> cmp = Nannoolal(group=[6, 20, 50, 118, 119, 121], ... contribution=[2, 6, 1, 1, 2, 1]) >>> "%0.1f" % cmp.Tb '246.3'
Table 17d in [1], methyl m-toluate
>>> cmp = Nannoolal(group=[1, 2, 14, 15, 44, 126, 132], ... contribution=[1, 1, 4, 2, 1, 1, 1]) >>> "%0.1f" % cmp.Tb '490.7'
Table 42a in [2], 2,2,3,3-tetramethylbutane
>>> cmp = Nannoolal(Tb=379.6, group=[0, 5, 131], contribution=[6, 2, 1]) >>> "%0.1f" % cmp.Tc '566.8'
Table 42b in [2], diethylene glycol monomethyl ether
>>> cmp = Nannoolal(M=120.15, group=[1, 6, 34, 37], ... contribution=[1, 4, 1, 2]) >>> "%0.1f" % cmp.Pc.kPa '3689.9'
Table 42c in [2], trichloro silane
>>> cmp = Nannoolal(group=[26, 111, 122, 133], contribution=[3, 1, 1, 1]) >>> "%0.1f" % (cmp.Vc.ccg*cmp.M) '262.8'
Table 42d in [2], perfluoro-2-propanone
>>> cmp = Nannoolal(Tb=245.9, group=[6, 20, 50, 118, 119, 121], ... contribution=[2, 6, 1, 1, 2, 1]) >>> "%0.1f" % cmp.Tc '358.0'
Table 15c in [3]
>>> "%0.7f" % cmp.db '0.1179392' >>> "%0.2f" % cmp._Pv(210.16).kPa '14.63'
Table 15a in [3], α-pinene
>>> cmp = Nannoolal(Tb=429, group=[0, 8, 9, 10, 61, 123, 130], ... contribution=[3, 2, 2, 1, 1, 1, 2]) >>> "%0.7f" % cmp.db '0.1078596' >>> "%0.2f" % cmp._Pv(388.15).kPa '31.03'
Table 15b in [3], 1,2-ethanediol
>>> cmp = Nannoolal(Tb=470.5, group=[6, 35], contribution=[2, 2]) >>> "%0.7f" % cmp.db '1.1310491' >>> "%0.2f" % cmp._Pv(410.65).kPa '13.05'
Table 15d in [3], acrylic acid
>>> cmp = Nannoolal(Tb=413.6, group=[43, 60, 132], contribution=[1, 1, 1]) >>> "%0.7f" % cmp.db '0.9163297' >>> "%0.2f" % cmp._Pv(344.15).kPa '6.52'
Table 15e in [3], glycol monoacetate
>>> cmp = Nannoolal(Tb=458.65, group=[0, 6, 35, 44], ... contribution=[1, 2, 1, 1]) >>> "%0.7f" % cmp.db '0.5111422' >>> "%0.2f" % cmp._Pv(352.65).kPa '2.24'
Table 15f in [3], dipropyl succinate
>>> cmp = Nannoolal(group=[0, 3, 6, 44], contribution=[2, 4, 2, 2]) >>> "%0.7f" % cmp.db '0.9878298'
Table 15g in [3], diethanolamine The example in paper has a error, the group interaction contribution has the sign changed, fixing this the value get is near to experimental value
>>> cmp = Nannoolal(Tb=541.15, group=[6, 35, 41], contribution=[4, 2, 1]) >>> "%0.5f" % cmp._Pv(401.13).kPa '0.40405'
Table 15h in [3], R122
>>> cmp = Nannoolal(Tb=344.25, group=[6, 20, 25, 26, 119, 122], ... contribution=[2, 2, 2, 1, 1, 1]) >>> "%0.7f" % cmp.db '0.0447374' >>> "%0.4f" % cmp._Pv(297.46).kPa '17.5093'
Table 28a in [4], N,N-diethylamine
>>> cmp = Nannoolal(Tb=329, group=[0, 6, 41], contribution=[2, 2, 1]) >>> "%0.7f %0.2f" % (cmp.dBv, cmp.Tv) '4.7713112 210.38' >>> "%0.4f" % cmp._Visco(308.15).mPas '0.2674'
Table 28b in [4], ethylene glycol monopropyl
>>> cmp = Nannoolal(Tb=424.5, group=[0, 3, 6, 34, 37], ... contribution=[1, 1, 3, 1, 1]) >>> "%0.7f %0.3f" % (cmp.dBv, cmp.Tv) '6.0699241 301.197' >>> "%0.6f" % cmp._Visco(318.15).mPas '0.921814'
Table 28c in [4], monoethanolamine
>>> cmp = Nannoolal(Tb=443.45, group=[6, 35, 39], contribution=[2, 1, 1]) >>> "%0.7f %0.3f" % (cmp.dBv, cmp.Tv) '12.3872997 382.275' >>> "%0.4f" % cmp._Visco(363.15).mPas '2.6135'
Example in pag 2-316 of [5], o-xylene >>> cmp = Nannoolal(Tb=417.58, group=[14, 2, 15, 125], … contribution=[4, 2, 2, 1]) >>> “%0.2f %0.2f %0.2f” % (cmp.Tc, cmp.Pc.kPa, cmp.Vc.ccg*cmp.M) ‘628.87 3623.55 370.57’
Example in pag. 2.323 of [5], di-isopropanolamine >>> cmp = Nannoolal(group=[0, 6, 33, 41], contribution=[2, 4, 2, 1]) >>> “%0.1f” % (cmp.Tb) ‘509.3’
- GI = {33: 'A', 34: 'A', 35: 'A', 36: 'B', 37: 'D', 38: 'E', 39: 'M', 40: 'M', 41: 'N', 43: 'C', 44: 'F', 45: 'F', 46: 'F', 50: 'G', 51: 'H', 52: 'L', 53: 'J', 55: 'K', 56: 'P', 64: 'I', 65: 'R', 66: 'S', 68: 'Q', 79: 'O', 89: 'H', 91: 'G', 96: 'N'}¶
- GI_Tb = {'AA': 291.7985, 'AC': 146.7286, 'AD': 135.3991, 'AE': 226.498, 'AF': 211.6814, 'AG': 46.3754, 'AI': 435.0923, 'AJ': -74.0193, 'AL': 38.6974, 'AM': 314.6126, 'AN': 286.9698, 'AP': 306.3979, 'AS': 1334.6747, 'BB': 288.6155, 'BC': -1477.9671, 'BD': 130.3742, 'BF': -1184.9784, 'BG': 0, 'BH': 43.9722, 'BM': 797.4327, 'BQ': -1048.1236, 'BS': -614.3624, 'CC': 117.2044, 'CD': 612.8821, 'CF': -183.2986, 'CG': -55.9871, 'DD': 91.4997, 'DE': 178.7845, 'DF': 322.5671, 'DG': 15.698, 'DH': 17.04, 'DI': 329.005, 'DJ': 394.5505, 'DP': 293.5974, 'DQ': 963.6518, 'EE': 1006.388, 'EH': 163.5475, 'FF': 431.099, 'FG': 22.5208, 'FI': 707.9404, 'FP': 517.0677, 'FQ': -205.6165, 'GG': -303.9653, 'GH': -391.369, 'GI': 176.5481, 'GK': 381.0107, 'GP': -574.223, 'GQ': -3628.9026, 'GS': 124.1943, 'HH': 582.1763, 'HI': 674.6858, 'HK': 397.575, 'HQ': 140.9644, 'IR': -888.6123, 'JJ': -11.9406, 'KP': -101.2319, 'KR': -348.74, 'LA': 501.2778, 'LL': 217.636, 'MD': 124.3549, 'MF': 182.6291, 'MI': 395.4093, 'MJ': -562.3061, 'MM': 174.0258, 'MN': 510.3473, 'MQ': 663.8009, 'MS': 27.2735, 'ND': 101.8475, 'NF': 317.02, 'NG': -215.3532, 'NN': 239.8076, 'NS': 758.9855, 'OO': -356.5017, 'OQ': -263.0807, 'PS': -370.9729, 'QQ': 65.1432, 'RR': 0, 'SS': -271.9449}¶
- GI_Tc = {'AA': -434.8568, 'AD': -146.7881, 'AM': 120.9166, 'AN': -30.4354, 'BB': 144.4697, 'DD': 162.6878, 'DE': 707.4116, 'DF': 128.274, 'DJ': -654.1363, 'DM': -738.0515, 'DP': 741.8565, 'FF': 366.2663, 'GG': 1605.564, 'IR': 24.0243, 'JJ': -861.1528, 'KR': 131.7924, 'MM': -60.9217, 'NN': -49.7641, 'OO': -1866.097, 'SS': -32.3208}¶
- GI_Pc = {'AA': -5.6023, 'AD': 7.3373, 'AM': 69.82, 'AN': 6.1331, 'BB': 57.835, 'DD': 2.6751, 'DE': 88.8752, 'DF': -1.0295, 'DJ': 25.8246, 'DM': -125.5983, 'FF': 0.5195, 'GG': -78.2743, 'IR': -35.1998, 'JJ': 43.9001, 'KR': -19.7033, 'MM': -0.6754, 'NN': 22.1871, 'SS': 12.5371}¶
- GI_Vc = {'AD': 19.7707, 'AM': -8.0423, 'BB': 97.5425, 'DD': -23.6366, 'DE': -329.5074, 'DF': -55.5112, 'DJ': -37.2468, 'FF': -74.868, 'GG': -413.3976, 'IR': 217.9243, 'JJ': -403.1196, 'KR': 164.293, 'MM': -57.1233, 'OO': 44.1062, 'SS': -26.4556}¶
- GI_Pv = {'AA': -561.5153, 'AD': -799.5332, 'AE': -618.276, 'AF': -1797.693, 'AG': -1181.599, 'AI': 1132.04, 'AM': 1067.666, 'AN': 42.4825, 'AP': 1431.243, 'BB': -97.6205, 'BD': -751.6676, 'BF': 548.4352, 'CC': -2601.709, 'CG': -787.8563, 'DD': 144.6074, 'DE': 1118.958, 'DF': -225.7802, 'DG': 1981.298, 'DH': 362.754, 'DJ': -1425.017, 'DP': 743.3353, 'EE': -3748.818, 'FF': 920.3138, 'FG': 1594.164, 'FI': 1590.321, 'FP': 108.1305, 'GG': -1270.083, 'HH': 946.7309, 'HI': 705.3049, 'IR': 135.5896, 'JJ': 838.3372, 'KR': 675.0414, 'LL': 240.3037, 'MD': -198.2791, 'MF': -1676.477, 'MM': 1085.832, 'MN': -206.7811, 'MQ': 1659.034, 'ND': 65.4421, 'NN': -307.1018, 'OO': -3929.13, 'PS': 994.4996, 'QQ': -1501.355, 'SS': -29.6785}¶
- GI_dBv = {'AA': -112.4939, 'AD': -423.9834, 'AI': -557.5079, 'AM': 1031.592, 'AN': 853.2318, 'AP': -683.0189, 'BB': -1186.05, 'BD': -333.5638, 'BQ': -878.0615, 'DD': 132.0275, 'DF': 44.8702, 'DG': -219.5265, 'DH': 546.5846, 'DQ': -59.3635, 'FF': 964.084, 'FG': 126.038, 'FP': 539.2401, 'GG': 3705.44, 'HI': 50.1063, 'MD': 219.9701, 'MM': 135.3183, 'ND': -134.4625, 'PS': -196.6361, 'QQ': 896.3606}¶
- GI_Tv = {'AA': -1313.569, 'AD': -643.4378, 'AI': 50.2582, 'AM': -41.9608, 'AN': -1868.606, 'AP': -345.7844, 'BB': -1146.107, 'BD': -229.2406, 'BQ': 515.1511, 'DD': 156.7495, 'DF': 273.6616, 'DG': -339.6071, 'DH': 1050.319, 'DQ': 355.0508, 'FF': 167.7204, 'FG': 244.0583, 'FP': 334.4856, 'GG': 1985.827, 'HI': 161.7447, 'MD': -57.1437, 'MM': 86.7249, 'ND': 54.2025, 'PS': 718.1262, 'QQ': 1839.263}¶
- FirstOrder = 115¶
- SecondOrder = 134¶