VaporPressure¶
- class VaporPressure(solvent, temperature=None, parameters=None)¶
Calculate the vapor pressure of a liquid.
- Parameters:
solvent_components (
MoleculeConfiguration
|CosmoRealSpecies
|CosmoRSMixture
) – The solvent components.temperature (PhysicalQuantity of type temperature) – The solvent and vapor temperature. Default:
298 * Kelvin
parameters (
CosmoRSParameters
) – The COSMO-RS parameters
- parameters()¶
- Returns:
The COSMO real solvent parameters
- Return type:
- temperature()¶
- Returns:
The solvent temperature.
- Return type:
PhysicalQuantity of type temperature
- uniqueString()¶
Return a unique string representing the state of the object.
- vaporPressure()¶
- Returns:
The vapor pressure of each solvent component, ordered by their input order.
- Return type:
PhysicalQuantity of type pressure
Usage Examples¶
Calculate the vapor pressure of acetonitrile in a water mixture.
# Load the COSMO species
database = CosmoRSSpeciesDatabase()
water = database.exportSpecies('water')
acetonitrile = database.exportSpecies('acetonitrile')
acetonitrile.setAntoineA(5.93296 * bar)
acetonitrile.setAntoineB(2345.829 * Kelvin)
acetonitrile.setAntoineC(43.815 * Kelvin)
# Create a mixture
mixture = CosmoRSMixture([(water, 0.5), (acetonitrile, 0.5)])
# Determine the vapor pressure.
vapor_pressure = VaporPressure(
mixture,
298*Kelvin,
parameters=CosmoRSParameters(),
)
# Retrieve the vapor pressure of acetonitrile.
p_vap = vapor_pressure.vaporPressure()[1].convertTo(bar)
nlprint(f'The vapor pressure of acetonitrile is {p_vap}')
Notes¶
The VaporPressure
object allows calculation of the partial vapor pressure of a substance
above its condensed phase. The partial vapor pressure \(p_{vap}\) of a species \(i\) is
calculated according to
Here \(\mu^{solv}_i\) is the pseudochemical potential of solvation of species \(i\) and \(\mu^{gas}_i\) the pseudochemical potential of the gas-phase with respect to the perfect conductor condensed phase. \(p_0\) is a predefined reference pressure of 1 bar and \(x_i\) the mole fraction.
If the Antoine parameters are known for the pure substances then the partial pressure, \(p^{pure}\) can be estimated as:
Here \(T\) is the temperature and \(A\), \(B\) and \(C\) are the Antoine equation parameters. Since the partial pressure of a pure substance in COSMO-RS is defined as
Rearranging the expression then yields
This can be used to simplify the calculation of a mixture vapor pressure to the difference in chemical potential between the solvated and pure liquid states, \(\mu^{liq}_i\). The vapor pressure is then
Using this expression avoids approximating the gas chemical potential and simply estimates the partial pressure based on the difference between the solvated and pure liquid chemical potentials.