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.