CHE-499 · Lesson 4 of 12 · 23 min
Conceptual flowsheet and material and energy balances
A process flow diagram and its heat and material balance are the backbone of every design report. Every later lesson draws on them: the reactors and columns are sized from their flows, the heat integration from their duties, the safety review from their inventories, the cost estimate from the equipment they imply, and the carbon intensity from their utilities. This lesson develops the ATJ flowsheet from the four process steps of Lesson 3 into sections and streams, sets up the balances by hand and in code, and closes them with element checks before anything is sized.
From process steps to a flowsheet
Ana follows the onion model that CHE-446 used: the reactors first, then the separations they need, then the recycles, then heat recovery, then utilities. The ATJ process divides naturally into five sections, numbered in the way Kingfisher numbers its own plant areas.
| Section | Purpose | Main equipment |
|---|---|---|
| 100 Dehydration | Vaporize hydrous ethanol with dilution steam and convert it to ethylene | Feed vaporizer, superheater, adiabatic reactor beds with reheaters |
| 200 Quench and purification | Remove water and oxygenates, compress and clean the ethylene | Quench tower, process water stripper, compressor, caustic wash, dryers, guard beds |
| 300 Oligomerization | Convert ethylene to C4 to C20 olefins, with light-gas recycle | Cooled multitubular reactors, separator, recycle compressor |
| 400 Hydrogenation | Saturate olefins to paraffins | Trickle-bed reactor, hydrogen compressor, separator |
| 500 Fractionation | Split paraffins into naphtha, jet and diesel cuts | Stabilizer, jet column, product coolers, storage |
Two features of the flowsheet are worth noticing before any numbers. The plant takes in water with its ethanol, adds more as dilution steam, and makes a mole of water for every mole of ethylene, so section 200 handles a large water stream. The team recycles most of that water, after stripping out the ethanol and acetaldehyde it carries, by boiling it back into dilution steam. And the plant has two exothermic reactors downstream of an endothermic one, which is the opportunity Lesson 7 exploits.
The dehydration balance
The reactor balance starts from the basis: 214.1 kmol/h of ethanol and 44.3 kmol/h of water in the hydrous feed, plus 170 kmol/h of dilution steam, so that the reactor sees one mole of water per mole of ethanol. Jonah's literature review gives an ethanol conversion of 99.5 % per pass on a fresh alumina-type catalyst at 400 °C, with the converted ethanol distributed among four reactions:
The percentages are the fractions of converted ethanol that go each way. They are illustrative of published results rather than the guarantee a licensor would give, and the report says so. Diethyl ether, which forms at lower temperature, is assumed to be converted onward at 400 °C; coke formation is small per pass but sets the regeneration cycle and is treated in Lesson 5.
With these, each component balance is one line. The ethylene leaving is the converted ethanol times its selectivity; the water leaving is the water fed plus one mole per mole of ethylene and ethane, plus two per mole of butene. The code does this and then checks the carbon balance, which must close exactly because every reaction is balanced. A balance that fails an element check has an error in its stoichiometry, and it is far cheaper to find it now than after the columns are sized.
Recycle and purge
The oligomerization section does not convert all its ethylene in one pass. Lesson 5 will show why the per-pass conversion is held to about 90 %: the reaction is strongly exothermic, and pushing it further raises the temperature and the formation of heavy oligomers. The unconverted ethylene is separated from the liquid product and recycled. With a recycle, inert components that enter with the feed, such as ethane, have no way out unless a purge is taken. Without a purge they accumulate until the recycle compressor is moving mostly inerts.
The steady-state balance around the loop is solved by tearing the recycle stream: guess its flow, calculate around the loop, update the guess, and repeat until it stops changing. For a linear loop like this one, simple successive substitution converges steadily. The purge fraction is the design variable. A small purge keeps ethylene but lets ethane build up; a large purge controls ethane but sends valuable ethylene to fuel gas.
# Conceptual material and energy balance of the ATJ plant (kmol/h), with the light-gas recycle loop
M = {'EtOH': 46.07, 'H2O': 18.02, 'C2H4': 28.05, 'C2H6': 30.07, 'AcH': 44.05, 'C4H8': 56.11, 'H2': 2.016}
F_e, F_w = 214.1, 44.3 # hydrous feed: ethanol and water
steam = 170.0 # dilution steam, so that water:ethanol is 1.0 mol/mol
X = 0.995 # ethanol conversion
sel = {'C2H4': 0.983, 'AcH': 0.005, 'C4H8': 0.010, 'C2H6': 0.002} # fraction of converted ethanol
conv = F_e * X
out = {'EtOH': F_e - conv, 'H2O': F_w + steam, 'C2H4': 0, 'C2H6': 0, 'AcH': 0, 'C4H8': 0, 'H2': 0}
out['C2H4'] += conv * sel['C2H4']; out['H2O'] += conv * sel['C2H4'] # EtOH -> C2H4 + H2O
out['AcH'] += conv * sel['AcH']; out['H2'] += conv * sel['AcH'] # EtOH -> CH3CHO + H2
out['C4H8'] += conv * sel['C4H8'] / 2; out['H2O'] += conv * sel['C4H8'] # 2 EtOH -> C4H8 + 2 H2O
out['C2H6'] += conv * sel['C2H6']; out['H2O'] += conv * sel['C2H6'] # EtOH + H2 -> C2H6 + H2O
out['H2'] -= conv * sel['C2H6']
print('dehydration reactor outlet, kmol/h:', ', '.join(f"{k} {v:.1f}" for k, v in out.items()))
# carbon balance check on the reactor
cin = 2 * F_e
cout = 2 * (out['EtOH'] + out['C2H4'] + out['C2H6'] + out['AcH']) + 4 * out['C4H8']
print(f"carbon in {cin:.2f}, out {cout:.2f} kmol/h")
# quench: water, ethanol and acetaldehyde condense; stripper returns ethanol and acetaldehyde to the reactor feed
gas = {'C2H4': out['C2H4'], 'C2H6': out['C2H6'], 'C4H8': out['C4H8'], 'H2': out['H2']}
print(f"process water to stripper {out['H2O']:.0f} kmol/h ({out['H2O']*18.02/1000:.2f} t/h); net water made {out['H2O']-steam-F_w:.0f} kmol/h")
# oligomerization loop: per-pass ethylene conversion x, light gas recycled, fraction p purged to fuel gas
def loop(x, p, n=200):
R_e, R_a = 0.0, 0.0 # tear stream: recycled ethylene and ethane
for _ in range(n): # successive substitution on the tear stream
e_in = gas['C2H4'] + R_e; a_in = gas['C2H6'] + R_a
e_left = e_in * (1 - x)
R_e, R_a = (1 - p) * e_left, (1 - p) * a_in
return e_in, a_in, p * e_left, p * a_in
for p in (0.02, 0.05, 0.10, 0.20):
e_in, a_in, e_purge, a_purge = loop(0.90, p)
print(f"purge {p:.2f}: reactor ethylene {e_in:6.1f} kmol/h, ethane {a_in:5.1f}, ethylene lost {e_purge:4.2f} kmol/h ({100*e_purge/gas['C2H4']:.2f} %)")
e_in, a_in, e_purge, a_purge = loop(0.90, 0.05)
olig = (gas['C2H4'] - e_purge) * M['C2H4'] + gas['C4H8'] * M['C4H8'] # kg/h converted to oligomer
split = {'naphtha': (0.12, 112.0), 'jet': (0.78, 168.0), 'diesel': (0.10, 254.0)}
h2 = sum(olig * f / Mw for f, Mw in split.values()) # one H2 per olefin
print(f"oligomer {olig/1000:.3f} t/h; hydrogen consumed {h2:.1f} kmol/h ({h2*2.016:.0f} kg/h), fed with 10 % excess")
prod = {k: (olig * f + olig * f / Mw * 2.016) / 1000 for k, (f, Mw) in split.items()}
for k, v in prod.items(): print(f"{k:<8} {v:.3f} t/h = {v*8000/1000:.1f} kt/yr")
# heat duties, MW (reaction heats per mol: dehydration +45.4, oligomerization -80 per C2H4, hydrogenation -125)
Q = {'feed vaporization and superheat to 400 C': (F_e * 71 + (F_w + steam) * 55) / 3600,
'dehydration reaction (endothermic)': conv * sel['C2H4'] * 45.4 / 3600,
'quench of reactor effluent (to 40 C)': -out['H2O'] * 44.0 / 3600 - sum(gas.values()) * 15 / 3600,
'oligomerization (exothermic)': -(gas['C2H4'] - e_purge) * 80 / 3600,
'hydrogenation (exothermic)': -h2 * 125 / 3600}
for k, v in Q.items(): print(f"{k:<42} {v:+6.2f} MW")dehydration reactor outlet, kmol/h: EtOH 1.1, H2O 426.3, C2H4 209.4, C2H6 0.4, AcH 1.1, C4H8 1.1, H2 0.6 carbon in 428.20, out 428.20 kmol/h process water to stripper 426 kmol/h (7.68 t/h); net water made 212 kmol/h purge 0.02: reactor ethylene 232.2 kmol/h, ethane 20.9, ethylene lost 0.46 kmol/h (0.22 %) purge 0.05: reactor ethylene 231.4 kmol/h, ethane 8.5, ethylene lost 1.16 kmol/h (0.55 %) purge 0.10: reactor ethylene 230.1 kmol/h, ethane 4.3, ethylene lost 2.30 kmol/h (1.10 %) purge 0.20: reactor ethylene 227.6 kmol/h, ethane 2.1, ethylene lost 4.55 kmol/h (2.17 %) oligomer 5.901 t/h; hydrogen consumed 36.0 kmol/h (73 kg/h), fed with 10 % excess naphtha 0.721 t/h = 5.8 kt/yr jet 4.658 t/h = 37.3 kt/yr diesel 0.595 t/h = 4.8 kt/yr feed vaporization and superheat to 400 C +7.50 MW dehydration reaction (endothermic) +2.64 MW quench of reactor effluent (to 40 C) -6.09 MW oligomerization (exothermic) -4.63 MW hydrogenation (exothermic) -1.25 MW
The dehydration reactor makes 209.4 kmol/h of ethylene, with about 1.1 kmol/h each of unconverted ethanol, acetaldehyde and butene, and small amounts of ethane and hydrogen. Carbon closes at 428.2 kmol/h in and out. The water leaving is 426 kmol/h, 7.7 t/h, of which 212 kmol/h is made by the reactions: after the 170 kmol/h of dilution steam is regenerated from it, about 3.8 t/h of net process water must leave the plant.
The recycle results show the trade-off. A 2 % purge loses only 0.2 % of the ethylene but lets ethane build to 21 kmol/h in the reactor feed, about 9 % of the gas; a 20 % purge holds ethane to 2 kmol/h but loses 2.2 % of the ethylene. The team chooses a 5 % purge, losing about 0.55 % of the ethylene, 1.2 kmol/h, as fuel gas, with ethane at about 4 % of the reactor feed. The purge is not wasted: it fuels the plant's heaters.
Products and hydrogen
After the loop, about 5.9 t/h of ethylene and butene become oligomers. The product distribution, which Lesson 5 develops, is taken for now as 12 % naphtha range, 78 % jet range and 10 % diesel range by mass, with average molar masses of 112, 168 and 254 g/mol for the olefins. Each olefin molecule takes one molecule of hydrogen to saturate, so the hydrogen demand is set by the number of moles, not the mass, of oligomer: about 36 kmol/h, or 73 kg/h, fed with a 10 % excess that is purged. The products are 0.72 t/h of naphtha, 4.66 t/h of jet and 0.60 t/h of diesel: about 37.3 kt of jet a year, close to 49 million litres. The balance gives slightly more than the preliminary basis because the purge loss is smaller than the basis assumed.
Worked problem
Hydrogen demand from moles of olefin
If the oligomer distribution shifted to 20 % naphtha, 70 % jet and 10 % diesel with the same molar masses, how would the hydrogen demand for 5.90 t/h of oligomer change?
Show solution
- Moles of olefin \(= 5\,900\,(0.20/112 + 0.70/168 + 0.10/254) = 5\,900 \times 0.006346 = 37.4\) kmol/h.
- Base case \(= 5\,900\,(0.12/112 + 0.78/168 + 0.10/254) = 36.0\) kmol/h.
- Change \(= +1.4\) kmol/h, about 4 %.
Answer: Lighter products contain more molecules per tonne, so they need more hydrogen per tonne. The change is small here, but the jet yield falls by 10 points, which matters far more.
The energy balance
The energy balance is written section by section, with the heat of each reaction taken at reaction conditions. Vaporizing the hydrous feed and the dilution steam water and superheating them to 400 °C takes about 7.5 MW. The dehydration reaction absorbs about 2.6 MW more. The quench gives back about 6.1 MW, much of it as water condensing at temperatures between about 120 and 40 °C. Oligomerization releases about 4.6 MW and hydrogenation about 1.3 MW. The fractionation reboilers and condensers, the compressors, and the product coolers add to these when the separation train of Lesson 6 is designed.
Two observations come from this table before any pinch analysis. The plant's biggest heat demand, vaporizing water and ethanol, sits at a temperature where the quench and the oligomerization reactor could supply much of it. And the only demand that must be met at high temperature is the superheat and the reaction heat at 400 °C, a little over 5 MW. If the heat integration does its job, the purchased hot utility should be a fraction of the 10 MW total. Lesson 7 tests that intuition.
Stream table conventions
The final balance goes into a stream table on the process flow diagram, one column per numbered stream, with temperature, pressure, vapour fraction, total mass and molar flows, component molar flows and, for streams that cross the battery limits, the properties the receiving system needs. Kingfisher's convention is that stream numbers begin with the section number, so stream 305 is in the oligomerization section. Riya builds the table from the code's output and checks that every stream entering a unit appears leaving another, or crosses the battery limits. Professor Marchetti checks one thing first in any stream table: that mass balances around the whole plant. Here, 10.7 t/h of hydrous feed plus 0.08 t/h of hydrogen must equal the products, net water, purge and vents, within rounding.
Common mistakes
MistakeSkipping element balances because the component balances look right.
InsteadCheck carbon and hydrogen around each reactor; they catch stoichiometry errors at once.
MistakeDrawing a recycle without a purge when the feed contains inerts.
InsteadInerts accumulate until a purge or a reaction removes them; size the purge.
MistakeCalculating hydrogen demand from the mass of oligomer.
InsteadHydrogen is needed per mole of olefin; lighter products need more per tonne.
MistakeTreating literature selectivities as design guarantees.
InsteadLabel them as illustrative and replace them with licensor or test data at the next stage.
MistakeAdding up heat duties without regard to temperature.
InsteadRecord the temperature of every duty; it decides what can be integrated.
Summary and key terms
- The flowsheet is built from the reactors outward: separations, recycles, heat recovery, then utilities.
- Reactor balances follow from conversion and selectivity; element balances verify them.
- A recycle with inerts needs a purge, whose size trades inert build-up against loss of reactant.
- Tear-stream iteration solves recycle balances; successive substitution converges for simple loops.
- Hydrogen demand for saturation depends on the moles of olefin, not their mass.
- The energy balance records each duty and its temperature, setting up heat integration.
- Process flow diagram (PFD)
- A drawing of the major equipment and streams with their numbers.
- Stream table
- A table of the flow, composition and conditions of each numbered stream.
- Selectivity
- The fraction of converted reactant that forms a given product.
- Purge
- A small stream withdrawn from a recycle loop to remove inerts.
- Tear stream
- A recycle stream guessed and updated to solve a looped balance.
- Dilution steam
- Steam added to a reactor feed to moderate temperature and reduce coking.
Practice problems
Work each problem on paper first, then reveal the answer to check.
How much ethylene is made from 214.1 kmol/h of ethanol at 99.5 % conversion and 98.3 % selectivity?
Show answer
About 209.4 kmol/h.
A loop has 0.4 kmol/h of ethane entering and a 5 % purge. How much ethane circulates?
Show answer
About 8 kmol/h (0.4/0.05).
Why does the plant need a process water stripper?
Show answer
To recover ethanol and acetaldehyde from the quench water before it is reused or discharged.
Where does the plant's net process water come from?
Show answer
Mostly from the dehydration reaction, one mole of water per mole of ethylene.
What does a failed carbon balance around a reactor indicate?
Show answer
An error in the reaction stoichiometry or the selectivity data.
Why is only part of the 10 MW heat demand expected to need purchased utility?
Show answer
Much of it is at moderate temperatures that the quench and the exothermic reactors can supply.
Lesson quiz · 5 questions
Score 60% or more to complete this lesson.
Create a free account to save your progress, take quizzes and earn a certificate.