Open source · Early alpha

Build dynamic systems as graphs.

Konjugate is a visual modelling environment and native simulation engine. Components contain state, relationships define how they interact and results can be explored over time.

New here? Watch a quick 3-minute intro video
Model
Nodes + relationships
Engine
Native C++
Project
MPL 2.0
Konjugate showing a thermal-management graph with three-dimensional nodes, relationships and simulation controls
A model remains visible while you define, run and inspect it.
01

The 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)\) \(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.

02

Available 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.

01

Compose visually

Create stateful nodes, connect them with relationships and define equations against explicit state and parameter references, then disable or delete any entity in place.

02

Recover structure from data

Import multivariate time-series CSV data and let causal inference propose candidate nodes and edges (linear or nonlinear) for review before they become part of the model.

03

Validate, then run

Use the same C++ validator from the desktop application or command line to reject invalid models, then execute offline at maximum speed or pace an online simulation for live interaction.

04

Explore over time

Scrub through results, inspect node values, compare signals on plots and extend a completed simulation from its final checkpoint.

05

Bring geometry

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.

06

Extend with add-ons

Open live and completed results in permissioned visualizers contributed through a general add-on interface.

03

Model 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.

Model assistant
Ollama · Local
Requested change

Add hot and cold water vessels, then connect them with a steel thermal path.

Validated proposal5 changes
  • +Hot-water vesselNode · temperature state
  • +Cold-water vesselNode · temperature state
  • Steel thermal pathRelationship · explicit parameter references

Structure and native model validation passed

Model remains unchanged
DiscardApply changes
01

Choose the intelligence

Run models locally through Ollama or configure OpenAI, NVIDIA, Hugging Face and Gemini providers.

02

Generate model operations

The assistant proposes versioned nodes, states, relationships, parameters and equations instead of driving the interface opaquely.

03

Review before mutation

Invalid output is repaired or rejected. Valid changes remain a preview until the user explicitly applies one undoable transaction.

04

Direction

A foundation for composable simulation tools.

Konjugate is early-stage software. These are directions under exploration, not release promises.

  1. Near term

    Trustworthy execution

    Broaden solver capabilities, diagnostics and reproducible command-line workflows around the `.kjt` model.

  2. Next

    Reusable modelling systems

    Develop libraries of components, equations and examples without giving up the domain-agnostic data model.

  3. Longer term

    An open visualization ecosystem

    Let specialised add-ons turn the same simulation data into plots, spatial scenes and domain-specific analysis experiences.

05

Writing

Notes from building it in the open.

Deep dives on the model and documentation for every feature in the workbench. Prefer video? Watch the 6-part On-Ramp series on YouTube

Loading articles…

Open development

Help shape a different way to model dynamic systems.

The fastest way to reach us, ask questions or follow along day to day is Discord.

Prefer email? Reach us at info@konjugate.com.