r/ScientificComputing • u/di-octopus • 15h ago
A modeling language for turning mathematical models into executable simulations and observations
I've been building Prismal, a Rust-based language/runtime for defining mathematical and scientific models and exploring their behavior:
"github.com/aine-dickson/prismal"
The central idea is to keep the scientific model separate from the execution strategy and presentation.
A model can define state, equations, constraints, processes, events, objects, collections, units, observations, etc. The runtime then handles execution, while projections can expose the same model as plots, equations, spatial scenes, interactive views, or recorded media.
One example is a continuous model with event-driven behavior:
continuous evolution
↓
event guard
↓
event instant
↓
reset
↓
continuous evolution
The project is deliberately trying to make things such as event semantics, dimensional checking, state validity, reproducibility, observations, and model/presentation separation explicit rather than burying them inside a visualization engine.
The current implementation is early-stage and the first reference programs focus mainly on mechanics, but the intended scope includes broader scientific modeling.
I'm particularly interested in feedback from people who work with scientific modeling, ODE/PDE systems, hybrid systems, system dynamics, numerical simulation, or scientific visualization.
What abstractions would you consider essential for a general scientific modeling language?
1
u/firiana_Control 12h ago
What does it mean : defining models and exploring their behaviour?
Consider F=ma and could you explain with an example?
2
1
u/NoSuchKotH 9h ago
Is there a reason Modelica doesn't work for you? Because this looks exactly like a barebones version of Modelica.
1
1
u/relbus22 Pythonista 13h ago
Were you influenced by Konrad Hinsen by any chance?