MaximaLabs
← The Process Simulation Handbook
Chapter 2

Thermodynamic & Physical Property Models

Chapter 1 solved the flowsheet as a graph. But every unit in that graph — every flash, column stage, and reactor outlet — is only as correct as the property model behind it. Choosing that model is the single most consequential decision in a simulation, and the one most likely to be wrong. This chapter is how you choose, and how MaximaLabs helps you get it right.

2.1 The most important choice you make

The same flowsheet, solved with two different property methods, can give two completely different answers — not slightly different, qualitatively different. The textbook case is ethanol–water: it forms an azeotrope at about 89 mol% ethanol, a hard ceiling that ordinary distillation cannot cross. A model that captures the strong non-ideality of the liquid (an activity-coefficient model) predicts that azeotrope; a bare cubic equation of state, tuned for hydrocarbons, does not — so it will happily (and wrongly) report a column reaching 99.9% ethanol overhead. Same column, same specs; the thermodynamics decide whether the answer is physical.

2.2 Equations of state

An equation of state (EoS) relates pressure, volume, and temperature for both phases from one set of parameters. The workhorses are the cubics — Peng-Robinson (PR) and Soave-Redlich-Kwong (SRK):

P=RTvbaα(T)v2+2bvb2(Peng-Robinson)P = \frac{RT}{v - b} - \frac{a\,\alpha(T)}{v^2 + 2bv - b^2} \quad\text{(Peng-Robinson)}
P,  T,  vP,\;T,\;v
Pressure, temperature, and molar volume — the three state variables the EoS relates.
RR
Universal gas constant.
a,  ba,\;b
Peng-Robinson pure-component energy and co-volume parameters, computed once from each component's critical temperature/pressure and acentric factor.
α(T)\alpha(T)
A temperature-dependent correction factor on a, fit so the EoS reproduces the pure component's own vapor-pressure curve near its critical point.

The EoS gives fugacity coefficients

φ^i\hat\varphi_i
in each phase, and phase equilibrium is where they match, which fixes the K-value
Ki=yi/xiK_i = y_i/x_i
:

φ^iVyi=φ^iLxiKi=φ^iLφ^iV\hat\varphi_i^{\,V}\, y_i = \hat\varphi_i^{\,L}\, x_i \quad\Rightarrow\quad K_i = \frac{\hat\varphi_i^{\,L}}{\hat\varphi_i^{\,V}}
φ^iV,  φ^iL\hat\varphi_i^{\,V},\;\hat\varphi_i^{\,L}
Fugacity coefficient of component i in the vapor and liquid mixture — both computed from the same EoS at the mixture's T, P, and composition, so no separate liquid-phase model is needed.
yi,  xiy_i,\;x_i
Vapor- and liquid-phase mole fraction of component i.
KiK_i
Equilibrium ratio K_i = y_i/x_i, fixed once the fugacities of both phases match.

Cubics are the right default for non-polar, hydrocarbon, and high-pressure gas systems — natural gas, refinery cuts, compressors. MaximaLabs ships PR and SRK plus more specialized equations of state (PC-SAFT, CPA for associating fluids, GERG-2008 for LNG). You pick the property method from the status bar; the menu spans equations of state, activity models, electrolytes, steam, and polymer models:

A portion of the MaximaLabs thermodynamic property-method menu, showing PC-SAFT, CPA, SAFT-VR-Mie, UNIQUAC, Wilson, several electrolyte-NRTL variants, GERG-2008, IAPWS steam tables, CoolProp, Flory-Huggins polymer, and Pitzer brine, each with a one-line description of what it's for.

The property-method menu (status-bar thermo pill), scrolled to show the breadth beyond the cubics — SAFT-family equations of state, activity models (UNIQUAC, Wilson), electrolytes, steam tables, and a polymer model — each with what it's for. Peng-Robinson, SRK, and NRTL sit at the top of the same list; switching any of them re-solves the flowsheet.

2.3 Activity-coefficient models

For a strongly non-ideal liquid — alcohols, water, acids, anything with hydrogen bonding — the right tool is an activity-coefficient model. Here the liquid non-ideality lives in an activity coefficient

γi\gamma_i
, and VLE is the modified Raoult's law:

yiφiVP=xiγiPisat(T)y_i\, \varphi_i^{\,V} P = x_i\, \gamma_i\, P_i^{\text{sat}}(T)
yi,  xiy_i,\;x_i
Vapor- and liquid-phase mole fraction of component i.
φiV\varphi_i^{\,V}
Vapor-phase fugacity coefficient of i (≈1 near atmospheric pressure, where this method is normally used).
PP
System (total) pressure.
γi\gamma_i
Liquid activity coefficient of i — the non-ideality correction the activity model below supplies; 1 is the ideal (Raoult's-law) limit.
Pisat(T)P_i^{\text{sat}}(T)
Pure-component vapor pressure of i at the mixture temperature T.

The default in MaximaLabs for polar systems is NRTL (Non-Random Two-Liquid), whose activity coefficient for component

ii
is

lnγi=jxjτjiGjikxkGki+jxjGijkxkGkj(τijmxmτmjGmjkxkGkj)\ln \gamma_i = \frac{\sum_j x_j \tau_{ji} G_{ji}}{\sum_k x_k G_{ki}} + \sum_j \frac{x_j G_{ij}}{\sum_k x_k G_{kj}}\left(\tau_{ij} - \frac{\sum_m x_m \tau_{mj} G_{mj}}{\sum_k x_k G_{kj}}\right)
Gij=exp(αijτij),τij=aij+bij/TG_{ij} = \exp(-\alpha_{ij}\tau_{ij}), \qquad \tau_{ij} = a_{ij} + b_{ij}/T
γi\gamma_i
Activity coefficient of component i being solved for.
xi,  xj,  xk,  xmx_i,\;x_j,\;x_k,\;x_m
Liquid mole fractions — j, k, m range over every component (the sums); i is the one component gamma is evaluated for.
τij\tau_{ij}
Dimensionless NRTL interaction energy for the ordered pair i,j (asymmetric — tau_ij is not tau_ji).
GijG_{ij}
NRTL local-composition weighting factor for the pair i,j — how strongly j clusters around i relative to i itself.
αij\alpha_{ij}
Non-randomness parameter for the pair (a third fitted constant, often held near 0.2-0.3 across many families rather than regressed).
aij,  bija_{ij},\;b_{ij}
The two fitted binary interaction constants — a is temperature-independent, b/T carries the temperature dependence.
TT
Temperature (K).

The binary interaction parameters

aij,bij,αija_{ij}, b_{ij}, \alpha_{ij}
are the data dependency — MaximaLabs carries a DECHEMA/databank set (and you can regress or override your own).

Worked example — NRTL activity coefficients for ethanol-water

MaximaLabs' pinned ethanol(1)-water(2) NRTL parameters (regressed to DECHEMA VLE data):

a12=0.8009, b12=246.18, a21=3.4578, b21=586.08, α=0.30a_{12}=-0.8009,\ b_{12}=246.18,\ a_{21}=3.4578,\ b_{21}=-586.08,\ \alpha=0.30
. At
x=(0.4,0.6)x=(0.4,\,0.6)
,
T=358 KT=358\ \text{K}
(the same feed as Chapter 3's flash example):

τ12=0.113,τ21=1.821\tau_{12} = -0.113, \qquad \tau_{21} = 1.821
G12=exp(0.30×(0.113))=1.035,G21=exp(0.30×1.821)=0.579G_{12} = \exp(-0.30\times(-0.113)) = 1.035, \qquad G_{21} = \exp(-0.30\times 1.821) = 0.579
γethanol=1.423,γwater=1.327\gamma_{\text{ethanol}} = 1.423, \qquad \gamma_{\text{water}} = 1.327

Both exceed 1 — a positive deviation from Raoult's law, the hydrogen-bonding non-ideality that eventually produces the ethanol-water azeotrope (§2.5). A cubic EoS with no activity model built in cannot generate this.

2.4 The rest of the activity-model family

NRTL isn't the only local-composition model, and it isn't predictive — every one of these needs fitted binary parameters. Four more are worth knowing by their actual equations, not just their names, because each makes a different trade between simplicity, physical grounding, and whether it needs data at all.

Van Laar is the oldest of the family — built directly on the van der Waals equation for regular solutions, two parameters, no temperature dependence. For a binary:

Gexx1x2RT=A12A21A12x1+A21x2\frac{G^{ex}}{x_1 x_2 RT} = \frac{A_{12}A_{21}}{A_{12}x_1 + A_{21}x_2}
GexG^{ex}
Excess Gibbs energy of mixing (J/mol) — the departure from an ideal solution.
x1,  x2x_1,\;x_2
Liquid mole fractions of components 1 and 2.
R,  TR,\;T
Gas constant and temperature (van Laar's constants carry no further T dependence themselves).
A12,  A21A_{12},\;A_{21}
The two fitted, temperature-independent van Laar binary constants.

which splits into the two per-component activity coefficients MaximaLabs actually evaluates:

lnγ1=A12(A21x2A12x1+A21x2) ⁣2,lnγ2=A21(A12x1A12x1+A21x2) ⁣2\ln\gamma_1 = A_{12}\left(\frac{A_{21}x_2}{A_{12}x_1+A_{21}x_2}\right)^{\!2}, \qquad \ln\gamma_2 = A_{21}\left(\frac{A_{12}x_1}{A_{12}x_1+A_{21}x_2}\right)^{\!2}
γ1,  γ2\gamma_1,\;\gamma_2
Activity coefficients of components 1 and 2.
A12,  A21A_{12},\;A_{21}
Same two fitted constants as above — note the asymmetry: A_12 weights gamma_1 with A_21, and vice versa.
x1,  x2x_1,\;x_2
Liquid mole fractions.

Its simplicity is also its limit — no temperature dependence means it can't track VLE over a wide range, but it's cheap to fit and still shows up for quick screening. It's a real, selectable MaximaLabs thermo package (

van-laar\texttt{van-laar}
, regressed to the same cited DECHEMA ethanol-water points as NRTL/UNIQUAC/Wilson) — not just the textbook equation above, though its 2-constant fit is honestly a touch looser (it places the azeotrope at ~91.6 mol% vs. the 89.4% reference, a known trait of having no temperature dependence).

Worked example — Van Laar activity coefficients for ethanol-water

MaximaLabs' pinned ethanol(1)-water(2) van Laar constants:

A12=1.7117, A21=0.9101A_{12}=1.7117,\ A_{21}=0.9101
. At the same
x=(0.4,0.6)x=(0.4,\,0.6)
,
T=358 KT=358\ \text{K}
feed as the NRTL example above (van Laar ignores T, so this holds at any temperature):

lnγ1=0.337γethanol=1.401,lnγ2=0.282γwater=1.325\ln\gamma_1 = 0.337 \Rightarrow \gamma_{\text{ethanol}} = 1.401, \qquad \ln\gamma_2 = 0.282 \Rightarrow \gamma_{\text{water}} = 1.325

Close to NRTL's 1.423 / 1.327 at this one composition — the two-constant fit's known weakness only shows up once you sweep across the full composition range and compare azeotrope location, not at a single point.

Wilson introduced local composition — the idea that the composition immediately around a molecule differs from the bulk because of energetic preference — which every model after it (NRTL, UNIQUAC) inherits:

lnγ1=ln(x1+Λ12x2)+x2(Λ12x1+Λ12x2Λ21x2+Λ21x1)\ln\gamma_1 = -\ln(x_1 + \Lambda_{12}x_2) + x_2\left(\frac{\Lambda_{12}}{x_1+\Lambda_{12}x_2} - \frac{\Lambda_{21}}{x_2+\Lambda_{21}x_1}\right)
γ1\gamma_1
Activity coefficient of component 1 (ethanol here); gamma_2 follows the same form with subscripts 1 and 2 swapped.
x1,  x2x_1,\;x_2
Liquid mole fractions.
Λ12,  Λ21\Lambda_{12},\;\Lambda_{21}
Wilson local-composition parameters, Lambda_ij = (v_j/v_i)·exp(-a_ij/T), from the pure-liquid molar volumes v_i and two fitted binary energies a_ij.

Wilson fits VLE well with only two parameters, but structurally cannot predict liquid-liquid splitting — for that you need NRTL or UNIQUAC.

Worked example — Wilson activity coefficients for ethanol-water

MaximaLabs' pinned molar volumes

vethanol=58.68, vwater=18.07 cm3/molv_{\text{ethanol}}=58.68,\ v_{\text{water}}=18.07\ \text{cm}^3/\text{mol}
and energy parameters
a12=193.50 K, a21=472.53 Ka_{12}=193.50\ \text{K},\ a_{21}=472.53\ \text{K}
. At
x=(0.4,0.6)x=(0.4,\,0.6)
,
T=358 KT=358\ \text{K}
:

Λ12=0.179,Λ21=0.868\Lambda_{12} = 0.179, \qquad \Lambda_{21} = 0.868
γethanol=1.405,γwater=1.323\gamma_{\text{ethanol}} = 1.405, \qquad \gamma_{\text{water}} = 1.323

Again close to NRTL/Van Laar at this composition — all four local-composition models agree reasonably well near the middle of the range; they diverge more sharply near the azeotrope, which is exactly why MaximaLabs validates each against the same published data rather than trusting any one model's equation alone.

UNIQUAC (UNIversal QUAsi-Chemical) splits the excess Gibbs energy into a combinatorial term (molecule size/shape, from pure-component data alone) and a residual term (the energetic interactions, from two fitted parameters per pair):

GcombexRT=x1lnϕ1x1+x2lnϕ2x2+z2(q1x1lnθ1ϕ1+q2x2lnθ2ϕ2)\frac{G^{ex}_{comb}}{RT} = x_1\ln\frac{\phi_1}{x_1} + x_2\ln\frac{\phi_2}{x_2} + \frac{z}{2}\left(q_1x_1\ln\frac{\theta_1}{\phi_1} + q_2x_2\ln\frac{\theta_2}{\phi_2}\right)
GcombexG^{ex}_{comb}
Combinatorial part of the excess Gibbs energy — accounts for molecule size/shape differences alone, from pure-component data, independent of energetics.
x1,  x2x_1,\;x_2
Liquid mole fractions.
ϕ1,  ϕ2\phi_1,\;\phi_2
Segment (volume) fractions, from r_i below.
θ1,  θ2\theta_1,\;\theta_2
Surface-area fractions, from q_i below.
q1,  q2q_1,\;q_2
Pure-component surface-area parameters.
zz
Lattice coordination number, fixed at 10 in MaximaLabs' implementation.
GresexRT=q1x1ln(θ1+θ2τ21)q2x2ln(θ2+θ1τ12)\frac{G^{ex}_{res}}{RT} = -q_1x_1\ln(\theta_1+\theta_2\tau_{21}) - q_2x_2\ln(\theta_2+\theta_1\tau_{12})
GresexG^{ex}_{res}
Residual part of the excess Gibbs energy — the energetic contribution, carrying the two fitted binary parameters.
τ12,  τ21\tau_{12},\;\tau_{21}
UNIQUAC binary interaction parameters (below), asymmetric between the two directions.
θ1,  θ2\theta_1,\;\theta_2
Surface-area fractions, same as above.
q1,  q2q_1,\;q_2
Pure-component surface-area parameters.

where the segment fraction

ϕi=xiri/(x1r1+x2r2)\phi_i = x_ir_i/(x_1r_1+x_2r_2)
and surface-area fraction
θi=xiqi/(x1q1+x2q2)\theta_i = x_iq_i/(x_1q_1+x_2q_2)
come from pure-component size (
rir_i
) and surface-area (
qiq_i
) parameters, and
τij=exp((ujiuii)/RT)\tau_{ij} = \exp(-(u_{ji}-u_{ii})/RT)
carries the two fitted binary energies. The coordination number
z=10z = 10
.

Worked example — UNIQUAC activity coefficients for ethanol-water

MaximaLabs' pinned van der Waals parameters

rethanol=2.1055, qethanol=1.9720, rwater=0.9200, qwater=1.4000r_{\text{ethanol}}=2.1055,\ q_{\text{ethanol}}=1.9720,\ r_{\text{water}}=0.9200,\ q_{\text{water}}=1.4000
and interaction parameters
a12=19.40 K, a21=125.36 Ka_{12}=19.40\ \text{K},\ a_{21}=125.36\ \text{K}
(in
τij=exp(aij/T)\tau_{ij}=\exp(-a_{ij}/T)
). At
x=(0.4,0.6)x=(0.4,\,0.6)
,
T=358 KT=358\ \text{K}
:

ϕ1=0.604,ϕ2=0.396,θ1=0.484,θ2=0.516\phi_1 = 0.604, \quad \phi_2 = 0.396, \qquad \theta_1 = 0.484, \quad \theta_2 = 0.516
τ12=0.947,τ21=0.705\tau_{12} = 0.947, \qquad \tau_{21} = 0.705
γethanol=1.411,γwater=1.324\gamma_{\text{ethanol}} = 1.411, \qquad \gamma_{\text{water}} = 1.324

A fourth independent confirmation, within a few percent of NRTL/Van Laar/Wilson at this composition — the four models are built on different assumptions but agree closely away from the azeotrope, which is exactly the region where the choice of model matters least.

UNIFAC (UNIversal Functional Activity Coefficient) is the predictive answer to "what if I have no binary data at all": it reuses UNIQUAC's exact combinatorial/ residual form, but builds

rir_i
,
qiq_i
, and the interaction terms from the molecule's functional groups rather than the whole molecule —

ri=kνk(i)Rk,qi=kνk(i)Qkr_i = \sum_k \nu_k^{(i)} R_k, \qquad q_i = \sum_k \nu_k^{(i)} Q_k
ri,  qir_i,\;q_i
Molecule i's overall volume and surface-area parameters — the same r_i, q_i UNIQUAC's equations use, now built up rather than looked up.
νk(i)\nu_k^{(i)}
Number of group k that molecule i contains (an integer count from its structure — e.g. ethanol has one -CH3, one -CH2-, one -OH).
Rk,  QkR_k,\;Q_k
Tabulated volume/area parameters for functional group k, from the UNIFAC group table — not fitted per molecule or per pair.
lnγires=kνk(i)(lnΓklnΓk(i))\ln\gamma_i^{res} = \sum_k \nu_k^{(i)}\left(\ln\Gamma_k - \ln\Gamma_k^{(i)}\right)
γires\gamma_i^{res}
Residual (energetic) part of component i's activity coefficient.
νk(i)\nu_k^{(i)}
Count of group k in molecule i, same as above.
Γk\Gamma_k
Group k's activity coefficient evaluated in the actual mixture (all groups from every component, pooled).
Γk(i)\Gamma_k^{(i)}
Group k's activity coefficient evaluated in a reference solution of pure component i — subtracting this out is what makes the term vanish for a molecule made of only one group type.

where

νk(i)\nu_k^{(i)}
counts how many of group
kk
molecule
ii
contains,
Rk,QkR_k, Q_k
are tabulated group volume/area parameters,
Γk\Gamma_k
is group
kk
's activity coefficient in the actual mixture, and
Γk(i)\Gamma_k^{(i)}
is the same group's coefficient in a reference mixture of pure
ii
. Break ethanol into -CH3, -CH2-, and -OH groups, water into H2O, look up the tabulated group interaction energies, and UNIFAC predicts the γ's — no fitted binary data for this specific pair required. It's the fallback MaximaLabs' Property Estimator (§2.6) reaches for when no measured VLE exists for a new mixture; the trade is accuracy — a regressed NRTL/UNIQUAC fit to real data beats a UNIFAC prediction whenever that data exists.

Worked example — UNIFAC prediction vs. the regressed NRTL fit

Run MaximaLabs' original-UNIFAC group decomposition on the same ethanol-water feed,

x=(0.4,0.6)x=(0.4,\,0.6)
,
T=358 KT=358\ \text{K}
, with no ethanol-water-specific fitted parameter at all — only the generic -CH2-/-OH/ H2O group interactions:

γethanol=1.393,γwater=1.345\gamma_{\text{ethanol}} = 1.393, \qquad \gamma_{\text{water}} = 1.345

Compare that to NRTL's regressed 1.423 / 1.327 above — UNIFAC lands within about 2% having seen zero data for this specific pair, which is why it's the property estimator's fallback for an uncataloged mixture rather than a guess.

2.5 Choosing a property method

The classic decision reduces to a short tree: polar / hydrogen-bonding liquid at low-to- moderate pressure → an activity-coefficient model (NRTL/UNIQUAC); non-polar / hydrocarbon / high-pressure gas → a cubic EoS (PR/SRK); water + gas at high pressure → an associating model (CPA); aqueous salts → an electrolyte model. MaximaLabs encodes that judgment: it looks at your component list and, if the active method is a poor fit, surfaces a one-click recommendation. Put a polar ethanol-water mixture on Peng-Robinson and this banner appears over the canvas — the decision tree, made actionable, before a wrong answer is ever computed:

A MaximaLabs banner over the canvas reading '💡 For these components, NRTL is recommended (polar / hydrogen-bonding mixture — alcohols, water, acids)' with a green 'Switch to NRTL' button.

The property-method recommender: on a polar ethanol-water mixture set to Peng-Robinson, MaximaLabs flags the mismatch and offers a one-click switch to NRTL — the decision tree, made actionable.

2.6 Seeing it: the phase diagram

The honest test of a property method is whether it reproduces measured phase equilibrium. MaximaLabs plots the binary T-xy / P-xy diagram straight from the active thermo package, so you can look at the VLE before trusting a column. For ethanol-water under NRTL, the vapor and liquid curves pinch together and cross the diagonal at the azeotrope — exactly the feature a cubic EoS misses:

A MaximaLabs T-xy phase diagram for ethanol-water under NRTL: bubble and dew curves converging and touching the x=y diagonal at the azeotrope near 89 mol% ethanol.

The ethanol-water T-xy phase diagram under NRTL. The bubble/dew curves meet the diagonal at the azeotrope — the ceiling ordinary distillation can't cross. MaximaLabs validates this system against published DECHEMA VLE data.

This is also where trust comes from: MaximaLabs pins the ethanol-water NRTL prediction against published data on its validation dashboard (bubble-point AAD < 0.2 K, azeotrope at x ≈ 0.894 / 351.3 K).

2.7 When a component isn't in the databank

Real work runs into molecules the databank has never heard of. Rather than stop, you estimate the missing pure-component properties from structure — group contribution (Joback) for critical constants and normal boiling point, Ambrose-Walton for vapor pressure. MaximaLabs does this in the Thermo tools panel — Analysis & reports ▸ Thermo tools ▸ Property estimator. Enter the molecular groups (or look the component up by CAS number) and it returns the critical constants, normal boiling point, and acentric factor; the estimated component then drops straight into the same flowsheet:

The MaximaLabs Thermo tools 'Property estimator' tab: a CAS-number lookup, a Joback vs Ambrose-Walton toggle, and a grid of molecular-group counts (-CH3, -OH, >C=O, aromatic carbons, …) feeding an 'Estimate properties' button that returns Tc, Pc, Tb, and ω.

Thermo tools ▸ Property estimator: Joback / Ambrose-Walton group-contribution estimates (or a CAS lookup) for an uncataloged component — critical constants, boiling point, acentric factor — usable in the very next solve.

2.8 Try it: watch the thermodynamics change the answer

Reproduce it in your browser
  1. 1Open the ethanol-water distillation example and Run it (it defaults to NRTL). Note the distillate ethanol purity in the stream table.
  2. 2Click the NRTL pill in the status bar and switch the property method to Peng-Robinson. Watch the recommender flag the mismatch and offer NRTL back.
  3. 3Run again under Peng-Robinson and compare the distillate purity — the cubic misjudges the azeotrope, so the separation looks different from the NRTL answer.
  4. 4Open Plots (right rail ▸ Analysis & reports) and generate the Phase diagram for ethanol/water under each package — the azeotrope is there under NRTL and distorted under the cubic.
  5. 5Switch back to NRTL and re-run to restore the physically correct result.

The lesson of the chapter: the solver from Chapter 1 will faithfully converge whatever thermodynamics you give it — so the property method is yours to get right. Next up, the calculation every one of these models feeds: the flash.

2.9 Exercises

Practice

Work each problem yourself first, then reveal the solution to check it. Where a problem says so, reproduce it live in MaximaLabs — the solver is the answer key.

  1. 1
    warm-up
    Pick the property method for each and justify in one line: (a) a high-pressure natural-gas mixture of methane, ethane, and propane; (b) an ethanol-water separation at atmospheric pressure.
  2. 2
    core
    At an azeotrope, the vapor and liquid compositions are equal (
    yi=xiy_i = x_i
    ). What does the relative volatility
    α\alpha
    equal there, and what does that imply for a simple column trying to push ethanol past its ~89 mol% azeotrope?
  3. 3
    challenge
    Suppose you select Peng-Robinson for the ethanol-water column instead of NRTL. Predict what goes wrong, then check it: open ethanol-water distillation and switch the thermo package under the Thermodynamics menu.

Stop fighting legacy software. Build your first flowsheet in 60 seconds.