Polystyrene devolatilization, two solvents (Sanchez-Lacombe) — a SANCHEZ-LACOMBE process flowsheet
A solution-polymerized polystyrene (100 kg/mol) carried in toluene and benzene, flashed at 480 K and 0.2 atm to strip the solvent — the multi-solvent case the Flory-Huggins package cannot take (one polymer, one solvent) and the reason the Sanchez-Lacombe lattice-fluid equation of state is in the tree. Characteristic parameters are the published ones: polystyrene T* 735 K, P* 357 MPa, rho* 1105 kg/m3; toluene 543 K, 402 MPa, 966 kg/m3; benzene 523 K, 444 MPa, 994 kg/m3 (Sanchez & Lacombe, J. Phys. Chem. 80 (1976) 2352 and Macromolecules 11 (1978) 1145), with the segment number r from M P*/(R T* rho*). What it computes: 94% of the feed moles leave overhead as solvent vapour and the melt retains 0.16 wt% residual solvent — read it on mass, not moles, since a 100 kg/mol chain is one mole against 0.09 kg/mol solvents. No binary k_ij (none is published for this pair); a single equilibrium stage, no diffusion-limited devolatilization kinetics.
113 views 0 forks
- Rigorous SANCHEZ-LACOMBE thermodynamics, solved by the same engine every simulation runs on.
- 1 unit operations modeled: Devol.
- Focus areas: Polymer, Devolatilization, Sanchez-Lacombe, Lattice fluid, Solvent recovery.
- Thermodynamics
- SANCHEZ-LACOMBE
- Components
- polystyrene, toluene, benzene
- Unit operations
- Devol
Opens in a new tab, loaded straight into the app — no setup.
Read the step-by-step guideReproduce this exact result from Python — the real client.get_example() → run_and_wait() path, not a mockup.
from flowsim.sdk import FlowSimClient
client = FlowSimClient()
example = client.get_example("polystyrene-devolatilization-sanchez-lacombe")
sim = client.create_simulation(example["title"], example["flowsheet"])
result = client.run_and_wait(sim["id"])
print(result["status"]) # "converged"
streams = client.streams(sim["id"])Related models
Polystyrene devolatilization (Flory-Huggins)
A molten polystyrene/toluene melt is flashed above its Flory-Huggins bubble point to strip residual solvent — the polymer thermo package's headline use case: the vapor leaves essentially pure solvent while the melt concentrates toward pure polymer, exactly the physics a cubic EoS or an ordinary activity model (sized for components of comparable molecular size) can't represent.
Continuous polymerization -> inline devolatilization -> melt transfer
A continuous free-radical CSTR makes polystyrene-like polymer at 10% conversion per pass, on published styrene/AIBN rate constants (kp 0.60 m3/mol/s at 350 K, kt 1e5 m3/mol/s, AIBN kd 9e-5 1/s; Polymer Handbook order of magnitude), which give a kinetic chain length of 259: Mn 26.9 kg/mol, Mw 53.8 kg/mol, PDI 2. The effluent flashes at 500 K and 1 atm on the real Flory-Huggins activity of the solvent, stripping 99.9% of the residual monomer for recycle and leaving a melt carrying 0.24 wt% of it. The melt then flows through a 20 m, 100 mm transfer line whose pressure drop uses a non-Newtonian melt viscosity: the reactor's own Mw, carried with the polymer through the flash and into the pipe, sets the zero-shear viscosity by the 3.4-power law (800 Pa s at 25 kg/mol, so about 10,800 Pa s here) and Carreau shear-thinning brings it to about 6,300 Pa s at the wall shear rate. The polymer is counted per chain (polymer_basis 'chain'), the basis the Flory-Huggins package reads: its molar volume is Mn over a 1040 kg/m3 melt density.
Acetone–water distillation
A 12-stage column recovers acetone overhead from a dilute aqueous solvent-recovery feed — a common industrial acetone/solvent-recycling duty.
Acetone-water column at 3 atm (PR + Wong-Sandler)
An acetone recovery column at 3 atm on Peng-Robinson with the Wong-Sandler mixing rule — the one Gᴱ rule that keeps the quadratic composition dependence of the second virial coefficient, so it stays thermodynamically consistent at high pressure. 20 mol% acetone feed, 14 stages, reflux 2, 25% distillate: 80 mol% acetone overhead and acetone-free water in the bottoms, 2.65 MW on the reboiler. The cut is set at 0.25 rather than the feed's exact acetone fraction of 0.20, which pinned the column on a razor edge (temperature residual 2e-3, balance 3%); at 0.25 it closes to zero. Bound: the rule is driven by the low-pressure acetone/water NRTL binary and, as records, NeqSim's Wong-Sandler kij is deliberately not wired in, so the second-virial cross term uses the van der Waals kij.
n-Hexane / 1-butanol column with no fitted binary (UNIFAC)
A binary the databank has no regressed NRTL parameters for, so the column runs on predictive original UNIFAC from the two molecules' groups alone: 50/50 n-hexane and 1-butanol, 20 stages, reflux 2, 45% distillate. UNIFAC predicts the minimum-boiling azeotrope at 97 mol% hexane and 341.7 K, and the column lands its distillate exactly there (96.7%) with an 88% butanol bottoms — the azeotrope, not the stage count, is what caps the overhead purity, and that is a prediction from group contributions with no data on this pair behind it. Read it as a screening result: original UNIFAC's mean error against fitted binaries in this tree is 0.08 in ln gamma, and an alkane/alcohol pair is in its well-behaved range.
Toluene removal from 1-butanol solvent (modified UNIFAC, Dortmund)
A recovered 1-butanol solvent contaminated with 5 mol% toluene, redistilled to send the toluene overhead: 24 stages, reflux 3, an 8% distillate. There is no fitted toluene/1-butanol binary, so this runs on modified UNIFAC (Dortmund) — the variant that cuts infinite-dilution error from 42% to 16% in this tree, and a dilute contaminant in a solvent is exactly the infinite-dilution regime. The toluene/butanol azeotrope at 68 mol% toluene caps the overhead: it comes out at 39% toluene rather than pure, with 2.1% left in the bottoms — 62% of the contaminant removed per pass. The two variants agree on the azeotrope (67.6% against original UNIFAC's 67.7%) and differ where the toluene is dilute: original UNIFAC removes 67% on the same column, so the model choice is worth five points of recovery here.