A visual node editor for configuring KratosMultiphysics simulations.
Instead of authoring a Kratos ProjectParameters.json by hand, you wire together nodes β analysis
stages, solvers, materials, processes, model parts and outputs β on a canvas, and FlowGraph
generates the JSON (and material files) for you.
Run the editor without installing anything:
npx kratos-flowgraphThen open http://localhost:8182 in your browser.
π Full documentation: https://kratosmultiphysics.github.io/Flowgraph/
- π§© Visual, node-based configuration β build a Kratos case by connecting nodes; the graph is the configuration.
- βοΈ Rich Kratos node library (~85 node types) β analysis stages & orchestrators, fluid / structural / thermal / potential-flow solvers, serial & MPI linear solvers, constitutive laws (elastic, plasticity, damage), boundary-condition processes, modelers and output processes.
- π Round-trip β import an existing
ProjectParameters.jsonand FlowGraph reconstructs the graph, or export the current graph as a zipped, ready-to-run case. - π₯οΈ Live JSON viewer β inspect the generated JSON as you build.
- π No build step β a small Node/Express server serves the editor; launch it with one command.
npx kratos-flowgraphnpm install -g kratos-flowgraph
kratos-flowgraphgit clone https://github.com/KratosMultiphysics/Flowgraph.git
cd Flowgraph
npm install
npm start # node app.js
# or
npm run devstart # nodemon app.js (auto-reload)Requires Node.js 18+.
Configuration lives in config/default.json (via the config
package):
{
"host" : "127.0.0.1",
"port" : "8182",
"kratos_root": "/path/to/Kratos/bin/Release",
"working_dir": "/path/to/working_dir",
"python_binary": "python3"
}Switch config files with NODE_ENV, e.g. NODE_ENV=debug npm start loads config/debug.json.
The editor UI needs no Kratos installation.
kratos_root,working_dirandpython_binaryare only used by the optional "run simulation" backend route.
The full documentation β installation, a getting-started walkthrough, the complete node reference, and developer/architecture guides β is published with VitePress at:
https://kratosmultiphysics.github.io/Flowgraph/
The sources live in doc/:
npm run docs:dev # local docs dev server
npm run docs:build # build the static docs
npm run docs:screenshots # regenerate UI screenshots with PlaywrightContributions are welcome! When adding a feature or node, please keep the documentation in sync β this is a project rule (see CLAUDE.md):
Whenever a new feature, node, or user-facing change is added, update CLAUDE.md, README.md and the
doc/documentation in the same change (and regenerate screenshots if the UI changed). A feature is not complete until the docs reflect it.
Adding a node is easy: drop a .js file under public/js/nodes/<category>/ that calls
LiteGraph.registerNodeType(...) β it is auto-discovered. See
the developer guide.
Publishing to NPM is automated: bump version in package.json and create a GitHub Release β
the publish.yml workflow publishes kratos-flowgraph using the
NPM_TOKEN secret. Docs deploy to GitHub Pages on every push to master.
