Opened 5 years ago

Closed 5 years ago

#5684 closed defect (fixed)

IBPSA Integration - specifically with records for pump

Reported by: anonymous Owned by: Per Östlund
Priority: normal Milestone: 2.0.0
Component: New Instantiation Version: v1.14.0-dev-nightly
Keywords: IBPSA, Pump, Record, Fluid Cc:

Description

Attempting to check or simulate the PowerSimplified.mo and PowerExact.mo models within IBPSA.Fluid.Movers.Validation leads to the following error messages respectively:

[1] 15:23:03 Translation Error
[C:/dev/OM64bit/OMCompiler/Compiler/NFFrontEnd/NFCeval.mo: 2129:20-2129:78]: Internal >error NFCeval.evalBuiltinMax got invalid arguments (pump_Nrpm.per.pressure.V_flow)

[5] 15:26:40 Translation Error
[IBPSA.Fluid.Movers.BaseClasses.Characteristics.flowParameters: 5:3-6:57]: Failed to deduce >dimension 1 of V_flow due to missing binding equation.

In both cases the problem seems to be that setting 'per = per' within the pump models doesn't properly load the pump curve data into the models from the performance records.

If I instead replace each variable individually (e.g. per.pressure = per.pressure, per.power = per.power, per.use_powerCharcteristic = per.use_powerCharacteristic) then the model will succesfully check and it will simulate.

Simulating the model, however, leads to a second problem cropping up. IBPSA says that in PowerExact.mo all three pump models will be identical after importing the pump curves, but I continue to get the same answer for the FlowControlled_* movers as is arrived at by the PowerSimplified.mo model (which are different than the SpeedControlled_Nrpm pump). The flow rate and dp are the same across all three pumps in both models as is expected.

I talked to the developers of the IBPSA library and they say that their test models all work in SimulationX so they believe it is a problem with OpenModelica. After talking with them the leading theory seems to be that the problem stems from the handling of Records.

Change History (3)

in reply to:  description comment:1 by Francesco Casella, 5 years ago

Component: *unknown*New Instantiation
Milestone: Future2.0.0
Owner: changed from somebody to Per Östlund
Status: newassigned

Replying to anonymous:

Attempting to check or simulate the PowerSimplified.mo and PowerExact.mo models within IBPSA.Fluid.Movers.Validation leads to the following error messages respectively:

[1] 15:23:03 Translation Error
[C:/dev/OM64bit/OMCompiler/Compiler/NFFrontEnd/NFCeval.mo: 2129:20-2129:78]: Internal >error NFCeval.evalBuiltinMax got invalid arguments (pump_Nrpm.per.pressure.V_flow)

[5] 15:26:40 Translation Error
[IBPSA.Fluid.Movers.BaseClasses.Characteristics.flowParameters: 5:3-6:57]: Failed to deduce >dimension 1 of V_flow due to missing binding equation.

See PowerExact and PowerSimplified for up-to-date error reports.

I talked to the developers of the IBPSA library and they say that their test models all work in SimulationX so they believe it is a problem with OpenModelica. After talking with them the leading theory seems to be that the problem stems from the handling of Records.

The handling of record with arrays is currently an open issue with the new front end, see #5493, because the new front end doesn't flatten arrays to scalar components until the end of the flattening process - this makes things awfully complex in the case of record with arrays and modifiers thereof, but is essential if we want to handle large-scale systems involving arrays of models in the future, which I guess is also interesting for you.

BTW, this issue affect a lot of other models, particularly in the Buildings library, and is the likely cause of a number of open issues cited in #5493.

@perost has been working on this issue for several months. From what I understand he now has a good solution and he is fixing the last few cases where the frontend still fails in the testuite. I hope he'll be able to push in his work in the near future, but I can't make predictions about how long this will take.

Please follow #5493 for the latest news.

comment:2 by Francesco Casella, 5 years ago

I just checked PowerExact and PowerSimplified, they now report

[IBPSA latest/Fluid/Movers/Data/Generic.mo:7:3-11:47:writable] 
Warning:
Parameter pressure has annotation(Evaluate=true) and no binding.
...
[IBPSA latest/Fluid/Movers/BaseClasses/Characteristic/flowParameters.mo:5:3-6:57:writable] Error:
Failed to deduce dimension 1 of V_flow due to missing binding equation.

I guess #5493 resolved some issues and unmasked others, maybe @perost can comment on this.

comment:3 by Per Östlund, 5 years ago

Resolution: fixed
Status: assignedclosed

It seems I fixed this issue two weeks ago in 291aef2, both the mentioned models now simulate.

Note: See TracTickets for help on using tickets.