MarreroGani¶
- class lib.newComponent.marrerogani.MarreroGani(**kwargs)[source]¶
Bases:
GroupContributionGroup contribution for definition of unknown component using the Marrero-Gani procedure (2001). This method is fairly complete, can calculate critical properties, boiling and melting temperature, enthalpy and gibbs free energy of formation, vaporization and melting heat.
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
- Tbfloat, optional
Normal boiling temperature, [K]
- Mfloat, optional
Molecular weight, [-]
- SGfloat, optional
Specific gravity, [-]
Methods
calculo()Calculate procedure with common functionality and define the properties don't defined by the method The child class must implement the specific calculate procedure and call this method it is necessary to finish definition
Notes
Tb, M and SG are optional input, anyway know them improve the estimation
Examples
Example 1 from [1], Tb of N-phenyl-1,4-benzenodiamine
>>> c1 = MarreroGani(group=[61, 62, 17, 14], contribution=[1, 1, 1, 9]) >>> c2 = MarreroGani(group=[61, 62, 17, 14, 287], ... contribution=[1, 1, 1, 9, 1]) >>> c3 = MarreroGani(group=[61, 62, 17, 14, 287, 346], ... contribution=[1, 1, 1, 9, 1, 1]) >>> "%0.2f %0.2f %0.2f" % (c1.Tb, c2.Tb, c3.Tb) '614.62 616.03 623.94'
Example 2 from [1], Tb of pyrene
>>> c1 = MarreroGani(group=[15, 14], contribution=[6, 10]) >>> c3 = MarreroGani(group=[15, 14, 361, 365], contribution=[6, 10, 2, 2]) >>> "%0.2f %0.2f" % (c1.Tb, c3.Tb) '652.43 673.96'
Example 3 from [1], Tb of 4-aminobutanol
>>> c1 = MarreroGani(group=[28, 53, 1], contribution=[1, 1, 3]) >>> c3 = MarreroGani(group=[28, 53, 1, 306], contribution=[1, 1, 3, 1]) >>> "%0.2f %0.2f" % (c1.Tb, c3.Tb) '448.64 478.42'
Example 4 from [1], Tm of 3,3’-methylenebis-4-hydroxycoumarin
>>> c1 = MarreroGani(group=[28, 16, 14, 172, 179, 178, 1], ... contribution=[2, 4, 8, 2, 2, 2, 1]) >>> c3 = MarreroGani(contribution=[2, 4, 8, 2, 2, 2, 1, 2, 2, 2, 1], ... group=[28, 16, 14, 172, 179, 178, 1, 354, 317, 353, 330]) >>> "%0.2f %0.2f" % (c1.Tf, c3.Tf) '475.46 552.34'
Example 5 from [1], Tm of flutemazepan The third order example has a undocumented contribution, using value from AROMFUSED[2]s2 contribution
>>> c1 = MarreroGani( ... group=[28, 122, 123, 0, 17, 16, 14, 168, 179, 175, 177], ... contribution=[1, 1, 1, 1, 1, 2, 7, 1, 1, 1, 1]) >>> c2 = MarreroGani( ... group=[28, 122, 123, 0, 17, 16, 14, 168, 179, 175, 177, 285, 283, 265], ... contribution=[1, 1, 1, 1, 1, 2, 7, 1, 1, 1, 1, 1, 1, 1]) >>> c3 = MarreroGani( ... group=[28, 122, 123, 0, 17, 16, 14, 168, 179, 175, 177, 285, 283, 265, ... 356, 345, 347, 349], ... contribution=[1, 1, 1, 1, 1, 2, 7, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) >>> "%0.2f %0.2f %0.2f" % (c1.Tf, c2.Tf, c3.Tf) '469.19 473.37 419.63'
Example 6 from [1], Tm of 1,9-nonadiol
>>> c1 = MarreroGani(group=[28, 1], contribution=[2, 9]) >>> c3 = MarreroGani(group=[28, 1, 307], contribution=[2, 9, 1]) >>> "%0.2f %0.2f" % (c1.Tf, c3.Tf) '303.66 315.70'
- FirstOrder = 182¶
- SecondOrder = 304¶
- ThirdOrder = 370¶