PartitionCoefficient

class PartitionCoefficient(solute_species, solvent_a, solvent_b, temperature=None, parameters=None)

Calculating partition coefficients for solutes between two immiscible solvent phases.

Parameters:
parameters()
Returns:

The COSMO real solvent parameters

Return type:

CosmoRSParameters

partitionCoefficient()
Returns:

The partition coefficient for each given solute.

Return type:

float

temperature()
Returns:

The solvent temperature.

Return type:

PhysicalQuantity of type temperature

uniqueString()

Return a unique string representing the state of the object.

Usage Examples

Calculate the octanol-water partition coefficient for a solute.

# Load the COSMO species
database = CosmoRSSpeciesDatabase()
water = database.exportSpecies('water')
octanol = database.exportSpecies('1-octanol')
acetonitrile = database.exportSpecies('acetonitrile')

# Saturated octanol contains ~24mol% water.
octanol_phase = CosmoRSMixture([(octanol, 0.76), (water, 0.24)])

# Determine the partition coefficient.
partition_coefficient = PartitionCoefficient(
    acetonitrile,
    octanol_phase,
    water,
    temperature=298*Kelvin,
    parameters=CosmoRSParameters(),
)

# Retrieve the logP.
logp = partition_coefficient.partitionCoefficient()[0]
nlprint(f'The partition coefficient for acetonitrile is {logp}')

octanol_water_example.py

Notes

The PartitionCoefficient object allows one to calculate the partition coefficient, \(logP\), of a solute given any two immiscible solvent phases. The partition coefficient provides a measure of a solute distribution between two immiscible phases and is defined as

\[logP = log_{10}\left(\frac{[solute]_{A}}{[solute]_{B}}\right)\]

The subscripts \(A\) and \(B\) refer to each phase hence \([solute]_{A}\) and \([solute]_{B}\) are the concentration of the solute in the respective phase. Notice that the relative concentrations represents an equilibrium of the process

\[solute (A) \rightleftarrows solute (B)\]

Therefore, a negative \(logP\) corresponds to an equilibrium towards phase \(B\) and positive \(logP\) an equilibrium towards phase \(A\). The partition coefficient is calculated and retrieved from the PartitionCoefficient as demonstrated in the Usage Example. Note that a phase may also be defined as a CosmoRSMixture.

In COSMO-RS the partition coefficient can be defined as:

\[logP = \frac{\mu^{solv}_B - \mu^{solv}_A}{\ln(10)RT} + \log_{10}(V_m^B) - \log_{10}(V_m^A)\]

Here \(\mu^{solv}_A\) and \(\mu^{solv}_B\) represent the chemical potential of the molecule dissolved in the A and B phases, respectively. Likewise \(V_m^A\) and \(V_m^B\) are the respective molar volumes. In this definition the partition coefficient is based on comparing concentrations, which is also the definition used in QuantumATK. It is also possible to define the partition coefficient in terms of mole fractions. In this case the molar volumes would be omitted.