
Modelica - Immortalin
https://en.wikipedia.org/wiki/Modelica
======
dmlorenzetti
Modelica sees a lot of use in building energy simulation [0], [1].

My impression is that the solver landscape is a little uneven (the solver
reads a Modelica model and computes its solution). For one thing, open-source
solvers seem to lag behind the commercial implementations, in terms of
capabilities. Even with commercial solvers, there seems to be a non-negligible
amount of work around taking correct models that don't run, and reformulating
them to let the solvers run them. Caveats -- I don't work on this personally,
but know people in my division who do. Also, these impressions are a few years
old, and doubtless the situation is improving as time goes on.

[0] Library of component modules for building energy and control systems
([http://simulationresearch.lbl.gov/modelica/](http://simulationresearch.lbl.gov/modelica/))

[1] "Spawn of EnergyPlus", a prototype next-gen whole-building energy solver
([https://energy.gov/eere/buildings/downloads/spawn-
energyplus...](https://energy.gov/eere/buildings/downloads/spawn-energyplus-
soep))

~~~
mcguire
It's a fascinating example of "near-programming", computing results
declaratively, if I'm understanding the wiki. I'm actually surprised it works
at all.

~~~
lgas
> I'm actually surprised it works at all.

Why?

~~~
mcguire
I wouldn't expect it to find a stable solution.

------
kxyvr
I've been interested in Modelica for some time and didn't know if someone
could answer a few questions. I'm interested in building what I call nodal
models, but basically these are things like multiphysics models similar to
circuits. Essentially, this is the bond graph methodology, but I don't think
the bond graph notation is strictly necessary, so really it's just hooking
things like electrical circuit models with thermal or mechanical components.
Anyway, my questions are:

1\. Does anyone know the history of these software tools? From what I've been
able to gather, before Modelica people used ACSL
([https://en.wikipedia.org/wiki/Advanced_Continuous_Simulation...](https://en.wikipedia.org/wiki/Advanced_Continuous_Simulation_Language)),
but currently products like Simulink or Amesim are more common.

2\. I thought that the modern packages moved from traditional integrators like
Runge-Kutta methods to QSS methods. In the applied math world/ODE/PDE world,
I've never seen anyone use a QSS method. Are QSS methods general and how do
they compare practically to more traditional explicit time integrators?

Anyway I'm glad to see Modelica get posted and thanks in advance for answering
the questions above.

~~~
rhodin
1\. Yes you can say that Modelica has some heritage from ACSL. (See
[https://www.modelica.org/publications/papers/esm98his.pdf](https://www.modelica.org/publications/papers/esm98his.pdf))
but the short story is that some simulation language creators decided to form
a uniform modeling and simulation language together instead of working on
their own initiatives, resulting in Modelica.

2\. Not really. Usually modified versions of DASSL/CVODES and friends are used
by Modelica tools. In Cellier and Kofmans's book on simulation QSS gets
prominent display and some of the research at Berkley Labs has been using QSS
to some extent, but it is far from mainstream.

------
analognoise
For anyone interested, the OpenModelica compiler is available, and aims to be
the standard reference implementation:
[https://openmodelica.org](https://openmodelica.org)

------
nraynaud
I have a friend who is or used to help define this thing, it's incredibly
fiddly: mixed domain/mixed energy/correct units*correct representation types,
and has to produce a result.

~~~
MechEStudent
It looked like a way to make a closed ecosystem where there were only a few
entrants (users) and the cost of entry was high both economically and in terms
of the learning curve.

It is nice to see that I'm not entirely wrong.

