Skip to content

PC-SAFT

Perturbed-Chain SAFT equation of state of Gross and Sadowski, with association: gases, solvents, hydrogen-bonding compounds and polymers, with polymer-specific numerical safeguards, liquid-liquid seeding and transport properties.

DWSIM.Thermodynamics.AdvancedEOS.PCSAFT2PropertyPackage
Assembly DWSIM.Thermodynamics.AdvancedEOS.PCSAFT2.dll · Object ← PropertyPackage ← PCSAFT2PropertyPackage
Name in the flowsheet PC-SAFT (with Association Support) (.NET Code) · FluentAPI PropertyPackages.PCSAFT

Scope

PC-SAFT (Perturbed-Chain Statistical Associating Fluid Theory, Gross and Sadowski) is an equation of state for mixtures of gases, solvents, hydrogen-bonding compounds and polymers. Each molecule is a chain of m tangent spheres of diameter σ with a dispersion energy ε/k, and the residual Helmholtz energy is the sum of a hard-chain, a dispersion and an association term. The package is the base of the Ionic Liquids package.

Parameters. A non-associating compound needs m, σ (Å) and ε/k (K); an associating one adds the association energy εAB/k (K) and volume κAB. The package table (pcsaft.dat) holds 193 compounds, 19 of them associating and 14 polymers; pcsaft_ip.dat holds 48 binary parameters. Unlike pairs combine as σij = (σi + σj)/2 and εij = (εiεj)1/2 (1 - kij), with kij(T) = kij + kij,T (T - 298.15 K). Parameters of other compounds are entered in the package editor.

Association. Sites follow the 2B (one donor, one acceptor), 4C (two of each) and 4C/ether schemes, each site type with a multiplicity, so a long associating chain needs only two site fractions. Unlike associating compounds cross-associate, with the arithmetic mean of the two association energies.

Polymers. The segment number grows with the number-average molar mass, m = (m/M) Mn, so one parameter row per repeat unit covers any chain length. The built-in polymers are HDPE, LDPE, polypropylene, polybutene, polyisobutene, polystyrene, poly(vinyl acetate), polydimethylsiloxane, poly(n-butyl methacrylate), polybutadiene, poly(α-methylstyrene), PMMA, poly(methyl acrylate) and poly(ethylene glycol) (4C/ether). For the very large segment numbers of a macromolecule DWSIM carries the logarithm of the fugacity coefficient, brackets the density root over the physical packing-fraction range, and solves the site fractions by damped substitution. The liquid-liquid flash of a polymer solution is seeded from the spinodal of the equation of state and judges phase identity on a mass basis, so the miscibility gap is found without a manual estimate. The Polymer Characterization tool splits a Schulz-Zimm or log-normal molar-mass distribution into pseudo-components, and random or alternating copolymers of two repeat units are built from the homopolymer parameters.

Properties. Phase equilibrium, vapor and liquid densities come from PC-SAFT. Enthalpy, entropy and heat capacities come from the PC-SAFT departure functions when the mixture holds an associating compound or a polymer; otherwise the Lee-Kesler departure functions are used by default (UseLeeKeslerEnthalpy, UseLeeKeslerCpCv). In a phase with a polymer, viscosity is a mass-fraction logarithmic blend (a polymer without viscosity data is left out of it), and thermal conductivity and surface tension are mass-fraction averages, with per-polymer estimates when a polymer has no data.

Validation (from the user guide).

System Quantity Experiment Model
PP / n-pentane, 5 wt %, 177/187/197 °C cloud pressure 47/59/73 bar 48/62/72 bar
HDPE / ethylene, 5 wt %, 140/150/170 °C cloud pressure 1850/1780/1650 bar 1850/1750/1650 bar
PMMA / 1-chlorobutane UCST about 281 K about 283 K
methanol / ethanol / 1-propanol in water, 323 K γ∞ 1.8 / 5 / 14 1.8 / 5.6 / 14.3

Limitations

  • Accurate for non-associating and weakly interacting polymer-solvent systems, where one small kij captures the mixture; strongly hydrogen-bonding aqueous systems are semi-quantitative.
  • The combining rule makes the water-polymer cross-association weaker than the water self-association: the vapor-liquid equilibrium of poly(ethylene glycol) in water needs a fitted kij, its closed-loop liquid-liquid behavior is not reproduced, and water-alcohol equilibrium relies on the small kij shipped for the common alcohols.
  • Oligomers need molar-mass-specific σ and ε/k; the shipped polymer rows are high-molar-mass values. Copolymers are limited to two repeat units.

Example

This code runs on every build of this site, and the output below is what it printed.

fs = (Flowsheet.Create("PCSAFTExample")
      .WithCompounds("Methanol", "Water")
      .WithPropertyPackage(PropertyPackages.PCSAFT))

# 30 mol % methanol at 1 atm: bubble point (vapor fraction 0) and dew point (vapor fraction 1);
# both compounds self-associate (2B sites) and cross-associate with each other
def mixture(name, vf):
    return (fs.AddMaterialStream(name)
            .WithPressure(Q.Bar(1.01325)).WithVaporFraction(vf)
            .SetCompoundMolarFlow("Methanol", 0.3)
            .SetCompoundMolarFlow("Water", 0.7))
bubble, dew = mixture("Bubble point", 0.0), mixture("Dew point", 1.0)
# liquid methanol at 25 C: the density comes from the equation of state
methanol = (fs.AddMaterialStream("Methanol")
            .At(Q.Celsius(25.0), Q.Bar(1.01325))
            .SetCompoundMolarFlow("Methanol", 1.0))

fs.Solve()

b, d = bubble.Object, dew.Object
print(f"Bubble point             = {b.Phases[0].Properties.temperature - 273.15:.2f} C, "
      f"methanol in the vapor  = {b.Phases[2].Compounds['Methanol'].MoleFraction:.3f}")
print(f"Dew point                = {d.Phases[0].Properties.temperature - 273.15:.2f} C, "
      f"methanol in the liquid = {d.Phases[3].Compounds['Methanol'].MoleFraction:.3f}")
print(f"Bubble to dew point, dh  = {d.Phases[0].Properties.enthalpy - b.Phases[0].Properties.enthalpy:.0f} kJ/kg")
print(f"Liquid methanol at 25 C  = {methanol.Object.Phases[0].Properties.density:.1f} kg/m3")

Output

Bubble point             = 77.99 C, methanol in the vapor  = 0.666
Dew point                = 91.47 C, methanol in the liquid = 0.064
Bubble to dew point, dh  = 1763 kJ/kg
Liquid methanol at 25 C  = 790.6 kg/m3

DWSIM 10.2.11.0, generated 2026-10-08.

Property methods

How the package calculates each property, as it reports it in PropertyMethodsInfo (the property package editor shows the same list).

Property Method
Vapor fugacity PC-SAFT EOS
Liquid fugacity PC-SAFT EOS
Vapor enthalpy, entropy, Cp/Cv Lee-Kesler for mixtures without associating compounds or polymers (default) / PC-SAFT EOS
Liquid enthalpy, entropy, Cp/Cv Lee-Kesler for mixtures without associating compounds or polymers (default) / PC-SAFT EOS
Vapor density PC-SAFT EOS
Liquid density PC-SAFT EOS
Vapor viscosity Experimental / Lucas / Jossi-Stiel-Thodos
Liquid viscosity Experimental / Letsou-Stiel; mass-fraction logarithmic blend for phases with a polymer
Vapor thermal conductivity Experimental / Ely-Hanley
Liquid thermal conductivity Experimental / Latini; mass-fraction average for phases with a polymer
Surface tension Experimental / Brock-Bird; mass-fraction average for phases with a polymer
Solid density Experimental Data / User-Defined
Solid enthalpy, entropy, Cp/Cv Experimental Solid Cp / From Liquid Phase Enthalpy + Enthalpy of Fusion

Default flash algorithm: Universal.

Configuration saved with the flowsheet

The package writes its settings to the simulation file (SaveData) and reads them back on load (LoadData). The elements below are the ones this package adds to those of every property package, as written for the example.

Element Content in the example What it holds
UseLeeKeslerEnthalpy true Lee-Kesler enthalpy and entropy for mixtures without an associating compound or a polymer (true by default); with one of them in the flowsheet the PC-SAFT departure functions are used
UseLeeKeslerCpCv true The same switch for Cp and Cv
InteractionParameters 1 InteractionParameter entry (Compound1, Compound2, CAS1, CAS2, Value) kij (Value) and kij,T (ValueT, 1/K, written when not zero) of the pairs of the flowsheet compounds, from pcsaft_ip.dat or entered in the editor
CompoundParameters 2 CompoundParameterSet entries (Compound, CAS_ID, MW, m, sigma, epsilon_k, assocparam, kAiBi, epsilon_AiBi, m_over_M, scheme, copolymer, coseq) PC-SAFT parameters of the flowsheet compounds (m, σ in Å, ε/k in K, association sites assocparam, volume kAiBi and energy epsilon_AiBi; for a polymer m/M, the association scheme and the copolymer definition)
First InteractionParameter of InteractionParameters in the example
<InteractionParameter Compound1="water" Compound2="methanol" CAS1="7732-18-5" CAS2="67-56-1" Value="-0.06" />
First CompoundParameterSet of CompoundParameters in the example
<CompoundParameterSet Compound="methanol" CAS_ID="67-56-1" MW="32.042" m="1.5255" sigma="3.23" epsilon_k="188.9" assocparam="2|[0 0.035176; 0.035176 0]|[0 2899.5; 2899.5 0]" kAiBi="0.035176" epsilon_AiBi="2899.5" m_over_M="0" scheme="" copolymer="" coseq="" />
Settings common to every property package, as saved for the example
Element Value
Type DWSIM.Thermodynamics.AdvancedEOS.PCSAFT2PropertyPackage
ComponentName PC-SAFT (with Association Support) (.NET Code)
ComponentDescription 120 characters
Tag PC-SAFT (with Association Support) (.NET Code)
UseHenryConstants true
AutoEstimateMissingNRTLUNIQUACParameters true
UseImmiscibleListForLiquid2InitialEstimates true
SingleCompoundCheckThreshold 0.99999
OverrideKvalFugCoeff false
OverrideEnthalpyCalculation false
OverrideEntropyCalculation false
LiquidDensityCalculationMode_Subcritical Rackett_and_ExpData
LiquidDensityCalculationMode_Supercritical Rackett_and_ExpData
LiquidDensity_CorrectExpDataForPressure true
LiquidDensity_UsePenelouxVolumeTranslation true
LiquidViscosityCalculationMode_Subcritical ExpData
LiquidViscosityCalculationMode_Supercritical Letsou_Stiel
LiquidViscosity_CorrectExpDataForPressure true
LiquidViscosity_MixingRule MoleAverage
VaporPhaseFugacityCalculationMode Ideal
SolidPhaseFugacityCalculationMethod FromLiquidFugacity
SolidPhaseFugacity_UseIdealLiquidPhaseFugacity false
SolidPhaseEnthalpy_UsesCp false
EnthalpyEntropyCpCvCalculationMode LeeKesler
LiquidEnthalpyEntropyCpCvCalculationMode_EOS EOS
LiquidFugacity_UsePoyntingCorrectionFactor true
ActivityCoefficientModels_IgnoreMissingInteractionParameters false
IgnoreVaporFractionLimit false
IgnoreSalinityLimit false
CalculateAdditionalMaterialStreamProperties true
FlashCalculationApproach NestedLoops
DisplayMissingCompoundPropertiesWarning false
ForcedSolids []
PropertyOverrides {}
FlashSettings 36 Setting entries

Learn more

API members

Public members declared by this class. Inherited members are documented on the base classes.

Constructors

PCSAFT2PropertyPackage()
public PCSAFT2PropertyPackage()
Public Sub New()

Properties

CompoundParameters
public Dictionary<string, PCSParam> CompoundParameters { get; set; }
Public Property CompoundParameters As Dictionary(Of String, PCSParam)

DisplayDescription
public override string DisplayDescription { get; }
Public Overrides ReadOnly Property DisplayDescription As String

FlashBase: Returns the FlashAlgorithm object instance for this property package.

Returns the FlashAlgorithm object instance for this property package.

public override FlashAlgorithm FlashBase { get; }
Public Overrides ReadOnly Property FlashBase As FlashAlgorithm

ImplementsAnalyticalDerivatives
public override bool ImplementsAnalyticalDerivatives { get; }
Public Overrides ReadOnly Property ImplementsAnalyticalDerivatives As Boolean

InteractionParameters
public Dictionary<string, Dictionary<string, PCSIP>> InteractionParameters { get; set; }
Public Property InteractionParameters As Dictionary(Of String, Dictionary(Of String, PCSIP))

MobileCompatible
public override bool MobileCompatible { get; }
Public Overrides ReadOnly Property MobileCompatible As Boolean

UseLeeKeslerCpCv
public bool UseLeeKeslerCpCv { get; set; }
Public Property UseLeeKeslerCpCv As Boolean

UseLeeKeslerEnthalpy
public bool UseLeeKeslerEnthalpy { get; set; }
Public Property UseLeeKeslerEnthalpy As Boolean

UsesGibbsMinimizationForLLE: When True, the liquid-liquid flash converges the split by minimizing the two-phase Gibbs energy (descent), rather...

When True, the liquid-liquid flash converges the split by minimizing the two-phase Gibbs energy (descent), rather than by successive substitution / a residual-norm Newton. Needed for packages whose miscibility gap is shallow enough that the ordinary methods collapse onto the trivial solution - e.g. a polymer in PC-SAFT.

public override bool UsesGibbsMinimizationForLLE { get; }
Public Overrides ReadOnly Property UsesGibbsMinimizationForLLE As Boolean

Methods

AssociationFromMatrices(string, ref double, ref double): Largest entry of the association volume and energy matrices of an associationparams string ('n', '[kappa matrix]'...

Largest entry of the association volume and energy matrices of an associationparams string ("n", "[kappa matrix]", "[epsilon matrix]"); zero when the string defines no association.

Parameter Type Description
assocparam String
kappa Double
eps Double
public static void AssociationFromMatrices(string assocparam, ref double kappa, ref double eps)
Public Shared Sub AssociationFromMatrices(assocparam As String, kappa As Double, eps As Double)

AssociationMatrices(double, double): The associationparams string of a two-site-type (donor/acceptor) compound with association volume kappa and energy...

The associationparams string of a two-site-type (donor/acceptor) compound with association volume kappa and energy eps (K), in the form the parameter tables use.

Parameter Type Description
kappa Double
eps Double
public static string AssociationMatrices(double kappa, double eps)
Public Shared Function AssociationMatrices(kappa As Double, eps As Double) As String

AUX_CONDTL(double, int): Liquid thermal conductivity of a phase that contains a polymer.

Liquid thermal conductivity of a phase that contains a polymer. Each compound's value comes from AUX_LIQTHERMCONDi (the user-supplied liquid thermal-conductivity equation when present), blended by a mass-fraction average so the polymer contributes in proportion to its mass rather than its trace mole fraction. Conductivities of solvent and polymer are of the same order, so a linear (not logarithmic) average is appropriate. With no polymer present the base Li mixing rule is used.

Parameter Type Description
T Double
phaseid Int32
public override double AUX_CONDTL(double T, int phaseid = 3)
Public Overrides Function AUX_CONDTL(T As Double, phaseid As Integer = 3) As Double

AUX_LIQVISCm(double, double, int): Liquid viscosity of a phase that contains a polymer.

Liquid viscosity of a phase that contains a polymer. A polymer's mole fraction is tiny, so the base mole-average mixing nullifies its viscosity however large. Here each compound's pure viscosity comes from AUX_LIQVISCi (the user-supplied liquid-viscosity equation when present) and they are blended by a mass-fraction-weighted logarithm (an Arrhenius blend), so the polymer governs the solution viscosity in proportion to its mass. With no polymer present the base mixing rule is used.

Parameter Type Description
T Double
P Double
phaseid Int32
public override double AUX_LIQVISCm(double T, double P, int phaseid = 3)
Public Overrides Function AUX_LIQVISCm(T As Double, P As Double, phaseid As Integer = 3) As Double

AUX_SURFTM(double): Liquid surface tension of a phase that contains a polymer.

Liquid surface tension of a phase that contains a polymer. Each compound's value comes from AUX_SURFTi (the user-supplied surface-tension data when present), blended by a mass-fraction average over the sub-critical compounds so the polymer is not nullified by its trace mole fraction. With no polymer present the base molar average is used.

Parameter Type Description
T Double
public override double AUX_SURFTM(double T)
Public Overrides Function AUX_SURFTM(T As Double) As Double

AUX_VAPDENS(double, double)
Parameter Type Description
T Double
P Double
public override double AUX_VAPDENS(double T, double P)
Public Overrides Function AUX_VAPDENS(T As Double, P As Double) As Double

AUX_Z(double[], double, double, PhaseName)
Parameter Type Description
Vx Double[]
T Double
P Double
state PhaseName
public override double AUX_Z(double[] Vx, double T, double P, PhaseName state)
Public Overrides Function AUX_Z(Vx As Double(), T As Double, P As Double, state As PhaseName) As Double

CalcIsothermalCompressibility(IPhase)
Parameter Type Description
p IPhase
public override double CalcIsothermalCompressibility(IPhase p)
Public Overrides Function CalcIsothermalCompressibility(p As IPhase) As Double

CalcJouleThomsonCoefficient(IPhase)
Parameter Type Description
p IPhase
public override double CalcJouleThomsonCoefficient(IPhase p)
Public Overrides Function CalcJouleThomsonCoefficient(p As IPhase) As Double

CalcSpeedOfSound(IPhase)
Parameter Type Description
p IPhase
public override double CalcSpeedOfSound(IPhase p)
Public Overrides Function CalcSpeedOfSound(p As IPhase) As Double

DisplayEditingForm()
public override void DisplayEditingForm()
Public Overrides Sub DisplayEditingForm()

DW_CalcCompPartialVolume(Phase, double, double)
Parameter Type Description
phase Phase
T Double
P Double
public override void DW_CalcCompPartialVolume(Phase phase, double T, double P)
Public Overrides Sub DW_CalcCompPartialVolume(phase As Phase, T As Double, P As Double)

DW_CalcCp_ISOL(Phase, double, double)
Parameter Type Description
Phase1 Phase
T Double
P Double
public override double DW_CalcCp_ISOL(Phase Phase1, double T, double P)
Public Overrides Function DW_CalcCp_ISOL(Phase1 As Phase, T As Double, P As Double) As Double

DW_CalcCv_ISOL(Phase, double, double)
Parameter Type Description
Phase1 Phase
T Double
P Double
public override double DW_CalcCv_ISOL(Phase Phase1, double T, double P)
Public Overrides Function DW_CalcCv_ISOL(Phase1 As Phase, T As Double, P As Double) As Double

DW_CalcdLnFugCoeffdn(double[], double, double, State): Composition (mole-number) derivative of the log fugacity coefficients, d(lnphi_i)/dn_j at total moles = 1.

Composition (mole-number) derivative of the log fugacity coefficients, d(lnphi_i)/dn_j at total moles = 1. The density is solved ONCE at the base composition; the EoS is then evaluated in closed form at that fixed density for each perturbation (no density solve per perturbation), and the constant-pressure density response is added analytically: d(lnphi_i)/dn_j = [d(lnphi_i)/dn_j]_rho + (d lnphi_i/d rho) * (d rho/dn_j), d rho/dn_j = -[dP/dn_j]_rho / (dP/d rho). This is what makes the liquid-liquid Gibbs-minimisation Newton step affordable for PC-SAFT.

Parameter Type Description
Vx Double[]
T Double
P Double
st State
public override double[,] DW_CalcdLnFugCoeffdn(double[] Vx, double T, double P, State st)
Public Overrides Function DW_CalcdLnFugCoeffdn(Vx As Double(), T As Double, P As Double, st As State) As Double(,)

DW_CalcEnergyFlowMistura_ISOL(double, double)
Parameter Type Description
T Double
P Double
public override double DW_CalcEnergyFlowMistura_ISOL(double T, double P)
Public Overrides Function DW_CalcEnergyFlowMistura_ISOL(T As Double, P As Double) As Double

DW_CalcEnthalpy(Array, double, double, State): Calculates the enthalpy of a mixture.

Calculates the enthalpy of a mixture.

Parameter Type Description
Vx Array Vector of doubles containing the molar composition of the mixture.
T Double Temperature (K)
P Double Pressure (Pa)
st State State enum indicating the state of the mixture (liquid or vapor).
public override double DW_CalcEnthalpy(Array Vx, double T, double P, State st)
Public Overrides Function DW_CalcEnthalpy(Vx As Array, T As Double, P As Double, st As State) As Double

DW_CalcEnthalpyDeparture(Array, double, double, State): Calculates the enthalpy departure of a mixture.

Calculates the enthalpy departure of a mixture.

Parameter Type Description
Vx Array Vector of doubles containing the molar composition of the mixture.
T Double Temperature (K)
P Double Pressure (Pa)
st State State enum indicating the state of the mixture (liquid or vapor).
public override double DW_CalcEnthalpyDeparture(Array Vx, double T, double P, State st)
Public Overrides Function DW_CalcEnthalpyDeparture(Vx As Array, T As Double, P As Double, st As State) As Double

DW_CalcEntropy(Array, double, double, State): Calculates the entropy of a mixture.

Calculates the entropy of a mixture.

Parameter Type Description
Vx Array Vector of doubles containing the molar composition of the mixture.
T Double Temperature (K)
P Double Pressure (Pa)
st State State enum indicating the state of the mixture (liquid or vapor).
public override double DW_CalcEntropy(Array Vx, double T, double P, State st)
Public Overrides Function DW_CalcEntropy(Vx As Array, T As Double, P As Double, st As State) As Double

DW_CalcEntropyDeparture(Array, double, double, State): Calculates the entropy departure of a mixture.

Calculates the entropy departure of a mixture.

Parameter Type Description
Vx Array Vector of doubles containing the molar composition of the mixture.
T Double Temperature (K)
P Double Pressure (Pa)
st State State enum indicating the state of the mixture (liquid or vapor).
public override double DW_CalcEntropyDeparture(Array Vx, double T, double P, State st)
Public Overrides Function DW_CalcEntropyDeparture(Vx As Array, T As Double, P As Double, st As State) As Double

DW_CalcFugCoeff(Array, double, double, State): Calculates fugacity coefficients for the specified composition at the specified conditions.

Calculates fugacity coefficients for the specified composition at the specified conditions.

Parameter Type Description
Vx Array Vector of doubles containing the molar composition of the mixture.
T Double Temperature in K
P Double Pressure in Pa
st State Mixture state (Liquid or Vapor)
public override double[] DW_CalcFugCoeff(Array Vx, double T, double P, State st)
Public Overrides Function DW_CalcFugCoeff(Vx As Array, T As Double, P As Double, st As State) As Double()

DW_CalcK_ISOL(Phase, double, double)
Parameter Type Description
Phase1 Phase
T Double
P Double
public override double DW_CalcK_ISOL(Phase Phase1, double T, double P)
Public Overrides Function DW_CalcK_ISOL(Phase1 As Phase, T As Double, P As Double) As Double

DW_CalcKvalue(double[], double[], double, double, string): Calculates K-values of components in a mixture.

Calculates K-values of components in a mixture.

Parameter Type Description
Vx Double[] Vector of doubles containing the molar composition of the liquid phase.
Vy Double[] Vector of doubles containing the molar composition of the vapor phase.
T Double Temperature of the system.
P Double Pressure of the system.
type String
public override double[] DW_CalcKvalue(double[] Vx, double[] Vy, double T, double P, string type = "LV")
Public Overrides Function DW_CalcKvalue(Vx As Double(), Vy As Double(), T As Double, P As Double, type As String = "LV") As Double()

DW_CalcLnFugCoeff(Array, double, double, State): Log fugacity coefficients straight from the EoS, without the exponential that underflows to zero for a high...

Log fugacity coefficients straight from the EoS, without the exponential that underflows to zero for a high segment-number polymer. Keeps the true (large negative) chemical potential for the stability test and phase-split estimates.

Parameter Type Description
Vx Array
T Double
P Double
st State
public override double[] DW_CalcLnFugCoeff(Array Vx, double T, double P, State st)
Public Overrides Function DW_CalcLnFugCoeff(Vx As Array, T As Double, P As Double, st As State) As Double()

DW_CalcMassaEspecifica_ISOL(Phase, double, double, double)
Parameter Type Description
Phase1 Phase
T Double
P Double
Pvp Double
public override double DW_CalcMassaEspecifica_ISOL(Phase Phase1, double T, double P, double Pvp = 0)
Public Overrides Function DW_CalcMassaEspecifica_ISOL(Phase1 As Phase, T As Double, P As Double, Pvp As Double = 0) As Double

DW_CalcMM_ISOL(Phase, double, double)
Parameter Type Description
Phase1 Phase
T Double
P Double
public override double DW_CalcMM_ISOL(Phase Phase1, double T, double P)
Public Overrides Function DW_CalcMM_ISOL(Phase1 As Phase, T As Double, P As Double) As Double

DW_CalcPhaseProps(Phase)
Parameter Type Description
Phase Phase
public override void DW_CalcPhaseProps(Phase Phase)
Public Overrides Sub DW_CalcPhaseProps(Phase As Phase)

DW_CalcProp(string, Phase): Provides a wrapper function for CAPE-OPEN CalcProp/CalcSingleProp functions.

Provides a wrapper function for CAPE-OPEN CalcProp/CalcSingleProp functions.

Parameter Type Description
property String The property to be calculated.
phase Phase The phase where the property must be calculated for.
public override void DW_CalcProp(string property, Phase phase)
Public Overrides Sub DW_CalcProp([property] As String, phase As Phase)

DW_CalcPVAP_ISOL(double)
Parameter Type Description
T Double
public override double DW_CalcPVAP_ISOL(double T)
Public Overrides Function DW_CalcPVAP_ISOL(T As Double) As Double

DW_CalcTensaoSuperficial_ISOL(Phase, double, double)
Parameter Type Description
Phase1 Phase
T Double
P Double
public override double DW_CalcTensaoSuperficial_ISOL(Phase Phase1, double T, double P)
Public Overrides Function DW_CalcTensaoSuperficial_ISOL(Phase1 As Phase, T As Double, P As Double) As Double

DW_CalcViscosidadeDinamica_ISOL(Phase, double, double)
Parameter Type Description
Phase1 Phase
T Double
P Double
public override double DW_CalcViscosidadeDinamica_ISOL(Phase Phase1, double T, double P)
Public Overrides Function DW_CalcViscosidadeDinamica_ISOL(Phase1 As Phase, T As Double, P As Double) As Double

GetEditingForm(): Returns the binary interaction parameter editor of this package.

Returns the binary interaction parameter editor of this package.

public override object GetEditingForm()
Public Overrides Function GetEditingForm() As Object

LIQDENS(double, double, double[])
Parameter Type Description
T Double
P Double
Vx Double[]
public double LIQDENS(double T, double P, double[] Vx)
Public Function LIQDENS(T As Double, P As Double, Vx As Double()) As Double

LoadData(List<XElement>)
Parameter Type Description
data List<XElement>
public override bool LoadData(List<XElement> data)
Public Overrides Function LoadData(data As List(Of XElement)) As Boolean

RET_VNONVOLATILE(): Per-compound flag marking a compound as effectively non-volatile (for example a high-molar-mass polymer, whose...

Per-compound flag marking a compound as effectively non-volatile (for example a high-molar-mass polymer, whose vapour pressure is negligible and whose vapour-liquid K-value is essentially zero). The default is all False, so ordinary packages are unaffected. A package that models such species (PC-SAFT for polymers) overrides this so the vapour-liquid flash keeps them in the liquid instead of reading a spurious vapour pressure off placeholder critical constants.

public override bool[] RET_VNONVOLATILE()
Public Overrides Function RET_VNONVOLATILE() As Boolean()

RET_VPVAP(double)
Parameter Type Description
T Double
public override double[] RET_VPVAP(double T)
Public Overrides Function RET_VPVAP(T As Double) As Double()

ReturnInstance(string)
Parameter Type Description
typename String
public override object ReturnInstance(string typename)
Public Overrides Function ReturnInstance(typename As String) As Object

RunPostMaterialStreamSetRoutine()
public override void RunPostMaterialStreamSetRoutine()
Public Overrides Sub RunPostMaterialStreamSetRoutine()

SaveData()
public override List<XElement> SaveData()
Public Overrides Function SaveData() As List(Of XElement)

SupportsComponent(ICompoundConstantProperties)
Parameter Type Description
comp ICompoundConstantProperties
public override bool SupportsComponent(ICompoundConstantProperties comp)
Public Overrides Function SupportsComponent(comp As ICompoundConstantProperties) As Boolean