﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
5505	Avoid file lists to be shown along with error messages	massimo ceraolo	somebody	"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.
}}}



"	defect	new	normal	1.16.0	*unknown*	v1.14.0-dev-nightly			
