Skip to main content

Simulation Modes

Jasper has two simulation engines you pick between via the toolbar toggle, plus agent-driven optimization that runs on top of either one.

ModeEngineRuns OnLatencyTier
QuickJasper built-in (TypeScript)Browser, no backend<100 msFree
RigorousDWSIM (C# / .NET via DWSIM.Automation3)Railway service2 – 30 sPro
OptimizeIDAES-PSE (Python / Pyomo / IPOPT)Railway service, invoked through the Jasper agent5 – 60 sPro

The engine toggle in the toolbar lets you switch between Quick and Rigorous without rebuilding your flowsheet — blocks, streams, and specs are preserved.

Optimization is not a toggle. Ask the agent in chat:

"minimize H1 duty by varying its outlet temperature between 305 K and 360 K, subject to T ≥ 320 K"

The agent translates the request into an IDAES call, IPOPT solves, and the result renders inline. If you want to apply the optimum, accept the plan card and Jasper patches the flowsheet for you.

Mode-by-mode

CapabilityQuickRigorous (DWSIM)Optimize (IDAES, via agent)
Property methodsIdeal, PR, NRTLIdeal, PR, SRK, NRTL, UNIQUAC, UNIFAC, IAPWS-IF97 (steam), DWSIM electrolytesIdeal, SRK, PR, NRTL, UNIQUAC, eNRTL
Phase equilibriumRaoult's Law / phi-phi / gamma-phiFull DWSIM VLE / LLE / VLLEEquation-oriented VLE / LLE / VLLE
Component library70+ (DIPPR / NIST validated)DWSIM compound database (~500 compounds)70+ (NIST, DIPPR, Perry's, RPP)
Recycle handlingWegstein iteration (tol 1e-4)DWSIM's solver with tear-stream detectionSimultaneous equation solve (no tearing)
DOF checkNoImplicit (DWSIM validates as it solves)Yes (must be exactly 0)
OptimizationNoNoYes (Pyomo objectives + constraints)
Rate limitNone (local)API-key + CORS10 req / min / IP, API-key + CORS
OfflineYesNo (Railway backend)No (Railway backend)
Current statusShippedShipped (Pro)Shipped (agent-only, Pro)

Decision guide

                    ┌─────────────────────────┐
│ What are you doing? │
└────────────┬────────────┘

┌────────────────────────┼────────────────────────┐
▼ ▼ ▼
Building / teaching Industrial flowsheet Solving for a target
Iterating fast Need rigorous VLE Tuning a param
System nearly ideal CSTR / PFR / Gibbs Custom objective
│ │ │
▼ ▼ ▼
Quick Rigorous Ask the agent:
(DWSIM) "minimize / maximize …"
(IDAES under the hood)
Switching simulation modes

Use the engine toggle in the toolbar to switch between Quick and Rigorous. The flowsheet is preserved across modes — only the solver backend changes.

Running an optimization

Open the Jasper agent (sparkles icon) and describe what you want to minimize or maximize, the variables it can adjust, and any constraints. The agent picks the right IDAES call and renders the result inline.

Deep dives

  • Quick mode — in-browser sequential modular engine (Jasper built-in)
  • Rigorous mode — DWSIM-powered industrial engine (Pro)
  • Optimize mode — IDAES-powered equation-oriented optimization (agent-driven, Pro)
  • Troubleshooting — common errors and fixes per mode

Open source

All three engines are open source under the MIT license at github.com/Jasper-Technology/opensource:

  • src/ — Quick mode (TypeScript)
  • backends/dwsim/ — Rigorous mode service (C# / .NET 8)
  • backends/idaes/ — IDAES optimization service (Python / FastAPI)