Opened 6 years ago

Closed 6 years ago

#4965 closed defect (fixed)

The NF does not handle vectorized operations involving Complex arrays

Reported by: Francesco Casella Owned by: Per Östlund
Priority: high Milestone: 2.0.0
Component: New Instantiation Version:
Keywords: Cc: dr.christian.kral@…

Description

Please check Modelica.Magnetic.QuasiStatic.FundamentalWave.Examples.BasicMachines.InductionMachines.IMC_Characteristics. The following error is reported:

[Modelica 3.2.2/Magnetic/QuasiStatic/FundamentalWave.mo:6594:9-6595:35:writable]
Error: Cannot resolve type of expression
imcQS.plug_sp.pin.v - imcQS.plug_sn.pin.v. 
The operands have types Complex[3], Complex[3] in component <NO_COMPONENT>.

Apparently, vectorization of overloaded operators is still not implemented.

This issue affects the entire Modelica.Magnetic.QuasiStatic library.

Change History (6)

comment:1 by Christian Kral <dr.christian.kral@…>, 6 years ago

Cc: dr.christian.kral@… added

comment:2 by Per Östlund, 6 years ago

Fixed for + and - in 59a9d83. I'll leave this ticket open as a reminder to implement handling for the rest of the operators too, but this should at least take care of the MSL.

comment:3 by massimo ceraolo, 6 years ago

Please, consider the example discussed in comment 3 of ticket #4835.
Thanks.

in reply to:  3 comment:4 by Francesco Casella, 6 years ago

Replying to ceraolo:

Please, consider the example discussed in comment 3 of ticket #4835.

I report it here for convenience

model ComplexTest1
  parameter Integer n = 2;
  Real R[n,n]=ones(n,n);
  Real X[n,n]=ones(n,n);
  Complex Z[n,n];
  constant Complex j = Complex(0.0, 1.0);
equation 
    Z = R + j*X;
end ComplexTest1;

The current output of the NF is

Type mismatch in equation Z = Complex.'+'({Complex.'constructor'.fromReal(R[$i1, $i2], 0.0) for $i2 in 1:2, $i1 in 1:2}, Complex.'*'.multiply(j, {Complex.'constructor'.fromReal(X[$i1, $i2], 0.0) for $i2 in 1:2, $i1 in 1:2}))
of type Complex[2, 2] = Complex.

comment:5 by Francesco Casella, 6 years ago

This issue seems to be fixed, now this model fails because of #4969

comment:6 by Francesco Casella, 6 years ago

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.