Index

Main model

Clapeyron.ESElectrolyteType
ESElectrolyte(solvents::Array{String,1}, 
    ions::Array{String,1}; 
    idealmodel::IdealModel = BasicIdeal,
    neutralmodel::EoSModel = pharmaPCSAFT,
    ionmodel::IonModel = DH,
    RSPmodel::RSPModel = ConstRSP,
    userlocations::Vector{String}=[],
    ideal_userlocations::Vector{String}=[],
    verbose::Bool=false)

Description

This function provides the necessary framework to create an electrolyte model by combining ideal, neutral and ion models:

model = ESElectrolyte(["water"],["sodium","chloride"];
            idealmodel = BasicIdeal,
            neutralmodel = pharmaPCSAFT,
            ionmodel = DH,
            RSPmodel = ConstRSP)  

Any of the available models in Clapeyron can be combined in the above. Note that neutral (solvent) species and ions are defined separately. Within Clapeyron, we will only support ion-based electrolyte models; as such, any salt-based approach (i.e. where the salt is treated as a separate species) will not be supported.

source

Ion Models

Clapeyron.BornType
Born(solvents::Array{String,1}, 
     salts::Array{String,1}; 
     RSPmodel=ConstW, 
     SAFTlocations=String[], 
     userlocations=String[], 
     verbose=false)

Input parameters

  • sigma_born: Single Parameter (Float64) - Born Diameter [m]
  • charge: Single Parameter (Float64) - Charge [-]

Input models

  • RSPmodel: Relative Static Permittivity Model

Description

This function is used to create a Born model. The Born term gives the excess Helmholtz energy to account for the electrostatic interactions between ions in solution.

References

  1. Born, M. (1920). Z. Phys. 1, 45.
source
Clapeyron.DHType
DH(solvents::Array{String,1}, 
     ions::Array{String,1}; 
     RSPmodel=ConstW, 
     SAFTlocations=String[], 
     userlocations=String[], 
     verbose=false)

Input parameters

  • sigma: Single Parameter (Float64) - Diameter of closest approach [m]
  • charge: Single Parameter (Float64) - Charge [-]

Input models

  • RSPmodel: Relative Static Permittivity Model

Description

This function is used to create a Debye-Hückel model. The Debye-Hückel term gives the excess Helmholtz energy to account for the electrostatic interactions between ions in solution.

References

  1. Debye, P., Huckel, E. (1923). Phys. Z. 24, 185.
source
Clapeyron.MSAType
MSA(solvents::Array{String,1}, 
     ions::Array{String,1}; 
     RSPmodel=ConstW, 
     SAFTlocations=String[], 
     userlocations=String[], 
     verbose=false)

Input parameters

  • sigma: Single Parameter (Float64) - Hard-sphere diameter [m]
  • charge: Single Parameter (Float64) - Charge [-]

Input models

  • RSPmodel: Relative Static Permittivity Model

Description

This function is used to create a Mean Spherical Approximation model. The MSA term gives the excess Helmholtz energy to account for the electrostatic interactions between ions in solution.

References

  1. Blum, L. (1974). Solution of a model for the solvent‐electrolyte interactions in the mean spherical approximation, 61, 2129–2133.
source
Clapeyron.DHBornType
DHBorn(solvents::Array{String,1}, 
     ions::Array{String,1}; 
     RSPmodel=ConstW, 
     SAFTlocations=String[], 
     userlocations=String[], 
     verbose=false)

Input parameters

  • sigma: Single Parameter (Float64) - Diameter of closest approach [m]
  • sigma_born: Single Parameter (Float64) - Born Diameter [m]
  • charge: Single Parameter (Float64) - Charge [-]

Input models

  • RSPmodel: Relative Static Permittivity Model

Description

This function is used to create a Debye-Hückel-Born model. The Debye-Hückel-Born term gives the excess Helmholtz energy to account for the electrostatic interactions between ions in solution.

References

  1. Debye, P., Huckel, E. (1923). Phys. Z. 24, 185.
  2. Born, M. (1920). Z. Phys. 1, 45.
source
Clapeyron.MSABornType
MSABorn(solvents::Array{String,1}, 
     ions::Array{String,1}; 
     RSPmodel=ConstW, 
     SAFTlocations=String[], 
     userlocations=String[], 
     verbose=false)

Input parameters

  • sigma: Single Parameter (Float64) - Hard-sphere diameter [m]
  • sigma_born: Single Parameter (Float64) - Born Diameter [m]
  • charge: Single Parameter (Float64) - Charge [-]

Input models

  • RSPmodel: Relative Static Permittivity Model

Description

This function is used to create a Mean Spherical Approximation-Born model. The MSA-Born term gives the excess Helmholtz energy to account for the electrostatic interactions between ions in solution.

References

  1. Blum, L. (1974). Solution of a model for the solvent‐electrolyte interactions in the mean spherical approximation, 61, 2129–2133.
  2. Born, M. (1920). Z. Phys. 1, 45.
source
Clapeyron.GCMSABornType
GCMSABorn(solvents::Array{String,1}, 
     ions::Array{String,1}; 
     RSPmodel=ConstW, 
     SAFTlocations=String[], 
     userlocations=String[], 
     verbose=false)

Input parameters

  • sigma: Single Parameter (Float64) - Hard-sphere diameter [m]
  • sigma_born: Single Parameter (Float64) - Born Diameter [m]
  • charge: Single Parameter (Float64) - Charge [-]

Input models

  • RSPmodel: Relative Static Permittivity Model

Description

This function is used to create a group-contribution Mean Spherical Approximation-Born model used in SAFT-gamma E Mie

source

Electrolyte Models

Clapeyron.ePCSAFTType
ePCSAFT(solvents::Array{String,1}, 
    ions::Array{String,1}; 
    idealmodel::IdealModel = BasicIdeal,
    neutralmodel::EoSModel = pharmaPCSAFT,
    ionmodel::IonModel = DH,
    RSPmodel::RSPModel = ConstRSP,
    userlocations::Vector{String} = [],
    ideal_userlocations::Vector{String} = [],
    assoc_options::AssocOptions = AssocOptions(),
    verbose::Bool = false,
    reference_state = nothing)

Description

This function is used to create an ePCSAFT model which is a combination of the PC-SAFT and Debye-Hückel model. It is based on the ePC-SAFT Revised variant.

Input parameters

PC-SAFT Parameters

  • Mw: Single Parameter (Float64) - Molecular Weight [g/mol]
  • segment: Single Parameter (Float64) - Number of segments (no units)
  • sigma: Single Parameter (Float64) - Segment Diameter []
  • epsilon: Single Parameter (Float64) - Reduced dispersion energy [K]
  • k: Pair Parameter (Float64) (optional) - Binary Interaction Paramater (no units)
  • epsilon_assoc: Association Parameter (Float64) - Reduced association energy [K]
  • bondvol: Association Parameter (Float64) - Association Volume [m^3]

Debye-Hückel Parameters

  • sigma: Single Parameter (Float64) - Diameter of closest approach [m]
  • charge: Single Parameter (Float64) - Charge [-]

Input models

  • idealmodel: Ideal Model
  • neutralmodel: Neutral EoS Model
  • ionmodel: Ion Model

References

  1. Held, C., Reschke, T., Mohammad, S., Luza, A., Sadowski, G. (2014). ePC-SAFT Revised. Chemical Engineering Research and Design, 92(12), 2884-2897.
source
Clapeyron.eSAFTVRMieType
eSAFTVRMie(solvents::Array{String,1}, 
    ions::Array{String,1}; 
    idealmodel::IdealModel = BasicIdeal,
    neutralmodel::EoSModel = SAFTVRMie15,
    ionmodel::IonModel = DHBorn,
    RSPmodel::RSPModel = ZuoFurst,
    userlocations::Vector{String} = [],
    ideal_userlocations::Vector{String} = [],
    assoc_options::AssocOptions = AssocOptions(),
    verbose::Bool = false,
    reference_state = nothing)

Description

This function is used to create an eSAFTVRMie model which is a combination of the SAFTVR-Mie, Debye-Hückel and Born models.

Input parameters

SAFT-VR Mie Parameters

  • Mw: Single Parameter (Float64) - Molecular Weight [g/mol]
  • segment: Single Parameter (Float64) - Number of segments (no units)
  • sigma: Single Parameter (Float64) - Segment Diameter []
  • epsilon: Single Parameter (Float64) - Reduced dispersion energy [K]
  • lambda_a: Pair Parameter (Float64) - Atractive range parameter (no units)
  • lambda_r: Pair Parameter (Float64) - Repulsive range parameter (no units)
  • k: Pair Parameter (Float64) (optional) - Binary Interaction Paramater (no units)
  • epsilon_assoc: Association Parameter (Float64) - Reduced association energy [K]
  • bondvol: Association Parameter (Float64) - Association Volume [m^3]

Debye-Hückel Parameters

  • sigma: Single Parameter (Float64) - Diameter of closest approach [m]
  • charge: Single Parameter (Float64) - Charge [-]

Born Parameters

  • sigma_born: Single Parameter (Float64) - Born Diameter [m]
  • charge: Single Parameter (Float64) - Charge [-]

Input models

  • idealmodel: Ideal Model
  • neutralmodel: Neutral EoS Model
  • ionmodel: Ion Model

References

  1. Selam, M., Economou, I., Castier, M. (2018). A thermodynamic model for strong aqueous electrolytes based on the eSAFT-VR Mie equation of state. Fluid Phase Equilibria, 464, 47-63.
source
Clapeyron.SAFTVREMieFunction
SAFTVREMie(solvents::Array{String,1}, 
    ions::Array{String,1}; 
    idealmodel::IdealModel = BasicIdeal,
    neutralmodel::EoSModel = SAFTVRMie,
    ionmodel::IonModel = MSABorn,
    RSPmodel::RSPModel = Schreckenberg,
    userlocations::Vector{String} = [],
    ideal_userlocations::Vector{String} = [],
    assoc_options::AssocOptions = AssocOptions(),
    verbose::Bool = false,
    reference_state = nothing)

Description

This function is used to create an SAFT-VRE Mie model which is a combination of the SAFT-VR Mie, MSA and Born models.

Input parameters

SAFT-VR Mie Parameters

  • Mw: Single Parameter (Float64) - Molecular Weight [g/mol]
  • segment: Single Parameter (Float64) - Number of segments (no units)
  • sigma: Single Parameter (Float64) - Segment Diameter []
  • epsilon: Single Parameter (Float64) - Reduced dispersion energy [K]
  • lambda_a: Pair Parameter (Float64) - Atractive range parameter (no units)
  • lambda_r: Pair Parameter (Float64) - Repulsive range parameter (no units)
  • k: Pair Parameter (Float64) (optional) - Binary Interaction Paramater (no units)
  • epsilon_assoc: Association Parameter (Float64) - Reduced association energy [K]
  • bondvol: Association Parameter (Float64) - Association Volume [m^3]

MSA Parameters

  • sigma: Single Parameter (Float64) - Diameter of closest approach [m]
  • charge: Single Parameter (Float64) - Charge [-]

Born Parameters

  • sigma_born: Single Parameter (Float64) - Born Diameter [m]
  • charge: Single Parameter (Float64) - Charge [-]

Input models

  • idealmodel: Ideal Model
  • neutralmodel: Neutral EoS Model
  • ionmodel: Ion Model

References

  1. Eriksen, D.K., Lazarou, G., Galindo, A., Jackson, G., Adjiman, C.S., & Haslam, A.J. (2016). Development of intermolecular potential models for electrolyte solutions using an electrolyte SAFT-VR Mie equation of state. Molecular Physics, 114(18), 2724-2749.
source
Clapeyron.SAFTgammaEMieFunction
SAFTgammaEMie(solvents::Array{String,1}, 
    ions::Array{String,1}; 
    idealmodel::IdealModel = BasicIdeal,
    neutralmodel::EoSModel = SAFTgammaMie,
    ionmodel::IonModel = GCMSABorn,
    RSPmodel::RSPModel = Schreckenberg,
    userlocations::Vector{String} = [],
    ideal_userlocations::Vector{String} = [],
    assoc_options::AssocOptions = AssocOptions(),
    verbose::Bool = false)

Description

This function is used to create an SAFT-gammaE Mie model which is a combination of the SAFT-gamma Mie, MSA and Born models.

Input parameters

SAFT-VR Mie Parameters

  • Mw: Single Parameter (Float64) - Molecular Weight [g/mol]
  • vst: Single Parameter (Float64) - Number of segments (no units)
  • S: Single Parameter (Float64) - Shape factor for segment (no units)
  • sigma: Single Parameter (Float64) - Segment Diameter []
  • epsilon: Single Parameter (Float64) - Reduced dispersion energy [K]
  • lambda_a: Pair Parameter (Float64) - Atractive range parameter (no units)
  • lambda_r: Pair Parameter (Float64) - Repulsive range parameter (no units)
  • epsilon_assoc: Association Parameter (Float64) - Reduced association energy [K]
  • bondvol: Association Parameter (Float64) - Association Volume

MSA Parameters

  • sigma: Single Parameter (Float64) - Diameter of closest approach [m]
  • charge: Single Parameter (Float64) - Charge [-]

Born Parameters

  • sigma_born: Single Parameter (Float64) - Born Diameter [m]
  • charge: Single Parameter (Float64) - Charge [-]

Input models

  • idealmodel: Ideal Model
  • neutralmodel: Neutral EoS Model
  • ionmodel: Ion Model

References

  1. Haslam, A.J., González-Pérez, A., Di Lecce, S., Khalit, S.H., Perdomo, F.A., Kournopoulos, S., Kohns, M., Lindeboom, T., Wehbe, M., Febra, S., Jackson, G., Adjiman, C.S. & Galind, A. (2020). Expanding the Applications of the SAFT-γ Mie Group-Contribution Equation of State: Prediction of Thermodynamic Properties and Phase Behavior of Mixtures. Journal of Chemical Engineering Data, 65(12), 5862–5890
source

Relative Static Permittivity Models

Clapeyron.ConstRSPType
ConstRSP(solvents::Array{String,1}, 
     ions::Array{String,1}; 
     userlocations::Vector{String}=[], 
     value::Float64 = 78.38484961, 
     verbose::Bool=false)

Input parameters

  • value::Float64: Constant Relative Static Permittivity [-]

Description

This function is used to create a constant Relative Static Permittivity model, given by value.

source
Clapeyron.LinMixRSPType
LinMixRSP(solvents::Array{String,1}, 
     ions::Array{String,1}; 
     userlocations::Vector{String}=[], 
     verbose::Bool=false)

Input parameters

  • dielectric_constant::Float64: Constant Relative Static Permittivity [-]

Description

This function is used to create a Linear Mixing-Rule Relative Static Permittivity model, for a mixture of solvents, where each solvent has a dielectric_constant.

source
Clapeyron.SchreckenbergType
Schreckenberg(solvents::Array{String,1}, 
     ions::Array{String,1}; 
     userlocations::Vector{String}=[], 
     verbose::Bool=false)

Input parameters

  • d_T::Float64: Single Parameter - Temperature dependent dielectric constant [-]
  • d_V::Float64: Single Parameter - Volume dependent dielectric constant [-]
  • charge::Float64: Single Parameter - Charge [-]

Description

This function is used to create a Schreckenberg model. The Schreckenberg term estimates the dielectric constant for a mixture of solvents.

References

  1. Schreckenberg, J., Dufal, S., Haslam, A.J., Adjiman, C.S., Jackson, G., Galindo, A. (2014). Modelling of the thermodynamic and solvation properties of electrolyte solutions with the statistical associating fluid theory for potentials of variable range. Molecular Physics, 112(17), 2339-2364.
source
Clapeyron.ZuoFurstType
ZuoFurst(solvents::Array{String,1}, 
     ions::Array{String,1}; 
     userlocations::Vector{String}=[], 
     verbose::Bool=false)

Description

This function is used to create a Zuo-First model. The Zuo-First expression estimates the dielectric constant of water for a range of temperatures.

References

  1. Zuo, Y-X., Fürst, W. (1997). Prediction of vapor pressure for nonaqueous electrolyte solutions using an electrolyte equation of state, Fluid Phase Equilibria, 138(1-2), 87-104.
source