Opened 6 years ago

Last modified 3 years ago

#5505 new defect

Avoid file lists to be shown along with error messages

Reported by: massimo ceraolo Owned by: somebody
Priority: normal Milestone:
Component: *unknown* Version: v1.14.0-dev-nightly
Keywords: Cc:

Description (last modified by massimo ceraolo)

The attached model TwoLegs is wrong because the nv pin of powerSensor is unconnected.
OM issues an error message whose first line is:

An independent subset of the model has imbalanced number of equations (127) and variables (128).

which is ok.
Then the full list of variables comes, which is already very long here, which can be much longer on larger models (reported below).
I think this list of variables is at least useless. Indeed is also harmful since hides the important part of the error message.
I think this list should not be displayed.

Full error message:

[1] 00:32:07 Symbolic Error
An independent subset of the model has imbalanced number of equations (127) and variables (128).
variables:
meanP.x
meanP.y
meanP.u
powerSensor.product.y
powerSensor.product.u2
powerSensor.product.u1
powerSensor.currentSensor.i
powerSensor.currentSensor.n.i
powerSensor.currentSensor.n.v
powerSensor.currentSensor.p.i
powerSensor.currentSensor.p.v
powerSensor.voltageSensor.v
powerSensor.voltageSensor.n.v
powerSensor.voltageSensor.p.i
powerSensor.voltageSensor.p.v
powerSensor.power
powerSensor.nv.v
powerSensor.pv.i
powerSensor.pv.v
powerSensor.nc.i
powerSensor.nc.v
powerSensor.pc.i
powerSensor.pc.v
nor2.y
nor2.u
dD1.s
dD1.off
dD1.LossPower
dD1.n.i
dD1.n.v
dD1.p.i
dD1.p.v
dD1.i
dD1.v
dSW1.fire
dSW1.s
dSW1.off
dSW1.LossPower
dSW1.n.i
dSW1.n.v
dSW1.p.i
dSW1.p.v
dSW1.i
dSW1.v
uSW1.fire
uSW1.s
uSW1.off
uSW1.LossPower
uSW1.n.i
uSW1.n.v
uSW1.p.i
uSW1.p.v
uSW1.i
uSW1.v
uD1.s
uD1.off
uD1.LossPower
uD1.n.i
uD1.n.v
uD1.p.i
uD1.p.v
uD1.i
uD1.v
Load.R_actual
Load.T_heatPort
Load.LossPower
Load.n.i
Load.n.v
Load.p.i
Load.p.v
Load.i
Load.v
inductor.n.i
inductor.n.v
inductor.p.i
inductor.p.v
inductor.i
inductor.v
dD.s
dD.off
dD.LossPower
dD.n.i
dD.n.v
dD.p.i
dD.p.v
dD.i
dD.v
dSW.fire
dSW.s
dSW.off
dSW.LossPower
dSW.n.i
dSW.n.v
dSW.p.i
dSW.p.v
dSW.i
dSW.v
uSW.fire
uSW.s
uSW.off
uSW.LossPower
uSW.n.i
uSW.n.v
uSW.p.i
uSW.p.v
uSW.i
uSW.v
uD.s
uD.off
uD.LossPower
uD.n.i
uD.n.v
uD.p.i
uD.p.v
uD.i
uD.v
nor1.y
nor1.u
booleanPulse.pulseStart
booleanPulse.y
V1.n.i
V1.n.v
V1.p.i
V1.p.v
V1.i
V1.v
ground.p.i
ground.p.v
equations:
1 : ground.p.v = 0.0
2 : V1.v = V1.V
3 : V1.v = V1.p.v - V1.n.v
4 : 0.0 = V1.p.i + V1.n.i
5 : V1.i = V1.p.i
6 : booleanPulse.y = time >= booleanPulse.pulseStart and time < booleanPulse.pulseStart + booleanPulse.Twidth
7 : nor1.y = not nor1.u
8 : uD.off = uD.s < 0.0
9 : uD.v = uD.s * (if uD.off then 1.0 else uD.Ron) + uD.Vknee
10 : uD.i = uD.s * (if uD.off then uD.Goff else 1.0) + uD.Goff * uD.Vknee
11 : uD.LossPower = uD.v * uD.i
12 : uD.v = uD.p.v - uD.n.v
13 : 0.0 = uD.p.i + uD.n.i
14 : uD.i = uD.p.i
15 : uSW.off = uSW.s < 0.0 or not uSW.fire
16 : uSW.v = uSW.s * (if uSW.off then 1.0 else uSW.Ron) + uSW.Vknee
17 : uSW.i = uSW.s * (if uSW.off then uSW.Goff else 1.0) + uSW.Goff * uSW.Vknee
18 : uSW.LossPower = uSW.v * uSW.i
19 : uSW.v = uSW.p.v - uSW.n.v
20 : 0.0 = uSW.p.i + uSW.n.i
21 : uSW.i = uSW.p.i
22 : dSW.off = dSW.s < 0.0 or not dSW.fire
23 : dSW.v = dSW.s * (if dSW.off then 1.0 else dSW.Ron) + dSW.Vknee
24 : dSW.i = dSW.s * (if dSW.off then dSW.Goff else 1.0) + dSW.Goff * dSW.Vknee
25 : dSW.LossPower = dSW.v * dSW.i
26 : dSW.v = dSW.p.v - dSW.n.v
27 : 0.0 = dSW.p.i + dSW.n.i
28 : dSW.i = dSW.p.i
29 : dD.off = dD.s < 0.0
30 : dD.v = dD.s * (if dD.off then 1.0 else dD.Ron) + dD.Vknee
31 : dD.i = dD.s * (if dD.off then dD.Goff else 1.0) + dD.Goff * dD.Vknee
32 : dD.LossPower = dD.v * dD.i
33 : dD.v = dD.p.v - dD.n.v
34 : 0.0 = dD.p.i + dD.n.i
35 : dD.i = dD.p.i
36 : inductor.L * der(inductor.i) = inductor.v
37 : inductor.v = inductor.p.v - inductor.n.v
38 : 0.0 = inductor.p.i + inductor.n.i
39 : inductor.i = inductor.p.i
40 : Load.R_actual = Load.R * (1.0 + Load.alpha * (Load.T_heatPort - Load.T_ref))
41 : Load.v = Load.R_actual * Load.i
42 : Load.LossPower = Load.v * Load.i
43 : Load.v = Load.p.v - Load.n.v
44 : 0.0 = Load.p.i + Load.n.i
45 : Load.i = Load.p.i
46 : Load.T_heatPort = Load.T
47 : uD1.off = uD1.s < 0.0
48 : uD1.v = uD1.s * (if uD1.off then 1.0 else uD1.Ron) + uD1.Vknee
49 : uD1.i = uD1.s * (if uD1.off then uD1.Goff else 1.0) + uD1.Goff * uD1.Vknee
50 : uD1.LossPower = uD1.v * uD1.i
51 : uD1.v = uD1.p.v - uD1.n.v
52 : 0.0 = uD1.p.i + uD1.n.i
53 : uD1.i = uD1.p.i
54 : uSW1.off = uSW1.s < 0.0 or not uSW1.fire
55 : uSW1.v = uSW1.s * (if uSW1.off then 1.0 else uSW1.Ron) + uSW1.Vknee
56 : uSW1.i = uSW1.s * (if uSW1.off then uSW1.Goff else 1.0) + uSW1.Goff * uSW1.Vknee
57 : uSW1.LossPower = uSW1.v * uSW1.i
58 : uSW1.v = uSW1.p.v - uSW1.n.v
59 : 0.0 = uSW1.p.i + uSW1.n.i
60 : uSW1.i = uSW1.p.i
61 : dSW1.off = dSW1.s < 0.0 or not dSW1.fire
62 : dSW1.v = dSW1.s * (if dSW1.off then 1.0 else dSW1.Ron) + dSW1.Vknee
63 : dSW1.i = dSW1.s * (if dSW1.off then dSW1.Goff else 1.0) + dSW1.Goff * dSW1.Vknee
64 : dSW1.LossPower = dSW1.v * dSW1.i
65 : dSW1.v = dSW1.p.v - dSW1.n.v
66 : 0.0 = dSW1.p.i + dSW1.n.i
67 : dSW1.i = dSW1.p.i
68 : dD1.off = dD1.s < 0.0
69 : dD1.v = dD1.s * (if dD1.off then 1.0 else dD1.Ron) + dD1.Vknee
70 : dD1.i = dD1.s * (if dD1.off then dD1.Goff else 1.0) + dD1.Goff * dD1.Vknee
71 : dD1.LossPower = dD1.v * dD1.i
72 : dD1.v = dD1.p.v - dD1.n.v
73 : 0.0 = dD1.p.i + dD1.n.i
74 : dD1.i = dD1.p.i
75 : nor2.y = not nor2.u
76 : powerSensor.voltageSensor.p.i = 0.0
77 : powerSensor.voltageSensor.v = powerSensor.voltageSensor.p.v - powerSensor.voltageSensor.n.v
78 : powerSensor.currentSensor.p.v = powerSensor.currentSensor.n.v
79 : powerSensor.currentSensor.p.i = powerSensor.currentSensor.i
80 : powerSensor.currentSensor.n.i = -powerSensor.currentSensor.i
81 : powerSensor.product.y = powerSensor.product.u1 * powerSensor.product.u2
82 : der(meanP.x) = meanP.u
83 : ground.p.i + Load.n.i + uD1.p.i + uSW1.n.i + dSW1.p.i + dD1.n.i = 0.0
84 : V1.p.i + uD.n.i + uSW.p.i + uD1.n.i + uSW1.p.i = 0.0
85 : V1.n.i + dSW.n.i + dD.p.i + dSW1.n.i + dD1.p.i = 0.0
86 : uD.p.i + uSW.n.i + dSW.p.i + dD.n.i + powerSensor.pc.i = 0.0
87 : inductor.p.i + powerSensor.nc.i + powerSensor.pv.i = 0.0
88 : inductor.n.i + Load.p.i = 0.0
89 : powerSensor.voltageSensor.p.i - powerSensor.pv.i = 0.0
90 : powerSensor.currentSensor.p.i - powerSensor.pc.i = 0.0
91 : powerSensor.currentSensor.n.i - powerSensor.nc.i = 0.0
92 : powerSensor.pv.v = powerSensor.voltageSensor.p.v
93 : powerSensor.nv.v = powerSensor.voltageSensor.n.v
94 : powerSensor.currentSensor.p.v = powerSensor.pc.v
95 : powerSensor.currentSensor.n.v = powerSensor.nc.v
96 : powerSensor.currentSensor.i = powerSensor.product.u2
97 : powerSensor.product.u1 = powerSensor.voltageSensor.v
98 : powerSensor.power = powerSensor.product.y
99 : booleanPulse.y = dSW1.fire
100 : booleanPulse.y = nor1.u
101 : booleanPulse.y = nor2.u
102 : booleanPulse.y = uSW.fire
103 : nor2.y = uSW1.fire
104 : Load.p.v = inductor.n.v
105 : V1.p.v = uD.n.v
106 : V1.p.v = uD1.n.v
107 : V1.p.v = uSW.p.v
108 : V1.p.v = uSW1.p.v
109 : dD.n.v = dSW.p.v
110 : dD.n.v = powerSensor.pc.v
111 : dD.n.v = uD.p.v
112 : dD.n.v = uSW.n.v
113 : V1.n.v = dD.p.v
114 : V1.n.v = dD1.p.v
115 : V1.n.v = dSW.n.v
116 : V1.n.v = dSW1.n.v
117 : Load.n.v = dD1.n.v
118 : Load.n.v = dSW1.p.v
119 : Load.n.v = ground.p.v
120 : Load.n.v = uD1.p.v
121 : Load.n.v = uSW1.n.v
122 : dSW.fire = nor1.y
123 : inductor.p.v = powerSensor.nc.v
124 : inductor.p.v = powerSensor.pv.v
125 : meanP.u = powerSensor.power
126 : when sample(2, meanP.t0 + 1.0 / meanP.f, 1.0 / meanP.f) then
  meanP.y := meanP.f * pre(meanP.x);
end when;
127 : when sample(1, booleanPulse.startTime, booleanPulse.period) then
  booleanPulse.pulseStart := time;
end when;

[2] 00:32:07 Translation Error
pre-optimization module clockPartitioning (simulation) failed.

[1] 00:34:43 Symbolic Error
An independent subset of the model has imbalanced number of equations (127) and variables (128).
variables:
meanP.x
meanP.y
meanP.u
powerSensor.product.y
powerSensor.product.u2
powerSensor.product.u1
powerSensor.currentSensor.i
powerSensor.currentSensor.n.i
powerSensor.currentSensor.n.v
powerSensor.currentSensor.p.i
powerSensor.currentSensor.p.v
powerSensor.voltageSensor.v
powerSensor.voltageSensor.n.v
powerSensor.voltageSensor.p.i
powerSensor.voltageSensor.p.v
powerSensor.power
powerSensor.nv.v
powerSensor.pv.i
powerSensor.pv.v
powerSensor.nc.i
powerSensor.nc.v
powerSensor.pc.i
powerSensor.pc.v
nor2.y
nor2.u
dD1.s
dD1.off
dD1.LossPower
dD1.n.i
dD1.n.v
dD1.p.i
dD1.p.v
dD1.i
dD1.v
dSW1.fire
dSW1.s
dSW1.off
dSW1.LossPower
dSW1.n.i
dSW1.n.v
dSW1.p.i
dSW1.p.v
dSW1.i
dSW1.v
uSW1.fire
uSW1.s
uSW1.off
uSW1.LossPower
uSW1.n.i
uSW1.n.v
uSW1.p.i
uSW1.p.v
uSW1.i
uSW1.v
uD1.s
uD1.off
uD1.LossPower
uD1.n.i
uD1.n.v
uD1.p.i
uD1.p.v
uD1.i
uD1.v
Load.R_actual
Load.T_heatPort
Load.LossPower
Load.n.i
Load.n.v
Load.p.i
Load.p.v
Load.i
Load.v
inductor.n.i
inductor.n.v
inductor.p.i
inductor.p.v
inductor.i
inductor.v
dD.s
dD.off
dD.LossPower
dD.n.i
dD.n.v
dD.p.i
dD.p.v
dD.i
dD.v
dSW.fire
dSW.s
dSW.off
dSW.LossPower
dSW.n.i
dSW.n.v
dSW.p.i
dSW.p.v
dSW.i
dSW.v
uSW.fire
uSW.s
uSW.off
uSW.LossPower
uSW.n.i
uSW.n.v
uSW.p.i
uSW.p.v
uSW.i
uSW.v
uD.s
uD.off
uD.LossPower
uD.n.i
uD.n.v
uD.p.i
uD.p.v
uD.i
uD.v
nor1.y
nor1.u
booleanPulse.pulseStart
booleanPulse.y
V1.n.i
V1.n.v
V1.p.i
V1.p.v
V1.i
V1.v
ground.p.i
ground.p.v
equations:
1 : ground.p.v = 0.0
2 : V1.v = V1.V
3 : V1.v = V1.p.v - V1.n.v
4 : 0.0 = V1.p.i + V1.n.i
5 : V1.i = V1.p.i
6 : booleanPulse.y = time >= booleanPulse.pulseStart and time < booleanPulse.pulseStart + booleanPulse.Twidth
7 : nor1.y = not nor1.u
8 : uD.off = uD.s < 0.0
9 : uD.v = uD.s * (if uD.off then 1.0 else uD.Ron) + uD.Vknee
10 : uD.i = uD.s * (if uD.off then uD.Goff else 1.0) + uD.Goff * uD.Vknee
11 : uD.LossPower = uD.v * uD.i
12 : uD.v = uD.p.v - uD.n.v
13 : 0.0 = uD.p.i + uD.n.i
14 : uD.i = uD.p.i
15 : uSW.off = uSW.s < 0.0 or not uSW.fire
16 : uSW.v = uSW.s * (if uSW.off then 1.0 else uSW.Ron) + uSW.Vknee
17 : uSW.i = uSW.s * (if uSW.off then uSW.Goff else 1.0) + uSW.Goff * uSW.Vknee
18 : uSW.LossPower = uSW.v * uSW.i
19 : uSW.v = uSW.p.v - uSW.n.v
20 : 0.0 = uSW.p.i + uSW.n.i
21 : uSW.i = uSW.p.i
22 : dSW.off = dSW.s < 0.0 or not dSW.fire
23 : dSW.v = dSW.s * (if dSW.off then 1.0 else dSW.Ron) + dSW.Vknee
24 : dSW.i = dSW.s * (if dSW.off then dSW.Goff else 1.0) + dSW.Goff * dSW.Vknee
25 : dSW.LossPower = dSW.v * dSW.i
26 : dSW.v = dSW.p.v - dSW.n.v
27 : 0.0 = dSW.p.i + dSW.n.i
28 : dSW.i = dSW.p.i
29 : dD.off = dD.s < 0.0
30 : dD.v = dD.s * (if dD.off then 1.0 else dD.Ron) + dD.Vknee
31 : dD.i = dD.s * (if dD.off then dD.Goff else 1.0) + dD.Goff * dD.Vknee
32 : dD.LossPower = dD.v * dD.i
33 : dD.v = dD.p.v - dD.n.v
34 : 0.0 = dD.p.i + dD.n.i
35 : dD.i = dD.p.i
36 : inductor.L * der(inductor.i) = inductor.v
37 : inductor.v = inductor.p.v - inductor.n.v
38 : 0.0 = inductor.p.i + inductor.n.i
39 : inductor.i = inductor.p.i
40 : Load.R_actual = Load.R * (1.0 + Load.alpha * (Load.T_heatPort - Load.T_ref))
41 : Load.v = Load.R_actual * Load.i
42 : Load.LossPower = Load.v * Load.i
43 : Load.v = Load.p.v - Load.n.v
44 : 0.0 = Load.p.i + Load.n.i
45 : Load.i = Load.p.i
46 : Load.T_heatPort = Load.T
47 : uD1.off = uD1.s < 0.0
48 : uD1.v = uD1.s * (if uD1.off then 1.0 else uD1.Ron) + uD1.Vknee
49 : uD1.i = uD1.s * (if uD1.off then uD1.Goff else 1.0) + uD1.Goff * uD1.Vknee
50 : uD1.LossPower = uD1.v * uD1.i
51 : uD1.v = uD1.p.v - uD1.n.v
52 : 0.0 = uD1.p.i + uD1.n.i
53 : uD1.i = uD1.p.i
54 : uSW1.off = uSW1.s < 0.0 or not uSW1.fire
55 : uSW1.v = uSW1.s * (if uSW1.off then 1.0 else uSW1.Ron) + uSW1.Vknee
56 : uSW1.i = uSW1.s * (if uSW1.off then uSW1.Goff else 1.0) + uSW1.Goff * uSW1.Vknee
57 : uSW1.LossPower = uSW1.v * uSW1.i
58 : uSW1.v = uSW1.p.v - uSW1.n.v
59 : 0.0 = uSW1.p.i + uSW1.n.i
60 : uSW1.i = uSW1.p.i
61 : dSW1.off = dSW1.s < 0.0 or not dSW1.fire
62 : dSW1.v = dSW1.s * (if dSW1.off then 1.0 else dSW1.Ron) + dSW1.Vknee
63 : dSW1.i = dSW1.s * (if dSW1.off then dSW1.Goff else 1.0) + dSW1.Goff * dSW1.Vknee
64 : dSW1.LossPower = dSW1.v * dSW1.i
65 : dSW1.v = dSW1.p.v - dSW1.n.v
66 : 0.0 = dSW1.p.i + dSW1.n.i
67 : dSW1.i = dSW1.p.i
68 : dD1.off = dD1.s < 0.0
69 : dD1.v = dD1.s * (if dD1.off then 1.0 else dD1.Ron) + dD1.Vknee
70 : dD1.i = dD1.s * (if dD1.off then dD1.Goff else 1.0) + dD1.Goff * dD1.Vknee
71 : dD1.LossPower = dD1.v * dD1.i
72 : dD1.v = dD1.p.v - dD1.n.v
73 : 0.0 = dD1.p.i + dD1.n.i
74 : dD1.i = dD1.p.i
75 : nor2.y = not nor2.u
76 : powerSensor.voltageSensor.p.i = 0.0
77 : powerSensor.voltageSensor.v = powerSensor.voltageSensor.p.v - powerSensor.voltageSensor.n.v
78 : powerSensor.currentSensor.p.v = powerSensor.currentSensor.n.v
79 : powerSensor.currentSensor.p.i = powerSensor.currentSensor.i
80 : powerSensor.currentSensor.n.i = -powerSensor.currentSensor.i
81 : powerSensor.product.y = powerSensor.product.u1 * powerSensor.product.u2
82 : der(meanP.x) = meanP.u
83 : ground.p.i + Load.n.i + uD1.p.i + uSW1.n.i + dSW1.p.i + dD1.n.i = 0.0
84 : V1.p.i + uD.n.i + uSW.p.i + uD1.n.i + uSW1.p.i = 0.0
85 : V1.n.i + dSW.n.i + dD.p.i + dSW1.n.i + dD1.p.i = 0.0
86 : uD.p.i + uSW.n.i + dSW.p.i + dD.n.i + powerSensor.pc.i = 0.0
87 : inductor.p.i + powerSensor.nc.i + powerSensor.pv.i = 0.0
88 : inductor.n.i + Load.p.i = 0.0
89 : powerSensor.voltageSensor.p.i - powerSensor.pv.i = 0.0
90 : powerSensor.currentSensor.p.i - powerSensor.pc.i = 0.0
91 : powerSensor.currentSensor.n.i - powerSensor.nc.i = 0.0
92 : powerSensor.pv.v = powerSensor.voltageSensor.p.v
93 : powerSensor.nv.v = powerSensor.voltageSensor.n.v
94 : powerSensor.currentSensor.p.v = powerSensor.pc.v
95 : powerSensor.currentSensor.n.v = powerSensor.nc.v
96 : powerSensor.currentSensor.i = powerSensor.product.u2
97 : powerSensor.product.u1 = powerSensor.voltageSensor.v
98 : powerSensor.power = powerSensor.product.y
99 : booleanPulse.y = dSW1.fire
100 : booleanPulse.y = nor1.u
101 : booleanPulse.y = nor2.u
102 : booleanPulse.y = uSW.fire
103 : nor2.y = uSW1.fire
104 : Load.p.v = inductor.n.v
105 : V1.p.v = uD.n.v
106 : V1.p.v = uD1.n.v
107 : V1.p.v = uSW.p.v
108 : V1.p.v = uSW1.p.v
109 : dD.n.v = dSW.p.v
110 : dD.n.v = powerSensor.pc.v
111 : dD.n.v = uD.p.v
112 : dD.n.v = uSW.n.v
113 : V1.n.v = dD.p.v
114 : V1.n.v = dD1.p.v
115 : V1.n.v = dSW.n.v
116 : V1.n.v = dSW1.n.v
117 : Load.n.v = dD1.n.v
118 : Load.n.v = dSW1.p.v
119 : Load.n.v = ground.p.v
120 : Load.n.v = uD1.p.v
121 : Load.n.v = uSW1.n.v
122 : dSW.fire = nor1.y
123 : inductor.p.v = powerSensor.nc.v
124 : inductor.p.v = powerSensor.pv.v
125 : meanP.u = powerSensor.power
126 : when sample(2, meanP.t0 + 1.0 / meanP.f, 1.0 / meanP.f) then
  meanP.y := meanP.f * pre(meanP.x);
end when;
127 : when sample(1, booleanPulse.startTime, booleanPulse.period) then
  booleanPulse.pulseStart := time;
end when;

[2] 00:34:43 Translation Error
pre-optimization module clockPartitioning (simulation) failed.

Attachments (1)

TwoLegs.mo (6.8 KB ) - added by massimo ceraolo 6 years ago.

Download all attachments as: .zip

Change History (9)

by massimo ceraolo, 6 years ago

Attachment: TwoLegs.mo added

comment:1 by Francesco Casella, 5 years ago

Milestone: 1.14.01.16.0

Releasing 1.14.0 which is stable and has many improvements w.r.t. 1.13.2. This issue is rescheduled to 1.16.0

comment:2 by massimo ceraolo, 5 years ago

Description: modified (diff)

comment:3 by massimo ceraolo, 4 years ago

Description: modified (diff)

comment:4 by massimo ceraolo, 4 years ago

Description: modified (diff)

comment:5 by Francesco Casella, 4 years ago

I agree that messages showing me 127 equations and 128 variables have little use, since it is not possible to a (normal) human being to make any use out of that. On the other hand, one could copy-and-paste it to a text editor and do some further analysis.

We may set an upper limit to the number of variables and equations shown, and write this to a file if that limit is exceeded.

In fact, the right way to solve this problem is to implement Modelica 3 balancedness checks, see #3977. This feature of the language was introduced exactly to avoid having to deal with such hopelessly long lists. #3977 is one of the key feature of the forthcoming 2.0.0 release. Once that is implemented, it will be possible to pinpoint the issue to much smaller subsets of variable and equations, that do not span the entire object-oriented system.

comment:6 by Francesco Casella, 4 years ago

Milestone: 1.16.01.17.0

Retargeted to 1.17.0 after 1.16.0 release

comment:7 by Francesco Casella, 4 years ago

Milestone: 1.17.01.18.0

Retargeted to 1.18.0 because of 1.17.0 timed release.

comment:8 by Francesco Casella, 3 years ago

Milestone: 1.18.0

Ticket retargeted after milestone closed

Note: See TracTickets for help on using tickets.