#3161 closed defect (fixed)
Error: Internal error pre-optimization module clockPartitioning failed.
Reported by: | Rüdiger Franke | Owned by: | Mahder Alemseged Gebremedhin |
---|---|---|---|
Priority: | high | Milestone: | 1.9.2 |
Component: | Backend | Version: | trunk |
Keywords: | Cc: | Mahder Alemseged Gebremedhin |
Description
Since yesterday the number of successfully built models goes down considerably for the PowerSystems library. From 79 yesterday but one down to 70 yesterday and further down to 65 today.
It appears that this is caused by a new error for clock partitioning.
See e.g. PowerSystems.Examples.Spot.AC1ph_DC.Breaker
Change History (7)
comment:1 by , 10 years ago
Component: | Frontend → Backend |
---|
comment:2 by , 10 years ago
Owner: | changed from | to
---|---|
Status: | new → accepted |
comment:3 by , 10 years ago
Cc: | added |
---|
comment:4 by , 10 years ago
Owner: | changed from | to
---|
I am working on it right now.
The error message is a bit misleading. The issue seems to be somewhere in lower* functions in the Back-end. Resulting in unbalanced systems. We end up with 78 equations for 79 variables for one subset. Something there is not handling arrays properly.
comment:5 by , 10 years ago
The test is back to 78 successes today (r24630)!
The rigorous AC3ph inverter models with lot of discrete equations are working now for the first time! So far they complained that no system for initialization had been generated. This results in two more successes (PowerSystems.Examples.Spot.AC3ph.Inverter
, PowerSystems.Examples.Spot.InvertersAC3ph.InverterToLoad
).
One new error shows up, which might be related to the activities behind this ticket PowerSystems.Examples.Spot.InvertersAC3ph.InverterToGrid
, PowerSystems.Examples.Spot.DrivesAC3ph.SM_ctrl
and PowerSystems.Examples.Spot.DrivesAC3ph.ASM
complain about:
[/var/lib/hudson/jobs/OpenModelica_TEST_ALL_LIBRARIES/workspace/OpenModelica/build/lib/omlibrary/PowerSystems latest/Control/Modulation.mo:17:7-17:46:writable] Error: Variable inverter.modulator.m not found in scope PowerSystems.Control.Modulation.PWMasyn.$for loop scope$.
comment:6 by , 10 years ago
Resolution: | → fixed |
---|---|
Status: | accepted → closed |
That is nice. The issue was actually with the incidence matrix creation. There are some things that should be handled better there. It probably needs a whole rewriting since a lot of things can be improved for performance.
Well at least now we are better than where we used to be :)
So I am going to close this ticket as fixed in r24622 and we move on to #3160.
comment:7 by , 10 years ago
In case you are wondering what exactly cause the problem
This algorithm section is traversed looking for component-references to create the entries in the incidence matrix.
algorithm when time > relay.t_switch[relay.cnt] then relay.cnt := min(1 + relay.cnt, 1); for k in {1} loop relay.y[k] := not relay.y[k]; end for; end when;
The cref relay.y[k]
is supposed to be expanded using the range of the loop which is {1} (an Array in this case). This expansion is done by replacing the iterator 'k' with {1}. What happened was that the suscript which was INDEX(k) was being replaced by INDEX(ARRAY({1})) instead of SLICE(ARRAY({1})).
I suggest the creation of the incidence matrix be handled in the same way checkModel works. Will be much cleaner and faster.
It started failing with r24602. Mahder, can you have a look?