[1] https://juliahub.com/products/juliasim
Still not comparable with Modelica that has proper specification, including graphical representation of models.
ETA: Apparently MathWorks has Simscape in this category.
Modelica is acausal. You define the variables and how they are related (equations). The compiler handles variable dependencies and resolution internally.
There are pros & cons of each. Both are used for simulating cyber-physical systems.
So what is really the meaning of "acausal" in this context?
This makes modeling much easier because causality doesn't compose. Adding a new component to a model can totally change what the optimal causalization is, so using an acausal framework the compiler will figure that out, but in a causal framework the user has to re-derive the causality of their model.
> Modelica is a high-level declarative language for describing mathematical behavior. It is typically applied to engineering systems...
We use Modelica quite a bit in HVAC industry. In my case (controls engineer), I can request FMUs of various components from systems engineers for optimization work. (Functional Mockup Unit (FMU)[1]: stand-alone binary representing a dynamical system that can be driven by another application). My background is in Reinforcement learning/Model predictive control/python. Having a physics-driven model written in a domain-specific language which I can embed into my python workflow [2] is convenient.
I will say, Modelica requires a different perspective from "regular" imperative programming (python/matlab). It is a declarative language: you define equations, variables, constraints for a system, regardless of order. The compiler decides how to run the simulation; which variables to solve first etc.
While OpenModelica[3] has come a long way towards making an open source implementation of the language standard, proprietary applications (Dymola) still have an edge in the industry.
[1]: https://fmi-standard.org/ [2]: https://fmpy.readthedocs.io/en/latest/ [3]: https://openmodelica.org/