Class IonParametersMM
java.lang.Object
neqsim.thermo.util.constants.IonParametersMM
Ion parameters from the Maribo-Mogensen PhD thesis (Tables 6.6, 6.11).
Contains temperature-dependent ion-solvent interaction parameters and Born radii for common ions in multiple solvents. This class supports the Maribo-Mogensen e-CPA model for mixed solvent electrolyte systems.
Ion-Solvent Interaction Energy
The ion-solvent interaction energy follows a linear temperature dependence:
ΔU_iw(T) = u⁰_iw + uᵀ_iw × (T - 298.15)
Born Radius Correlations (Maribo-Mogensen Table 6.6)
- Cations: R_Born = 0.5σ + 0.1 Å
- Anions: R_Born = 0.5σ + 0.85 Å
Supported Solvents
- Water (default)
- Methanol
- Ethanol
- MEG (monoethylene glycol)
- DEG (diethylene glycol)
- TEG (triethylene glycol)
- MDEA (methyldiethanolamine)
References
- Maribo-Mogensen, B. (2014). PhD Thesis, DTU Chemical Engineering.
- Maribo-Mogensen et al., Ind. Eng. Chem. Res. 2012, 51, 5353-5363
- Zuber et al., Fluid Phase Equilibria 2014, 376, 116-123
- Version:
- $Id: $Id
- Author:
- Even Solbraa
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classData class to hold ion parameters (for water as default solvent).static classData class to hold solvent-specific ion interaction parameters. -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringSolvent identifier for diethylene glycol.static final StringSolvent identifier for ethanol.private static final Map<String, IonParametersMM.IonData> Map of ion name to parameters (water as default solvent).static final StringSolvent identifier for methyldiethanolamine.static final StringSolvent identifier for monoethylene glycol.static final StringSolvent identifier for methanol.private static final Map<String, IonParametersMM.SolventInteractionData> Map of (ion + solvent) key to solvent-specific interaction parameters.List of supported solvents.static final doubleReference temperature for ion-solvent interaction parameters [K].static final StringSolvent identifier for triethylene glycol.static final StringSolvent identifier for water. -
Constructor Summary
ConstructorsModifierConstructorDescriptionprivatePrivate constructor to prevent instantiation. -
Method Summary
Modifier and TypeMethodDescriptionstatic String[]Get all available ion names.static doublegetBornRadius(String ionName) Calculate the Born radius for an ion.static intGet the ionic charge for an ion.static doublegetInteractionEnergy(String ionName, double temperature) Get the ion-solvent interaction energy at a given temperature for water.static doublegetInteractionEnergy(String ionName, String solventName, double temperature) Get the ion-solvent interaction energy at a given temperature for a specific solvent.static doublegetInteractionEnergydT(String ionName) Get the temperature derivative of the ion-solvent interaction energy.static doublegetInteractionEnergydT(String ionName, String solventName) Get the temperature derivative of the ion-solvent interaction energy for a specific solvent.static IonParametersMM.IonDatagetIonData(String ionName) Get ion data for a given ion name.static doubleGet the Lennard-Jones diameter (sigma) for an ion.static doubleGet the u0 (interaction energy at reference temperature) for an ion-solvent pair.static doubleGet the uT (temperature coefficient) for an ion-solvent pair.static booleanhasIonData(String ionName) Check if ion parameters exist for the given ion.static booleanhasSolventSpecificData(String ionName, String solventName) Check if solvent-specific parameters exist for an ion-solvent pair.static booleanisSupportedSolvent(String solventName) Check if a solvent is supported.
-
Field Details
-
T_REF
public static final double T_REFReference temperature for ion-solvent interaction parameters [K].- See Also:
-
WATER
-
METHANOL
-
ETHANOL
-
MEG
-
DEG
-
TEG
-
MDEA
-
SUPPORTED_SOLVENTS
-
ION_DATA
Map of ion name to parameters (water as default solvent). -
SOLVENT_SPECIFIC_DATA
Map of (ion + solvent) key to solvent-specific interaction parameters.
-
-
Constructor Details
-
IonParametersMM
private IonParametersMM()Private constructor to prevent instantiation.
-
-
Method Details
-
getIonData
Get ion data for a given ion name.- Parameters:
ionName- the name of the ion (e.g., "Na+", "Cl-", "Ca2+")- Returns:
- IonData object or null if not found
-
hasIonData
Check if ion parameters exist for the given ion.- Parameters:
ionName- the name of the ion- Returns:
- true if parameters exist
-
getSigma
Get the Lennard-Jones diameter (sigma) for an ion.- Parameters:
ionName- the name of the ion- Returns:
- sigma in Ångströms, or 0 if not found
-
getInteractionEnergy
Get the ion-solvent interaction energy at a given temperature for water.ΔU_iw(T) = u⁰_iw + uᵀ_iw × (T - 298.15)
- Parameters:
ionName- the name of the iontemperature- temperature in Kelvin- Returns:
- interaction energy in Kelvin, or 0 if not found
-
getInteractionEnergy
Get the ion-solvent interaction energy at a given temperature for a specific solvent.If solvent-specific parameters are not available, falls back to water parameters.
- Parameters:
ionName- the name of the ionsolventName- the name of the solvent (use constants: WATER, METHANOL, MEG, etc.)temperature- temperature in Kelvin- Returns:
- interaction energy in Kelvin, or 0 if not found
-
getInteractionEnergydT
Get the temperature derivative of the ion-solvent interaction energy.- Parameters:
ionName- the name of the ion- Returns:
- dΔU_iw/dT in K/K, or 0 if not found
-
getInteractionEnergydT
-
getU0
Get the u0 (interaction energy at reference temperature) for an ion-solvent pair.This is the NRTL τ parameter at T_ref = 298.15 K.
- Parameters:
ionName- the name of the ionsolventName- the name of the solvent- Returns:
- u0 in Kelvin, or 0 if not found
-
getUT
-
hasSolventSpecificData
-
getBornRadius
Calculate the Born radius for an ion.Using Maribo-Mogensen empirical correlations:
- Cations: R_Born = 0.5σ + 0.1 Å
- Anions: R_Born = 0.5σ + 0.85 Å
- Parameters:
ionName- the name of the ion- Returns:
- Born radius in Ångströms, or 0 if not found
-
getCharge
Get the ionic charge for an ion.- Parameters:
ionName- the name of the ion- Returns:
- ionic charge (positive for cations, negative for anions)
-
getAvailableIons
-
isSupportedSolvent
Check if a solvent is supported.- Parameters:
solventName- the name of the solvent- Returns:
- true if the solvent is supported
-