Archived OpenModelica forums. Posting is disabled.

Alternative forums include GitHub discussions or StackOverflow (make sure to read the Stack Overflow rules; you need to have well-formed questions)


Forgot password? | Forgot username? | Register
  • Index
  • » Users
  • » ith
  • » Profile

Posts

Posts

I am completely new to Modelica and my question might be a bit nonsensical. One of problems with languages like C/C++ I had when treating pieces of code like a model, was the arbitrary order of evaluation. Alternative branches needed to be build in the corresponding model just to check if the side effects inside f(x) + g(x) are semantically important, given that the two functions can be called in any order.

Primarily though of as a means for optimisation, the free order of evaluation in C/C++ may lead to different sort of problems. Many more modern languages have a very strict order of evaluation.

Now If I am not wrong, Modelica is not an imperative language and an expression represents some dependency etc. so it is a thing quite different. Still, I have read somewhere, that "tools are free to decide about the order of evaluation" etc. Is this completely normal for declarative languages? Is not there some non-determinism introduced to a Modelica model just to "cater" to tool providers and optimisation lovers?

Are modelica model deterministic, save random operations and of course, the numerical precision?

  • Index
  • » Users
  • » ith
  • » Profile
You are here: