Opened 8 years ago
Closed 7 years ago
#4393 closed defect (fixed)
Steam pipe model from the ScalableTestSuite library broken with -daeMode
Reported by: | Francesco Casella | Owned by: | Willi Braun |
---|---|---|---|
Priority: | high | Milestone: | 1.13.0 |
Component: | Backend | Version: | |
Keywords: | wrapFunctionCalls | Cc: | Patrick Täuber, Willi Braun |
Description
The ScalableTestSuite.Thermal.Advection.Verification.SteamPipe model was reported broken on 10 Apr. It was still working on 7 Mar.
Here is the error report:
ScalableTestSuite.Thermal.Advection.Verification.SteamPipe_02nls.o ScalableTestSuite.Thermal.Advection.Verification.SteamPipe_02nls.c ScalableTestSuite.Thermal.Advection.Verification.SteamPipe_02nls.c:15423:43: warning: incompatible pointer types assigning to 'void (*)(struct DATA *, double *)' from 'void (void *, double *)' [-Wincompatible-pointer-types] nonLinearSystemData[0].getIterationVars = getIterationVarsNLS512; ^ ~~~~~~~~~~~~~~~~~~~~~~ ScalableTestSuite.Thermal.Advection.Verification.SteamPipe_02nls.c:15437:43: warning: incompatible pointer types assigning to 'void (*)(struct DATA *, double *)' from 'void (void *, double *)' [-Wincompatible-pointer-types] nonLinearSystemData[1].getIterationVars = getIterationVarsNLS521; ^ ~~~~~~~~~~~~~~~~~~~~~~ ...
and
ScalableTestSuite.Thermal.Advection.Verification.SteamPipe_16dae.o ScalableTestSuite.Thermal.Advection.Verification.SteamPipe_16dae.c ScalableTestSuite.Thermal.Advection.Verification.SteamPipe_16dae.c:45854:95: error: no member named 'nominal' in 'struct INTEGER_ATTRIBUTE' algebraicNominal[2001] = data->modelData->integerVarsData[200].attribute /* $cse1._phase */.nominal * data->simulationInfo->tolerance; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ScalableTestSuite.Thermal.Advection.Verification.SteamPipe_16dae.c:45856:96: error: no member named 'nominal' in 'struct INTEGER_ATTRIBUTE' algebraicNominal[2002] = data->modelData->integerVarsData[201].attribute /* $cse1._region */.nominal * data->simulationInfo->tolerance; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ...
Possible culprits: IF97 model, daeMode, CSE.
Unfortunately I do not have any further data points between those two dates.
Change History (15)
follow-up: 2 comment:1 by , 8 years ago
comment:2 by , 8 years ago
Replying to lochel:
@Francesco I cannot confirm that it worked on Mar 7 – using dae mode.
You are right, that one used the causalized equations, but these two did use dae mode:
https://test.openmodelica.org/libraries/history/ScalableTestSuite_Experimental/ScalableTestSuite_Experimental-2017-01-13.html
https://test.openmodelica.org/libraries/history/ScalableTestSuite_Experimental/ScalableTestSuite_Experimental-2017-01-15.html
and the steam pipe model worked fine. Unfortunately, they are already three months old. I should run this test more frequently.
comment:4 by , 8 years ago
Component: | Code Generation → Backend |
---|---|
Keywords: | wrapFunctionCalls added |
follow-up: 6 comment:5 by , 8 years ago
Replying to lochel:
It seems to be broken due to OMCompiler#1346.
PR 1346 was committed on Jan 9, but the test
https://test.openmodelica.org/libraries/history/ScalableTestSuite_Experimental/ScalableTestSuite_Experimental-2017-01-13.html
used a version of the compiler built on Jan 13.
If I understand correctly, it is some problem in wrapFunctionCalls that was added later that we have to look for, right?
comment:6 by , 8 years ago
Replying to casella:
If I understand correctly, it is some problem in wrapFunctionCalls that was added later that we have to look for, right?
The run from Jan 13 did use --postOptModules-=wrapFunctionCalls
. It's a bit confusing that the ScalableTestSuite_Experimental job is using different configurations ...
comment:7 by , 8 years ago
Ok, I missed that, sorry. @wbraun ran these jobs to get results for our Modelica Conference paper. Probably he already recognized the problem and switched off the module to get successful results, I can't recall that now.
BTW, I have several experimental activities going on different fronts, and each one requires his own special flags, sometimes it's hard to keep track of everything.
Anyway, I guess it will now be better to fix the wrapFunctionCalls
module also when using --daeMode
Thanks!
follow-up: 10 comment:8 by , 8 years ago
The models only fail if wrapFunctionCalls and daeMode is activated together. As far as I can remember it is a known problem in the daeMode with the discrete variables.
@wbraun Can you confirm that?
comment:9 by , 8 years ago
Cc: | added |
---|
comment:10 by , 8 years ago
Owner: | changed from | to
---|---|
Status: | new → accepted |
Replying to ptaeuber:
The models only fail if wrapFunctionCalls and daeMode is activated together. As far as I can remember it is a known problem in the daeMode with the discrete variables.
Yes.
comment:12 by , 8 years ago
I tried a fix in OMCompiler#1632 (".nominal" exists only for Real variables) - everything compiles fine afterwards, but unfortunately wbraun said that it must be fixed in the backend.
comment:13 by , 7 years ago
Milestone: | 1.12.0 → 1.13.0 |
---|---|
Priority: | blocker → high |
comment:14 by , 7 years ago
Summary: | Steam pipe model from the ScalableTestSuite library broken → Steam pipe model from the ScalableTestSuite library broken with -daeMode |
---|
comment:15 by , 7 years ago
Resolution: | → fixed |
---|---|
Status: | accepted → closed |
The steam pipe model starts working with the new daeMode including wrapFunctionCalls enabled by default after ad854a6.
@Francesco I cannot confirm that it worked on Mar 7 – using dae mode.