Question-and-Answer Resource for the Building Energy Modeling Community
Get s tarted with the Help page

# 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:

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?

edit retag close merge delete

If the HVAC is properly sized, wouldn't Condition 4 occur only 0.4% of the time (ASHRAE Design Criteria) ? I'd also like to mention a complication to 3, which is that the (conductive) loads will vary with the zone temperature. In DOE-2, this is solved by adjusting the loads by the U-A of the space times the temperature difference from the Loads temperature. In EnergyPlus, the time step is shortened down to 1 minute whenever the change in temperature exceeds a certain amount. I'd like to see the difference between the two methods in terms of accuracy and runtime.

Another thought is that 4 doesn't necessarily have to solved by iteration. Couldn't you just take the loads, add in the contribution from the HVAC, which would be the capacity in this case, and then derive the resulting zone temperature? This is what's done in DOE-2, but keeping in mind the adjustment for the loads.

Sort by » oldest newest most voted

An assumption for the traditional predictor/corrector solution includes that for step 3, the HVAC calculation assumes perfect control. If this is relaxed, then the traditional predictor/corrector methods are not applicable.

In Modelica based simulations (as in other simulations that are using an ordinary differential equation solver) there is no "load" and then "system" simulation, but rather a simultaneous solution of these equations. This may or may not require iterations depending on the HVAC system, its control, and the (optional) computation of the pressure drop in the duct network.

Modelica based tools have the "awareness" to only iterate when needed, this is determined automatically by these tools.

Comparing computing time among this approach and today's building simulator is an open-end question as people that use Modelica generally have more detailed models (but of coarse simpler models could be used as well) and R&D is ongoing for how to best simulate large buildings with very slow dynamics (e.g., heat conduction in walls) and fast dynamics (e.g., control loops). Here, it is important to note that this is not a question specifically to Modelica (which is for the simulation converted to C code that is likely more efficient than a human programmer could reasonably write) but rather a question of what numerical methods are best suited for this application domain. IDA/ICE has very promising results for such integrated solution that do not use a predictor/corrector method.

more