Phosphorus oxychloride from white phosphorus, chlorine and oxygen via PCl3 (4.0 t/h)

Molten white phosphorus is chlorinated to phosphorus trichloride in a boiling reactor-still, the PCl3 is oxidised with pipeline oxygen in a cooled loop reactor and the POCl3 is distilled in two columns; the reactor vents are scrubbed with caustic. Concept stage, assumed basis, preliminary gate-to-gate LCI.

Calculation maturity: not assessedDesign maturity: Concept (research)Not independently reviewedInorganic chemicalsReport 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

Molten white phosphorus (from an electrothermal phosphorus furnace outside the boundary) and the dry chlorine of chlor-alkali-1 react in a reactor-still holding boiling PCl3 with a small phosphorus heel; the reaction heat boils the PCl3, which is condensed against cooling water. The 0.8 wt% oxygen of the chlor-alkali chlorine is taken up as POCl3 and goes forward with the PCl3. The PCl3 is oxidised in the liquid phase with 5 % excess gaseous oxygen of asu-1 in a loop reactor at 313-363 K, cooled by an external cooling-water exchanger (conditions from US4183905 and US5183649). A light-ends column returns the unconverted PCl3, a product column takes the POCl3 overhead and purges 0.5 % as a residue to hazardous-waste incineration. The vents (unconverted chlorine, excess oxygen, argon, chloride vapour) are condensed on chilled water and scrubbed with caustic.

Both reactors are conversion models solved by cheme (element balances and extents closed); the vent condensers, columns and scrubber come from an independent script (scripts/balance.py, Raoult's law with thermo vapour pressures) because no property package of core covers PCl3, POCl3, white phosphorus or the caustic liquor. See DESIGN.md for every assumption and gated step.

Capacity
4000 kg/h distilled POCl3 (32 kt/a at 8000 h), a concept scale (ASSUMED, D-002)
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: phosphorus fully converted in R-101 with 0.05 % molar Cl2 excess to the vent (D-004); CN115259114B keeps phosphorus in slight excess against PCl5, not modelled as a heel.
  • ASSUMED: 99 % of the O2 in the chlorine converts PCl3 to POCl3 in R-101 (D-004).
  • ASSUMED: R-201 PCl3 conversion 99.5 % per pass with 5 % molar O2 excess, 313-363 K, 130 kPa(a), heat to cooling water through an external loop cooler with 20 K rise (D-005; US4183905: 1-10 % O2 excess, 30-95 C).
  • ASSUMED: vent condensers at 283 K, Raoult's law with thermo vapour pressures, non-condensables insoluble (D-006, D-007).
  • ASSUMED: C-301 recovers 99.5 % of the PCl3 in a 50 mol% distillate, reflux ratio 3; C-302 purges 0.5 % of its feed as residue, reflux ratio 0.5 (D-008).
  • ASSUMED: caustic scrubber 18 wt% NaOH, 1.5 x stoichiometric, 99.99 % destruction of PCl3, POCl3 and Cl2 (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

  • PhosphorusFeedstockfeed:P4: molten white phosphorus (P4) from a thermal phosphorus furnace outside the boundary, 0.203 kg/kg
  • ChlorineFeedstockfeed:CL2: dry chlorine gas (chlor-alkali-1), 0.704 kg/kg
  • Sodium hydroxideFeedstockfeed:NAOH: caustic soda 50 wt% (chlor-alkali-1), counted by mass of the solution
  • OxygenFeedstockGaseous oxygen 99.7 mol% from asu-1, 0.105 kg/kg POCl3
  • WaterFeedstockDilution water of the scrubber caustic, 6.9 g/kg POCl3

Out

Utilities: Electricity (12.9 Wh/kg POCl3: R-201 loop circulation pump, R-101 agitator, transfer and scrubber pumps (ASSUMED)), Steam (0.110 kWh/kg POCl3 LP steam 400 kPa(a) to the column reboilers (ASSUMED reflux ratios)), Cooling water (1.20 kWh/kg POCl3: both reaction heats, column condensers and the product cooler, 25/35 C (ASSUMED)), Chilled water (0.11 Wh/kg POCl3: vent condensers to 283 K)

Show in the process graph

Reactions

IdAs writtenReactionOther processes
CL2_NAOHCl2 + 2 NaOH → NaCl + NaOCl + H2OCl2+2NaOHgivesNaCl+NaOCl+H2O1 other process
P_CHLORP4 + 6 Cl2 → 4 PCl3 · Chlorination of white phosphorusP4+6Cl2gives4PCl3
PCL3_NAOHPCl3 + 5 NaOH → Na2HPO3 + 3 NaCl + 2 H2OPCl3+5NaOHgivesNA2HPO3+3NaCl+2H2O
PCL3_OXPCl3 + 1/2 O2 → POCl3 · Oxidation of PCl3 to POCl32PCl3+O2gives2POCl3
PCL3_OX_R101PCl3 + 1/2 O2 → POCl3 · Oxidation of PCl3 by the oxygen of the chlorine feed2PCl3+O2gives2POCl3
POCL3_NAOHPOCl3 + 6 NaOH → Na3PO4 + 3 NaCl + 3 H2OPOCl3+6NaOHgivesNa3PO4+3NaCl+3H2O

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

–kg CO2-eqPreliminarypartial, 11 data gaps

Climate change per 1 kg Phosphorus oxychloride (distilled), cradle-to-gate

No factors. No contribution is characterised, so no factor stands behind any number.

Main contributors
    Method and data
    Goal
    Preliminary gate-to-gate life cycle inventory of distilled phosphorus oxychloride made from molten white phosphorus, chlorine and oxygen via phosphorus trichloride, at the concept stage: which raw materials, utilities, wastes and emissions the plant exchanges per kg of POCl3, 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 Phosphorus oxychloride (distilled) (1 kg phosphorus oxychloride (phosphoryl chloride))
    Boundary
    cradle-to-gate
    Characterisation
    Factors kept with the process · GWP100
    Data quality
    No factors
    Result
    partial screening carbon footprint · 11 data gaps
    ScenarioClimate change (kg CO2-eq)
    baselineno total (data gaps)

    Inventory per 1 kg Phosphorus oxychloride (distilled) (19 flows)

    FlowPhaseDirectionQuantityUnitProvenance
    Molten white phosphorus (thermal phosphorus furnace outside the boundary)operationinput0.2031kgassumed
    Dry chlorine gas (chlor-alkali-1)operationinput0.7036kgassumed
    Gaseous oxygen 99.7 mol% (asu-1)operationinput0.1046kgassumed
    Caustic soda 50 wt% (chlor-alkali-1)operationinput0.003869kgassumed
    Process water (dilution)operationinput0.006877kgassumed
    Electric poweroperationinput0.01289kWhassumed
    LP steam 400 kPa(a)operationinput0.1105kWhassumed
    Phosphorus oxychloride (distilled) to storageoperationoutput1kgcalculated
    Distillation residue to hazardous-waste incinerationoperationoutput0.005025kgassumed
    Spent scrubber liquor to wastewater treatmentoperationoutput0.01155kgassumed
    Scrubbed vent gas to stackoperationoutput0.005523kgassumed
    Cooling water returnoperationoutput1.203kWhassumed
    Chilled water return (vent condensers)operationoutput0.0001083kWhassumed
    AR to the environmentoperationoutput0.0003765kgassumed
    CL2 to the environmentoperationoutput0.00000003488kgassumed
    H2O to the environmentoperationoutput0.0001263kgassumed
    O2 to the environmentoperationoutput0.00502kgassumed
    PCL3 to the environmentoperationoutput0.00000000766kgassumed
    POCL3 to the environmentoperationoutput0.00000005013kgassumed

    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 Phosphorus oxychloride (phosphoryl chloride), Phosphorus oxychloride (distilled) to storage 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 4 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:POCL3 100 %
    Allocation findings
    none
    Change report
    Not available: this build has no change report against an earlier release.
    Dataset pages
    Phosphorus oxychloride (phosphoryl chloride), Phosphorus oxychloride (distilled) to storage 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 0 errors; cheme process streams: every block and step balanced, reaction extents consistent). The reactors R101 and R201 and the mixers are calculated by cheme (conversion model); core's ideal-gas duty of R201 (-1861.6 kW) is 2.7 % below the liquid-phase value of the independent balance (1912.3 kW), the difference being the heats of vaporisation. The vent condensers, the columns (specified splits) and the caustic scrubber are specified values from scripts/balance.py: no property package of core covers PCl3, POCl3, white phosphorus or the caustic liquor, so the energy balance is not evaluable in core. Capacity, conversions, splits and efficiencies are assumed. Preliminary gate-to-gate LCI with every background unmapped (gaps). cheme maturity reaches no level (assumed feeds and conversions, specified separators, 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/phosphorus-oxychloride-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
    Phosphorus oxychloride · 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: "Phosphorus oxychloride from white phosphorus, chlorine and oxygen via PCl3 (4.0 t/h)", 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}
    }