Hacker News new | ask | show | jobs
by NotPhysicsPhd 2179 days ago
I have been used modelica and modelica-like languages for the past few months, and I have completely been blown away by the experience.

I think the solvers are fantastic and produce better results, in terms of speed and scale, than any other method I had used previously, I was solving the DEs using either wolfram or Julia's Differential equations.

OpenModelica is a wonderful piece of software, I just wish it had a better UI, UX and error messages. Wolfram's system modeler offers an excellent experience but it is very expensive.

Recently I have been using Mathworks take on model-based languages, Simscape[1], which is great for my use case, as it integrates the whole MATLAB and simulink ecosystem. It is not modelica compatible, but it is possible to import FMUs created with modelica.

As a final note, I truly wished that Modelica was taught more in engineering and physics degrees.

[1] https://www.mathworks.com/products/simscape.html

1 comments

The secret to Modelica's results here isn't the numerics but the symbolics: they always preprocess the equations to something much simpler to simulate. With Julia we have the https://github.com/SciML/ModelingToolkit.jl to bring the same kind of symbolic-numerics approaches to practice.
Chris, I agree that the symbolic processing is quite important. I've often made the argument that a purely numerical approach just can't compete because of the optimizations and insights that come out of the symbolic analysis will always put it on a better footing (curious to know if you agree). But I'd say another factor in the success of Modelica is the ability to make it approachable by non-programmers. All the graphical aspects, acausal semantics, etc. make it easy to understand for non-programmer engineers as well. This has nothing to do with the results, per se, but is I think a factor in its success.