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
log10Cp=K1+K2log10A+K3(log10A)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=CpFBMCEPCInowCEPCIbaseFlocFmatFyrC_{installed} = C_p \cdot F_{BM} \cdot \frac{CEPCI_{now}}{CEPCI_{base}} \cdot F_{loc}\,F_{mat}\,F_{yr}
TCI=Cinstalledbare module(1+fcont+ffee)(1+fwc)TCI = \underbrace{\sum C_{installed}}_{\text{bare module}}\,(1 + f_{cont} + f_{fee})\,(1 + f_{wc})
ROI=100revenue(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 via the right-hand rail's analysis cluster (the dollar-sign icon, "Economics") on a solved simulation — inputs are Operating hours/yr, Electricity $/kWh, Process heat $/GJ, Location index, Material factor (a numeric multiplier, not a named-material catalog — pass a named material like ss316 via the API/SDK for the Lang/Turton table lookup instead), and Year factor. CEPCI itself isn't a panel field; override it via the cepci query param on the underlying /cost endpoint.

from flowsim.sdk import FlowSimClient
import requests

client = FlowSimClient("https://maximalabs.io")
capex = client.cost(sim_id)                    # GET /api/simulations/{id}/cost
print(capex["capital_breakdown"]["total_capital_investment_usd"])

# Composed CAPEX + OPEX + KPIs (payback, ROI) — not yet a dedicated SDK method, call the REST
# route directly:
econ = requests.post(
    f"https://maximalabs.io/api/simulations/{sim_id}/economics",
    json={"operating_hours": 8400, "prices": {"electricity_usd_per_kwh": 0.09}},
).json()
print(econ["kpis"]["simple_payback_years"], econ["kpis"]["roi_percent"])