SpiralSim runs OpenModelica in your browser. Ask the chat for a change and it edits the source, checks it, and reruns the simulation. Or ignore the AI and just write Modelica.
The alpha is invite-only. We work through the list in order. Your email is used to contact you about access, nothing else.
A real OpenModelica does the compiling and solving, not a reimplementation. If it runs in OMEdit, it runs here.
The chat searches every loaded library and reads its docs. Nothing it writes lands in your model without passing a check first.
Models stay plain .mo files with real commit history. Push to your own remote whenever you like.
Every run keeps its parameters, log, and result. Each one has a URL a colleague can open.
curl -s https://sim.example.com/api/simulate \
-H "content-type: application/json" \
-d '{"model": "RlcCircuit", "sim": {"stopTime": 0.08}}'
{"ok": true, "model": "RlcCircuit", "vars": ["V.i", "R.i", "C.v", "L.i"],
"trajectories": {"time": [0, 8e-4, …], "R.i": [0, 0.031, …]}, "job_id": "f83d74a0"}
The UI is just a client for an HTTP API, and the API is yours to use. Drive it from CI or a notebook. There is an MCP server too, if you want to put an agent on it.
Yes. An unmodified OpenModelica 1.26 does the compiling and solving. SpiralSim is the environment around it, not a fork.
The Modelica Standard Library is loaded for everyone. Your own libraries, open or proprietary, mount per workspace, and the AI can read whichever ones you can.
They live as .mo files in your workspace's git repository. Clone it, push it to your own remote, take everything with you.
We built SpiralSim at Spiral Hydrogen because we needed it ourselves. Our electrolyzer models run through it every day.