Phosgene from CO and chlorine over activated carbon (17.3 t/h liquid phosgene, captive)

Carbon monoxide and chlorine react over activated carbon in a boiling-water-cooled multitubular reactor; the phosgene is condensed and delivered as a liquid to an adjacent isocyanate plant, and the CO-rich vent is scrubbed with caustic and burnt. Concept stage, assumed basis, preliminary gate-to-gate LCI.

Calculation maturity: not assessedDesign maturity: Concept (research)Not independently reviewedChlorinated organicsReport a problem with this process
Research outputNot engineering advice and not an approved design: do not use it for construction, operation or safety decisions. What this means

Overview

Phosgene-grade chlorine (the 12.5 t/h Cl2 of chlor-alkali-1, after liquefaction and re-evaporation) is mixed with 5 % molar excess carbon monoxide and converted over activated carbon in a multitubular reactor whose shell holds water boiling below atmospheric pressure (the arrangement of EP1640341A2). The outlet is condensed in two stages (cooling water, then brine to 253 K) and the liquid phosgene goes to the captive consumer without storage. The vent (mostly CO, with 9 mol% phosgene) passes a caustic scrubber that destroys the phosgene and chlorine, and a thermal oxidiser that burns the CO to CO2; every emission is explicit in the flue-gas stream and the inventory.

The reactor is a conversion model (99.995 % of the chlorine) checked against the ideal-gas equilibrium by cheme; the condenser and scrubber values come from an independent script (Raoult's law, scripts/balance.py) because no property package of core covers phosgene or the caustic liquor. See DESIGN.md for every assumption and gated step.

Capacity
17.3 t/h liquid phosgene (about 139 kt/a), set by the 12.5 t/h chlorine of chlor-alkali-1 (ASSUMED)
Operation
8,000 h/a
Location
generic (not chosen)
Engineering gates
Concept and feasibility (no results yet)
Maintainers
Artur Schweidtmann
Design basis and assumptions (7)
  • ASSUMED 5 % molar CO excess over Cl2 (D-004), inside the 2-20 % (preferably 5-12 %) of EP1640341A2.
  • ASSUMED Cl2 conversion 99.995 % in the multitubular reactor (D-005): a conversion model, not kinetics; cheme process reactors gives ln(Q/K) = -8.7 at the outlet (short of equilibrium).
  • ASSUMED reactor outlet 353 K, 350 kPa(a), cooled by water boiling at 0.2-0.3 bar(a) as in EP1640341A2, condensed against cooling water (D-005).
  • ASSUMED condensation in two stages to 308 K (cooling water) and 253 K (brine) at 340-345 kPa(a); Raoult's law, CO/N2/O2 insoluble (D-006, D-007).
  • ASSUMED caustic scrubber: 18 wt% NaOH, 1.5 x stoichiometric, 99.99 % destruction of phosgene and Cl2 (D-008).
  • ASSUMED thermal oxidiser: 99.9 % CO and 99 % residual-phosgene destruction, 1123 K outlet, adiabatic, no support fuel, no heat recovery (D-009).
  • All flows, temperatures and duties are concept estimates (scripts/balance.py, D-006); accuracy +/-30 % not demonstrated.

From process/design-basis.yaml.

Engineering model

Loading the drawing…
Drawing of the process (preview)Open the engineering model

The interactive model (drawings, streams, 3D) is made for larger screens.

Snapshot of c3ab348, cheme-as-code 1.6.0.

What goes in and out

In

  • Carbon monoxideFeedstockfeed:CO: carbon monoxide from a syngas cold box outside the boundary, 0.300 kg/kg phosgene
  • ChlorineFeedstockfeed:CL2: phosgene-grade chlorine (chlor-alkali-1), 0.721 kg/kg
  • Sodium hydroxideFeedstockfeed:NAOH: caustic soda 50 wt% (chlor-alkali-1), counted by mass of the solution
  • WaterFeedstockDilution water of the scrubber caustic, 46 g/kg phosgene
  • AirFeedstockCombustion air of the thermal oxidiser, 0.146 kg/kg phosgene

Out

  • PhosgeneMain productLiquid phosgene to the captive consumer
  • Carbon dioxideEmission22.4 g/kg phosgene, from burning the 5 % CO excess in the thermal oxidiser (fossil)
  • WastewaterWasteSpent scrubber liquor, 76 g/kg phosgene: NaCl, Na2CO3 and excess NaOH in water, to treatment

Utilities: Electricity (1.1 Wh/kg phosgene: coolant-circuit vacuum pump, scrubber pump, air fan (ASSUMED); the brine refrigeration's power is in its own exchange), Cooling water (0.361 kWh/kg phosgene: reactor heat via the boiling-water circuit and the first condenser, 25/35 C (ASSUMED))

Show in the process graph

Reactions

IdAs writtenReactionOther processes
CL2_NAOHCl2 + 2 NaOH → NaCl + NaOCl + H2OCl2+2NaOHgivesNaCl+NaOCl+H2O1 other process
CO_COMBCO + 1/2 O2 → CO22CO+O2gives2CO27 other processes
PHOS_HYDCOCl2 + H2O → CO2 + 2 HClCOCl2+H2OgivesCO2+2HCl
PHOS_NAOHCOCl2 + 4 NaOH → Na2CO3 + 2 NaCl + 2 H2OCOCl2+4NaOHgivesNa2CO3+2NaCl+2H2O
PHOSGENECO + Cl2 ⇌ COCl2CO+Cl2in equilibrium withCOCl2

Each reaction's page has the conversion, heat of reaction, catalyst and sources this process states, next to those of other processes with the same reaction. All reactions

Life cycle assessment

Footprint not publishedThe process changed since the LCA was last run; its values return once it is run again. Method, functional unit and inventory are below.
Method and data
Goal
Preliminary gate-to-gate life cycle inventory of liquid phosgene made from CO and chlorine over activated carbon, for captive use, at the concept stage: which raw materials, utilities, wastes and emissions the plant exchanges per kg of phosgene, as the foreground for a later cradle-to-gate study. No impact results: the backgrounds are not mapped yet (D-012).
Functional unit
1 kg Liquid phosgene (1 kg phosgene)
Boundary
cradle-to-gate
Characterisation
Factors kept with the process · GWP100
Data quality
Published factors
Result
partial screening carbon footprint · 8 data gaps

Inventory per 1 kg Liquid phosgene (20 flows)

FlowPhaseDirectionQuantityUnitProvenance
Carbon monoxide (from a syngas cold box outside the boundary)operationinput0.2995kgassumed
Phosgene-grade chlorine (chlor-alkali-1)operationinput0.721kgassumed
Caustic soda 50 wt% (chlor-alkali-1)operationinput0.02561kgassumed
Process water (dilution)operationinput0.04553kgassumed
Combustion airoperationinput0.1456kgassumed
Electric poweroperationinput0.001107kWhassumed
Liquid phosgene to the captive consumeroperationoutput1kgassumed
Spent scrubber liquor to wastewater treatmentoperationoutput0.07607kgassumed
Oxidiser flue gas to stackoperationoutput0.1612kgcalculated
Cooling water returnoperationoutput0.3608kWhassumed
Refrigerated brine return (243 K)operationoutput0.02779kWhassumed
AR to the environmentoperationoutput0.001868kgcalculated
CL2 to the environmentoperationoutput0.0000000001072kgcalculated
CO to the environmentoperationoutput0.00001425kgcalculated
CO2 to the environmentoperationoutput0.02236kgcalculated
COCL2 to the environmentoperationoutput0.000000005278kgcalculated
H2O to the environmentoperationoutput0.000357kgcalculated
HCL to the environmentoperationoutput0.0000003852kgcalculated
N2 to the environmentoperationoutput0.1107kgcalculated
O2 to the environmentoperationoutput0.02591kgcalculated

Computed by ChemE-as-Code from lca/README.md, lca/dataset.yaml, lca/factors.yaml, lca/gaps.csv, lca/inventory.csv, lca/lca.yaml, lca/mappings.yaml, lca/results.csv, lca/results.md.

In the open LCI database (cheme-as-code-atlas-preview-c3ab348) as Liquid phosgene to the captive consumer Preliminary.

Download it for Brightway, openLCA and other tools.

In the LCI database: system model, datasets and KPIs against the benchmarks

In the LCI database

Status
Preliminary 2 unmapped exchanges. Some exchanges have no background mapping yet: they are exported unlinked and count no burden, so the inventory is incomplete.
System model
attributional, cut-off (methodology 1.1.0)
Allocation
mass (single-output, from default) · product:PHOSGENE 100 %
Allocation findings
none
Change report
Not available: this build has no change report against an earlier release.
Dataset pages
Liquid phosgene to the captive consumer Preliminary

KPI benchmark positions: not available (no benchmarked KPI for this process's datasets).

Maturity and review

Design maturity Concept (claimed): An idea or first flowsheet; numbers are rough. Concept PFD with closed mass, component and element balances (cheme validate, cheme process streams). The reactor and the thermal oxidiser are calculated by cheme (conversion model); core reproduces the reactor duty of the independent balance (-5180.8 kW) and confirms the oxidiser is adiabatic (duty 0.0004 kW) on ideal-gas data. The condensation (Raoult's law) and the caustic scrubber are specified values from scripts/balance.py: no property package of core covers phosgene or the caustic liquor, so their energy balance is not evaluable in core. The capacity, feed purities, conversions and destruction efficiencies are assumed. Preliminary gate-to-gate LCI with every background unmapped (gaps). cheme maturity reaches no level (assumed feeds and conversions, DESIGN.md). Not reviewed. Main products and feeds are listed under chemistry with their chemicals registry entries (issue #251).

Calculation maturity, from the checked evidenceNot assessed

The process has no maturity report (cheme maturity, checks/maturity.json), so no calculation maturity is established.

No level shownThe design maturity (Concept) is the manifest's claim, not evidence. A level appears here once the process's repository holds a current report from cheme maturity --write.

Artifact completeness

Which deliverables exist. They never raise a calculation maturity level: a drawing from unchecked numbers is still unchecked.

Not reported without a maturity report.

Independent review

Not independently reviewed

No independent engineering review yet. Automated checks passing is not a review.

Set by people only. Reaching a calculation maturity level or passing automated checks is not an independent review or an approval.

Where the evidence comes from
Report
processes/phosgene-1/checks/maturity.json (not in the library)
Design basis
process/design-basis.yaml
Method
How ChemE-as-Code checks the levels (requirement by requirement)

Open items

Sources

Engineering project
Phosgene · cheme-as-code>=0.8
Library version
c3ab348 (process last changed in c3ab348)
Drawings rendered by
cheme 1.6.0 (pyDEXPI 2.1.0)
Data
Catalog record (JSON) · CC-BY-4.0
Files
View the files on GitHub · change history and authors

References

How to cite

For the data, cite the Process Atlas paper; for the platform that builds and checks it, the ChemE-as-Code paper.

Schweidtmann, A. M. & Weber, J. M. (2026, in preparation). Process Atlas: an open, git-native, reproducible library and life cycle inventory of chemical processes (working title).

For this process: "Phosgene from CO and chlorine over activated carbon (17.3 t/h liquid phosgene, captive)", ChemE-as-Code process library, version c3ab348.

BibTeX
@unpublished{schweidtmann_process_atlas,
  author = {Schweidtmann, Artur M. and Weber, Jana M.},
  title = {{Process Atlas: an open, git-native, reproducible library and life cycle inventory of chemical processes (working title)}},
  year = {2026},
  url = {https://atlas.cheme-as-code.org},
  note = {in preparation}
}

Schweidtmann, A. M. (2026, in preparation). ChemE-as-Code: An Open-Source Platform for AI-Accelerated Chemical Process Engineering (working title).

BibTeX
@unpublished{schweidtmann_cheme_as_code,
  author = {Schweidtmann, Artur M.},
  title = {{ChemE-as-Code: An Open-Source Platform for AI-Accelerated Chemical Process Engineering (working title)}},
  year = {2026},
  url = {https://cheme-as-code.org},
  note = {in preparation}
}