Konjugate: Build Dynamic Systems as Graphs
01The model
One system, composed from local behavior.
Instead of assembling one monolithic system equation, describe the state owned by each component and the smaller interactions between components.
State evolution at node i
$$\dot{x}_i = \sum_j f_{ij}(x_i,x_j) + s_i(x_i,u)$$
\(x_i\)State values contained in component i.
\(f_{ij}\)The contribution to component i from its relationship with component j.
\(s_i\)Behavior local to the component: sources, sinks, internal processes or external inputs.
Local term\(s_i(x_i,u)\)↓
Local term\(s_j(x_j,u)\)↓
Component i\(x_i\) temperature · charge
Component j\(x_j\) temperature · flow
\(f_{ij}(x_i,x_j)\)<br>\(f_{ji}(x_j,x_i)\)
Practically speaking: a battery can own temperature and charge, a coolant reservoir can own temperature and fill level and their relationships can describe heat transfer or signals between them. The engine combines those local contributions at every synchronization step.
02Available in the alpha
Model, execute and investigate in one workbench.
The current application already covers the complete path from a graph model to time-dependent results.
01Compose visually<br>Create stateful nodes, connect them with relationships and define equations against explicit state and parameter references, then disable or delete any entity in place.
02Validate natively<br>Use the same C++ validator from the desktop application or command line to reject structurally invalid or non-executable models.
03Run with control<br>Execute offline at maximum speed or pace an online simulation for live interaction, pausing and continuing at synchronization boundaries.
04Explore over time<br>Scrub through results, inspect node values, compare signals on plots and extend a completed simulation from its final checkpoint.
05Bring geometry<br>Represent components with built-in forms, a searchable library of bundled STL and STEP shapes, or your own imported geometry. Appearance stays decoupled from model semantics.
06Extend with add-ons<br>Open live and completed results in permissioned visualizers contributed through a general add-on interface.
03Model assistant
Describe the intent. Keep control of the model.
Use a local or hosted model to prepare structured changes, then inspect every assumption and operation before anything reaches the workbench.
Requested change<br>Add hot and cold water vessels, then connect them with a steel thermal path.
Validated proposal5 changes
+Hot-water vessel Node · temperature state
+Cold-water vessel Node · temperature state
↔Steel thermal path Relationship · explicit parameter references
✓ Structure and native model validation passed
01Choose the intelligence<br>Run models locally through Ollama or configure OpenAI, NVIDIA, Hugging Face and Gemini providers.
02Generate model operations<br>The assistant proposes versioned nodes, states, relationships, parameters and equations instead of driving the interface opaquely.
03Review before mutation<br>Invalid output is repaired or rejected. Valid changes remain a preview until the user explicitly applies one undoable transaction.
04Direction
A foundation for composable simulation tools.
Konjugate is early-stage software. These are directions under exploration, not release promises.
Near termTrustworthy execution<br>Broaden solver capabilities, diagnostics and reproducible command-line workflows around the `.kjt` model.
NextReusable modelling systems<br>Develop libraries of components, equations and examples without giving up the domain-agnostic data model.
Longer termAn open visualization ecosystem<br>Let specialised add-ons turn the same simulation data into plots, spatial scenes and domain-specific analysis experiences.
Open development
Help shape a different way to model dynamic systems.
Follow the alpha, inspect the implementation or join the technical discussion on GitHub.
Explore Konjugate ↗<br>Read the articles
Writing<br>Articles & insights
Search articles<br>Loading articles…
Konjugate is now available to try: the first cross-platform pre-release<br>August 08, 2026
One Equation to Rule Them All<br>August 02, 2026