MaximaLabsOpen app

Quick Start

Build and solve your first flowsheet in under two minutes via the web canvas (drag a Feed + Distillation + two Products, connect, hit Run) or the Python SDK (`pip install flowsim-sdk`, `client.run_and_wait(...)`).

onboardingsdkcanvas
Concept

Two paths to a converged flowsheet: the web canvas (visual, immediate) or the Python SDK (scriptable, reproducible). Both build the exact same FlowsheetSchema JSON and hit the exact same solve endpoint — neither is a "lesser" path.

Execution

Web canvas

  1. Open /app — a seeded ethanol-water distillation demo loads automatically.
  2. Drag a Feed, a Distillation column, and two Product nodes from the left palette; connect them.
  3. Click a node to open the ParamEditor and set feed composition / column stages / reflux ratio.
  4. Pick a thermo package from the header's Thermodynamics menu (NRTL for this polar pair).
  5. Hit Run — the stream table populates live over WebSocket as the solve completes.
FEED
feed
dist
btms
COL
DIST
BOT

The actual seeded flowsheet above — drag to pan, scroll to zoom, click a node.

Launch in MaximaLabs Workspace
Execution

Scripted (SDK or plain REST)

pip install flowsim-sdk

from flowsim.sdk import FlowSimClient, feed, unit, edge

fs = {
    "thermo_package": "nrtl", "components": ["ethanol", "water"],
    "nodes": [
        feed("FEED", flow=10, temperature=350, pressure=101325,
             composition={"ethanol": 0.3, "water": 0.7}),
        unit("COL", "distillation", n_stages=8, feed_stage=4,
             reflux_ratio=2.5, distillate_rate=3.0, pressure=101325),
        unit("D", "product"), unit("B", "product"),
    ],
    "edges": [edge("e1", "FEED", "COL"),
              edge("e2", "COL", "D"), edge("e3", "COL", "B")],
}
client = FlowSimClient("https://maximalabs.io")
sim = client.run_and_wait("demo", fs)
print(client.streams(sim["id"]))