SaftType
despasito.equations_of_state.saft.gamma_mie.SaftType
- class SaftType(**kwargs)[source]
Object of SAFT-𝛾-Mie
- Parameters:
beads (list[str]) – List of unique bead names used among components
molecular_composition (numpy.ndarray) – \(\nu_{i,k}/k_B\). Array containing the number of components by the number of bead types. Defines the number of each type of group in each component.
bead_library (dict) – A dictionary where bead names are the keys to access EOS self interaction parameters:
epsilon: \(\epsilon_{k,k}/k_B\), Energy well depth scaled by Boltzmann
constant - sigma: \(\sigma_{k,k}\), Size parameter [nm] - mass: Bead mass [kg/mol] - lambdar: \(\lambda^{r}_{k,k}\), Exponent of repulsive term between groups of type k - lambdaa: \(\lambda^{a}_{k,k}\), Exponent of attractive term between groups of type k - Sk: Optional, default=1, Shape factor, reflects the proportion with which a given segment contributes to the total free energy - Vks: Optional, default=1, Number of segments in this molecular group
cross_library (dict, Optional, default={}) – Optional library of bead cross interaction parameters. As many or as few of the desired parameters may be defined for whichever group combinations are desired.
epsilon: \(\epsilon_{k,k}/k_B\), Energy well depth scaled by Boltzmann
constant - sigma: \(\sigma_{k,k}\), Size parameter [nm] - mass: Bead mass [kg/mol] - lambdar: \(\lambda^{r}_{k,k}\), Exponent of repulsive term between groups of type k - lambdaa: \(\lambda^{a}_{k,k}\), Exponent of attractive term between groups of type k
num_rings (list) – Number of rings in each molecule. This will impact the chain contribution to the Helmholtz energy.
- Variables:
beads (list[str]) – List of unique bead names used among components
bead_library (dict) – A dictionary where bead names are the keys to access EOS self interaction parameters. See entry in Parameters section.
cross_library (dict, Optional, default={}) – Optional library of bead cross interaction parameters. As many or as few of the desired parameters may be defined for whichever group combinations are desired. Any interaction parameters that aren’t provided are computed with the appropriate
combining_rules. See entry in Parameters section.Aideal_method (str) – “Abroglie” the default functional form of the ideal gas contribution of the Helmholtz energy
residual_helmholtz_contributions (list[str]) – List of methods from the specified
saft_sourcerepresenting contributions to the Helmholtz energy that are functions of density, temperature, and composition. For this variant, [Amonomer,Achain]parameter_types (list[str]) – This list of parameter names, “epsilon”, “lambdar”, “lambdaa”, “sigma”, and/or “Sk” as well as parameters for the main saft class.
parameter_bound_extreme (dict) –
With each parameter name as an entry representing a list with the minimum and maximum feasible parameter value.
epsilon: [100.,1000.]
lambdar: [6.0,100.]
lambdaa: [3.0,100.]
sigma: [0.1,10.0]
Sk: [0.1,1.0]
combining_rules (dict) –
Contains functional form and additional information for calculating cross interaction parameters that are not found in cross_library. Function must be one of those contained in
combining_rule_types. The default values are:sigma: {“function”: “mean”}
lambdar: {“function”: “mie_exponent”}
lambdar: {“function”: “mie_exponent”}
epsilon: {“function”: “volumetric_geometric_mean”, “weighting_parameters”:
[“sigma”]}
eos_dict (dict) –
Dictionary of parameters and specific settings
molecular_composition (numpy.ndarray) - \(\nu_{i,k}/k_B\). Array
containing the number of components by the number of bead types. Defines the number of each type of group in each component. - num_rings (list) - Number of rings in each molecule. This will impact the chain contribution to the Helmholtz energy. - Sk (numpy.ndarray) - Shape factor, reflects the proportion which a given segment contributes to the total free energy. Length of
beadsarray. - Vks (numpy.ndarray) - Number of segments in this molecular group. Length ofbeadsarray. - Ckl (numpy.ndarray) - Matrix of Mie potential prefactors between beads (l,k) - epsilonkl (numpy.ndarray) - Matrix of Mie potential well depths for groups (k,l) - sigmakl (numpy.ndarray) - Matrix of bead diameters (k,l) - lambdarkl (numpy.ndarray) - Matrix of repulsive Mie exponent for groups (k,l) - lambdaakl (numpy.ndarray) - Matrix of attractive Mie exponent for groups (k,l) - dkl (numpy.ndarray) - Matrix of hard sphere equivalent for each bead and interaction between them (l,k) - x0kl (numpy.ndarray) - Matrix of sigmakl/dkl, sigmakl is the Mie radius for groups (k,l) - Cmol2seg (float) - Conversion factor from from molecular number density, \(\rho\), to segment (i.e. group) number density, \(\rho_S\). - xskl (numpy.ndarray) - Matrix of mole fractions of bead (i.e. segment or group) k multiplied by that of bead l - alphakl (np.array) - (Ngroup,Ngroup) “A dimensionless form of the integrated vdW energy of the Mie potential” eq. 33 - epsilonii_avg (numpy.ndarray) - Matrix of molecule averaged well depths (i.j) - sigmaii_avg (numpy.ndarray) - Matrix of molecule averaged Mie diameter (i.j) - lambdaaii_avg (numpy.ndarray) - Matrix of molecule averaged Mie potential attractive exponents (i.j) - lambdarii_avg (numpy.ndarray) - Matrix of molecule averaged Mie potential attractive exponents (i.j) - dii_eff (numpy.ndarray) - Matrix of mole averaged hard sphere equivalent for each bead and interaction between them (i.j) - x0ii (numpy.ndarray) - Matrix of sigmaii_avg/dii_eff, sigmaii_avg is the average molecular Mie radius and dii_eff the average molecular hard sphere diameterncomp (int) – Number of components in the system
nbeads (int) – Number of beads in system that are shared among components
xi (numpy.ndarray) – Mole fraction of each molecule in mixture. Default initialization is np.nan
T (float) – Temperature value is initially defined as NaN for a placeholder until temperature dependent attributes are initialized by using a method of this class.
SaftType.Achain(rho, T, xi)Outputs the chain term for the Helmholtz energy, \(A^{chain}/Nk_{B}T\).
SaftType.Afirst_order(rho, T, xi[, zetax])Outputs \(A^{1st order}/Nk_{B}T\).
SaftType.Ahard_sphere(rho, T, xi)Outputs monomer contribution to the Helmholtz energy, \(A^{HS}/Nk_{B}T\).
SaftType.Amonomer(rho, T, xi)Outputs the monomer contribution of the Helmholtz energy, \(A^{mono.}/Nk_{B}T\).
SaftType.Asecond_order(rho, T, xi[, ...])Outputs \(A^{2nd order}/Nk_{B}T\).
SaftType.Athird_order(rho, T, xi[, zetaxstar])Outputs \(A^{3rd order}/Nk_{B}T\).
SaftType.calc_Kijklab(T, rc_klab[, rd_klab, ...])Calculation of association site bonding volume, dependent on molecule in addition to group
Calculate component averaged properties specific to SAFT-𝛾-Mie for the chain term.
SaftType.calc_fm(alphakl, mlist)Calculate list of coefficients used to compute the correction term for \(A_{2nd order}/Nk_{B}T\) which is related to the fluctuations of attractive energy.
SaftType.calc_gdHS_assoc(rho, T, xi)Radial distribution function at contact.
SaftType.calc_gr_assoc(rho, T, xi[, Ktype])Reference fluid pair correlation function used in calculating association sites
SaftType.density_max(xi, T[, maxpack])Estimate the maximum density based on the hard sphere packing fraction.
SaftType.g1(rho, T, xi[, zetax])Calculate the first order expansion term in calculating the radial distribution function of a Mie fluid
SaftType.g2(rho, T, xi[, zetax])Calculate the second order expansion term in calculating the radial distribution function of a Mie fluid
SaftType.gdHS(rho, T, xi[, zetax])The zeroth order expansion term in calculating the radial distribution function of a Mie fluid.
SaftType.parameter_refresh(bead_library, ...)To refresh dependent parameters