﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
4878	Issue with parameter arrays with zero elements in the NF	Francesco Casella	Per Östlund	"Please check [https://libraries.openmodelica.org/branches/newInst/Modelica_3.2.2/files/Modelica_3.2.2_Modelica.Blocks.Examples.Filter.err Modelica.Blocks.Examples.Filter]. The following errors are reported:
{{{
Modelica_3.2.2_Modelica.Blocks.Examples.Filter_06inz.c
Modelica_3.2.2_Modelica.Blocks.Examples.Filter_06inz.c:267:49: error: use of undeclared identifier '$PCriticalDamping$Pa'
  real_array_create(&tmp2, ((modelica_real*)&((&$PCriticalDamping$Pa)[calc_base_index_dims_subs(1, 0, ((modelica_integer) 1))])), 1, 0);
                                                ^
Modelica_3.2.2_Modelica.Blocks.Examples.Filter_06inz.c:268:49: error: use of undeclared identifier '$PCriticalDamping$Pb'
  real_array_create(&tmp3, ((modelica_real*)&((&$PCriticalDamping$Pb)[calc_base_index_dims_subs(1, 0, ((modelica_integer) 1))])), 1, 0);
                                                ^
Modelica_3.2.2_Modelica.Blocks.Examples.Filter_06inz.c:269:49: error: use of undeclared identifier '$PCriticalDamping$Pku'
  real_array_create(&tmp4, ((modelica_real*)&((&$PCriticalDamping$Pku)[calc_base_index_dims_subs(1, 0, ((modelica_integer) 1))])), 1, 0);
                                                ^
Modelica_3.2.2_Modelica.Blocks.Examples.Filter_06inz.c:271:49: error: use of undeclared identifier '$PCriticalDamping$Pc0'
  real_array_create(&tmp6, ((modelica_real*)&((&$PCriticalDamping$Pc0)[calc_base_index_dims_subs(1, 0, ((modelica_integer) 1))])), 1, 0);
                                                ^
Modelica_3.2.2_Modelica.Blocks.Examples.Filter_06inz.c:272:49: error: use of undeclared identifier '$PCriticalDamping$Pc1'
  real_array_create(&tmp7, ((modelica_real*)&((&$PCriticalDamping$Pc1)[calc_base_index_dims_subs(1, 0, ((modelica_integer) 1))])), 1, 0);
}}}

It turns out that {{{a, b, ku, c0, c1}}} are parameters array whose dimensions should be zero because of these declarations:
{{{
  parameter Integer nc0 = if analogFilter == Modelica.Blocks.Types.AnalogFilter.CriticalDamping then
                             0 else integer(order/2);
  parameter Integer na = if filterType == Modelica.Blocks.Types.FilterType.BandPass or
                            filterType == Modelica.Blocks.Types.FilterType.BandStop then order else
                         if analogFilter == Modelica.Blocks.Types.AnalogFilter.CriticalDamping then
                            0 else integer(order/2);

}}}

Something goes wrong there, so these parameters survive the FE and get somehow passed to the code generation phase. Unfortunately at the moment I cannot flatten the model myself to check what exactly is the issue."	defect	closed	high	2.0.0	New Instantiation		fixed		
