class LLE(imol=None, thermal_condition=None, thermo=None, composition_cache_tolerance=1e-05, temperature_cache_tolerance=0.001, method=None)[source]#

Create a LLE object that performs liquid-liquid equilibrium when called. The SHGO (simplicial homology global optimization) alogorithm [1] is used to find the solution that globally minimizes the gibb’s free energy of both phases.

  • imol=None (MaterialIndexer, optional) – Molar chemical phase data is stored here.

  • thermal_condition=None (ThermalCondition, optional) – The temperature and pressure used in calculations are stored here.

  • thermo=None (Thermo, optional) – Themodynamic property package for equilibrium calculations. Defaults to thermosteam.settings.get_thermo().


>>> from thermosteam import indexer, equilibrium, settings
>>> settings.set_thermo(['Water', 'Ethanol', 'Octane', 'Hexane'], cache=True)
>>> imol = indexer.MolarFlowIndexer(
...             l=[('Water', 304), ('Ethanol', 30)],
...             L=[('Octane', 40), ('Hexane', 1)]
... )
>>> lle = equilibrium.LLE(imol)
>>> lle(T=360, top_chemical='Octane')
>>> lle
        L=[('Water', 2.67), ('Ethanol', 2.28), ('Octane', 39.9), ('Hexane', 0.988)],
        l=[('Water', 301.), ('Ethanol', 27.7), ('Octane', 0.0788), ('Hexane', 0.0115)]),
    thermal_condition=ThermalCondition(T=360.00, P=101325))


__call__(T, P=None, top_chemical=None, update=True, use_cache=True)[source]#

Perform liquid-liquid equilibrium.

  • T (float) – Operating temperature [K].

  • P (float, optional) – Operating pressure [Pa].

  • top_chemical (str, optional) – Identifier of chemical that will be favored in the “LIQUID” phase.

  • update (bool, optional) – Whether to update material flows, temperature and pressure. If False, returns the chemicals in liquid-liquid equilibrium, partition coefficients, and phase fraction.