﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
5006	SimCode fails on array equations inside if equation	Per Östlund	Lennart Ochel	"The frontend doesn't scalarize array equations involving function calls, but it seems the backend can't handle this when the equations are inside an if equation. For example:
{{{#!mo
function f2
  input Real x[:];
  output Real y[:] = x;
end f2;

model test
  Real x[3];
equation
  if time > 1 then
    x = f2({time, time, time});
  else
    x = f2({time, time, time});
  end if;
end test;
}}}
This gives the error:
{{{
[SimCodeUtil.mo:2466:7-2466:46:writable] Error: Internt fel function createNonlinearResidualEquationsComplex failed for: {0.0, 0.0, 0.0} = x - f2({time, time, time})
Error: Internt fel function createNonlinearResidualEquations failed
[SimCodeUtil.mo:5180:7-5180:46:writable] Error: Internt fel complex equations currently only supported on form v = functioncall(...). Equation: {0.0, 0.0, 0.0} = x - f2({time, time, time}) solve for {x[1],x[3],x[2]}
[SimCodeUtil.mo:1366:5-1366:77:writable] Error: Internt fel createEquationsForSystems failed
[SimCodeUtil.mo:636:5-636:146:writable] Error: Internt fel function createSimCode failed [Transformation from optimised DAE to simulation code structure failed]
}}}
I haven't seen any actual models that use this pattern. I found it because the new frontend decided what to scalarize before doing simplifications, so it wouldn't scalarize matrix constructors (which are translated into `cat` calls). I'll fix that, but fixing this issue would still be nice since it would give the frontend more flexibility when it comes to array equations."	defect	new	normal	Future	Backend	v1.13.0-dev-nightly			
