﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
3840	Incorrect message about cyclic parameters	Michael Wetter	somebody	"Simulating {{{TestPackage.Example}}} gives the error 
{{{
Cyclically dependent constants or parameters found in scope `TestPackage.TestModel`
}}}

Here is a test model that illustrates the construct we use:
{{{
package TestPackage
model Example
  TestModel t(set_a = true, a = 2);
end Example;

model TestModel
  parameter Boolean set_a = true ""Set to true to set parameter a"";
  parameter Real a = b
    annotation(Dialog(enable=set_a));
  parameter Real b = a
    annotation(Dialog(enable=not set_a));
end TestModel;
end TestPackage;
}}}

I agree that `TestPackage.TestModel` has a cyclic dependency, but when used in `TestPackage.Example`, this dependency is removed by setting `a=2`, hence there is no need to issue the error.

A use case for such a construct is `Annex60.Fluid.Chillers.Examples.Carnot_TEva` in which the user can specify a Carnot effectiveness from which the Carnot efficiency is computed, or vice versa, depending on a parameter such as `set_a`.

This is used in 15 out of the 20 regression tests of Annex 60 that fail. Can this test be delayed in OpenModelica until the parameters are assigned?"	defect	new	high	Future	Frontend				
