﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
1096	References to outer components with flow connectors produce additional connection equations.	rruusu	rruusu	"References to outer components seem to be handled like local components in generation of connection equations for flow variables.

Example model:
{{{
connector C
  flow Real f;
end C;

model M
  Real v;
  C c;
equation
  der(v) = c.f;
end M;

model Child
  C c;
  M innerM;
  Real v_total = innerM.v + outerM.v;
protected
  outer M outerM;
equation
  connect(c, innerM.c);
end Child;

model Test
  inner M outerM(v(start=10.0));
  Child child;
equation
  connect(outerM.c, child.c);
  der(outerM.v) = -1.0;
end Test;
}}}

Result:
{{{
fclass Test
Real outerM.v(start = 10.0);
Real outerM.c.f;
Real child.c.f;
Real child.innerM.v;
Real child.innerM.c.f;
Real child.v_total;
equation
  der(outerM.v) = outerM.c.f;
  der(child.innerM.v) = child.innerM.c.f;
  child.v_total = child.innerM.v + outerM.v;
  -child.c.f + child.innerM.c.f = 0.0;
  outerM.c.f = 0.0;  //<------------------------ Extra equation!!!!
  der(outerM.v) = -1.0;
  outerM.c.f + child.c.f = 0.0;
end Test;
}}}

{{outerM}} and {{child.outerM}} refer to the same component. An extra equation ({{outerM.c.f = 0.0;}}) is produced, presumably to handle the locally unconnected component {{child.outerM}}, which actually is just a reference to the outer component, and should thus not be locally terminated."	defect	closed	high				fixed		rruusu
