PartitionCoefficient¶
- class PartitionCoefficient(solute_species, solvent_a, solvent_b, temperature=None, parameters=None)¶
Calculating partition coefficients for solutes between two immiscible solvent phases.
- Parameters:
solute_species (
CosmoRealSpecies
| Sequence ofCosmoRealSpecies
) – The solutes being dissolved between the two phases.solvent_a (
CosmoRSMixture
|MoleculeConfiguration
|CosmoRealSpecies
) – The solvent phase A.solvent_b (
CosmoRSMixture
|MoleculeConfiguration
|CosmoRealSpecies
) – The solvent phase B.temperature (PhysicalQuantity of type temperature) – The solvent temperature. Default:
298 * Kelvin
parameters (
CosmoRSParameters
) – The COSMO-RS parameters
- parameters()¶
- Returns:
The COSMO real solvent parameters
- Return type:
- 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}')
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
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
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:
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.