MaximaLabsOpen app

Process Economics — CAPEX & OPEX

Turton/Couper power-law purchased-equipment costs escalated by CEPCI and rolled up through bare-module → contingency/fee → working capital to total capital investment, composed with utility/feedstock OPEX and revenue into gross margin, simple payback, and ROI — screening estimates, not an AACE Class-3 quote.

economicscapexopexturton
Concept

Order-of-magnitude capital and operating cost from a solved simulation — deterministically, never a number the AI invents (principle #9: it may propose a material or price, the numbers always come from the correlations). CAPEX comes from Turton/Couper power-law correlations keyed off one size attribute per unit (duty for a pump/compressor/heater, rated area for a heat exchanger, a flow-residence volume proxy for vessels/columns), escalated by CEPCI and rolled through bare-module → contingency/fee → working capital. OPEX prices the same solved duties and feed/product streams the sustainability layer already classifies by utility type, so the two views of the plant always agree on which unit draws what.

The math
Show the governing equations
log⁡10Cp=K1+K2log⁡10A+K3(log⁡10A)2(Turton heat-exchanger area cost)\log_{10}C_p = K_1 + K_2\log_{10}A + K_3(\log_{10}A)^2 \quad \text{(Turton heat-exchanger area cost)}
Cinstalled=Cp⋅FBM⋅CEPCInowCEPCIbase⋅Floc Fmat FyrC_{installed} = C_p \cdot F_{BM} \cdot \frac{CEPCI_{now}}{CEPCI_{base}} \cdot F_{loc}\,F_{mat}\,F_{yr}
TCI=∑Cinstalled⏟bare module (1+fcont+ffee) (1+fwc)TCI = \underbrace{\sum C_{installed}}_{\text{bare module}}\,(1 + f_{cont} + f_{fee})\,(1 + f_{wc})
ROI=100⋅revenue−(feed+utilities)TCI,payback=TCImargin\text{ROI} = 100\cdot\frac{\text{revenue} - (\text{feed} + \text{utilities})}{TCI}, \quad \text{payback} = \frac{TCI}{\text{margin}}
Bare-module factors F_BM run 2.0-4.0 by unit type (columns/reactors highest); contingency 15%, contractor fee 3%, working capital 15% of the total module cost — a standard Turton screening breakdown, not vendor quotes.
Execution

Where it actually lives

Open Economics ▸ Capital & Operating Cost on a solved simulation — inputs are operating hours per year, electricity and process-heat prices, a location index, a material factor and a year factor. A named material such as ss316 (the Lang/Turton table lookup) and a CEPCI override are passed from Python.

# In the simulation's notebook — Simulator is pre-loaded and bound to it.
capex = Simulator.cost(material="ss316", location_index=1.2)
print(capex["capital_breakdown"]["total_capital_investment_usd"])

# CAPEX + OPEX + the KPIs, with the sheet's own overrides:
kpis = Simulator.economics_table(operating_hours=8400,
                                 prices={"electricity_usd_per_kwh": 0.09})
kpis.loc[["simple_payback_years", "roi_percent"]]   # payback is NaN when there is no margin