Question-and-Answer Resource for the Building Energy Modeling Community
Get started with the Help page
Ask Your Question

Revision history [back]

Modelica solver efficiency compared to predictor/corrector

I am not very familiar with Modelica, but there is a lot of hype around it. I know that there are Modelica compilers which use innovative solvers to asses which components' states need to be updated.

On the other hand, there is something very basic and efficient about the traditional predictor/corrector solution method:

  1. Calculate the loads
  2. Compare the loads to the available capacity
  3. If the loads are less than the capacity, the setpoint is met and we can calculate energy use
  4. If the loads are greater than the capacity, the setpoint is not met and we need to iteratively calculate the resulting temperature.

This seems to save a lot of time since no iterations are necessary when the load is met. Does a generic system solver like those used with in Modelica have the awareness to not iterate when it is not necessary? How will this difference impact the simulation time of models created using Modelica?

Modelica solver efficiency compared to predictor/corrector

I am not very familiar with Modelica, but there is a lot of hype around it. I know that there are Modelica compilers which use innovative solvers to asses which components' states need to be updated.

On the other hand, there is something very basic and efficient about the traditional predictor/corrector solution method:

  1. Calculate the loads
  2. Compare the loads to the available capacity
  3. If the loads are less than the capacity, the setpoint is met and we can calculate energy use
  4. If the loads are greater than the capacity, the setpoint is not met and we need to iteratively calculate the resulting temperature.

This seems to save a lot of time since no iterations are necessary when the load is met. Does a generic system solver like those used with in Modelica have the awareness to not iterate when it is not necessary? How will this difference impact the simulation time of models created using Modelica?