diff --git a/IBPSA/Airflow/Multizone/BaseClasses/TwoWayFlowElement.mo b/IBPSA/Airflow/Multizone/BaseClasses/TwoWayFlowElement.mo index f784b173ac..e0e2c8e1db 100644 --- a/IBPSA/Airflow/Multizone/BaseClasses/TwoWayFlowElement.mo +++ b/IBPSA/Airflow/Multizone/BaseClasses/TwoWayFlowElement.mo @@ -169,7 +169,7 @@ This is for February 24, 2015 by Michael Wetter:
Changed model to use -Buildings.Utilities.Psychrometrics.Functions.density_pTX +IBPSA.Utilities.Psychrometrics.Functions.density_pTX for the density computation as diff --git a/IBPSA/Controls/OBC/CDL/Constants.mo b/IBPSA/Controls/OBC/CDL/Constants.mo new file mode 100644 index 0000000000..b964aecc93 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Constants.mo @@ -0,0 +1,68 @@ +within IBPSA.Controls.OBC.CDL; +package Constants + "Package with constants" + // Machine dependent constants + final constant Real eps=1E-15 + "Biggest number such that 1.0 + eps = 1.0"; + final constant Real small=1E-37 + "Smallest number such that small and -small are representable on the machine"; + final constant Real pi=2*Modelica.Math.asin(1.0) + "Constant number pi, 3.14159265358979"; + annotation ( + Documentation( + info=" +

+This package provides often needed constants. +

+", + revisions=" +
+"), + Icon( + coordinateSystem( + extent={{-100.0,-100.0},{100.0,100.0}}), + graphics={ + Rectangle( + lineColor={200,200,200}, + fillColor={248,248,248}, + fillPattern=FillPattern.HorizontalCylinder, + extent={{-100.0,-100.0},{100.0,100.0}}, + radius=25.0), + Polygon( + origin={-9.2597,25.6673}, + fillColor={102,102,102}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{48.017,11.336},{48.017,11.336},{10.766,11.336},{-25.684,10.95},{-34.944,-15.111},{-34.944,-15.111},{-32.298,-15.244},{-32.298,-15.244},{-22.112,0.168},{11.292,0.234},{48.267,-0.097},{48.267,-0.097}}, + smooth=Smooth.Bezier), + Polygon( + origin={-19.9923,-8.3993}, + fillColor={102,102,102}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{3.239,37.343},{3.305,37.343},{-0.399,2.683},{-16.936,-20.071},{-7.808,-28.604},{6.811,-22.519},{9.986,37.145},{9.986,37.145}}, + smooth=Smooth.Bezier), + Polygon( + origin={23.753,-11.5422}, + fillColor={102,102,102}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-10.873,41.478},{-10.873,41.478},{-14.048,-4.162},{-9.352,-24.8},{7.912,-24.469},{16.247,0.27},{16.247,0.27},{13.336,0.071},{13.336,0.071},{7.515,-9.983},{-3.134,-7.271},{-2.671,41.214},{-2.671,41.214}}, + smooth=Smooth.Bezier), + Rectangle( + lineColor={128,128,128}, + extent={{-100.0,-100.0},{100.0,100.0}}, + radius=25.0)})); +end Constants; diff --git a/IBPSA/Controls/OBC/CDL/Conversions/BooleanToInteger.mo b/IBPSA/Controls/OBC/CDL/Conversions/BooleanToInteger.mo new file mode 100644 index 0000000000..bfa2cac483 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Conversions/BooleanToInteger.mo @@ -0,0 +1,101 @@ +within IBPSA.Controls.OBC.CDL.Conversions; +block BooleanToInteger + "Convert Boolean to Integer signal" + parameter Integer integerTrue=1 + "Output signal for true Boolean input"; + parameter Integer integerFalse=0 + "Output signal for false Boolean input"; + IBPSA.Controls.OBC.CDL.Interfaces.BooleanInput u + "Boolean signal to be converted to an Integer signal" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.IntegerOutput y + "Converted input signal as an Integer" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +equation + y=if u then + integerTrue + else + integerFalse; + annotation ( + defaultComponentName="booToInt", + Documentation( + info=" +

+Block that outputs the Integer +equivalent of the Boolean input. +

+
+  y = if u then integerTrue else integerFalse;
+
+

+where u is of Boolean and y +of Integer type, +and integerTrue and integerFalse are parameters. +

+", + revisions=" + +"), + Icon( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100,-100},{100,100}}), + graphics={ + Rectangle( + extent={{-100,100},{100,-100}}, + fillColor={210,210,210}, + lineThickness=5.0, + fillPattern=FillPattern.Solid, + borderPattern=BorderPattern.Raised), + Text( + extent={{-86,78},{-34,26}}, + textColor={255,0,255}, + textString="B"), + Polygon( + points={{28,48},{8,68},{8,58},{-24,58},{-24,38},{8,38},{8,28},{28,48}}, + lineColor={255,170,85}, + fillColor={255,170,85}, + fillPattern=FillPattern.Solid), + Text( + extent={{34,82},{86,24}}, + textColor={255,170,85}, + textString="I"), + Ellipse( + extent={{-71,7},{-85,-7}}, + lineColor=DynamicSelect({235,235,235}, + if u then + {0,255,0} + else + {235,235,235}), + fillColor=DynamicSelect({235,235,235}, + if u then + {0,255,0} + else + {235,235,235}), + fillPattern=FillPattern.Solid), + Text( + extent={{-150,150},{150,110}}, + textString="%name", + textColor={0,0,255}), + Text( + extent={{-74,-28},{64,20}}, + textColor={0,0,0}, + textString="%integerTrue"), + Text( + extent={{-74,-90},{64,-42}}, + textColor={0,0,0}, + textString="%integerFalse")})); +end BooleanToInteger; diff --git a/IBPSA/Controls/OBC/CDL/Conversions/BooleanToReal.mo b/IBPSA/Controls/OBC/CDL/Conversions/BooleanToReal.mo new file mode 100644 index 0000000000..175b93d1e5 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Conversions/BooleanToReal.mo @@ -0,0 +1,101 @@ +within IBPSA.Controls.OBC.CDL.Conversions; +block BooleanToReal + "Convert Boolean to Real signal" + parameter Real realTrue=1.0 + "Output signal for true Boolean input"; + parameter Real realFalse=0.0 + "Output signal for false Boolean input"; + IBPSA.Controls.OBC.CDL.Interfaces.BooleanInput u + "Boolean signal to be converted to a Real signal" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealOutput y + "Converted input signal as a Real" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +equation + y=if u then + realTrue + else + realFalse; + annotation ( + defaultComponentName="booToRea", + Documentation( + info=" +

+Block that outputs the Real +equivalent of the Boolean input. +

+
+  y = if u then realTrue else realFalse;
+
+

+where u is of Boolean and y +of Real type, +and realTrue and realFalse are parameters. +

+", + revisions=" + +"), + Icon( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100,-100},{100,100}}), + graphics={ + Rectangle( + extent={{-100,100},{100,-100}}, + fillColor={210,210,210}, + lineThickness=5.0, + fillPattern=FillPattern.Solid, + borderPattern=BorderPattern.Raised), + Ellipse( + extent={{-71,7},{-85,-7}}, + lineColor=DynamicSelect({235,235,235}, + if u then + {0,255,0} + else + {235,235,235}), + fillColor=DynamicSelect({235,235,235}, + if u then + {0,255,0} + else + {235,235,235}), + fillPattern=FillPattern.Solid), + Text( + extent={{-150,150},{150,110}}, + textString="%name", + textColor={0,0,255}), + Text( + extent={{-68,-86},{70,-38}}, + textColor={0,0,0}, + textString="%realFalse"), + Text( + extent={{-68,-26},{70,22}}, + textColor={0,0,0}, + textString="%realTrue"), + Text( + extent={{-86,78},{-34,26}}, + textColor={255,0,255}, + textString="B"), + Polygon( + points={{26,48},{6,68},{6,58},{-26,58},{-26,38},{6,38},{6,28},{26,48}}, + lineColor={0,0,127}, + fillColor={0,0,127}, + fillPattern=FillPattern.Solid), + Text( + extent={{34,82},{86,24}}, + textColor={0,0,127}, + textString="R")})); +end BooleanToReal; diff --git a/IBPSA/Controls/OBC/CDL/Conversions/IntegerToReal.mo b/IBPSA/Controls/OBC/CDL/Conversions/IntegerToReal.mo new file mode 100644 index 0000000000..23a9bfb7ba --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Conversions/IntegerToReal.mo @@ -0,0 +1,66 @@ +within IBPSA.Controls.OBC.CDL.Conversions; +block IntegerToReal + "Convert Integer to Real signals" + IBPSA.Controls.OBC.CDL.Interfaces.IntegerInput u + "Integer signal to be converted to a Real signal" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealOutput y + "Converted input signal as a Real" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +equation + y=u; + annotation ( + defaultComponentName="intToRea", + Icon( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100.0,-100.0},{100.0,100.0}}), + graphics={ + Text( + extent={{-150,150},{150,110}}, + textString="%name", + textColor={0,0,255}), + Rectangle( + extent={{-100,-100},{100,100}}, + lineColor={0,0,127}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Text( + textColor={255,127,0}, + extent={{-120.0,-40.0},{-20.0,40.0}}, + textString="I"), + Text( + textColor={0,0,127}, + fillPattern=FillPattern.Solid, + extent={{0.0,-40.0},{100.0,40.0}}, + textString="R"), + Polygon( + lineColor={0,0,127}, + fillColor={0,0,127}, + fillPattern=FillPattern.Solid, + points={{10.0,0.0},{-10.0,20.0},{-10.0,10.0},{-40.0,10.0},{-40.0,-10.0},{-10.0,-10.0},{-10.0,-20.0},{10.0,0.0}})}), + Documentation( + info=" +

+Block that outputs the Real +equivalent of the Integer input. +

+
+  y = u;
+
+

+where u is of Integer and +y of Real type. +

+", + revisions=" + +")); +end IntegerToReal; diff --git a/IBPSA/Controls/OBC/CDL/Conversions/RealToInteger.mo b/IBPSA/Controls/OBC/CDL/Conversions/RealToInteger.mo new file mode 100644 index 0000000000..a3ee5c3f94 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Conversions/RealToInteger.mo @@ -0,0 +1,73 @@ +within IBPSA.Controls.OBC.CDL.Conversions; +block RealToInteger + "Convert Real to Integer signal" + IBPSA.Controls.OBC.CDL.Interfaces.RealInput u + "Real signal to be converted to an Integer signal" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.IntegerOutput y + "Converted input signal as an Integer" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +equation + y=if + (u > 0) then + integer( + floor( + u+0.5)) + else + integer( + ceil( + u-0.5)); + annotation ( + defaultComponentName="reaToInt", + Icon( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100.0,-100.0},{100.0,100.0}}), + graphics={ + Rectangle( + extent={{-100,-100},{100,100}}, + lineColor={255,127,0}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Text( + textColor={0,0,127}, + extent={{-100.0,-40.0},{0.0,40.0}}, + textString="R"), + Text( + textColor={255,127,0}, + extent={{20.0,-40.0},{120.0,40.0}}, + textString="I"), + Polygon( + lineColor={255,127,0}, + fillColor={255,127,0}, + fillPattern=FillPattern.Solid, + points={{50.0,0.0},{30.0,20.0},{30.0,10.0},{0.0,10.0},{0.0,-10.0},{30.0,-10.0},{30.0,-20.0},{50.0,0.0}}), + Text( + extent={{-150,150},{150,110}}, + textString="%name", + textColor={0,0,255})}), + Documentation( + info=" +

+Block that outputs y +as the nearest integer value of the input u. +

+

+The block outputs +

+
+    y = integer( floor( u + 0.5 ) )  if u > 0,
+    y = integer( ceil ( u - 0.5 ) )  otherwise.
+
+", + revisions=" + +")); +end RealToInteger; diff --git a/IBPSA/Controls/OBC/CDL/Conversions/Validation/BooleanToInteger.mo b/IBPSA/Controls/OBC/CDL/Conversions/Validation/BooleanToInteger.mo new file mode 100644 index 0000000000..9af28be520 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Conversions/Validation/BooleanToInteger.mo @@ -0,0 +1,50 @@ +within IBPSA.Controls.OBC.CDL.Conversions.Validation; +model BooleanToInteger + "Validation model for the BooleanToInteger block" + IBPSA.Controls.OBC.CDL.Conversions.BooleanToInteger booToInt + "Block that converts Boolean to Integer signal" + annotation (Placement(transformation(extent={{30,-10},{50,10}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul( + period=1) + "Generate cyclic on-and-off output" + annotation (Placement(transformation(extent={{-20,-10},{0,10}}))); + +equation + connect(booPul.y,booToInt.u) + annotation (Line(points={{2,0},{28,0},{28,0}},color={255,0,255})); + annotation ( + experiment( + StopTime=4.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Conversions/Validation/BooleanToInteger.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Conversions.BooleanToInteger. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end BooleanToInteger; diff --git a/IBPSA/Controls/OBC/CDL/Conversions/Validation/BooleanToReal.mo b/IBPSA/Controls/OBC/CDL/Conversions/Validation/BooleanToReal.mo new file mode 100644 index 0000000000..fda9178d76 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Conversions/Validation/BooleanToReal.mo @@ -0,0 +1,50 @@ +within IBPSA.Controls.OBC.CDL.Conversions.Validation; +model BooleanToReal + "Validation model for the BooleanToReal block" + IBPSA.Controls.OBC.CDL.Conversions.BooleanToReal booToRea + "Block that converts Boolean to Real signal" + annotation (Placement(transformation(extent={{30,-10},{50,10}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul( + period=1) + "Generate cyclic on-and-off output" + annotation (Placement(transformation(extent={{-20,-10},{0,10}}))); + +equation + connect(booPul.y,booToRea.u) + annotation (Line(points={{2,0},{28,0},{28,0}},color={255,0,255})); + annotation ( + experiment( + StopTime=4.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Conversions/Validation/BooleanToReal.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Conversions.BooleanToReal. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end BooleanToReal; diff --git a/IBPSA/Controls/OBC/CDL/Conversions/Validation/IntegerToReal.mo b/IBPSA/Controls/OBC/CDL/Conversions/Validation/IntegerToReal.mo new file mode 100644 index 0000000000..42ab49f046 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Conversions/Validation/IntegerToReal.mo @@ -0,0 +1,63 @@ +within IBPSA.Controls.OBC.CDL.Conversions.Validation; +model IntegerToReal + "Validation model for the IntegerToReal block" + IBPSA.Controls.OBC.CDL.Conversions.IntegerToReal intToRea + "Block that converts Integer to Real signal" + annotation (Placement(transformation(extent={{40,-10},{60,10}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp1( + duration=1, + offset=-3.5, + height=7.0) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-80,-10},{-60,10}}))); + IBPSA.Controls.OBC.CDL.Reals.Round round2( + n=0) + "Round real number to given digits" + annotation (Placement(transformation(extent={{-40,-10},{-20,10}}))); + IBPSA.Controls.OBC.CDL.Conversions.RealToInteger reaToInt1 + "Convert real to integer" + annotation (Placement(transformation(extent={{0,-10},{20,10}}))); + +equation + connect(ramp1.y,round2.u) + annotation (Line(points={{-58,0},{-42,0}},color={0,0,127})); + connect(round2.y,reaToInt1.u) + annotation (Line(points={{-18,0},{-2,0}},color={0,0,127})); + connect(reaToInt1.y,intToRea.u) + annotation (Line(points={{22,0},{28,0},{28,0},{38,0}},color={255,127,0})); + annotation ( + experiment( + StopTime=1.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Conversions/Validation/IntegerToReal.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Conversions.IntegerToReal. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end IntegerToReal; diff --git a/IBPSA/Controls/OBC/CDL/Conversions/Validation/RealToInteger.mo b/IBPSA/Controls/OBC/CDL/Conversions/Validation/RealToInteger.mo new file mode 100644 index 0000000000..6af50942b9 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Conversions/Validation/RealToInteger.mo @@ -0,0 +1,52 @@ +within IBPSA.Controls.OBC.CDL.Conversions.Validation; +model RealToInteger + "Validation model for the RealToInteger block" + IBPSA.Controls.OBC.CDL.Conversions.RealToInteger reaToInt + "Block that converts Real to Integer signal" + annotation (Placement(transformation(extent={{30,-10},{50,10}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp1( + duration=1, + offset=-3.5, + height=7.0) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-60,-10},{-40,10}}))); + +equation + connect(ramp1.y,reaToInt.u) + annotation (Line(points={{-39,0},{28,0}},color={0,0,127})); + annotation ( + experiment( + StopTime=1.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Conversions/Validation/RealToInteger.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Conversions.RealToInteger. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end RealToInteger; diff --git a/IBPSA/Controls/OBC/CDL/Conversions/Validation/package.mo b/IBPSA/Controls/OBC/CDL/Conversions/Validation/package.mo new file mode 100644 index 0000000000..26ec4de8c5 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Conversions/Validation/package.mo @@ -0,0 +1,37 @@ +within IBPSA.Controls.OBC.CDL.Conversions; +package Validation "Collection of models that validate the conversion blocks of the CDL" + annotation ( + preferredView="info", + Documentation( + info=" +

+This package contains models that validate the blocks in + +IBPSA.Controls.OBC.CDL.Conversions. +

+

+The examples plot various outputs, which have been verified against +analytical solutions. These model outputs are stored as reference data to +allow continuous validation whenever models in the library change. +

+"), + Icon( + graphics={ + Rectangle( + lineColor={200,200,200}, + fillColor={248,248,248}, + fillPattern=FillPattern.HorizontalCylinder, + extent={{-100,-100},{100,100}}, + radius=25.0), + Rectangle( + lineColor={128,128,128}, + extent={{-100,-100},{100,100}}, + radius=25.0), + Polygon( + origin={8,14}, + lineColor={78,138,73}, + fillColor={78,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-58.0,46.0},{42.0,-14.0},{-58.0,-74.0},{-58.0,46.0}})})); +end Validation; diff --git a/IBPSA/Controls/OBC/CDL/Conversions/Validation/package.order b/IBPSA/Controls/OBC/CDL/Conversions/Validation/package.order new file mode 100644 index 0000000000..50d7ddd0d7 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Conversions/Validation/package.order @@ -0,0 +1,4 @@ +BooleanToInteger +BooleanToReal +IntegerToReal +RealToInteger diff --git a/IBPSA/Controls/OBC/CDL/Conversions/package.mo b/IBPSA/Controls/OBC/CDL/Conversions/package.mo new file mode 100644 index 0000000000..52d55e5d3a --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Conversions/package.mo @@ -0,0 +1,30 @@ +within IBPSA.Controls.OBC.CDL; +package Conversions "Package with blocks for type conversion" + annotation ( + Documentation( + info=" +

+Package with blocks for type conversions. +

+", + revisions=" + +"), + Icon( + graphics={ + Rectangle( + lineColor={200,200,200}, + fillColor={248,248,248}, + fillPattern=FillPattern.HorizontalCylinder, + extent={{-100.0,-100.0},{100.0,100.0}}, + radius=25.0), + Rectangle( + lineColor={128,128,128}, + extent={{-100.0,-100.0},{100.0,100.0}}, + radius=25.0)})); +end Conversions; diff --git a/IBPSA/Controls/OBC/CDL/Conversions/package.order b/IBPSA/Controls/OBC/CDL/Conversions/package.order new file mode 100644 index 0000000000..92db79bf1c --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Conversions/package.order @@ -0,0 +1,5 @@ +BooleanToInteger +BooleanToReal +IntegerToReal +RealToInteger +Validation diff --git a/IBPSA/Controls/OBC/CDL/Discrete/FirstOrderHold.mo b/IBPSA/Controls/OBC/CDL/Discrete/FirstOrderHold.mo new file mode 100644 index 0000000000..0a3a4ee7ba --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Discrete/FirstOrderHold.mo @@ -0,0 +1,137 @@ +within IBPSA.Controls.OBC.CDL.Discrete; +block FirstOrderHold + "First order hold of a sampled-data system" + parameter Real samplePeriod( + final quantity="Time", + final unit="s", + min=1E-3) + "Sample period of component"; + IBPSA.Controls.OBC.CDL.Interfaces.RealInput u + "Input signal to be sampled" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealOutput y + "First order hold of input signal" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +protected + parameter Real t0( + final quantity="Time", + final unit="s", + fixed=false) + "First sample time instant"; + output Boolean sampleTrigger + "True, if sample time instant"; + output Boolean firstTrigger( + start=false, + fixed=true) + "Rising edge signals first sample instant"; + Real tSample( + final quantity="Time", + final unit="s") + "Time of sample"; + Real uSample + "Value of sample"; + Real pre_uSample + "Value of previous sample"; + Real c + "Slope"; + +initial equation + t0=IBPSA.Utilities.Math.Functions.round( + x=integer(time/samplePeriod)*samplePeriod, + n=6); + pre(tSample)=t0; + pre(uSample)=u; + pre(pre_uSample)=u; + pre(c)=0.0; + +equation + // Declarations that are used for all discrete blocks + sampleTrigger=sample( + t0, + samplePeriod); + when sampleTrigger then + firstTrigger=time <= t0+samplePeriod/2; + tSample=time; + uSample=u; + pre_uSample=pre(uSample); + c=if firstTrigger then + 0 + else + (uSample-pre_uSample)/samplePeriod; + end when; + /* Use pre_uSample and pre(c) to break potential algebraic loops by an + infinitesimal delay if both the continuous and the discrete part + have direct feedthrough. + */ + y=pre_uSample+pre(c)*(time-tSample); + annotation ( + defaultComponentName="firOrdHol", + Icon( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100.0,-100.0},{100.0,100.0}}), + graphics={ + Rectangle( + extent={{-100,-100},{100,100}}, + lineColor={0,0,127}, + fillColor={223,211,169}, + lineThickness=5.0, + borderPattern=BorderPattern.Raised, + fillPattern=FillPattern.Solid), + Text( + extent={{-150,150},{150,110}}, + textString="%name", + textColor={0,0,255}), + Line( + points={{-79.0,-41.0},{-59.0,-33.0},{-40.0,1.0},{-20.0,9.0},{0.0,63.0},{21.0,20.0},{41.0,10.0},{60.0,20.0}}, + color={0,0,127}), + Line( + points={{60.0,20.0},{81.0,10.0}}, + color={0,0,127}), + Text( + extent={{226,60},{106,10}}, + textColor={0,0,0}, + textString=DynamicSelect("",String(y, + leftJustified=false, + significantDigits=3)))}), + Documentation( + info=" +

+Block that outputs the extrapolation through the +values of the last two sampled input signals. +

+", + revisions=" + +")); +end FirstOrderHold; diff --git a/IBPSA/Controls/OBC/CDL/Discrete/Sampler.mo b/IBPSA/Controls/OBC/CDL/Discrete/Sampler.mo new file mode 100644 index 0000000000..5188669c63 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Discrete/Sampler.mo @@ -0,0 +1,137 @@ +within IBPSA.Controls.OBC.CDL.Discrete; +block Sampler + "Ideal sampler of a continuous signal" + parameter Real samplePeriod( + final quantity="Time", + final unit="s", + min=1E-3) + "Sample period of component"; + IBPSA.Controls.OBC.CDL.Interfaces.RealInput u + "Input signal to be sampled" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealOutput y + "Sampled input signal" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +protected + parameter Real t0( + final quantity="Time", + final unit="s", + fixed=false) + "First sample time instant"; + output Boolean sampleTrigger + "True, if sample time instant"; + output Boolean firstTrigger( + start=false, + fixed=true) + "Rising edge signals first sample instant"; + +initial equation + t0=IBPSA.Utilities.Math.Functions.round( + x=integer(time/samplePeriod)*samplePeriod, + n=6); + +equation + // Declarations that are used for all discrete blocks + sampleTrigger=sample( + t0, + samplePeriod); + when sampleTrigger then + firstTrigger=time <= t0+samplePeriod/2; + end when; + // Declarations specific to this type of discrete block + when {sampleTrigger,initial()} then + y=u; + end when; + annotation ( + defaultComponentName="sam", + Icon( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100.0,-100.0},{100.0,100.0}}), + graphics={ + Rectangle( + extent={{-100,-100},{100,100}}, + lineColor={0,0,127}, + fillColor={223,211,169}, + lineThickness=5.0, + borderPattern=BorderPattern.Raised, + fillPattern=FillPattern.Solid), + Text( + extent={{-150,150},{150,110}}, + textString="%name", + textColor={0,0,255}), + Ellipse( + lineColor={0,0,127}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{25.0,-10.0},{45.0,10.0}}), + Line( + points={{-100.0,0.0},{-45.0,0.0}}, + color={0,0,127}), + Line( + points={{45.0,0.0},{100.0,0.0}}, + color={0,0,127}), + Line( + points={{-35.0,0.0},{30.0,35.0}}, + color={0,0,127}), + Ellipse( + lineColor={0,0,127}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-45.0,-10.0},{-25.0,10.0}})}), + Diagram( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100,-100},{100,100}}), + graphics={ + Text( + extent={{226,60},{106,10}}, + textColor={0,0,0}, + textString=DynamicSelect("",String(y, + leftJustified=false, + significantDigits=3)))}), + Documentation( + info=" +

+Block that outputs the input signal, sampled at a sampling rate defined +via parameter samplePeriod. +

+", + revisions=" + +")); +end Sampler; diff --git a/IBPSA/Controls/OBC/CDL/Discrete/TriggeredMax.mo b/IBPSA/Controls/OBC/CDL/Discrete/TriggeredMax.mo new file mode 100644 index 0000000000..94da32d7a0 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Discrete/TriggeredMax.mo @@ -0,0 +1,110 @@ +within IBPSA.Controls.OBC.CDL.Discrete; +block TriggeredMax + "Output the maximum, absolute value of a continuous signal at trigger instants" + IBPSA.Controls.OBC.CDL.Interfaces.RealInput u + "Input signal to be sampled" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.BooleanInput trigger + "Input for trigger that causes u to be sampled" + annotation (Placement(transformation(origin={0,-120},extent={{-20,-20},{20,20}},rotation=90))); + IBPSA.Controls.OBC.CDL.Interfaces.RealOutput y + "Maximum of input signal over all trigger instants" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +initial equation + y=u; + +equation + when trigger then + y=max( + pre(y), + abs(u)); + end when; + annotation ( + defaultComponentName="triMax", + Icon( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100.0,-100.0},{100.0,100.0}}), + graphics={ + Rectangle( + extent={{-100,-100},{100,100}}, + lineColor={0,0,127}, + fillColor={223,211,169}, + lineThickness=5.0, + borderPattern=BorderPattern.Raised, + fillPattern=FillPattern.Solid), + Text( + extent={{-150,150},{150,110}}, + textString="%name", + textColor={0,0,255}), + Ellipse( + lineColor={0,0,127}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{25.0,-10.0},{45.0,10.0}}), + Line( + points={{-100.0,0.0},{-45.0,0.0}}, + color={0,0,127}), + Line( + points={{45.0,0.0},{100.0,0.0}}, + color={0,0,127}), + Line( + points={{0.0,-100.0},{0.0,-26.0}}, + color={255,0,255}), + Line( + points={{-35.0,0.0},{28.0,-48.0}}, + color={0,0,127}), + Text( + extent={{-86.0,24.0},{82.0,82.0}}, + textString="max"), + Ellipse( + lineColor={0,0,127}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-45.0,-10.0},{-25.0,10.0}})}), + Diagram( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100,-100},{100,100}}), + graphics={ + Text( + extent={{226,60},{106,10}}, + textColor={0,0,0}, + textString=DynamicSelect("",String(y, + leftJustified=false, + significantDigits=3)))}), + Documentation( + info=" +

+Block that outputs the input signal whenever the trigger input +signal is rising (i.e., trigger changes to +true). The maximum, absolute value of the input signal +at the sampling point is provided as the output signal. +

+", + revisions=" + +")); +end TriggeredMax; diff --git a/IBPSA/Controls/OBC/CDL/Discrete/TriggeredMovingMean.mo b/IBPSA/Controls/OBC/CDL/Discrete/TriggeredMovingMean.mo new file mode 100644 index 0000000000..a9ad80c179 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Discrete/TriggeredMovingMean.mo @@ -0,0 +1,200 @@ +within IBPSA.Controls.OBC.CDL.Discrete; +block TriggeredMovingMean + "Triggered discrete moving mean of an input signal" + parameter Integer n( + min=1) + "Number of samples over which the input is averaged"; + IBPSA.Controls.OBC.CDL.Interfaces.RealInput u + "Input signal to be sampled" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.BooleanInput trigger + "Input for trigger that causes u to be sampled" + annotation (Placement(transformation(origin={0,-120},extent={{-20,-20},{20,20}},rotation=90),iconTransformation(extent={{-20,-20},{20,20}},rotation=90,origin={0,-120}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealOutput y + "Moving mean of input signal over all trigger instants" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +protected + Integer iSample( + start=0, + fixed=true) + "Sample numbering in the calculation"; + Integer counter( + start=0, + fixed=true) + "Number of samples used for averaging calculation"; + Integer index( + start=0, + fixed=true) + "Index of the vector ySample"; + discrete Real ySample[n]( + start=zeros(n), + each fixed=true) + "Vector of samples to be averaged"; + +equation + when {initial(),trigger} then + index=mod( + pre(iSample), + n)+1; + ySample={ + if + (i == index) then + u + else + pre(ySample[i]) for i in 1:n}; + counter= + if pre(counter) == n then + n + else + pre(counter)+1; + y=sum(ySample)/counter; + iSample=pre(iSample)+1; + end when; + annotation ( + defaultComponentName="triMovMea", + Icon( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100,-100},{100,100}}), + graphics={ + Rectangle( + extent={{-100,-100},{100,100}}, + lineColor={0,0,127}, + fillColor={223,211,169}, + lineThickness=5.0, + borderPattern=BorderPattern.Raised, + fillPattern=FillPattern.Solid), + Text( + extent={{-150,150},{150,110}}, + textString="%name", + textColor={0,0,255}), + Line( + points={{-88,0},{70,0}}, + color={192,192,192}), + Polygon( + points={{92,0},{70,8},{70,-8},{92,0}}, + lineColor={192,192,192}, + fillColor={192,192,192}, + fillPattern=FillPattern.Solid), + Line( + points={{-80,68},{-80,-80}}, + color={192,192,192}), + Polygon( + points={{-80,90},{-88,68},{-72,68},{-80,90}}, + lineColor={192,192,192}, + fillColor={192,192,192}, + fillPattern=FillPattern.Solid), + Line( + points={{-80,0},{-52,0}}, + color={217,67,180}), + Line( + points={{-80,0},{-68.7,34.2},{-61.5,53.1},{-55.1,66.4},{-49.4,74.6},{-43.8,79.1},{-38.2,79.8},{-32.6,76.6},{-26.9,69.7},{-21.3,59.4},{-14.9,44.1},{-6.83,21.2},{10.1,-30.8},{17.3,-50.2},{23.7,-64.2},{29.3,-73.1},{35,-78.4},{40.6,-80},{46.2,-77.6},{51.9,-71.5},{57.5,-61.9},{63.9,-47.2},{72,-24.8},{80,0}}, + smooth=Smooth.Bezier, + color={28,108,200}), + Line( + points={{-52,36},{-24,36}}, + color={217,67,180}), + Line( + points={{-52,0},{-52,36}}, + color={217,67,180}, + smooth=Smooth.Bezier), + Line( + points={{-24,36},{-24,46}}, + color={217,67,180}, + smooth=Smooth.Bezier), + Line( + points={{-24,46},{4,46}}, + color={217,67,180}), + Line( + points={{4,4},{32,4}}, + color={217,67,180}), + Line( + points={{4,46},{4,4}}, + color={217,67,180}, + smooth=Smooth.Bezier), + Line( + points={{32,-32},{60,-32}}, + color={217,67,180}), + Line( + points={{32,4},{32,-32}}, + color={217,67,180}, + smooth=Smooth.Bezier), + Line( + points={{60,-58},{82,-58}}, + color={217,67,180}), + Line( + points={{60,-32},{60,-58}}, + color={217,67,180}, + smooth=Smooth.Bezier), + Ellipse( + extent={{-25,-10},{-45,10}}, + lineColor={176,181,255}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Ellipse( + extent={{45,-10},{25,10}}, + lineColor={176,181,255}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Line( + points={{-100,0},{-45,0}}, + color={176,181,255}), + Line( + points={{45,0},{100,0}}, + color={176,181,255}), + Line( + points={{-35,0},{28,-48}}, + color={176,181,255}), + Line( + points={{0,-100},{0,-26}}, + color={255,0,255}), + Text( + extent={{56,92},{92,60}}, + textColor={28,108,200}, + textString="%n"), + Text( + extent={{226,60},{106,10}}, + textColor={0,0,0}, + textString=DynamicSelect("",String(y, + leftJustified=false, + significantDigits=3)))}), + Documentation( + info=" +

+Block that outputs the triggered moving mean value of an input signal. +

+

+At the start of the simulation, and whenever the trigger signal is rising +(i.e., the trigger changes to true), the block samples +the input, computes the moving mean value over the past n samples, +and produces this value at its output y. +

+", + revisions=" + +")); +end TriggeredMovingMean; diff --git a/IBPSA/Controls/OBC/CDL/Discrete/TriggeredSampler.mo b/IBPSA/Controls/OBC/CDL/Discrete/TriggeredSampler.mo new file mode 100644 index 0000000000..a21ae28181 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Discrete/TriggeredSampler.mo @@ -0,0 +1,101 @@ +within IBPSA.Controls.OBC.CDL.Discrete; +block TriggeredSampler + "Triggered sampling of continuous signals" + parameter Real y_start=0 + "Initial value of output signal"; + IBPSA.Controls.OBC.CDL.Interfaces.RealInput u + "Input signal to be sampled" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.BooleanInput trigger + "Input for trigger that causes u to be sampled" + annotation (Placement(transformation(origin={0,-120},extent={{-20,-20},{20,20}},rotation=90))); + IBPSA.Controls.OBC.CDL.Interfaces.RealOutput y + "Input signal at the last trigger instant" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +initial equation + y=y_start; + +equation + when trigger then + y=u; + end when; + annotation ( + defaultComponentName="triSam", + Icon( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100.0,-100.0},{100.0,100.0}}), + graphics={ + Rectangle( + extent={{-100,-100},{100,100}}, + lineColor={0,0,127}, + fillColor={223,211,169}, + lineThickness=5.0, + borderPattern=BorderPattern.Raised, + fillPattern=FillPattern.Solid), + Ellipse( + lineColor={0,0,127}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{25.0,-10.0},{45.0,10.0}}), + Line( + points={{-100.0,0.0},{-45.0,0.0}}, + color={0,0,127}), + Line( + points={{45.0,0.0},{100.0,0.0}}, + color={0,0,127}), + Line( + points={{0.0,-100.0},{0.0,-26.0}}, + color={255,0,255}), + Line( + points={{-35.0,0.0},{28.0,-48.0}}, + color={0,0,127}), + Ellipse( + lineColor={0,0,127}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-45.0,-10.0},{-25.0,10.0}}), + Text( + extent={{-150,150},{150,110}}, + textString="%name", + textColor={0,0,255}), + Text( + extent={{226,60},{106,10}}, + textColor={0,0,0}, + textString=DynamicSelect("",String(y, + leftJustified=false, + significantDigits=3)))}), + Documentation( + info=" +

+Samples the continuous input signal whenever the trigger input +signal is rising (i.e., trigger changes from false to +true) and provides the sampled input signal as output. +Before the first sampling, the output signal is equal to +the initial value defined via parameter y_start. +

+", + revisions=" + +")); +end TriggeredSampler; diff --git a/IBPSA/Controls/OBC/CDL/Discrete/UnitDelay.mo b/IBPSA/Controls/OBC/CDL/Discrete/UnitDelay.mo new file mode 100644 index 0000000000..1430a216ac --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Discrete/UnitDelay.mo @@ -0,0 +1,135 @@ +within IBPSA.Controls.OBC.CDL.Discrete; +block UnitDelay + "Output the input signal with a unit delay" + parameter Real samplePeriod( + final quantity="Time", + final unit="s", + min=1E-3) + "Sample period of component"; + parameter Real y_start=0 + "Initial value of output signal"; + IBPSA.Controls.OBC.CDL.Interfaces.RealInput u + "Input signal to be sampled" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealOutput y + "Input signal at the previous sample instant" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +protected + parameter Real t0( + final quantity="Time", + final unit="s", + fixed=false) + "First sample time instant"; + output Boolean sampleTrigger + "True, if sample time instant"; + discrete Real u_internal + "Input value at each sampling moment"; + +initial equation + t0=IBPSA.Utilities.Math.Functions.round( + x=integer(time/samplePeriod)*samplePeriod, + n=6); + y=y_start; + u_internal=y_start; + +equation + // Declarations that are used for all discrete blocks + sampleTrigger=sample( + t0, + samplePeriod); + when sampleTrigger then + u_internal=u; + y=pre(u_internal); + end when; + annotation ( + defaultComponentName="uniDel", + Documentation( + info=" +

+Block that outputs the input signal with a unit delay: +

+
+          1
+     y = --- * u
+          z
+
+

+that is, the output signal y is the +input signal u of the +previous sample instant. Before the second sample instant, +the output y is identical to parameter y_start. +

+", + revisions=" + +"), + Icon( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100.0,-100.0},{100.0,100.0}}), + graphics={ + Rectangle( + extent={{-100,-100},{100,100}}, + lineColor={0,0,127}, + fillColor={223,211,169}, + lineThickness=5.0, + borderPattern=BorderPattern.Raised, + fillPattern=FillPattern.Solid), + Text( + extent={{-150,150},{150,110}}, + textString="%name", + textColor={0,0,255}), + Line( + points={{-30.0,0.0},{30.0,0.0}}, + color={0,0,127}), + Text( + textColor={0,0,127}, + extent={{-90.0,10.0},{90.0,90.0}}, + textString="1"), + Text( + textColor={0,0,127}, + extent={{-90.0,-90.0},{90.0,-10.0}}, + textString="z"), + Text( + extent={{226,60},{106,10}}, + textColor={0,0,0}, + textString=DynamicSelect("",String(y, + leftJustified=false, + significantDigits=3)))})); +end UnitDelay; diff --git a/IBPSA/Controls/OBC/CDL/Discrete/Validation/FirstOrderHold.mo b/IBPSA/Controls/OBC/CDL/Discrete/Validation/FirstOrderHold.mo new file mode 100644 index 0000000000..19bf4a00ba --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Discrete/Validation/FirstOrderHold.mo @@ -0,0 +1,62 @@ +within IBPSA.Controls.OBC.CDL.Discrete.Validation; +model FirstOrderHold + "Example model for the FirstOrderHold block" + IBPSA.Controls.OBC.CDL.Discrete.FirstOrderHold firOrdHol( + samplePeriod=0.2) + "Block that first order hold of a sampled-data system" + annotation (Placement(transformation(extent={{30,-10},{50,10}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp1( + duration=1, + offset=0, + height=6.2831852) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-60,-10},{-40,10}}))); + IBPSA.Controls.OBC.CDL.Reals.Cos cos1 + "Block that outputs the cosine of the input" + annotation (Placement(transformation(extent={{-10,-10},{10,10}}))); + +equation + connect(ramp1.y,cos1.u) + annotation (Line(points={{-38,0},{-12,0},{-12,0}},color={0,0,127})); + connect(cos1.y,firOrdHol.u) + annotation (Line(points={{12,0},{12,0},{28,0}},color={0,0,127})); + annotation ( + experiment( + StopTime=1.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Discrete/Validation/FirstOrderHold.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Discrete.FirstOrderHold. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end FirstOrderHold; diff --git a/IBPSA/Controls/OBC/CDL/Discrete/Validation/Sampler.mo b/IBPSA/Controls/OBC/CDL/Discrete/Validation/Sampler.mo new file mode 100644 index 0000000000..e39791f57f --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Discrete/Validation/Sampler.mo @@ -0,0 +1,58 @@ +within IBPSA.Controls.OBC.CDL.Discrete.Validation; +model Sampler + "Example model for the Sampler block" + IBPSA.Controls.OBC.CDL.Discrete.Sampler sampler1( + samplePeriod=0.2) + "Ideal sampler of a continuous signal" + annotation (Placement(transformation(extent={{30,-10},{50,10}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp1( + duration=1, + offset=0, + height=6.2831852) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-60,-10},{-40,10}}))); + IBPSA.Controls.OBC.CDL.Reals.Sin sin1 + "Block that outputs the sine of the input" + annotation (Placement(transformation(extent={{-10,-10},{10,10}}))); + +equation + connect(ramp1.y,sin1.u) + annotation (Line(points={{-39,0},{-12,0},{-12,0}},color={0,0,127})); + connect(sin1.y,sampler1.u) + annotation (Line(points={{11,0},{20,0},{28,0}},color={0,0,127})); + annotation ( + experiment( + StopTime=1.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Discrete/Validation/Sampler.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Discrete.Sampler. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end Sampler; diff --git a/IBPSA/Controls/OBC/CDL/Discrete/Validation/TriggeredMax.mo b/IBPSA/Controls/OBC/CDL/Discrete/Validation/TriggeredMax.mo new file mode 100644 index 0000000000..a0a0c374ea --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Discrete/Validation/TriggeredMax.mo @@ -0,0 +1,64 @@ +within IBPSA.Controls.OBC.CDL.Discrete.Validation; +model TriggeredMax + "Example model for the TriggeredMax block" + IBPSA.Controls.OBC.CDL.Discrete.TriggeredMax triggeredMax + "Output the maximum, absolute value of a continuous signal at trigger instants" + annotation (Placement(transformation(extent={{30,-10},{50,10}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp1( + duration=1, + offset=0, + height=6.2831852) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-60,-10},{-40,10}}))); + IBPSA.Controls.OBC.CDL.Reals.Sin sin1 + "Block that outputs the sine of the input" + annotation (Placement(transformation(extent={{-10,-10},{10,10}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul( + width=0.5, + period=0.2) + "Block that outputs cyclic on and off" + annotation (Placement(transformation(extent={{-10,-50},{10,-30}}))); + +equation + connect(ramp1.y,sin1.u) + annotation (Line(points={{-39,0},{-12,0},{-12,0}},color={0,0,127})); + connect(sin1.y,triggeredMax.u) + annotation (Line(points={{11,0},{19.5,0},{28,0}},color={0,0,127})); + connect(booPul.y,triggeredMax.trigger) + annotation (Line(points={{11,-40},{26,-40},{40,-40},{40,-11.8}},color={255,0,255})); + annotation ( + experiment( + StopTime=1.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Discrete/Validation/TriggeredMax.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Discrete.TriggeredMax. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end TriggeredMax; diff --git a/IBPSA/Controls/OBC/CDL/Discrete/Validation/TriggeredMovingMean.mo b/IBPSA/Controls/OBC/CDL/Discrete/Validation/TriggeredMovingMean.mo new file mode 100644 index 0000000000..a7d30aca3d --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Discrete/Validation/TriggeredMovingMean.mo @@ -0,0 +1,83 @@ +within IBPSA.Controls.OBC.CDL.Discrete.Validation; +model TriggeredMovingMean + "Validation model for the TriggeredMovingMean block" + IBPSA.Controls.OBC.CDL.Reals.Sources.Sin sin( + freqHz=1/8, + phase=0.5235987755983, + startTime=-0.5) + "Example input signal" + annotation (Placement(transformation(extent={{-60,40},{-40,60}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul( + width=0.5, + period=1, + shift=-0.5) + "Block that outputs trigger signals" + annotation (Placement(transformation(extent={{-60,-20},{-40,0}}))); + IBPSA.Controls.OBC.CDL.Discrete.TriggeredMovingMean triMovMea( + n=3) + "Triggered moving mean with 3 samples to average" + annotation (Placement(transformation(extent={{0,0},{20,20}}))); + IBPSA.Controls.OBC.CDL.Discrete.TriggeredMovingMean triMovMea1( + n=1) + "Triggered moving mean with 1 sample to average" + annotation (Placement(transformation(extent={{0,60},{20,80}}))); + IBPSA.Controls.OBC.CDL.Discrete.TriggeredMovingMean triMovMea2( + n=3) + "Triggered moving mean with 3 samples to average with a different trigger period" + annotation (Placement(transformation(extent={{0,-60},{20,-40}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul1( + width=0.5, + period=1) + "Block that outputs trigger signals" + annotation (Placement(transformation(extent={{-60,-80},{-40,-60}}))); + +equation + connect(sin.y,triMovMea.u) + annotation (Line(points={{-38,50},{-20,50},{-20,10},{-2,10}},color={0,0,127})); + connect(booPul.y,triMovMea.trigger) + annotation (Line(points={{-38,-10},{10,-10},{10,-2}},color={255,0,255})); + connect(booPul.y,triMovMea1.trigger) + annotation (Line(points={{-38,-10},{-10,-10},{-10,30},{10,30},{10,58}},color={255,0,255})); + connect(sin.y,triMovMea1.u) + annotation (Line(points={{-38,50},{-20,50},{-20,70},{-2,70}},color={0,0,127})); + connect(booPul1.y,triMovMea2.trigger) + annotation (Line(points={{-38,-70},{10,-70},{10,-62}},color={255,0,255})); + connect(sin.y,triMovMea2.u) + annotation (Line(points={{-38,50},{-20,50},{-20,-50},{-2,-50}},color={0,0,127})); + annotation ( + experiment( + StartTime=-0.5, + StopTime=15.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Discrete/Validation/TriggeredMovingMean.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Discrete.TriggeredMovingMean. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end TriggeredMovingMean; diff --git a/IBPSA/Controls/OBC/CDL/Discrete/Validation/TriggeredSampler.mo b/IBPSA/Controls/OBC/CDL/Discrete/Validation/TriggeredSampler.mo new file mode 100644 index 0000000000..17798c10d4 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Discrete/Validation/TriggeredSampler.mo @@ -0,0 +1,72 @@ +within IBPSA.Controls.OBC.CDL.Discrete.Validation; +model TriggeredSampler + "Example model for the TriggeredSampler block" + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp1( + duration=1, + offset=0, + height=6.2831852) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-60,-10},{-40,10}}))); + IBPSA.Controls.OBC.CDL.Reals.Sin sin1 + "Block that outputs the sine of the input" + annotation (Placement(transformation(extent={{-20,-10},{0,10}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul( + width=0.5, + period=0.2) + "Block that outputs cyclic on and off" + annotation (Placement(transformation(extent={{-10,-50},{10,-30}}))); + IBPSA.Controls.OBC.CDL.Discrete.TriggeredSampler triSam + "Triggered sampler wity y_start = 0" + annotation (Placement(transformation(extent={{40,-10},{60,10}}))); + IBPSA.Controls.OBC.CDL.Discrete.TriggeredSampler triSam1( + y_start=1) + "Triggered sampler with y_start = 1" + annotation (Placement(transformation(extent={{60,40},{80,60}}))); + +equation + connect(ramp1.y,sin1.u) + annotation (Line(points={{-39,0},{-22,0}},color={0,0,127})); + connect(sin1.y,triSam.u) + annotation (Line(points={{1,0},{38,0}},color={0,0,127})); + connect(booPul.y,triSam.trigger) + annotation (Line(points={{11,-40},{50,-40},{50,-12},{50,-11.8}},color={255,0,255})); + connect(sin1.y,triSam1.u) + annotation (Line(points={{1,0},{30,0},{30,50},{58,50}},color={0,0,127})); + connect(booPul.y,triSam1.trigger) + annotation (Line(points={{11,-40},{70,-40},{70,38.2}},color={255,0,255})); + annotation ( + experiment( + StopTime=1.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Discrete/Validation/TriggeredSampler.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Discrete.TriggeredSampler. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end TriggeredSampler; diff --git a/IBPSA/Controls/OBC/CDL/Discrete/Validation/UnitDelay.mo b/IBPSA/Controls/OBC/CDL/Discrete/Validation/UnitDelay.mo new file mode 100644 index 0000000000..cbed5b698c --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Discrete/Validation/UnitDelay.mo @@ -0,0 +1,58 @@ +within IBPSA.Controls.OBC.CDL.Discrete.Validation; +model UnitDelay + "Example model for the UnitDelay block" + IBPSA.Controls.OBC.CDL.Discrete.UnitDelay unitDelay1( + samplePeriod=0.2) + "Sample period of component" + annotation (Placement(transformation(extent={{30,-10},{50,10}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp1( + duration=1, + offset=0, + height=6.2831852) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-60,-10},{-40,10}}))); + IBPSA.Controls.OBC.CDL.Reals.Sin sin1 + "Block that outputs the sine of the input" + annotation (Placement(transformation(extent={{-10,-10},{10,10}}))); + +equation + connect(ramp1.y,sin1.u) + annotation (Line(points={{-39,0},{-12,0},{-12,0}},color={0,0,127})); + connect(sin1.y,unitDelay1.u) + annotation (Line(points={{11,0},{20,0},{28,0}},color={0,0,127})); + annotation ( + experiment( + StopTime=1.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Discrete/Validation/UnitDelay.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Discrete.UnitDelay. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end UnitDelay; diff --git a/IBPSA/Controls/OBC/CDL/Discrete/Validation/ZeroOrderHold.mo b/IBPSA/Controls/OBC/CDL/Discrete/Validation/ZeroOrderHold.mo new file mode 100644 index 0000000000..dac2bb8dd9 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Discrete/Validation/ZeroOrderHold.mo @@ -0,0 +1,62 @@ +within IBPSA.Controls.OBC.CDL.Discrete.Validation; +model ZeroOrderHold + "Example model for the ZeroOrderHold block" + IBPSA.Controls.OBC.CDL.Discrete.ZeroOrderHold zerOrdHol( + samplePeriod=0.2) + "Output the input signal with a zero order hold" + annotation (Placement(transformation(extent={{30,-10},{50,10}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp1( + duration=1, + offset=0, + height=6.2831852) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-60,-10},{-40,10}}))); + IBPSA.Controls.OBC.CDL.Reals.Cos cos1 + "Block that outputs the cosine of the input" + annotation (Placement(transformation(extent={{-10,-10},{10,10}}))); + +equation + connect(ramp1.y,cos1.u) + annotation (Line(points={{-39,0},{-12,0},{-12,0}},color={0,0,127})); + connect(cos1.y,zerOrdHol.u) + annotation (Line(points={{11,0},{20,0},{28,0}},color={0,0,127})); + annotation ( + experiment( + StopTime=1.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Discrete/Validation/ZeroOrderHold.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Discrete.ZeroOrderHold. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end ZeroOrderHold; diff --git a/IBPSA/Controls/OBC/CDL/Discrete/Validation/package.mo b/IBPSA/Controls/OBC/CDL/Discrete/Validation/package.mo new file mode 100644 index 0000000000..2729317450 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Discrete/Validation/package.mo @@ -0,0 +1,41 @@ +within IBPSA.Controls.OBC.CDL.Discrete; +package Validation "Collection of models that validate the discrete blocks of the CDL" + annotation ( + preferredView="info", + Documentation( + info=" +

+This package contains models that validate the blocks in + +IBPSA.Controls.OBC.CDL.Discrete. +

+", +revisions=" + +"), + Icon( + graphics={ + Rectangle( + lineColor={200,200,200}, + fillColor={248,248,248}, + fillPattern=FillPattern.HorizontalCylinder, + extent={{-100.0,-100.0},{100.0,100.0}}, + radius=25.0), + Rectangle( + lineColor={128,128,128}, + extent={{-100.0,-100.0},{100.0,100.0}}, + radius=25.0), + Polygon( + origin={8.0,14.0}, + lineColor={78,138,73}, + fillColor={78,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-58.0,46.0},{42.0,-14.0},{-58.0,-74.0},{-58.0,46.0}})})); +end Validation; diff --git a/IBPSA/Controls/OBC/CDL/Discrete/Validation/package.order b/IBPSA/Controls/OBC/CDL/Discrete/Validation/package.order new file mode 100644 index 0000000000..202f8ba5ec --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Discrete/Validation/package.order @@ -0,0 +1,7 @@ +FirstOrderHold +Sampler +TriggeredMax +TriggeredMovingMean +TriggeredSampler +UnitDelay +ZeroOrderHold diff --git a/IBPSA/Controls/OBC/CDL/Discrete/ZeroOrderHold.mo b/IBPSA/Controls/OBC/CDL/Discrete/ZeroOrderHold.mo new file mode 100644 index 0000000000..a4192aaa3c --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Discrete/ZeroOrderHold.mo @@ -0,0 +1,123 @@ +within IBPSA.Controls.OBC.CDL.Discrete; +block ZeroOrderHold + "Output the input signal with a zero order hold" + parameter Real samplePeriod( + final quantity="Time", + final unit="s", + min=1E-3) + "Sample period of component"; + IBPSA.Controls.OBC.CDL.Interfaces.RealInput u + "Input signal to be sampled" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealOutput y + "Zero order hold of the input signal" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +protected + parameter Real t0( + final quantity="Time", + final unit="s", + fixed=false) + "First sample time instant"; + output Real ySample( + fixed=true, + start=0) + "Sampled value of input"; + output Boolean sampleTrigger + "True, if sample time instant"; + output Boolean firstTrigger( + start=false, + fixed=true) + "Rising edge signals first sample instant"; + +initial equation + t0=IBPSA.Utilities.Math.Functions.round( + x=integer(time/samplePeriod)*samplePeriod, + n=6); + +equation + // Declarations that are used for all discrete blocks + sampleTrigger=sample( + t0, + samplePeriod); + when sampleTrigger then + firstTrigger=time <= t0+samplePeriod/2; + end when; + // Declarations specific to this type of discrete block + when {sampleTrigger,initial()} then + ySample=u; + end when; + /* Define y=ySample with an infinitesimal delay to break potential + algebraic loops if both the continuous and the discrete part have + direct feedthrough + */ + y=pre(ySample); + annotation ( + defaultComponentName="zerOrdHol", + Icon( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100.0,-100.0},{100.0,100.0}}), + graphics={ + Rectangle( + extent={{-100,-100},{100,100}}, + lineColor={0,0,127}, + fillColor={223,211,169}, + lineThickness=5.0, + borderPattern=BorderPattern.Raised, + fillPattern=FillPattern.Solid), + Text( + extent={{-150,150},{150,110}}, + textString="%name", + textColor={0,0,255}), + Line( + points={{-78.0,-42.0},{-52.0,-42.0},{-52.0,0.0},{-26.0,0.0},{-26.0,24.0},{-6.0,24.0},{-6.0,64.0},{18.0,64.0},{18.0,20.0},{38.0,20.0},{38.0,0.0},{44.0,0.0},{44.0,0.0},{62.0,0.0}}, + color={0,0,127}), + Text( + extent={{226,60},{106,10}}, + textColor={0,0,0}, + textString=DynamicSelect("",String(y, + leftJustified=false, + significantDigits=3)))}), + Documentation( + info=" +

+Block that outputs the sampled input signal at sample +time instants. The output signal is held at the value of the last +sample instant during the sample points. +At initial time, the block feeds the input directly to the output. +

+", + revisions=" + +")); +end ZeroOrderHold; diff --git a/IBPSA/Controls/OBC/CDL/Discrete/package.mo b/IBPSA/Controls/OBC/CDL/Discrete/package.mo new file mode 100644 index 0000000000..a35342737c --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Discrete/package.mo @@ -0,0 +1,61 @@ +within IBPSA.Controls.OBC.CDL; +package Discrete "Package with discrete blocks" + annotation ( + Documentation( + info=" +

+This package contains discrete control blocks +with fixed sample period. +Every component of this package is structured in the following way: +

+
    +
  1. A component has continuous Real input and output signals.
  2. +
  3. The input signals are sampled by the given sample period + defined via parameter samplePeriod. + The first sample instant is defined by the parameter startTime. +
  4. +
  5. The output signals are computed from the sampled input signals. +
  6. +
+ +", + revisions=" + +"), + Icon( + graphics={ + Rectangle( + lineColor={200,200,200}, + fillColor={248,248,248}, + fillPattern=FillPattern.HorizontalCylinder, + extent={{-100.0,-100.0},{100.0,100.0}}, + radius=25.0), + Rectangle( + lineColor={128,128,128}, + extent={{-100.0,-100.0},{100.0,100.0}}, + radius=25.0), + Line( + points={{-88,0},{-45,0}}, + color={95,95,95}), + Ellipse( + lineColor={95,95,95}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-45,-10},{-25,10}}), + Line( + points={{-35,0},{24,52}}, + color={95,95,95}), + Ellipse( + lineColor={95,95,95}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{25,-10},{45,10}}), + Line( + points={{45,0},{82,0}}, + color={95,95,95})})); +end Discrete; diff --git a/IBPSA/Controls/OBC/CDL/Discrete/package.order b/IBPSA/Controls/OBC/CDL/Discrete/package.order new file mode 100644 index 0000000000..9303418f38 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Discrete/package.order @@ -0,0 +1,8 @@ +FirstOrderHold +Sampler +TriggeredMax +TriggeredMovingMean +TriggeredSampler +UnitDelay +ZeroOrderHold +Validation diff --git a/IBPSA/Controls/OBC/CDL/Integers/Abs.mo b/IBPSA/Controls/OBC/CDL/Integers/Abs.mo new file mode 100644 index 0000000000..11be997b63 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Integers/Abs.mo @@ -0,0 +1,109 @@ +within IBPSA.Controls.OBC.CDL.Integers; +block Abs + "Output the absolute value of the input" + IBPSA.Controls.OBC.CDL.Interfaces.IntegerInput u + "Input for absolute function" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.IntegerOutput y + "Absolute value of the input" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +equation + y=if u >= 0 then u else -u; + annotation ( + defaultComponentName="absInt", + Icon( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100,-100},{100,100}}), + graphics={ + Rectangle( + extent={{-100,-100},{100,100}}, + lineColor={255,127,0}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Text( + extent={{-150,150},{150,110}}, + textString="%name", + textColor={0,0,255}), + Polygon( + points={{92,0},{70,8},{70,-8},{92,0}}, + lineColor={192,192,192}, + fillColor={192,192,192}, + fillPattern=FillPattern.Solid), + Line( + points={{0,-14},{0,68}}, + color={192,192,192}), + Polygon( + points={{0,90},{-8,68},{8,68},{0,90}}, + lineColor={192,192,192}, + fillColor={192,192,192}, + fillPattern=FillPattern.Solid), + Text( + extent={{-34,-28},{38,-76}}, + textColor={192,192,192}, + textString="abs"), + Line( + points={{-88,0},{76,0}}, + color={192,192,192}), + Ellipse( + extent={{-68,68},{-60,60}}, + lineColor={0,0,0}, + fillColor={0,0,0}, + fillPattern=FillPattern.Solid), + Ellipse( + extent={{-38,38},{-30,30}}, + lineColor={0,0,0}, + fillColor={0,0,0}, + fillPattern=FillPattern.Solid), + Ellipse( + extent={{-4,4},{4,-4}}, + lineColor={0,0,0}, + fillColor={0,0,0}, + fillPattern=FillPattern.Solid), + Ellipse( + extent={{28,38},{36,30}}, + lineColor={0,0,0}, + fillColor={0,0,0}, + fillPattern=FillPattern.Solid), + Ellipse( + extent={{58,68},{66,60}}, + lineColor={0,0,0}, + fillColor={0,0,0}, + fillPattern=FillPattern.Solid), + Line( + points={{-64,-6},{-64,6}}, + color={192,192,192}), + Line( + points={{-34,-6},{-34,6}}, + color={192,192,192}), + Line( + points={{32,-6},{32,6}}, + color={192,192,192}), + Line( + points={{62,-6},{62,6}}, + color={192,192,192}), + Line( + points={{-8,64},{8,64}}, + color={192,192,192}), + Line( + points={{-8,34},{8,34}}, + color={192,192,192})}), + Documentation( + info=" +

+Block that outputs y = abs(u), +where +u is an Integer input. +

+", + revisions=" + +")); +end Abs; diff --git a/IBPSA/Controls/OBC/CDL/Integers/Add.mo b/IBPSA/Controls/OBC/CDL/Integers/Add.mo new file mode 100644 index 0000000000..9b610b866a --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Integers/Add.mo @@ -0,0 +1,70 @@ +within IBPSA.Controls.OBC.CDL.Integers; +block Add + "Output the sum of the two inputs" + IBPSA.Controls.OBC.CDL.Interfaces.IntegerInput u1 + "Input to be added" + annotation (Placement(transformation(extent={{-140,40},{-100,80}}))); + IBPSA.Controls.OBC.CDL.Interfaces.IntegerInput u2 + "Input to be added" + annotation (Placement(transformation(extent={{-140,-80},{-100,-40}}))); + IBPSA.Controls.OBC.CDL.Interfaces.IntegerOutput y + "Sum of the two inputs" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +equation + y=u1+u2; + +annotation (defaultComponentName="addInt", + Documentation(info=" +

+Block that outputs y as the sum of the +two Integer input signals u1 and u2, +

+
+    y = u1 + u2.
+
+", +revisions=" + +"), + Icon( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100,-100},{100,100}}), + graphics={ + Text( + extent={{-150,150},{150,110}}, + textString="%name", + textColor={0,0,255}), + Rectangle( + extent={{-100,-100},{100,100}}, + lineColor={255,127,0}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Line( + points={{-100,60},{-74,24},{-44,24}}, + color={255,127,0}), + Line( + points={{-100,-60},{-74,-28},{-42,-28}}, + color={255,127,0}), + Ellipse( + lineColor={255,127,0}, + extent={{-50,-50},{50,50}}), + Line( + points={{50,0},{100,0}}, + color={255,127,0}), + Text( + extent={{-36,-24},{40,44}}, + textString="+")})); +end Add; diff --git a/IBPSA/Controls/OBC/CDL/Integers/AddParameter.mo b/IBPSA/Controls/OBC/CDL/Integers/AddParameter.mo new file mode 100644 index 0000000000..64d2973341 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Integers/AddParameter.mo @@ -0,0 +1,67 @@ +within IBPSA.Controls.OBC.CDL.Integers; +block AddParameter "Output the sum of an input plus a parameter" + parameter Integer p + "Parameter to be added to the input"; + IBPSA.Controls.OBC.CDL.Interfaces.IntegerInput u + "Input to be added to the parameter" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.IntegerOutput y + "Sum of the parameter and the input" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +equation + y=u+p; + annotation ( + defaultComponentName="addPar", + Documentation( + info=" +

+Block that outputs y = u + p, +where p is parameter and u is an input. +

+", +revisions=" + +"), + Icon( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100,-100},{100,100}}), + graphics={ + Rectangle( + extent={{-100,-100},{100,100}}, + lineColor={255,127,0}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Text( + textColor={0,0,255}, + extent={{-150,110},{150,150}}, + textString="%name"), + Line(points={{-54,66},{-28,30},{2,30}}, color={255,127,0}), + Line(points={{-100,0},{100,0}}, color={255,127,0}), + Text( + extent={{-122,58},{-17,98}}, + textColor={255,127,0}, + textString="%p"), + Ellipse( + lineColor={255,127,0}, + extent={{-12,-52},{88,48}}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Text( + extent={{0,-26},{76,42}}, + textString="+", + textColor={255,127,0}), + Text( + extent={{226,60},{106,10}}, + textColor={0,0,0}, + textString=DynamicSelect("",String(y, + leftJustified=false, + significantDigits=3)))})); +end AddParameter; diff --git a/IBPSA/Controls/OBC/CDL/Integers/Change.mo b/IBPSA/Controls/OBC/CDL/Integers/Change.mo new file mode 100644 index 0000000000..5b6fbb429a --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Integers/Change.mo @@ -0,0 +1,93 @@ +within IBPSA.Controls.OBC.CDL.Integers; +block Change + "Output whether the Integer input changes values, increases or decreases" + parameter Integer pre_u_start=0 + "Start value of pre(u) at initial time"; + IBPSA.Controls.OBC.CDL.Interfaces.IntegerInput u + "Integer to be monitored for a change in value" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.BooleanOutput y + "Output that is true when the input changes its value" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.BooleanOutput up + "Output that is true when the input increased its value" + annotation (Placement(transformation(extent={{100,40},{140,80}}))); + IBPSA.Controls.OBC.CDL.Interfaces.BooleanOutput down + "Output that is true when the input decreased its value" + annotation (Placement(transformation(extent={{100,-80},{140,-40}}))); + +initial equation + pre(u)=pre_u_start; + +equation + y=change(u); + up=u > pre(u); + down=u < pre(u); + annotation ( + defaultComponentName="cha", + Icon( + coordinateSystem( + preserveAspectRatio=true), + graphics={ + Rectangle( + extent={{-100,100},{100,-100}}, + lineColor={0,0,0}, + lineThickness=5.0, + fillColor={210,210,210}, + fillPattern=FillPattern.Solid, + borderPattern=BorderPattern.Raised), + Text( + extent={{-50,62},{50,-56}}, + textColor={255,127,0}, + textString="change"), + Text( + extent={{-150,150},{150,110}}, + textString="%name", + textColor={0,0,255})}), + Documentation( + info=" +

+Block that evaluates the integer input u to check if its value +changes. +

+ +", + revisions=" + +")); +end Change; diff --git a/IBPSA/Controls/OBC/CDL/Integers/Equal.mo b/IBPSA/Controls/OBC/CDL/Integers/Equal.mo new file mode 100644 index 0000000000..6ff03796b1 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Integers/Equal.mo @@ -0,0 +1,74 @@ +within IBPSA.Controls.OBC.CDL.Integers; +block Equal + "Output y is true, if input u1 is equal to input u2" + IBPSA.Controls.OBC.CDL.Interfaces.IntegerInput u1 + "Input to be checked for equality with other input" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.IntegerInput u2 + "Input to be checked for equality with other input" + annotation (Placement(transformation(extent={{-140,-100},{-100,-60}}))); + IBPSA.Controls.OBC.CDL.Interfaces.BooleanOutput y + "Outputs that is true if the two inputs are equal, and false otherwise" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +equation + y=u1 == u2; + annotation ( + defaultComponentName="intEqu", + Icon( + coordinateSystem( + preserveAspectRatio=false, + extent={{-100,-100},{100,100}}), + graphics={ + Rectangle( + extent={{-100,100},{100,-100}}, + lineColor={0,0,0}, + lineThickness=5.0, + fillColor={210,210,210}, + fillPattern=FillPattern.Solid, + borderPattern=BorderPattern.Raised), + Ellipse( + extent={{73,7},{87,-7}}, + lineColor=DynamicSelect({235,235,235}, + if y then + {0,255,0} + else + {235,235,235}), + fillColor=DynamicSelect({235,235,235}, + if y then + {0,255,0} + else + {235,235,235}), + fillPattern=FillPattern.Solid), + Ellipse( + extent={{32,10},{52,-10}}, + lineColor={255,127,0}), + Line( + points={{-100,-80},{42,-80},{42,0}}, + color={255,127,0}), + Text( + extent={{-150,150},{150,110}}, + textString="%name", + textColor={0,0,255}), + Text( + extent={{-76,-36},{20,54}}, + textColor={255,127,0}, + textString="=")}), + Documentation( + info=" +

+Block that outputs true if the Integer input u1 +is equal to the Integer input u2. +Otherwise the output is false. +

+", + revisions=" + +")); +end Equal; diff --git a/IBPSA/Controls/OBC/CDL/Integers/Greater.mo b/IBPSA/Controls/OBC/CDL/Integers/Greater.mo new file mode 100644 index 0000000000..fe81658840 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Integers/Greater.mo @@ -0,0 +1,74 @@ +within IBPSA.Controls.OBC.CDL.Integers; +block Greater + "Output y is true, if input u1 is greater than input u2" + IBPSA.Controls.OBC.CDL.Interfaces.IntegerInput u1 + "First input u1" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.IntegerInput u2 + "Second input u2" + annotation (Placement(transformation(extent={{-140,-100},{-100,-60}}))); + IBPSA.Controls.OBC.CDL.Interfaces.BooleanOutput y + "Outputs true if u1 is greater than u2" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +equation + y=u1 > u2; + annotation ( + defaultComponentName="intGre", + Icon( + coordinateSystem( + preserveAspectRatio=false, + extent={{-100,-100},{100,100}}), + graphics={ + Rectangle( + extent={{-100,100},{100,-100}}, + lineColor={0,0,0}, + lineThickness=5.0, + fillColor={210,210,210}, + fillPattern=FillPattern.Solid, + borderPattern=BorderPattern.Raised), + Ellipse( + extent={{73,7},{87,-7}}, + lineColor=DynamicSelect({235,235,235}, + if y then + {0,255,0} + else + {235,235,235}), + fillColor=DynamicSelect({235,235,235}, + if y then + {0,255,0} + else + {235,235,235}), + fillPattern=FillPattern.Solid), + Ellipse( + extent={{32,10},{52,-10}}, + lineColor={255,127,0}), + Line( + points={{-100,-80},{42,-80},{42,0}}, + color={255,127,0}), + Line( + points={{-54,22},{-8,2},{-54,-18}}, + thickness=0.5, + color={255,127,0}), + Text( + extent={{-150,150},{150,110}}, + textString="%name", + textColor={0,0,255})}), + Documentation( + info=" +

+Block that outputs true if the Integer input u1 +is greater than the Integer input u2. +Otherwise the output is false. +

+", + revisions=" + +")); +end Greater; diff --git a/IBPSA/Controls/OBC/CDL/Integers/GreaterEqual.mo b/IBPSA/Controls/OBC/CDL/Integers/GreaterEqual.mo new file mode 100644 index 0000000000..62d7966e87 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Integers/GreaterEqual.mo @@ -0,0 +1,78 @@ +within IBPSA.Controls.OBC.CDL.Integers; +block GreaterEqual + "Output y is true, if input u1 is greater or equal than input u2" + IBPSA.Controls.OBC.CDL.Interfaces.IntegerInput u1 + "First input u1" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.IntegerInput u2 + "Second input u2" + annotation (Placement(transformation(extent={{-140,-100},{-100,-60}}))); + IBPSA.Controls.OBC.CDL.Interfaces.BooleanOutput y + "Outputs true if u1 is greater or equal than u2" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +equation + y=u1 >= u2; + annotation ( + defaultComponentName="intGreEqu", + Icon( + coordinateSystem( + preserveAspectRatio=false, + extent={{-100,-100},{100,100}}), + graphics={ + Rectangle( + extent={{-100,100},{100,-100}}, + lineColor={0,0,0}, + lineThickness=5.0, + fillColor={210,210,210}, + fillPattern=FillPattern.Solid, + borderPattern=BorderPattern.Raised), + Ellipse( + extent={{73,7},{87,-7}}, + lineColor=DynamicSelect({235,235,235}, + if y then + {0,255,0} + else + {235,235,235}), + fillColor=DynamicSelect({235,235,235}, + if y then + {0,255,0} + else + {235,235,235}), + fillPattern=FillPattern.Solid), + Ellipse( + extent={{32,10},{52,-10}}, + lineColor={255,127,0}), + Line( + points={{-100,-80},{42,-80},{42,0}}, + color={255,127,0}), + Line( + points={{-54,22},{-8,2},{-54,-18}}, + thickness=0.5, + color={255,127,0}), + Line( + points={{-52,-36},{-6,-14}}, + thickness=0.5, + color={255,127,0}), + Text( + extent={{-150,150},{150,110}}, + textString="%name", + textColor={0,0,255})}), + Documentation( + info=" +

+Block that outputs true if Integer the input u1 +is greater than or equal to the Integer input u2. +Otherwise the output is false. +

+", + revisions=" + +")); +end GreaterEqual; diff --git a/IBPSA/Controls/OBC/CDL/Integers/GreaterEqualThreshold.mo b/IBPSA/Controls/OBC/CDL/Integers/GreaterEqualThreshold.mo new file mode 100644 index 0000000000..62b344c199 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Integers/GreaterEqualThreshold.mo @@ -0,0 +1,80 @@ +within IBPSA.Controls.OBC.CDL.Integers; +block GreaterEqualThreshold + "Output y is true, if input u is greater or equal than a threshold" + parameter Integer t=0 + "Threshold against which the input is compared to"; + IBPSA.Controls.OBC.CDL.Interfaces.IntegerInput u + "Input to be compared against the threshold" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.BooleanOutput y + "Outputs true if u is greater or equal than the threshold" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +equation + y=u >= t; + annotation ( + defaultComponentName="intGreEquThr", + Icon( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100,-100},{100,100}}), + graphics={ + Text( + extent={{-150,-140},{150,-110}}, + textColor={0,0,0}, + textString="%t"), + Rectangle( + extent={{-100,100},{100,-100}}, + lineColor={0,0,0}, + lineThickness=5.0, + fillColor={210,210,210}, + fillPattern=FillPattern.Solid, + borderPattern=BorderPattern.Raised), + Ellipse( + extent={{71,7},{85,-7}}, + lineColor=DynamicSelect({235,235,235}, + if y then + {0,255,0} + else + {235,235,235}), + fillColor=DynamicSelect({235,235,235}, + if y then + {0,255,0} + else + {235,235,235}), + fillPattern=FillPattern.Solid), + Text( + extent={{-150,150},{150,110}}, + textString="%name", + textColor={0,0,255}), + Line( + points={{-54,22},{-8,2},{-54,-18}}, + thickness=0.5, + color={255,127,0}), + Line( + points={{-52,-36},{-6,-14}}, + thickness=0.5, + color={255,127,0})}), + Documentation( + info=" +

+Block that outputs true if the Integer input is greater than or equal to +the parameter t. +Otherwise the output is false. +

+", + revisions=" + +")); +end GreaterEqualThreshold; diff --git a/IBPSA/Controls/OBC/CDL/Integers/GreaterThreshold.mo b/IBPSA/Controls/OBC/CDL/Integers/GreaterThreshold.mo new file mode 100644 index 0000000000..7f20cf1d8b --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Integers/GreaterThreshold.mo @@ -0,0 +1,76 @@ +within IBPSA.Controls.OBC.CDL.Integers; +block GreaterThreshold + "Output y is true, if input u is greater than a threshold" + parameter Integer t=0 + "Threshold against which the input is compared to"; + IBPSA.Controls.OBC.CDL.Interfaces.IntegerInput u + "Input to be compared against the threshold" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.BooleanOutput y + "Outputs true if u is greater than the threshold" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +equation + y=u > t; + annotation ( + defaultComponentName="intGreThr", + Icon( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100,-100},{100,100}}), + graphics={ + Rectangle( + extent={{-100,100},{100,-100}}, + lineColor={0,0,0}, + lineThickness=5.0, + fillColor={210,210,210}, + fillPattern=FillPattern.Solid, + borderPattern=BorderPattern.Raised), + Ellipse( + extent={{71,7},{85,-7}}, + lineColor=DynamicSelect({235,235,235}, + if y then + {0,255,0} + else + {235,235,235}), + fillColor=DynamicSelect({235,235,235}, + if y then + {0,255,0} + else + {235,235,235}), + fillPattern=FillPattern.Solid), + Text( + extent={{-150,-140},{150,-110}}, + textColor={0,0,0}, + textString="%t"), + Text( + extent={{-150,150},{150,110}}, + textColor={0,0,255}, + textString="%name"), + Line( + points={{-54,22},{-8,2},{-54,-18}}, + thickness=0.5, + color={255,127,0})}), + Documentation( + info=" +

+Block that outputs true if the Integer input is greater than +the parameter t. +Otherwise the output is false. +

+", + revisions=" + +")); +end GreaterThreshold; diff --git a/IBPSA/Controls/OBC/CDL/Integers/Less.mo b/IBPSA/Controls/OBC/CDL/Integers/Less.mo new file mode 100644 index 0000000000..2c793fd9e4 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Integers/Less.mo @@ -0,0 +1,74 @@ +within IBPSA.Controls.OBC.CDL.Integers; +block Less + "Output y is true, if input u1 is less than input u2" + IBPSA.Controls.OBC.CDL.Interfaces.IntegerInput u1 + "First input u1" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.IntegerInput u2 + "Second input u2" + annotation (Placement(transformation(extent={{-140,-100},{-100,-60}}))); + IBPSA.Controls.OBC.CDL.Interfaces.BooleanOutput y + "Outputs true if u1 is less than u2" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +equation + y=u1 < u2; + annotation ( + defaultComponentName="intLes", + Icon( + coordinateSystem( + preserveAspectRatio=false, + extent={{-100,-100},{100,100}}), + graphics={ + Rectangle( + extent={{-100,100},{100,-100}}, + lineColor={0,0,0}, + lineThickness=5.0, + fillColor={210,210,210}, + fillPattern=FillPattern.Solid, + borderPattern=BorderPattern.Raised), + Ellipse( + extent={{73,7},{87,-7}}, + lineColor=DynamicSelect({235,235,235}, + if y then + {0,255,0} + else + {235,235,235}), + fillColor=DynamicSelect({235,235,235}, + if y then + {0,255,0} + else + {235,235,235}), + fillPattern=FillPattern.Solid), + Ellipse( + extent={{32,10},{52,-10}}, + lineColor={255,127,0}), + Line( + points={{-100,-80},{42,-80},{42,0}}, + color={255,127,0}), + Line( + points={{-6,18},{-50,-2},{-6,-20}}, + thickness=0.5, + color={255,127,0}), + Text( + extent={{-150,150},{150,110}}, + textColor={0,0,255}, + textString="%name")}), + Documentation( + info=" +

+Block that outputs true if the Integer input u1 +is less than the Integer input u2. +Otherwise the output is false. +

+", + revisions=" + +")); +end Less; diff --git a/IBPSA/Controls/OBC/CDL/Integers/LessEqual.mo b/IBPSA/Controls/OBC/CDL/Integers/LessEqual.mo new file mode 100644 index 0000000000..56f1e14e97 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Integers/LessEqual.mo @@ -0,0 +1,78 @@ +within IBPSA.Controls.OBC.CDL.Integers; +block LessEqual + "Output y is true, if input u1 is less or equal than input u2" + IBPSA.Controls.OBC.CDL.Interfaces.IntegerInput u1 + "First input" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.IntegerInput u2 + "Second input" + annotation (Placement(transformation(extent={{-140,-100},{-100,-60}}))); + IBPSA.Controls.OBC.CDL.Interfaces.BooleanOutput y + "Outputs true if u1 is less or equal than u2" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +equation + y=u1 <= u2; + annotation ( + defaultComponentName="intLesEqu", + Icon( + coordinateSystem( + preserveAspectRatio=false, + extent={{-100,-100},{100,100}}), + graphics={ + Rectangle( + extent={{-100,100},{100,-100}}, + lineColor={0,0,0}, + lineThickness=5.0, + fillColor={210,210,210}, + fillPattern=FillPattern.Solid, + borderPattern=BorderPattern.Raised), + Ellipse( + extent={{73,7},{87,-7}}, + lineColor=DynamicSelect({235,235,235}, + if y then + {0,255,0} + else + {235,235,235}), + fillColor=DynamicSelect({235,235,235}, + if y then + {0,255,0} + else + {235,235,235}), + fillPattern=FillPattern.Solid), + Ellipse( + extent={{32,10},{52,-10}}, + lineColor={255,127,0}), + Line( + points={{-100,-80},{42,-80},{42,0}}, + color={255,127,0}), + Line( + points={{-10,20},{-54,0},{-10,-18}}, + thickness=0.5, + color={255,127,0}), + Line( + points={{-54,-18},{-14,-34}}, + thickness=0.5, + color={255,127,0}), + Text( + extent={{-150,150},{150,110}}, + textColor={0,0,255}, + textString="%name")}), + Documentation( + info=" +

+Block that outputs true if the Integer input u1 +is less than or equal to the Integer input u2. +Otherwise the output is false. +

+", + revisions=" + +")); +end LessEqual; diff --git a/IBPSA/Controls/OBC/CDL/Integers/LessEqualThreshold.mo b/IBPSA/Controls/OBC/CDL/Integers/LessEqualThreshold.mo new file mode 100644 index 0000000000..e7684209e6 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Integers/LessEqualThreshold.mo @@ -0,0 +1,80 @@ +within IBPSA.Controls.OBC.CDL.Integers; +block LessEqualThreshold + "Output y is true, if input u is less or equal than a threshold" + parameter Integer t=0 + "Threshold for comparison"; + IBPSA.Controls.OBC.CDL.Interfaces.IntegerInput u + "Input to be compared" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.BooleanOutput y + "Outputs true if u is less or equal than the threshold" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +equation + y=u <= t; + annotation ( + defaultComponentName="intLesEquThr", + Icon( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100,-100},{100,100}}), + graphics={ + Rectangle( + extent={{-100,100},{100,-100}}, + lineColor={0,0,0}, + lineThickness=5.0, + fillColor={210,210,210}, + fillPattern=FillPattern.Solid, + borderPattern=BorderPattern.Raised), + Ellipse( + extent={{71,7},{85,-7}}, + lineColor=DynamicSelect({235,235,235}, + if y then + {0,255,0} + else + {235,235,235}), + fillColor=DynamicSelect({235,235,235}, + if y then + {0,255,0} + else + {235,235,235}), + fillPattern=FillPattern.Solid), + Text( + extent={{-150,-140},{150,-110}}, + textColor={0,0,0}, + textString="%t"), + Text( + extent={{-150,150},{150,110}}, + textColor={0,0,255}, + textString="%name"), + Line( + points={{-54,-18},{-14,-34}}, + thickness=0.5, + color={255,127,0}), + Line( + points={{-10,20},{-54,0},{-10,-18}}, + thickness=0.5, + color={255,127,0})}), + Documentation( + info=" +

+Block that outputs true if the Integer input is less than or equal to +the parameter t. +Otherwise the output is false. +

+", + revisions=" + +")); +end LessEqualThreshold; diff --git a/IBPSA/Controls/OBC/CDL/Integers/LessThreshold.mo b/IBPSA/Controls/OBC/CDL/Integers/LessThreshold.mo new file mode 100644 index 0000000000..c7eb2a775b --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Integers/LessThreshold.mo @@ -0,0 +1,71 @@ +within IBPSA.Controls.OBC.CDL.Integers; +block LessThreshold + "Output y is true, if input u is less than a threshold" + parameter Integer t=0 + "Threshold for comparison"; + IBPSA.Controls.OBC.CDL.Interfaces.IntegerInput u + "Input to be compared against the threshold" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.BooleanOutput y + "Outputs true if u is less than the threshold" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +equation + y=u < t; + annotation ( + defaultComponentName="intLesThr", + Icon( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100,-100},{100,100}}), + graphics={ + Rectangle( + extent={{-100,100},{100,-100}}, + lineColor={0,0,0}, + lineThickness=5.0, + fillColor={210,210,210}, + fillPattern=FillPattern.Solid, + borderPattern=BorderPattern.Raised), + Ellipse( + extent={{71,7},{85,-7}}, + lineColor=DynamicSelect({235,235,235}, + if y then + {0,255,0} + else + {235,235,235}), + fillColor=DynamicSelect({235,235,235}, + if y then + {0,255,0} + else + {235,235,235}), + fillPattern=FillPattern.Solid), + Text( + extent={{-150,-140},{150,-110}}, + textColor={0,0,0}, + textString="%t"), + Text( + extent={{-150,150},{150,110}}, + textColor={0,0,255}, + textString="%name"), + Line( + points={{-10,20},{-54,0},{-10,-18}}, + thickness=0.5, + color={255,127,0})}), + Documentation( + info=" +

+Block that outputs true if the Integer input is less than +the parameter t. +Otherwise the output is false. +

+", + revisions=" + +")); +end LessThreshold; diff --git a/IBPSA/Controls/OBC/CDL/Integers/Max.mo b/IBPSA/Controls/OBC/CDL/Integers/Max.mo new file mode 100644 index 0000000000..1f1bc80502 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Integers/Max.mo @@ -0,0 +1,58 @@ +within IBPSA.Controls.OBC.CDL.Integers; +block Max + "Pass through the largest signal" + IBPSA.Controls.OBC.CDL.Interfaces.IntegerInput u1 + "Input to the max function" + annotation (Placement(transformation(extent={{-140,40},{-100,80}}))); + IBPSA.Controls.OBC.CDL.Interfaces.IntegerInput u2 + "Input to the max function" + annotation (Placement(transformation(extent={{-140,-80},{-100,-40}}))); + IBPSA.Controls.OBC.CDL.Interfaces.IntegerOutput y + "Maximum of the inputs" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +equation + y=max(u1, u2); + annotation ( + defaultComponentName="maxInt", + Documentation( + info=" +

+Block that outputs y = max(u1, u2), +where +u1 and u2 are inputs. +

+", + revisions=" + +"), + Icon( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100,-100},{100,100}}), + graphics={ + Rectangle( + extent={{-100,-100},{100,100}}, + lineColor={255,127,0}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Text( + extent={{-150,150},{150,110}}, + textString="%name", + textColor={0,0,255}), + Text( + extent={{-90,36},{90,-36}}, + textColor={160,160,164}, + textString="max()")})); +end Max; diff --git a/IBPSA/Controls/OBC/CDL/Integers/Min.mo b/IBPSA/Controls/OBC/CDL/Integers/Min.mo new file mode 100644 index 0000000000..16873247e2 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Integers/Min.mo @@ -0,0 +1,58 @@ +within IBPSA.Controls.OBC.CDL.Integers; +block Min + "Pass through the smallest signal" + IBPSA.Controls.OBC.CDL.Interfaces.IntegerInput u1 + "Input to the min function" + annotation (Placement(transformation(extent={{-140,40},{-100,80}}))); + IBPSA.Controls.OBC.CDL.Interfaces.IntegerInput u2 + "Input to the max function" + annotation (Placement(transformation(extent={{-140,-80},{-100,-40}}))); + IBPSA.Controls.OBC.CDL.Interfaces.IntegerOutput y + "Minimum of the inputs" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +equation + y=min(u1, u2); + annotation ( + defaultComponentName="minInt", + Documentation( + info=" +

+Block that outputs y = min(u1, u2), +where +u1 and u2 are inputs. +

+", + revisions=" + +"), + Icon( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100,-100},{100,100}}), + graphics={ + Rectangle( + extent={{-100,-100},{100,100}}, + lineColor={255,127,0}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Text( + extent={{-150,150},{150,110}}, + textString="%name", + textColor={0,0,255}), + Text( + extent={{-90,36},{90,-36}}, + textColor={160,160,164}, + textString="min()")})); +end Min; diff --git a/IBPSA/Controls/OBC/CDL/Integers/MultiSum.mo b/IBPSA/Controls/OBC/CDL/Integers/MultiSum.mo new file mode 100644 index 0000000000..05d90b9356 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Integers/MultiSum.mo @@ -0,0 +1,84 @@ +within IBPSA.Controls.OBC.CDL.Integers; +block MultiSum + "Sum of Integers, y = k[1]*u[1] + k[2]*u[2] + ... + k[n]*u[n]" + parameter Integer nin(min=0)=0 + "Number of input connections" + annotation (Dialog(connectorSizing=true),HideResult=true); + parameter Integer k[nin]=fill(1, nin) + "Input gains"; + IBPSA.Controls.OBC.CDL.Interfaces.IntegerInput u[nin] + "Inputs to be multipled with gain and added" + annotation (Placement(transformation(extent={{-140,70},{-100,-70}}))); + IBPSA.Controls.OBC.CDL.Interfaces.IntegerOutput y + "Sum of inputs multiplied by the gain" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +equation + if size(u, 1) > 0 then + y=k*u; + else + y=0; + end if; + annotation ( + defaultComponentName="mulSumInt", + Icon( + graphics={ + Rectangle( + extent={{-100,-100},{100,100}}, + lineColor={255,127,0}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Text( + extent={{-200,-110},{200,-140}}, + textColor={0,0,0}, + fillColor={255,213,170}, + fillPattern=FillPattern.Solid, + textString="%k"), + Text( + extent={{-82,84},{82,-52}}, + textColor={255,127,0}, + fillColor={255,213,170}, + fillPattern=FillPattern.Solid, + textString="+"), + Text( + extent={{-144,150},{156,110}}, + textString="%name", + textColor={0,0,255})}), + Documentation( + info=" +

+Block that outputs +

+

+y = ∑i=1n ki   ui, +

+

+where k is a parameter with n elements and u is +an input of the same length. +The dimension of u can be enlarged by +drawing an additional connection line. The connection is automatically connected +to this new free index. +

+ +

+If no connection to the input connector u is present, +the output is y=0. +

+

+See + +IBPSA.Controls.OBC.CDL.Integers.Validation.MultiSum +for an example. +

+", + revisions=" + +")); +end MultiSum; diff --git a/IBPSA/Controls/OBC/CDL/Integers/Multiply.mo b/IBPSA/Controls/OBC/CDL/Integers/Multiply.mo new file mode 100644 index 0000000000..fe78df1088 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Integers/Multiply.mo @@ -0,0 +1,71 @@ +within IBPSA.Controls.OBC.CDL.Integers; +block Multiply "Output product of the two inputs" + IBPSA.Controls.OBC.CDL.Interfaces.IntegerInput u1 + "Input for multiplication" + annotation (Placement(transformation(extent={{-140,40},{-100,80}}))); + IBPSA.Controls.OBC.CDL.Interfaces.IntegerInput u2 + "Input for multiplication" + annotation (Placement(transformation(extent={{-140,-80},{-100,-40}}))); + IBPSA.Controls.OBC.CDL.Interfaces.IntegerOutput y + "Product of the inputs" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +equation + y=u1*u2; + annotation ( + defaultComponentName="mulInt", + Documentation( + info=" +

+Block that outputs y = u1 * u2, +where +u1 and u2 are Integer inputs. +

+", +revisions=" + +"), + Icon( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100,-100},{100,100}}), + graphics={ + Rectangle( + extent={{-100,-100},{100,100}}, + lineColor={255,127,0}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Line( + points={{-100,60},{-40,60},{-30,40}}, + color={255,127,0}), + Line( + points={{-100,-60},{-40,-60},{-30,-40}}, + color={255,127,0}), + Line( + points={{50,0},{100,0}}, + color={255,127,0}), + Line( + points={{-30,0},{30,0}}), + Line( + points={{-15,25.99},{15,-25.99}}), + Line( + points={{-15,-25.99},{15,25.99}}), + Ellipse( + lineColor={255,127,0}, + extent={{-50,-50},{50,50}}), + Text( + extent={{-150,150},{150,110}}, + textString="%name", + textColor={0,0,255})})); +end Multiply; diff --git a/IBPSA/Controls/OBC/CDL/Integers/OnCounter.mo b/IBPSA/Controls/OBC/CDL/Integers/OnCounter.mo new file mode 100644 index 0000000000..f163c92e22 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Integers/OnCounter.mo @@ -0,0 +1,79 @@ +within IBPSA.Controls.OBC.CDL.Integers; +block OnCounter + "Increment the output if the input switches to true" + parameter Integer y_start=0 + "Initial and reset value of y if input reset switches to true"; + IBPSA.Controls.OBC.CDL.Interfaces.BooleanInput trigger + "Trigger, when set to true, the counter increases" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.BooleanInput reset + "Reset, when true, the counter is set to y_start" + annotation (Placement(transformation(extent={{-20,-20},{20,20}},rotation=90,origin={0,-120}))); + IBPSA.Controls.OBC.CDL.Interfaces.IntegerOutput y + "Counter value" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +initial equation + pre(y)=y_start; + +equation + when {trigger,reset} then + y=if reset then + y_start + else + pre(y)+1; + end when; + annotation ( + defaultComponentName="onCouInt", + Icon( + coordinateSystem( + preserveAspectRatio=false, + extent={{-100,-100},{100,100}}, + initialScale=0.06), + graphics={ + Rectangle( + extent={{-100,100},{100,-100}}, + lineColor={0,0,0}, + lineThickness=5.0, + fillColor={255,213,170}, + fillPattern=FillPattern.Solid, + borderPattern=BorderPattern.Raised), + Text( + extent={{-64,-62},{58,-86}}, + textColor={0,0,0}, + textString="reset"), + Text( + extent={{-150,150},{150,110}}, + textString="%name", + textColor={0,0,255})}), + Documentation( + info=" +

+Block that outputs how often the trigger input changed to true +since the last invocation of reset. +

+

+This block may be used as a counter. Its output y starts +at the parameter value y_start. +Whenever the input signal trigger changes to true, +the output is incremented by 1. +When the input reset changes to true, +then the output is reset to y = y_start. +If both inputs trigger and reset change +simultaneously, then the ouput is y = y_start. +

+", + revisions=" + +")); +end OnCounter; diff --git a/IBPSA/Controls/OBC/CDL/Integers/Sources/Constant.mo b/IBPSA/Controls/OBC/CDL/Integers/Sources/Constant.mo new file mode 100644 index 0000000000..3d1bece672 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Integers/Sources/Constant.mo @@ -0,0 +1,62 @@ +within IBPSA.Controls.OBC.CDL.Integers.Sources; +block Constant + "Output constant signal of type Integer" + parameter Integer k + "Constant output value"; + IBPSA.Controls.OBC.CDL.Interfaces.IntegerOutput y + "Output with constant value" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +equation + y=k; + annotation ( + defaultComponentName="conInt", + Icon( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100,-100},{100,100}}), + graphics={ + Text( + extent={{-150,150},{150,110}}, + textString="%name", + textColor={0,0,255}), + Rectangle( + extent={{-100,-100},{100,100}}, + lineColor={255,127,0}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Line( + points={{-80,68},{-80,-80}}, + color={192,192,192}), + Polygon( + points={{-80,90},{-88,68},{-72,68},{-80,90}}, + lineColor={192,192,192}, + fillColor={192,192,192}, + fillPattern=FillPattern.Solid), + Line( + points={{-90,-70},{82,-70}}, + color={192,192,192}), + Polygon( + points={{90,-70},{68,-62},{68,-78},{90,-70}}, + lineColor={192,192,192}, + fillColor={192,192,192}, + fillPattern=FillPattern.Solid), + Line( + points={{-80,0},{80,0}}), + Text( + extent={{-150,-150},{150,-110}}, + textColor={0,0,0}, + textString="k=%k")}), + Documentation( + info=" +

+Block that outputs a constant signal y = k, +where k is an Integer-valued parameter. +

+ +

+\"IntegerConstant.png\" +

+")); +end Constant; diff --git a/IBPSA/Controls/OBC/CDL/Integers/Sources/Pulse.mo b/IBPSA/Controls/OBC/CDL/Integers/Sources/Pulse.mo new file mode 100644 index 0000000000..5131cecfa5 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Integers/Sources/Pulse.mo @@ -0,0 +1,162 @@ +within IBPSA.Controls.OBC.CDL.Integers.Sources; +block Pulse + "Generate pulse signal of type Integer" + parameter Integer amplitude=1 + "Amplitude of pulse"; + parameter Real width( + final min=Constants.small, + final max=1, + final unit="1")=0.5 + "Width of pulse in fraction of period"; + parameter Real period( + final quantity="Time", + final unit="s", + final min=Constants.small) + "Time for one period"; + parameter Real shift( + final quantity="Time", + final unit="s")=0 + "Shift time for output"; + parameter Integer offset=0 + "Offset of output signals"; + IBPSA.Controls.OBC.CDL.Interfaces.IntegerOutput y + "Output connector with pulse value" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +protected + Logical.Sources.Pulse booPul( + final width=width, + final period=period, + final shift=shift) + "Boolean pulse" + annotation (Placement(transformation(extent={{-40,-10},{-20,10}}))); + Conversions.BooleanToInteger booToInt( + final integerTrue=offset+amplitude, + final integerFalse=offset) + "Boolean to integer conversion" + annotation (Placement(transformation(extent={{20,-10},{40,10}}))); + +equation + connect(booPul.y,booToInt.u) + annotation (Line(points={{-18,0},{18,0}},color={255,0,255})); + connect(booToInt.y,y) + annotation (Line(points={{42,0},{100,0}},color={255,127,0})); + annotation ( + defaultComponentName="intPul", + Icon( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100,-100},{100,100}}), + graphics={ + Rectangle( + extent={{-100,-100},{100,100}}, + lineColor={0,0,0}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Line( + points={{-80,68},{-80,-80}}, + color={244,125,35}), + Polygon( + points={{-80,90},{-88,68},{-72,68},{-80,90}}, + lineColor={244,125,35}, + fillColor={244,125,35}, + fillPattern=FillPattern.Solid), + Line( + points={{-90,-70},{82,-70}}, + color={255,170,85}), + Text( + extent={{-147,-152},{153,-112}}, + textColor={0,0,0}, + textString="period=%period"), + Text( + textColor={0,0,255}, + extent={{-150,110},{150,150}}, + textString="%name"), + Text( + extent={{226,60},{106,10}}, + textColor={0,0,0}, + textString=DynamicSelect("",String(y, + leftJustified=false, + significantDigits=3))), + Line( + points={{-132,-18}}, + color={28,108,200}), + Polygon( + points={{-80,52},{-68,56},{-68,48},{-80,52}}, + fillColor={135,135,135}, + fillPattern=FillPattern.Solid, + pattern=LinePattern.None, + lineColor={0,0,0}), + Line( + points={{-80,52},{-4,52}}, + color={135,135,135}), + Text( + extent={{-66,80},{-8,56}}, + textColor={135,135,135}, + textString="%period"), + Polygon( + points={{-2,52},{-14,56},{-14,48},{-2,52}}, + fillColor={135,135,135}, + fillPattern=FillPattern.Solid, + pattern=LinePattern.None, + lineColor={0,0,0}), + Line( + points={{40,34},{72,34}}, + color={135,135,135}), + Polygon( + points={{74,34},{62,38},{62,30},{74,34}}, + fillColor={135,135,135}, + fillPattern=FillPattern.Solid, + pattern=LinePattern.None, + lineColor={0,0,0}), + Text( + extent={{38,64},{96,40}}, + textColor={135,135,135}, + textString="%shift"), + Line( + points={{79,-70},{40,-70},{40,44},{-1,44},{-1,-70},{-41,-70},{-41,44},{-80,44}}), + Polygon( + points={{90,-70},{68,-62},{68,-78},{90,-70}}, + lineColor={244,125,35}, + fillColor={244,125,35}, + fillPattern=FillPattern.Solid)}), + Documentation( + info=" +

+Block that outputs a pulse signal as shown below. +

+

+\"Pulse.png\" +

+

+The pulse signal is generated an infinite number of times, and aligned with time=shift. +

+", + revisions=" + +")); +end Pulse; diff --git a/IBPSA/Controls/OBC/CDL/Integers/Sources/TimeTable.mo b/IBPSA/Controls/OBC/CDL/Integers/Sources/TimeTable.mo new file mode 100644 index 0000000000..d59e32ec7f --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Integers/Sources/TimeTable.mo @@ -0,0 +1,221 @@ +within IBPSA.Controls.OBC.CDL.Integers.Sources; +block TimeTable + "Table look-up with respect to time with constant segments" + parameter Real table[:,:] + "Table matrix with time as a first table column (in seconds, unless timeScale is not 1) and Integers in all other columns"; + parameter Real timeScale( + final unit="1")=1 + "Time scale of first table column. Set to 3600 if time in table is in hours"; + parameter Real period( + final quantity="Time", + final unit="s", + min=1E-6) + "Periodicity of table"; + IBPSA.Controls.OBC.CDL.Interfaces.IntegerOutput y[nout] + "Output with tabulated values" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +protected + final parameter Integer nout=size( + table, + 2)-1 + "Dimension of output vector"; + final parameter Integer nT=size( + table, + 1) + "Number of time stamps"; + parameter Real t0( + final quantity="Time", + final unit="s", + fixed=false) + "First sample time instant"; + final parameter Real timeStamps[:]( + each final quantity="Time", + each final unit="s")=timeScale*table[1:end,1] + "Time stamps"; + final parameter Integer val[:,:]=integer( + table[1:end,2:end]+ones( + nT, + nout)*Constants.small) + "Table values as Integer"; + Integer idx( + fixed=false) + "Index for table lookup"; + function getIndex + "Function to get the index for the table look-up" + input Real t( + final quantity="Time", + final unit="s") + "Current time"; + input Real period( + final quantity="Time", + final unit="s") + "Time period"; + input Real x[:]( + each final quantity="Time", + each final unit="s") + "Time stamps"; + output Integer k + "Index in table"; + + protected + Real tS( + final quantity="Time", + final unit="s") + "Time shifted so it is within the period"; + + algorithm + tS := mod( + t, + period); + k :=-1; + for i in size( + x, + 1):-1:1 loop + if tS >= x[i]-1E-6 then + k := i; + break; + end if; + end for; + end getIndex; + +initial equation + t0=IBPSA.Utilities.Math.Functions.round( + x=integer(time/period)*period, + n=6); + assert( + nT > 0, + "No table values defined."); + // Check that all values in the second column are Integer values + for i in 1:nT loop + for j in 2:size( + table, + 2) loop + assert( + abs( + table[i,j]-integer( + table[i,j])) < Constants.small, + "In "+getInstanceName()+": Table value table["+String(i)+", "+String(j)+"] = "+String( + table[i,j])+" is not an Integer."); + end for; + end for; + assert( + abs( + table[1,1]) < Constants.small, + "In "+getInstanceName()+": First time stamp must be zero as otherwise no data is defined for the start of the table."); + assert( + period-table[1,end] > Constants.small, + "In "+getInstanceName()+": Last time stamp in table must be smaller than period."); + idx=getIndex( + time, + period, + timeStamps); + y[:]=val[idx,:]; + +equation + when {sample(t0+timeStamps[i],period) for i in 1:nT} then + idx=getIndex( + time, + period, + timeStamps); + y[:]=val[idx,:]; + end when; + annotation ( + defaultComponentName="intTimTab", + Documentation( + info=" +

+Block that outputs Integer time table values. +

+

+The block takes as a parameter a time table of a format: +

+
+table = [ 0*3600, 2;
+          6*3600, 1;
+         18*3600, 8];
+period = 24*3600;
+
+

+where the first column of table is time and the remaining column(s) are the table values. +The time column contains Real values that are in units of seconds if timeScale = 1. +The parameter timeScale can be used to scale the time values, for example, use +timeScale = 3600 if the values in the first column are interpreted as hours. +

+

+The values in column two and higher must be of type Integer, otherwise the model stops with an error. +

+

+Until a new tabulated value is set, the previous tabulated value is returned. +

+

+The table scope is repeated periodically with periodicity period. +

+", + revisions=" + +"), + Icon( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100.0,-100.0},{100.0,100.0}}), + graphics={ + Rectangle( + extent={{-100,-100},{100,100}}, + lineColor={244,125,35}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Text( + extent={{-150,150},{150,110}}, + textString="%name", + textColor={0,0,255}), + Polygon( + lineColor={192,192,192}, + fillColor={192,192,192}, + fillPattern=FillPattern.Solid, + points={{-80.0,90.0},{-88.0,68.0},{-72.0,68.0},{-80.0,90.0}}), + Line( + points={{-80.0,68.0},{-80.0,-80.0}}, + color={192,192,192}), + Line( + points={{-90.0,-70.0},{82.0,-70.0}}, + color={192,192,192}), + Polygon( + lineColor={192,192,192}, + fillColor={192,192,192}, + fillPattern=FillPattern.Solid, + points={{90.0,-70.0},{68.0,-62.0},{68.0,-78.0},{90.0,-70.0}}), + Rectangle( + lineColor={255,255,255}, + fillColor={255,215,136}, + fillPattern=FillPattern.Solid, + extent={{-48.0,-50.0},{2.0,70.0}}), + Line( + points={{-48.0,-50.0},{-48.0,70.0},{52.0,70.0},{52.0,-50.0},{-48.0,-50.0},{-48.0,-20.0},{52.0,-20.0},{52.0,10.0},{-48.0,10.0},{-48.0,40.0},{52.0,40.0},{52.0,70.0},{2.0,70.0},{2.0,-51.0}})})); +end TimeTable; diff --git a/IBPSA/Controls/OBC/CDL/Integers/Sources/Validation/Constant.mo b/IBPSA/Controls/OBC/CDL/Integers/Sources/Validation/Constant.mo new file mode 100644 index 0000000000..83b1efc9dd --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Integers/Sources/Validation/Constant.mo @@ -0,0 +1,44 @@ +within IBPSA.Controls.OBC.CDL.Integers.Sources.Validation; +model Constant + "Validate the Constant block" + IBPSA.Controls.OBC.CDL.Integers.Sources.Constant con( + k=5) + "Block output integer constant value" + annotation (Placement(transformation(extent={{-10,-10},{10,10}}))); + annotation ( + experiment( + StopTime=1.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Sources/Validation/Constant.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Integers.Sources.Constant. +

+ +", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end Constant; diff --git a/IBPSA/Controls/OBC/CDL/Integers/Sources/Validation/Pulse.mo b/IBPSA/Controls/OBC/CDL/Integers/Sources/Validation/Pulse.mo new file mode 100644 index 0000000000..d444a49170 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Integers/Sources/Validation/Pulse.mo @@ -0,0 +1,67 @@ +within IBPSA.Controls.OBC.CDL.Integers.Sources.Validation; +model Pulse + "Validation model for the Integer Pulse block" + IBPSA.Controls.OBC.CDL.Integers.Sources.Pulse pul3( + amplitude=1, + width=0.5, + period=1, + offset=3) + "Block that generates pulse signal of type Integer at simulation start time" + annotation (Placement(transformation(extent={{-10,-80},{10,-60}}))); + IBPSA.Controls.OBC.CDL.Integers.Sources.Pulse pul1( + amplitude=2, + width=0.5, + period=1, + offset=1, + shift=1.75) + "Block that generates pulse signal of type Integer starting from after the simulation start time" + annotation (Placement(transformation(extent={{-10,0},{10,20}}))); + IBPSA.Controls.OBC.CDL.Integers.Sources.Pulse pul2( + amplitude=3, + width=0.5, + period=1, + offset=-2, + shift=-1.25) + "Block that generates pulse signal of type Integer starting from before the simulation start time" + annotation (Placement(transformation(extent={{-10,-40},{10,-20}}))); + IBPSA.Controls.OBC.CDL.Integers.Sources.Pulse pul( + width=0.5, + period=1) + "Block that generates pulse signal of type Integer at simulation start time and has infinite number of periods" + annotation (Placement(transformation(extent={{-10,40},{10,60}}))); + annotation ( + experiment( + StopTime=5, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Sources/Validation/Pulse.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Integers.Sources.Pulse. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end Pulse; diff --git a/IBPSA/Controls/OBC/CDL/Integers/Sources/Validation/TimeTable.mo b/IBPSA/Controls/OBC/CDL/Integers/Sources/Validation/TimeTable.mo new file mode 100644 index 0000000000..59164ca38d --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Integers/Sources/Validation/TimeTable.mo @@ -0,0 +1,68 @@ +within IBPSA.Controls.OBC.CDL.Integers.Sources.Validation; +model TimeTable + "Validation model for TimeTable block" + IBPSA.Controls.OBC.CDL.Integers.Sources.TimeTable intTimTab( + table=[ + 0,1,4; + 1.3,2,2; + 2.9,0,-1; + 4,3,7], + period=5) + "Integer time table" + annotation (Placement(transformation(extent={{-40,40},{-20,60}}))); + IBPSA.Controls.OBC.CDL.Integers.Sources.TimeTable intTimTab1( + table=[ + 0,-1,-2; + 6,1,4; + 7.3,2,2; + 8.9,0,-1; + 10,3,7], + period=11) + "Integer time table" + annotation (Placement(transformation(extent={{-40,0},{-20,20}}))); + IBPSA.Controls.OBC.CDL.Integers.Sources.TimeTable tabOneRow( + table=[ + 0,-1], + period=2) + "Time table with only one row of data" + annotation (Placement(transformation(extent={{-40,-40},{-20,-20}}))); + annotation ( + experiment( + Tolerance=1e-6, + StopTime=15.0), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Sources/Validation/TimeTable.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Integers.Sources.TimeTable. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end TimeTable; diff --git a/IBPSA/Controls/OBC/CDL/Integers/Sources/Validation/TimeTableNegativeStartTime.mo b/IBPSA/Controls/OBC/CDL/Integers/Sources/Validation/TimeTableNegativeStartTime.mo new file mode 100644 index 0000000000..022bb3e046 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Integers/Sources/Validation/TimeTableNegativeStartTime.mo @@ -0,0 +1,72 @@ +within IBPSA.Controls.OBC.CDL.Integers.Sources.Validation; +model TimeTableNegativeStartTime + "Validation model for TimeTable block with negative start time" + IBPSA.Controls.OBC.CDL.Integers.Sources.TimeTable intTimTab( + table=[ + 0,1,4; + 1.3,2,2; + 2.9,0,-1; + 4,3,7], + period=5) + "Integer time table" + annotation (Placement(transformation(extent={{-40,40},{-20,60}}))); + IBPSA.Controls.OBC.CDL.Integers.Sources.TimeTable intTimTab1( + table=[ + 0,-1,-2; + 6,1,4; + 7.3,2,2; + 8.9,0,-1; + 10,3,7], + period=11) + "Integer time table" + annotation (Placement(transformation(extent={{-40,0},{-20,20}}))); + IBPSA.Controls.OBC.CDL.Integers.Sources.TimeTable tabOneRow( + table=[ + 0,-1], + period=2) + "Time table with only one row of data" + annotation (Placement(transformation(extent={{-40,-40},{-20,-20}}))); + annotation ( + experiment( + Tolerance=1e-6, + StartTime=-5.0, + StopTime=10.0), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Sources/Validation/TimeTableNegativeStartTime.mos" "Simulate and plot"), + Documentation( + info=" +

+This model validates the block + +IBPSA.Controls.OBC.CDL.Integers.Sources.TimeTable. +The model is identical to + +IBPSA.Controls.OBC.CDL.Integers.Sources.Validation.TimeTable +except that the start time is negative. +", + revisions=" +

+"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end TimeTableNegativeStartTime; diff --git a/IBPSA/Controls/OBC/CDL/Integers/Sources/Validation/package.mo b/IBPSA/Controls/OBC/CDL/Integers/Sources/Validation/package.mo new file mode 100644 index 0000000000..ef71fd3acb --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Integers/Sources/Validation/package.mo @@ -0,0 +1,37 @@ +within IBPSA.Controls.OBC.CDL.Integers.Sources; +package Validation "Collection of models that validate the logical sources blocks of the CDL" + annotation ( + preferredView="info", + Documentation( + info=" +

+This package contains models that validate the blocks in + +IBPSA.Controls.OBC.CDL.Integers.Sources. +

+

+The examples plot various outputs, which have been verified against +analytical solutions. These model outputs are stored as reference data to +allow continuous validation whenever models in the library change. +

+"), + Icon( + graphics={ + Rectangle( + lineColor={200,200,200}, + fillColor={248,248,248}, + fillPattern=FillPattern.HorizontalCylinder, + extent={{-100,-100},{100,100}}, + radius=25.0), + Rectangle( + lineColor={128,128,128}, + extent={{-100,-100},{100,100}}, + radius=25.0), + Polygon( + origin={8,14}, + lineColor={78,138,73}, + fillColor={78,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-58.0,46.0},{42.0,-14.0},{-58.0,-74.0},{-58.0,46.0}})})); +end Validation; diff --git a/IBPSA/Controls/OBC/CDL/Integers/Sources/Validation/package.order b/IBPSA/Controls/OBC/CDL/Integers/Sources/Validation/package.order new file mode 100644 index 0000000000..dd6122382b --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Integers/Sources/Validation/package.order @@ -0,0 +1,4 @@ +Constant +Pulse +TimeTable +TimeTableNegativeStartTime diff --git a/IBPSA/Controls/OBC/CDL/Integers/Sources/package.mo b/IBPSA/Controls/OBC/CDL/Integers/Sources/package.mo new file mode 100644 index 0000000000..b6e3294db1 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Integers/Sources/package.mo @@ -0,0 +1,33 @@ +within IBPSA.Controls.OBC.CDL.Integers; +package Sources "Package with blocks that generate source signals" + annotation ( + Documentation( + info=" +

+Package with blocks that generate signals. +

+"), + Icon( + graphics={ + Rectangle( + lineColor={200,200,200}, + fillColor={248,248,248}, + fillPattern=FillPattern.HorizontalCylinder, + extent={{-100,-100},{100,100}}, + radius=25.0), + Rectangle( + lineColor={128,128,128}, + extent={{-100,-100},{100,100}}, + radius=25.0), + Polygon( + origin={23.3333,0}, + fillColor={128,128,128}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-23.333,30.0},{46.667,0.0},{-23.333,-30.0}}), + Rectangle( + fillColor={128,128,128}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + extent={{-70,-4.5},{0,4.5}})})); +end Sources; diff --git a/IBPSA/Controls/OBC/CDL/Integers/Sources/package.order b/IBPSA/Controls/OBC/CDL/Integers/Sources/package.order new file mode 100644 index 0000000000..04261d0db1 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Integers/Sources/package.order @@ -0,0 +1,4 @@ +Constant +Pulse +TimeTable +Validation diff --git a/IBPSA/Controls/OBC/CDL/Integers/Stage.mo b/IBPSA/Controls/OBC/CDL/Integers/Stage.mo new file mode 100644 index 0000000000..61a90bda16 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Integers/Stage.mo @@ -0,0 +1,143 @@ +within IBPSA.Controls.OBC.CDL.Integers; +block Stage "Output total stages that should be enabled" + + parameter Integer n(final min=1) + "Number of stages that could be enabled"; + + parameter Real holdDuration( + final quantity="Time", + final unit="s", + min=0) + "Minimum time that the output needs to be held constant. Set to 0 to disable hold time"; + + parameter Real h( + min=0.001/n, + max=0.5/n) = 0.02/n "Hysteresis for comparing input with threshold"; + + parameter Integer pre_y_start = 0 + "Value of pre(y) at initial time"; + + IBPSA.Controls.OBC.CDL.Interfaces.RealInput u( + final min=0, + final max=1) + "Input between 0 and 1 for specifying stages" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}), + iconTransformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.IntegerOutput y( + final min=1, + final max=n) + "Total number of stages that should be enabled" + annotation (Placement(transformation(extent={{100,-20},{140,20}}), + iconTransformation(extent={{100,-20},{140,20}}))); + +protected + final parameter Real staThr[n]={(i - 1)/n for i in 1:n} + "Stage thresholds"; + discrete Real tNext( + final unit="s") + "Next instant at which the block checks if it has passed the minimum hold time"; + discrete Real upperThreshold + "Current upper bound of the stage range which the input is in"; + discrete Real lowerThreshold + "Current lower bound of the stage range which the input is in"; + Boolean checkUpper + "Check if the input value is greater than the upper bound"; + Boolean checkLower + "Check if the input value is greater than the lower bound"; + +initial equation + upperThreshold = 0; + lowerThreshold = 0; + pre(checkUpper) = false; + pre(checkLower) = true; + tNext =time + holdDuration; + pre(y)=pre_y_start; + +equation + checkUpper = not pre(checkUpper) and (u > (pre(upperThreshold) + h)) or pre(checkUpper) and (u >= (pre(upperThreshold) - h)); + checkLower = not pre(checkLower) and (u > (pre(lowerThreshold) + h)) or pre(checkLower) and (u >= (pre(lowerThreshold) - h)); + + when (time >= pre(tNext) and (checkUpper or not checkLower)) then + tNext =time + holdDuration; + y =if (u >= staThr[n]) + then + n + else + sum({(if ((u < staThr[i]) and (u >= staThr[i - 1])) then i - 1 else 0) for i in 2:n}); + upperThreshold = if (y == n) then staThr[n] else staThr[y + 1]; + lowerThreshold = if (y == 0) then pre(lowerThreshold) else staThr[y]; + end when; + +annotation (defaultComponentName="sta", + Icon(coordinateSystem(preserveAspectRatio=false, extent={{-100,-100},{100,100}}), + graphics={ + Rectangle( + extent={{-100,100},{100,-100}}, + lineColor={0,0,0}, + lineThickness=5.0, + fillColor={255,213,170}, + fillPattern=FillPattern.Solid, + borderPattern=BorderPattern.Raised), + Text( + extent={{-100,140},{100,100}}, + textString="%name", + textColor={0,0,255}), + Text( + extent={{-98,14},{-54,-12}}, + textColor={0,0,0}, + textString=DynamicSelect("",String(u, + leftJustified=false, + significantDigits=3))), + Text( + extent={{56,16},{100,-10}}, + textColor={0,0,0}, + textString=DynamicSelect("",String(y, + leftJustified=false, + significantDigits=3))), + Text( + extent={{-62,70},{64,100}}, + textColor={0,0,0}, + textString="h=%h"), + Line( + points={{-60,-60},{-40,-60},{-40,-20},{0,-20},{0,20},{40,20},{40,60},{ + 60,60}}, + color={0,0,0}, + thickness=0.5), + Line( + points={{-80,-60},{40,60}}, + color={0,0,0}, + thickness=0.5, + pattern=LinePattern.Dash)}), + Diagram(coordinateSystem(preserveAspectRatio=false, extent={{-100,-100},{100,100}})), + Documentation(info=" +

+Block that outputs the total number of stages to be enabled. +

+

+The block compares the input u with the threshold of each stage. If the input is greater +than a stage threshold, the output is set to that stage. +The block outputs the total number of stages to be enabled. +

+

+The parameter n specifies the maximum number of stages. +The stage thresholds are evenly distributed, i.e. the thresholds +for stages [1, 2, 3, ... , n] are +[0, 1/n, 2/n, ... , (n-1)/n], plus a hysteresis which is by default +h=0.02/n. +Once the output changes, it cannot change for at least holdDuration seconds. +

+", +revisions=" + +")); +end Stage; diff --git a/IBPSA/Controls/OBC/CDL/Integers/Subtract.mo b/IBPSA/Controls/OBC/CDL/Integers/Subtract.mo new file mode 100644 index 0000000000..2cbe7f3eb8 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Integers/Subtract.mo @@ -0,0 +1,68 @@ +within IBPSA.Controls.OBC.CDL.Integers; +block Subtract "Output the difference of the two inputs" + IBPSA.Controls.OBC.CDL.Interfaces.IntegerInput u1 + "Input u1 for the minuend" + annotation (Placement(transformation(extent={{-140,40},{-100,80}}))); + IBPSA.Controls.OBC.CDL.Interfaces.IntegerInput u2 + "Input u2 for the subtrahend" + annotation (Placement(transformation(extent={{-140,-80},{-100,-40}}))); + IBPSA.Controls.OBC.CDL.Interfaces.IntegerOutput y + "Output with the difference u1-u2" + annotation (Placement(transformation(extent={{100,-20},{140,20}}), + iconTransformation(extent={{100,-20},{140,20}}))); + +equation + y=u1-u2; + annotation ( + defaultComponentName="intSub", + Documentation( + info=" +

+Block that outputs y as the difference of the +two input signals u1 and u2, +

+
+    y = u1 - u2
+
+", +revisions=" + +"), + Icon( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100,-100},{100,100}}), + graphics={ + Rectangle( + extent={{-100,-100},{100,100}}, + lineColor={255,127,0}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Ellipse( + lineColor={255,127,0}, + extent={{-50,-50},{50,50}}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Text( + extent={{-150,150},{150,110}}, + textString="%name", + textColor={0,0,255}), + Line(points={{-100,60},{-74,24},{-44,24}}, color={255,127,0}), + Line(points={{-100,-60},{-74,-28},{-42,-28}}, color={255,127,0}), + Line(points={{50,0},{100,0}}, color={255,127,0}), + Text( + extent={{-38,-28},{38,40}}, + textColor={255,127,0}, + textString="-"), + Text( + extent={{226,60},{106,10}}, + textColor={0,0,0}, + textString=DynamicSelect("",String(y, + leftJustified=false, + significantDigits=3)))})); +end Subtract; diff --git a/IBPSA/Controls/OBC/CDL/Integers/Switch.mo b/IBPSA/Controls/OBC/CDL/Integers/Switch.mo new file mode 100644 index 0000000000..fa6cddcaaa --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Integers/Switch.mo @@ -0,0 +1,118 @@ +within IBPSA.Controls.OBC.CDL.Integers; +block Switch + "Switch between two integer signals" + IBPSA.Controls.OBC.CDL.Interfaces.IntegerInput u1 + "Input u1" + annotation (Placement(transformation(extent={{-140,60},{-100,100}}))); + IBPSA.Controls.OBC.CDL.Interfaces.BooleanInput u2 + "Boolean switch input signal, if true, y=u1, else y=u3" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.IntegerInput u3 + "Input u3" + annotation (Placement(transformation(extent={{-140,-100},{-100,-60}}))); + IBPSA.Controls.OBC.CDL.Interfaces.IntegerOutput y + "Output with u1 if u2 is true, else u3" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +equation + y=if u2 then u1 else u3; + annotation ( + defaultComponentName="intSwi", + Documentation( + info=" +

+Block that outputs one of two integer input signals based on a boolean input signal. +

+

+If the input signal u2 is true, +the block outputs y = u1. +Otherwise, it outputs y = u3. +

+", + revisions=" + +"), + Icon( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100,-100},{100,100}}), + graphics={ + Rectangle( + extent={{-100,100},{100,-100}}, + fillColor={210,210,210}, + lineThickness=5.0, + fillPattern=FillPattern.Solid, + borderPattern=BorderPattern.Raised), + Line( + points={{12,0},{100,0}}, + color={244,125,35}), + Line( + points={{-100,0},{-40,0}}, + color={255,0,255}), + Line( + points={{-100,-80},{-40,-80},{-40,-80}}, + color={244,125,35}), + Line( + points={{-40,12},{-40,-10}}, + color={255,0,255}), + Line( + points={{-100,80},{-40,80}}, + color={244,125,35}), + Line( + points=DynamicSelect({{8,2},{-40,80}},{{8,2}, + if u2 then + {-40,80} + else + {-40,-80}}), + color={244,125,35}, + thickness=1), + Ellipse( + lineColor={0,0,127}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + extent={{2.0,-6.0},{18.0,8.0}}), + Ellipse( + extent={{-71,7},{-85,-7}}, + lineColor=DynamicSelect({235,235,235}, + if u2 then + {0,255,0} + else + {235,235,235}), + fillColor=DynamicSelect({235,235,235}, + if u2 then + {0,255,0} + else + {235,235,235}), + fillPattern=FillPattern.Solid), + Text( + extent={{-90,80},{-46,54}}, + textColor=DynamicSelect({0,0,0}, + if u2 then + {0,0,0} + else + {235,235,235}), + textString="true"), + Text( + extent={{-90,-46},{-38,-76}}, + textColor=DynamicSelect({0,0,0}, + if u2 then + {235,235,235} + else + {0,0,0}), + textString="false"), + Text( + extent={{-150,150},{150,110}}, + textColor={0,0,255}, + textString="%name")})); +end Switch; diff --git a/IBPSA/Controls/OBC/CDL/Integers/Validation/Abs.mo b/IBPSA/Controls/OBC/CDL/Integers/Validation/Abs.mo new file mode 100644 index 0000000000..3d3d3759ab --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Integers/Validation/Abs.mo @@ -0,0 +1,63 @@ +within IBPSA.Controls.OBC.CDL.Integers.Validation; +model Abs + "Validation model for the absolute block" + IBPSA.Controls.OBC.CDL.Integers.Abs abs1 + "Block that outputs the absolute value of the input" + annotation (Placement(transformation(extent={{40,-10},{60,10}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp1( + duration=1, + offset=-3.5, + height=7.0) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-80,-10},{-60,10}}))); + IBPSA.Controls.OBC.CDL.Reals.Round round1( + n=0) + "Round real number to given digits" + annotation (Placement(transformation(extent={{-40,-10},{-20,10}}))); + IBPSA.Controls.OBC.CDL.Conversions.RealToInteger reaToInt + "Convert real to integer" + annotation (Placement(transformation(extent={{0,-10},{20,10}}))); + +equation + connect(ramp1.y,round1.u) + annotation (Line(points={{-59,0},{-42,0}},color={0,0,127})); + connect(round1.y,reaToInt.u) + annotation (Line(points={{-19,0},{-2,0}},color={0,0,127})); + connect(reaToInt.y,abs1.u) + annotation (Line(points={{21,0},{38,0}},color={255,127,0})); + annotation ( + experiment( + StopTime=1.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Validation/Abs.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Integers.Abs. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end Abs; diff --git a/IBPSA/Controls/OBC/CDL/Integers/Validation/Add.mo b/IBPSA/Controls/OBC/CDL/Integers/Validation/Add.mo new file mode 100644 index 0000000000..2d8bb02fab --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Integers/Validation/Add.mo @@ -0,0 +1,82 @@ +within IBPSA.Controls.OBC.CDL.Integers.Validation; +model Add + "Validation model for the Add block" + IBPSA.Controls.OBC.CDL.Integers.Add add1 + "Block that outputs the sum of the two inputs" + annotation (Placement(transformation(extent={{60,-10},{80,10}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp1( + duration=1, + offset=-3.5, + height=7.0) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-80,10},{-60,30}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp2( + duration=1, + offset=-0.5, + height=7.0) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-80,-30},{-60,-10}}))); + IBPSA.Controls.OBC.CDL.Reals.Round round1( + n=0) + "Round real number to given digits" + annotation (Placement(transformation(extent={{-40,10},{-20,30}}))); + IBPSA.Controls.OBC.CDL.Conversions.RealToInteger reaToInt + "Convert real to integer" + annotation (Placement(transformation(extent={{0,10},{20,30}}))); + IBPSA.Controls.OBC.CDL.Reals.Round round2( + n=0) + "Round real number to given digits" + annotation (Placement(transformation(extent={{-40,-30},{-20,-10}}))); + IBPSA.Controls.OBC.CDL.Conversions.RealToInteger reaToInt1 + "Convert real to integer" + annotation (Placement(transformation(extent={{0,-30},{20,-10}}))); + +equation + connect(ramp1.y,round1.u) + annotation (Line(points={{-58,20},{-42,20}},color={0,0,127})); + connect(ramp2.y,round2.u) + annotation (Line(points={{-58,-20},{-42,-20}},color={0,0,127})); + connect(round2.y,reaToInt1.u) + annotation (Line(points={{-18,-20},{-2,-20}},color={0,0,127})); + connect(round1.y,reaToInt.u) + annotation (Line(points={{-18,20},{-2,20}},color={0,0,127})); + connect(reaToInt.y,add1.u1) + annotation (Line(points={{22,20},{40,20},{40,6},{58,6}},color={255,127,0})); + connect(reaToInt1.y,add1.u2) + annotation (Line(points={{22,-20},{40,-20},{40,-6},{58,-6}},color={255,127,0})); + annotation ( + experiment( + StopTime=1.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Validation/Add.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Integers.Add. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end Add; diff --git a/IBPSA/Controls/OBC/CDL/Integers/Validation/AddParameter.mo b/IBPSA/Controls/OBC/CDL/Integers/Validation/AddParameter.mo new file mode 100644 index 0000000000..19cc9ab1fe --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Integers/Validation/AddParameter.mo @@ -0,0 +1,63 @@ +within IBPSA.Controls.OBC.CDL.Integers.Validation; +model AddParameter "Validation model for the AddParameter block" + IBPSA.Controls.OBC.CDL.Integers.AddParameter addPar(p=5) + "Block that outputs the sum of an input plus a parameter" + annotation (Placement(transformation(extent={{40,-10},{60,10}}))); + + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp1( + duration=1, + offset=-3.5, + height=7.0) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-80,-10},{-60,10}}))); + IBPSA.Controls.OBC.CDL.Reals.Round round1(n=0) + "Round real number to given digits" + annotation (Placement(transformation(extent={{-40,-10},{-20,10}}))); + IBPSA.Controls.OBC.CDL.Conversions.RealToInteger reaToInt + "Convert real to integer" + annotation (Placement(transformation(extent={{0,-10},{20,10}}))); + +equation + connect(ramp1.y,round1.u) + annotation (Line(points={{-58,0},{-42,0}}, color={0,0,127})); + connect(round1.y,reaToInt.u) + annotation (Line(points={{-18,0},{-2,0}}, color={0,0,127})); + connect(reaToInt.y, addPar.u) + annotation (Line(points={{22,0},{38,0}}, color={255,127,0})); + +annotation ( + experiment( + StopTime=1.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Validation/AddParameter.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Integers.AddParameter. +

+", +revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end AddParameter; diff --git a/IBPSA/Controls/OBC/CDL/Integers/Validation/Change.mo b/IBPSA/Controls/OBC/CDL/Integers/Validation/Change.mo new file mode 100644 index 0000000000..0ee795c834 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Integers/Validation/Change.mo @@ -0,0 +1,93 @@ +within IBPSA.Controls.OBC.CDL.Integers.Validation; +model Change + "Validation model for the Change block" + IBPSA.Controls.OBC.CDL.Integers.Change cha + "Check if the integer input changes value" + annotation (Placement(transformation(extent={{0,-50},{20,-30}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp2( + offset=0, + height=20, + duration=1) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-40,20},{-20,40}}))); + IBPSA.Controls.OBC.CDL.Discrete.TriggeredSampler changeSampler + "Triggered sampler" + annotation (Placement(transformation(extent={{60,20},{80,40}}))); + IBPSA.Controls.OBC.CDL.Conversions.RealToInteger reaToInt + "Convert real to integer" + annotation (Placement(transformation(extent={{-40,-50},{-20,-30}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.TimeTable timTabLin( + smoothness=IBPSA.Controls.OBC.CDL.Types.Smoothness.ConstantSegments, + table=[ + 0,-1; + 0.3,0.5; + 0.5,0; + 0.7,1; + 1,0]) + "Time table with smoothness method of constant segments" + annotation (Placement(transformation(extent={{-80,-50},{-60,-30}}))); + IBPSA.Controls.OBC.CDL.Discrete.TriggeredSampler increaseSampler + "Increase sampler" + annotation (Placement(transformation(extent={{60,60},{80,80}}))); + IBPSA.Controls.OBC.CDL.Discrete.TriggeredSampler decreaseSampler + "Decrease sampler" + annotation (Placement(transformation(extent={{60,-20},{80,0}}))); + +equation + connect(ramp2.y,changeSampler.u) + annotation (Line(points={{-18,30},{58,30}},color={0,0,127})); + connect(timTabLin.y[1],reaToInt.u) + annotation (Line(points={{-58,-40},{-42,-40}},color={0,0,127})); + connect(reaToInt.y,cha.u) + annotation (Line(points={{-18,-40},{-2,-40}},color={255,127,0})); + connect(ramp2.y,increaseSampler.u) + annotation (Line(points={{-18,30},{40,30},{40,70},{58,70}},color={0,0,127})); + connect(ramp2.y,decreaseSampler.u) + annotation (Line(points={{-18,30},{40,30},{40,-10},{58,-10}},color={0,0,127})); + connect(cha.up,increaseSampler.trigger) + annotation (Line(points={{22,-34},{30,-34},{30,52},{70,52},{70,58.2}},color={255,0,255})); + connect(cha.y,changeSampler.trigger) + annotation (Line(points={{22,-40},{46,-40},{46,12},{70,12},{70,18.2}},color={255,0,255})); + connect(cha.down,decreaseSampler.trigger) + annotation (Line(points={{22,-46},{70,-46},{70,-21.8}},color={255,0,255})); + annotation ( + experiment( + StopTime=1.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Validation/Change.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Integers.Change. +

+", + revisions=" + +"), + Icon( + coordinateSystem( + preserveAspectRatio=false), + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})}), + Diagram( + coordinateSystem( + preserveAspectRatio=false))); +end Change; diff --git a/IBPSA/Controls/OBC/CDL/Integers/Validation/Equal.mo b/IBPSA/Controls/OBC/CDL/Integers/Validation/Equal.mo new file mode 100644 index 0000000000..c12bfc65d2 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Integers/Validation/Equal.mo @@ -0,0 +1,84 @@ +within IBPSA.Controls.OBC.CDL.Integers.Validation; +model Equal + "Validation model for the Equal block" + IBPSA.Controls.OBC.CDL.Integers.Equal intEqu + "Block output true if input 1 is equal to input 2" + annotation (Placement(transformation(extent={{60,-10},{80,10}}))); + IBPSA.Controls.OBC.CDL.Conversions.RealToInteger reaToInt + "Convert real to integer" + annotation (Placement(transformation(extent={{-20,10},{0,30}}))); + IBPSA.Controls.OBC.CDL.Conversions.RealToInteger reaToInt1 + "Convert real to integer" + annotation (Placement(transformation(extent={{-20,-30},{0,-10}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.TimeTable timTabLin( + smoothness=IBPSA.Controls.OBC.CDL.Types.Smoothness.ConstantSegments, + table=[ + 0,0; + 0.3,1; + 0.5,0; + 0.7,1; + 1,0]) + "Time table with smoothness method of constant segments" + annotation (Placement(transformation(extent={{-80,10},{-60,30}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.TimeTable timTabLin1( + smoothness=IBPSA.Controls.OBC.CDL.Types.Smoothness.ConstantSegments, + table=[ + 0,0; + 0.35,1; + 0.55,0; + 0.7,1; + 1,0]) + "Time table with smoothness method of constant segments" + annotation (Placement(transformation(extent={{-80,-30},{-60,-10}}))); + +equation + connect(reaToInt.y,intEqu.u1) + annotation (Line(points={{1,20},{40,20},{40,0},{58,0}},color={255,127,0})); + connect(reaToInt1.y,intEqu.u2) + annotation (Line(points={{1,-20},{40,-20},{40,-8},{58,-8}},color={255,127,0})); + connect(timTabLin.y[1],reaToInt.u) + annotation (Line(points={{-59,20},{-22,20}},color={0,0,127})); + connect(timTabLin1.y[1],reaToInt1.u) + annotation (Line(points={{-59,-20},{-22,-20}},color={0,0,127})); + annotation ( + experiment( + StopTime=1.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Validation/Equal.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Integers.Equal. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end Equal; diff --git a/IBPSA/Controls/OBC/CDL/Integers/Validation/Greater.mo b/IBPSA/Controls/OBC/CDL/Integers/Validation/Greater.mo new file mode 100644 index 0000000000..fc163aa4d0 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Integers/Validation/Greater.mo @@ -0,0 +1,82 @@ +within IBPSA.Controls.OBC.CDL.Integers.Validation; +model Greater + "Validation model for the Greater block" + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp1( + duration=1, + offset=-3.5, + height=10.0) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-80,10},{-60,30}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp2( + duration=1, + offset=-1.5, + height=5.0) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-80,-30},{-60,-10}}))); + IBPSA.Controls.OBC.CDL.Integers.Greater intGre + "Block output true if input 1 is greater than input 2" + annotation (Placement(transformation(extent={{60,-10},{80,10}}))); + IBPSA.Controls.OBC.CDL.Reals.Round round1( + n=0) + "Round real number to given digits" + annotation (Placement(transformation(extent={{-40,10},{-20,30}}))); + IBPSA.Controls.OBC.CDL.Conversions.RealToInteger reaToInt + "Convert real to integer" + annotation (Placement(transformation(extent={{0,10},{20,30}}))); + IBPSA.Controls.OBC.CDL.Reals.Round round2( + n=0) + "Round real number to given digits" + annotation (Placement(transformation(extent={{-40,-30},{-20,-10}}))); + IBPSA.Controls.OBC.CDL.Conversions.RealToInteger reaToInt1 + "Convert real to integer" + annotation (Placement(transformation(extent={{0,-30},{20,-10}}))); + +equation + connect(ramp1.y,round1.u) + annotation (Line(points={{-59,20},{-42,20}},color={0,0,127})); + connect(ramp2.y,round2.u) + annotation (Line(points={{-59,-20},{-42,-20}},color={0,0,127})); + connect(round1.y,reaToInt.u) + annotation (Line(points={{-19,20},{-2,20}},color={0,0,127})); + connect(round2.y,reaToInt1.u) + annotation (Line(points={{-19,-20},{-2,-20}},color={0,0,127})); + connect(reaToInt.y,intGre.u1) + annotation (Line(points={{21,20},{40,20},{40,0},{58,0}},color={255,127,0})); + connect(reaToInt1.y,intGre.u2) + annotation (Line(points={{21,-20},{40,-20},{40,-8},{58,-8}},color={255,127,0})); + annotation ( + experiment( + StopTime=1.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Validation/Greater.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Integers.Greater. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end Greater; diff --git a/IBPSA/Controls/OBC/CDL/Integers/Validation/GreaterEqual.mo b/IBPSA/Controls/OBC/CDL/Integers/Validation/GreaterEqual.mo new file mode 100644 index 0000000000..458d123262 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Integers/Validation/GreaterEqual.mo @@ -0,0 +1,84 @@ +within IBPSA.Controls.OBC.CDL.Integers.Validation; +model GreaterEqual + "Validation model for the GreaterEqual block" + IBPSA.Controls.OBC.CDL.Integers.GreaterEqual intGreEqu + "Block output true if input 1 is greater or equal to input 2" + annotation (Placement(transformation(extent={{60,-10},{80,10}}))); + IBPSA.Controls.OBC.CDL.Conversions.RealToInteger reaToInt + "Convert real to integer" + annotation (Placement(transformation(extent={{-20,10},{0,30}}))); + IBPSA.Controls.OBC.CDL.Conversions.RealToInteger reaToInt1 + "Convert real to integer" + annotation (Placement(transformation(extent={{-20,-30},{0,-10}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.TimeTable timTabLin( + smoothness=IBPSA.Controls.OBC.CDL.Types.Smoothness.ConstantSegments, + table=[ + 0,-1; + 0.3,0.5; + 0.5,0; + 0.7,1; + 1,0]) + "Time table with smoothness method of constant segments" + annotation (Placement(transformation(extent={{-80,10},{-60,30}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.TimeTable timTabLin1( + smoothness=IBPSA.Controls.OBC.CDL.Types.Smoothness.ConstantSegments, + table=[ + 0,0; + 0.35,1; + 0.55,0; + 0.7,1; + 1,0]) + "Time table with smoothness method of constant segments" + annotation (Placement(transformation(extent={{-80,-30},{-60,-10}}))); + +equation + connect(reaToInt.y,intGreEqu.u1) + annotation (Line(points={{1,20},{40,20},{40,0},{58,0}},color={255,127,0})); + connect(reaToInt1.y,intGreEqu.u2) + annotation (Line(points={{1,-20},{40,-20},{40,-8},{58,-8}},color={255,127,0})); + connect(timTabLin.y[1],reaToInt.u) + annotation (Line(points={{-59,20},{-22,20}},color={0,0,127})); + connect(timTabLin1.y[1],reaToInt1.u) + annotation (Line(points={{-59,-20},{-22,-20}},color={0,0,127})); + annotation ( + experiment( + StopTime=1.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Validation/GreaterEqual.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Integers.GreaterEqual. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end GreaterEqual; diff --git a/IBPSA/Controls/OBC/CDL/Integers/Validation/GreaterEqualThreshold.mo b/IBPSA/Controls/OBC/CDL/Integers/Validation/GreaterEqualThreshold.mo new file mode 100644 index 0000000000..1489d62f43 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Integers/Validation/GreaterEqualThreshold.mo @@ -0,0 +1,64 @@ +within IBPSA.Controls.OBC.CDL.Integers.Validation; +model GreaterEqualThreshold + "Validation model for the GreaterEqualThreshold block" + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp1( + duration=1, + offset=-3.5, + height=10.0) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-80,-10},{-60,10}}))); + IBPSA.Controls.OBC.CDL.Integers.GreaterEqualThreshold intGreEquThr( + t=2) + "Block output true if input is greater or equal to threshold value" + annotation (Placement(transformation(extent={{40,-10},{60,10}}))); + IBPSA.Controls.OBC.CDL.Reals.Round round1( + n=0) + "Round real number to given digits" + annotation (Placement(transformation(extent={{-40,-10},{-20,10}}))); + IBPSA.Controls.OBC.CDL.Conversions.RealToInteger reaToInt + "Convert real to integer" + annotation (Placement(transformation(extent={{0,-10},{20,10}}))); + +equation + connect(ramp1.y,round1.u) + annotation (Line(points={{-59,0},{-42,0}},color={0,0,127})); + connect(round1.y,reaToInt.u) + annotation (Line(points={{-19,0},{-2,0}},color={0,0,127})); + connect(reaToInt.y,intGreEquThr.u) + annotation (Line(points={{21,0},{38,0}},color={255,127,0})); + annotation ( + experiment( + StopTime=1.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Validation/GreaterEqualThreshold.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Integers.GreaterEqualThreshold. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end GreaterEqualThreshold; diff --git a/IBPSA/Controls/OBC/CDL/Integers/Validation/GreaterThreshold.mo b/IBPSA/Controls/OBC/CDL/Integers/Validation/GreaterThreshold.mo new file mode 100644 index 0000000000..774f26cefb --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Integers/Validation/GreaterThreshold.mo @@ -0,0 +1,64 @@ +within IBPSA.Controls.OBC.CDL.Integers.Validation; +model GreaterThreshold + "Validation model for the GreaterThreshold block" + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp1( + duration=1, + offset=-3.5, + height=10.0) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-80,-10},{-60,10}}))); + IBPSA.Controls.OBC.CDL.Integers.GreaterThreshold intGreThr( + t=2) + "Block output true if input is greater than threshold value" + annotation (Placement(transformation(extent={{40,-10},{60,10}}))); + IBPSA.Controls.OBC.CDL.Reals.Round round1( + n=0) + "Round real number to given digits" + annotation (Placement(transformation(extent={{-40,-10},{-20,10}}))); + IBPSA.Controls.OBC.CDL.Conversions.RealToInteger reaToInt + "Convert real to integer" + annotation (Placement(transformation(extent={{0,-10},{20,10}}))); + +equation + connect(ramp1.y,round1.u) + annotation (Line(points={{-59,0},{-50,0},{-50,0},{-42,0}},color={0,0,127})); + connect(round1.y,reaToInt.u) + annotation (Line(points={{-19,0},{-12,0},{-12,0},{-2,0}},color={0,0,127})); + connect(reaToInt.y,intGreThr.u) + annotation (Line(points={{21,0},{38,0}},color={255,127,0})); + annotation ( + experiment( + StopTime=1.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Validation/GreaterThreshold.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Integers.GreaterThreshold. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end GreaterThreshold; diff --git a/IBPSA/Controls/OBC/CDL/Integers/Validation/Less.mo b/IBPSA/Controls/OBC/CDL/Integers/Validation/Less.mo new file mode 100644 index 0000000000..0ee0bedf50 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Integers/Validation/Less.mo @@ -0,0 +1,84 @@ +within IBPSA.Controls.OBC.CDL.Integers.Validation; +model Less + "Validation model for the Less block" + IBPSA.Controls.OBC.CDL.Integers.Less intLes + "Block output true if input 1 is less than input 2" + annotation (Placement(transformation(extent={{60,-10},{80,10}}))); + IBPSA.Controls.OBC.CDL.Conversions.RealToInteger reaToInt + "Convert real to integer" + annotation (Placement(transformation(extent={{-20,10},{0,30}}))); + IBPSA.Controls.OBC.CDL.Conversions.RealToInteger reaToInt1 + "Convert real to integer" + annotation (Placement(transformation(extent={{-20,-30},{0,-10}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.TimeTable timTabLin( + smoothness=IBPSA.Controls.OBC.CDL.Types.Smoothness.ConstantSegments, + table=[ + 0,-1; + 0.3,0.5; + 0.5,0; + 0.7,1; + 1,0]) + "Time table with smoothness method of constant segments" + annotation (Placement(transformation(extent={{-80,10},{-60,30}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.TimeTable timTabLin1( + smoothness=IBPSA.Controls.OBC.CDL.Types.Smoothness.ConstantSegments, + table=[ + 0,0; + 0.35,1; + 0.55,0; + 0.7,1; + 1,0]) + "Time table with smoothness method of constant segments" + annotation (Placement(transformation(extent={{-80,-30},{-60,-10}}))); + +equation + connect(reaToInt1.y,intLes.u2) + annotation (Line(points={{1,-20},{40,-20},{40,-8},{58,-8}},color={255,127,0})); + connect(reaToInt.y,intLes.u1) + annotation (Line(points={{1,20},{40,20},{40,0},{58,0}},color={255,127,0})); + connect(timTabLin.y[1],reaToInt.u) + annotation (Line(points={{-59,20},{-22,20}},color={0,0,127})); + connect(timTabLin1.y[1],reaToInt1.u) + annotation (Line(points={{-59,-20},{-22,-20}},color={0,0,127})); + annotation ( + experiment( + StopTime=1.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Validation/Less.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Integers.Less. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end Less; diff --git a/IBPSA/Controls/OBC/CDL/Integers/Validation/LessEqual.mo b/IBPSA/Controls/OBC/CDL/Integers/Validation/LessEqual.mo new file mode 100644 index 0000000000..ffb57e5e46 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Integers/Validation/LessEqual.mo @@ -0,0 +1,82 @@ +within IBPSA.Controls.OBC.CDL.Integers.Validation; +model LessEqual + "Validation model for the LessEqual block" + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp1( + duration=1, + offset=-3.5, + height=10.0) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-80,10},{-60,30}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp2( + duration=1, + offset=-1.5, + height=5.0) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-80,-30},{-60,-10}}))); + IBPSA.Controls.OBC.CDL.Integers.LessEqual intLesEqu + "Block output true if input 1 is less or equal to input 2" + annotation (Placement(transformation(extent={{60,-10},{80,10}}))); + IBPSA.Controls.OBC.CDL.Reals.Round round1( + n=0) + "Round real number to given digits" + annotation (Placement(transformation(extent={{-40,10},{-20,30}}))); + IBPSA.Controls.OBC.CDL.Conversions.RealToInteger reaToInt + "Convert real to integer" + annotation (Placement(transformation(extent={{0,10},{20,30}}))); + IBPSA.Controls.OBC.CDL.Reals.Round round2( + n=0) + "Round real number to given digits" + annotation (Placement(transformation(extent={{-40,-30},{-20,-10}}))); + IBPSA.Controls.OBC.CDL.Conversions.RealToInteger reaToInt1 + "Convert real to integer" + annotation (Placement(transformation(extent={{0,-30},{20,-10}}))); + +equation + connect(ramp1.y,round1.u) + annotation (Line(points={{-59,20},{-42,20}},color={0,0,127})); + connect(ramp2.y,round2.u) + annotation (Line(points={{-59,-20},{-42,-20}},color={0,0,127})); + connect(round1.y,reaToInt.u) + annotation (Line(points={{-19,20},{-2,20}},color={0,0,127})); + connect(round2.y,reaToInt1.u) + annotation (Line(points={{-19,-20},{-2,-20}},color={0,0,127})); + connect(reaToInt1.y,intLesEqu.u2) + annotation (Line(points={{21,-20},{40,-20},{40,-8},{58,-8}},color={255,127,0})); + connect(reaToInt.y,intLesEqu.u1) + annotation (Line(points={{21,20},{40,20},{40,0},{58,0}},color={255,127,0})); + annotation ( + experiment( + StopTime=1.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Validation/LessEqual.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Integers.LessEqual. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end LessEqual; diff --git a/IBPSA/Controls/OBC/CDL/Integers/Validation/LessEqualThreshold.mo b/IBPSA/Controls/OBC/CDL/Integers/Validation/LessEqualThreshold.mo new file mode 100644 index 0000000000..df07a3997c --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Integers/Validation/LessEqualThreshold.mo @@ -0,0 +1,64 @@ +within IBPSA.Controls.OBC.CDL.Integers.Validation; +model LessEqualThreshold + "Validation model for the LessEqualThreshold block" + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp1( + duration=1, + offset=-3.5, + height=10.0) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-80,-10},{-60,10}}))); + IBPSA.Controls.OBC.CDL.Integers.LessEqualThreshold intLesEquThr( + t=2) + "Block output true if input is less or equal to threshold value" + annotation (Placement(transformation(extent={{40,-10},{60,10}}))); + IBPSA.Controls.OBC.CDL.Reals.Round round1( + n=0) + "Round real number to given digits" + annotation (Placement(transformation(extent={{-40,-10},{-20,10}}))); + IBPSA.Controls.OBC.CDL.Conversions.RealToInteger reaToInt + "Convert real to integer" + annotation (Placement(transformation(extent={{0,-10},{20,10}}))); + +equation + connect(ramp1.y,round1.u) + annotation (Line(points={{-59,0},{-42,0}},color={0,0,127})); + connect(round1.y,reaToInt.u) + annotation (Line(points={{-19,0},{-2,0}},color={0,0,127})); + connect(reaToInt.y,intLesEquThr.u) + annotation (Line(points={{21,0},{38,0}},color={255,127,0})); + annotation ( + experiment( + StopTime=1.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Validation/LessEqualThreshold.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Integers.LessEqualThreshold. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end LessEqualThreshold; diff --git a/IBPSA/Controls/OBC/CDL/Integers/Validation/LessThreshold.mo b/IBPSA/Controls/OBC/CDL/Integers/Validation/LessThreshold.mo new file mode 100644 index 0000000000..91ec41c363 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Integers/Validation/LessThreshold.mo @@ -0,0 +1,64 @@ +within IBPSA.Controls.OBC.CDL.Integers.Validation; +model LessThreshold + "Validation model for the LessThreshold block" + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp1( + duration=1, + offset=-3.5, + height=10.0) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-80,-10},{-60,10}}))); + IBPSA.Controls.OBC.CDL.Integers.LessThreshold intLesThr( + t=2) + "Block output true if input is less than threshold value" + annotation (Placement(transformation(extent={{40,-10},{60,10}}))); + IBPSA.Controls.OBC.CDL.Reals.Round round1( + n=0) + "Round real number to given digits" + annotation (Placement(transformation(extent={{-40,-10},{-20,10}}))); + IBPSA.Controls.OBC.CDL.Conversions.RealToInteger reaToInt + "Convert real to integer" + annotation (Placement(transformation(extent={{0,-10},{20,10}}))); + +equation + connect(ramp1.y,round1.u) + annotation (Line(points={{-59,0},{-42,0}},color={0,0,127})); + connect(round1.y,reaToInt.u) + annotation (Line(points={{-19,0},{-2,0}},color={0,0,127})); + connect(reaToInt.y,intLesThr.u) + annotation (Line(points={{21,0},{38,0}},color={255,127,0})); + annotation ( + experiment( + StopTime=1.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Validation/LessThreshold.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Integers.LessThreshold. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end LessThreshold; diff --git a/IBPSA/Controls/OBC/CDL/Integers/Validation/Max.mo b/IBPSA/Controls/OBC/CDL/Integers/Validation/Max.mo new file mode 100644 index 0000000000..15c3fec996 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Integers/Validation/Max.mo @@ -0,0 +1,82 @@ +within IBPSA.Controls.OBC.CDL.Integers.Validation; +model Max + "Validation model for the Max block" + IBPSA.Controls.OBC.CDL.Integers.Max max1 + "Block that outputs the largest inputs" + annotation (Placement(transformation(extent={{60,-10},{80,10}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp1( + duration=1, + offset=-3.5, + height=10.0) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-80,10},{-60,30}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp2( + duration=1, + offset=-1.5, + height=5.0) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-80,-30},{-60,-10}}))); + IBPSA.Controls.OBC.CDL.Reals.Round round1( + n=0) + "Round real number to given digits" + annotation (Placement(transformation(extent={{-40,10},{-20,30}}))); + IBPSA.Controls.OBC.CDL.Conversions.RealToInteger reaToInt + "Convert real to integer" + annotation (Placement(transformation(extent={{0,10},{20,30}}))); + IBPSA.Controls.OBC.CDL.Reals.Round round2( + n=0) + "Round real number to given digits" + annotation (Placement(transformation(extent={{-40,-30},{-20,-10}}))); + IBPSA.Controls.OBC.CDL.Conversions.RealToInteger reaToInt1 + "Convert real to integer" + annotation (Placement(transformation(extent={{0,-30},{20,-10}}))); + +equation + connect(ramp1.y,round1.u) + annotation (Line(points={{-59,20},{-42,20}},color={0,0,127})); + connect(round1.y,reaToInt.u) + annotation (Line(points={{-19,20},{-2,20}},color={0,0,127})); + connect(ramp2.y,round2.u) + annotation (Line(points={{-59,-20},{-42,-20}},color={0,0,127})); + connect(round2.y,reaToInt1.u) + annotation (Line(points={{-19,-20},{-2,-20}},color={0,0,127})); + connect(reaToInt1.y,max1.u2) + annotation (Line(points={{21,-20},{40,-20},{40,-6},{58,-6}},color={255,127,0})); + connect(reaToInt.y,max1.u1) + annotation (Line(points={{21,20},{40,20},{40,6},{58,6}},color={255,127,0})); + annotation ( + experiment( + StopTime=1.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Validation/Max.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Integers.Max. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end Max; diff --git a/IBPSA/Controls/OBC/CDL/Integers/Validation/Min.mo b/IBPSA/Controls/OBC/CDL/Integers/Validation/Min.mo new file mode 100644 index 0000000000..7389df1e7b --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Integers/Validation/Min.mo @@ -0,0 +1,82 @@ +within IBPSA.Controls.OBC.CDL.Integers.Validation; +model Min + "Validation model for the Min block" + IBPSA.Controls.OBC.CDL.Integers.Min min1 + "Block that outputs the smallest inputs" + annotation (Placement(transformation(extent={{60,-10},{80,10}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp1( + duration=1, + offset=-3.5, + height=10.0) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-80,10},{-60,30}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp2( + duration=1, + offset=-1.5, + height=5.0) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-80,-30},{-60,-10}}))); + IBPSA.Controls.OBC.CDL.Reals.Round round1( + n=0) + "Round real number to given digits" + annotation (Placement(transformation(extent={{-40,10},{-20,30}}))); + IBPSA.Controls.OBC.CDL.Conversions.RealToInteger reaToInt + "Convert real to integer" + annotation (Placement(transformation(extent={{0,10},{20,30}}))); + IBPSA.Controls.OBC.CDL.Reals.Round round2( + n=0) + "Round real number to given digits" + annotation (Placement(transformation(extent={{-40,-30},{-20,-10}}))); + IBPSA.Controls.OBC.CDL.Conversions.RealToInteger reaToInt1 + "Convert real to integer" + annotation (Placement(transformation(extent={{0,-30},{20,-10}}))); + +equation + connect(ramp1.y,round1.u) + annotation (Line(points={{-59,20},{-42,20}},color={0,0,127})); + connect(round1.y,reaToInt.u) + annotation (Line(points={{-19,20},{-2,20}},color={0,0,127})); + connect(reaToInt.y,min1.u1) + annotation (Line(points={{21,20},{40,20},{40,6},{58,6}},color={255,127,0})); + connect(ramp2.y,round2.u) + annotation (Line(points={{-59,-20},{-42,-20}},color={0,0,127})); + connect(round2.y,reaToInt1.u) + annotation (Line(points={{-19,-20},{-2,-20}},color={0,0,127})); + connect(reaToInt1.y,min1.u2) + annotation (Line(points={{21,-20},{40,-20},{40,-6},{58,-6}},color={255,127,0})); + annotation ( + experiment( + StopTime=1.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Validation/Min.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Integers.Min. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end Min; diff --git a/IBPSA/Controls/OBC/CDL/Integers/Validation/MultiSum.mo b/IBPSA/Controls/OBC/CDL/Integers/Validation/MultiSum.mo new file mode 100644 index 0000000000..92b8440e4d --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Integers/Validation/MultiSum.mo @@ -0,0 +1,102 @@ +within IBPSA.Controls.OBC.CDL.Integers.Validation; +model MultiSum + "Validation model for the block to find sum of multiple inputs" + IBPSA.Controls.OBC.CDL.Integers.MultiSum add1( + nin=3) + "Block that outputs the sum of the inputs" + annotation (Placement(transformation(extent={{60,-10},{80,10}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp1( + duration=1, + offset=-3.5, + height=7.0) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-80,30},{-60,50}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp2( + duration=1, + offset=-0.5, + height=7.0) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-80,-10},{-60,10}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp3( + duration=1, + height=7.0, + offset=-1.5) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-80,-50},{-60,-30}}))); + IBPSA.Controls.OBC.CDL.Reals.Round round1( + n=0) + "Round real number to given digits" + annotation (Placement(transformation(extent={{-40,30},{-20,50}}))); + IBPSA.Controls.OBC.CDL.Conversions.RealToInteger reaToInt + "Convert real to integer" + annotation (Placement(transformation(extent={{0,30},{20,50}}))); + IBPSA.Controls.OBC.CDL.Reals.Round round2( + n=0) + "Round real number to given digits" + annotation (Placement(transformation(extent={{-40,-10},{-20,10}}))); + IBPSA.Controls.OBC.CDL.Conversions.RealToInteger reaToInt1 + "Convert real to integer" + annotation (Placement(transformation(extent={{0,-10},{20,10}}))); + IBPSA.Controls.OBC.CDL.Reals.Round round3( + n=0) + "Round real number to given digits" + annotation (Placement(transformation(extent={{-40,-50},{-20,-30}}))); + IBPSA.Controls.OBC.CDL.Conversions.RealToInteger reaToInt2 + "Convert real to integer" + annotation (Placement(transformation(extent={{0,-50},{20,-30}}))); + +equation + connect(ramp1.y,round1.u) + annotation (Line(points={{-59,40},{-42,40}},color={0,0,127})); + connect(ramp2.y,round2.u) + annotation (Line(points={{-59,0},{-42,0}},color={0,0,127})); + connect(ramp3.y,round3.u) + annotation (Line(points={{-59,-40},{-42,-40}},color={0,0,127})); + connect(round3.y,reaToInt2.u) + annotation (Line(points={{-19,-40},{-2,-40}},color={0,0,127})); + connect(round2.y,reaToInt1.u) + annotation (Line(points={{-19,0},{-2,0}},color={0,0,127})); + connect(round1.y,reaToInt.u) + annotation (Line(points={{-19,40},{-2,40}},color={0,0,127})); + connect(reaToInt.y,add1.u[1]) + annotation (Line(points={{21,40},{40,40},{40,4.66667},{58,4.66667}},color={255,127,0})); + connect(reaToInt1.y,add1.u[2]) + annotation (Line(points={{21,0},{38,0},{38,0},{58,0}},color={255,127,0})); + connect(reaToInt2.y,add1.u[3]) + annotation (Line(points={{21,-40},{40,-40},{40,-4.66667},{58,-4.66667}},color={255,127,0})); + annotation ( + experiment( + StopTime=1.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Validation/MultiSum.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Integers.MultiSum. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end MultiSum; diff --git a/IBPSA/Controls/OBC/CDL/Integers/Validation/Multiply.mo b/IBPSA/Controls/OBC/CDL/Integers/Validation/Multiply.mo new file mode 100644 index 0000000000..874f1302d4 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Integers/Validation/Multiply.mo @@ -0,0 +1,88 @@ +within IBPSA.Controls.OBC.CDL.Integers.Validation; +model Multiply "Validation model for the Multiply block" + IBPSA.Controls.OBC.CDL.Integers.Multiply product + "Block that outputs the product of the two inputs" + annotation (Placement(transformation(extent={{60,-10},{80,10}}))); + IBPSA.Controls.OBC.CDL.Conversions.RealToInteger reaToInt1 + "Convert real to integer" + annotation (Placement(transformation(extent={{-20,10},{0,30}}))); + IBPSA.Controls.OBC.CDL.Conversions.RealToInteger reaToInt2 + "Convert real to integer" + annotation (Placement(transformation(extent={{-20,-30},{0,-10}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.TimeTable timTabLin( + smoothness=IBPSA.Controls.OBC.CDL.Types.Smoothness.ConstantSegments, + table=[ + 0,-1; + 0.3,0.5; + 0.5,0; + 0.7,1; + 1,0]) + "Time table with smoothness method of constant segments" + annotation (Placement(transformation(extent={{-80,10},{-60,30}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.TimeTable timTabLin1( + smoothness=IBPSA.Controls.OBC.CDL.Types.Smoothness.ConstantSegments, + table=[ + 0,0; + 0.35,1; + 0.55,0; + 0.7,1; + 1,0]) + "Time table with smoothness method of constant segments" + annotation (Placement(transformation(extent={{-80,-30},{-60,-10}}))); + +equation + connect(reaToInt1.y,product.u1) + annotation (Line(points={{2,20},{40,20},{40,6},{58,6}},color={255,127,0})); + connect(reaToInt2.y,product.u2) + annotation (Line(points={{2,-20},{40,-20},{40,-6},{58,-6}},color={255,127,0})); + connect(timTabLin.y[1],reaToInt1.u) + annotation (Line(points={{-58,20},{-22,20}},color={0,0,127})); + connect(timTabLin1.y[1],reaToInt2.u) + annotation (Line(points={{-58,-20},{-22,-20}},color={0,0,127})); + annotation ( + experiment( + StopTime=1.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Validation/Multiply.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Integers.Multiply. +

+", +revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end Multiply; diff --git a/IBPSA/Controls/OBC/CDL/Integers/Validation/OnCounter.mo b/IBPSA/Controls/OBC/CDL/Integers/Validation/OnCounter.mo new file mode 100644 index 0000000000..ed33ed1f0b --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Integers/Validation/OnCounter.mo @@ -0,0 +1,58 @@ +within IBPSA.Controls.OBC.CDL.Integers.Validation; +model OnCounter + "Validation model for the OnCounter block" + IBPSA.Controls.OBC.CDL.Integers.OnCounter onCounter + "Block that outputs increment if the input switches to true" + annotation (Placement(transformation(extent={{16,-10},{36,10}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul( + width=0.5, + period=0.1) + "Block that outputs cyclic on and off" + annotation (Placement(transformation(extent={{-26,-10},{-6,10}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse reset( + width=0.5, + period=1.0) + "Block that outputs cyclic on and off" + annotation (Placement(transformation(extent={{-26,-50},{-6,-30}}))); + +equation + connect(reset.y,onCounter.reset) + annotation (Line(points={{-5,-40},{26,-40},{26,-14},{26,-14},{26,-12},{26,-12}},color={255,0,255})); + connect(booPul.y,onCounter.trigger) + annotation (Line(points={{-5,0},{12,0},{12,0}},color={255,0,255})); + annotation ( + experiment( + StopTime=2.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Validation/OnCounter.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Integers.OnCounter. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end OnCounter; diff --git a/IBPSA/Controls/OBC/CDL/Integers/Validation/Stage.mo b/IBPSA/Controls/OBC/CDL/Integers/Validation/Stage.mo new file mode 100644 index 0000000000..45988e13b0 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Integers/Validation/Stage.mo @@ -0,0 +1,85 @@ +within IBPSA.Controls.OBC.CDL.Integers.Validation; +model Stage + "Validation model for the block to find the total number of enabled stages" + + IBPSA.Controls.OBC.CDL.Integers.Stage sta( + final n=4, + final holdDuration=5) + "Total number of enabled stages, with a hold duration of 5 seconds" + annotation (Placement(transformation(extent={{20,50},{40,70}}))); + IBPSA.Controls.OBC.CDL.Integers.Stage zerHolTim( + final n=4, + final holdDuration=0) + "Total number of enabled stages, without any hold duration" + annotation (Placement(transformation(extent={{20,10},{40,30}}))); + IBPSA.Controls.OBC.CDL.Integers.Stage sta1( + final n=4, + final holdDuration=2) + "Total number of enabled stages, with a hold duration of 2 seconds" + annotation (Placement(transformation(extent={{20,-30},{40,-10}}))); + IBPSA.Controls.OBC.CDL.Integers.Stage lesHolTim( + final n=4, + final holdDuration=1) + "Total number of enabled stages, with a hold duration of 1 second" + annotation (Placement(transformation(extent={{20,-70},{40,-50}}))); + + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp1( + final duration=10, + final height=1, + final startTime=1) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-40,50},{-20,70}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Sin sin( + final amplitude=0.5, + final freqHz=1/5, + final offset=0.5) + "Block that generates sine signal" + annotation (Placement(transformation(extent={{-40,-30},{-20,-10}}))); + +equation + connect(ramp1.y, sta.u) + annotation (Line(points={{-18,60},{18,60}}, color={0,0,127})); + connect(ramp1.y,zerHolTim. u) annotation (Line(points={{-18,60},{0,60},{0,20}, + {18,20}}, color={0,0,127})); + connect(sin.y, sta1.u) + annotation (Line(points={{-18,-20},{18,-20}}, color={0,0,127})); + connect(sin.y, lesHolTim.u) annotation (Line(points={{-18,-20},{0,-20},{0,-60}, + {18,-60}}, color={0,0,127})); + annotation ( + experiment(StopTime=10.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Validation/Stage.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Integers.Stage. +

+

+The instances use different values for the duration time during which the output is held constant. +

+", +revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end Stage; diff --git a/IBPSA/Controls/OBC/CDL/Integers/Validation/Subtract.mo b/IBPSA/Controls/OBC/CDL/Integers/Validation/Subtract.mo new file mode 100644 index 0000000000..97ad81008c --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Integers/Validation/Subtract.mo @@ -0,0 +1,81 @@ +within IBPSA.Controls.OBC.CDL.Integers.Validation; +model Subtract "Validation model for the Subtract block" + IBPSA.Controls.OBC.CDL.Integers.Subtract sub + "Block that outputs the difference of the two inputs" + annotation (Placement(transformation(extent={{60,-10},{80,10}}))); + + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp1( + duration=1, + offset=-3.5, + height=7.0) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-80,10},{-60,30}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp2( + duration=1, + offset=-0.5, + height=7.0) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-80,-30},{-60,-10}}))); + IBPSA.Controls.OBC.CDL.Reals.Round round1(n=0) + "Round real number to given digits" + annotation (Placement(transformation(extent={{-40,10},{-20,30}}))); + IBPSA.Controls.OBC.CDL.Conversions.RealToInteger reaToInt + "Convert real to integer" + annotation (Placement(transformation(extent={{0,10},{20,30}}))); + IBPSA.Controls.OBC.CDL.Reals.Round round2(n=0) + "Round real number to given digits" + annotation (Placement(transformation(extent={{-40,-30},{-20,-10}}))); + IBPSA.Controls.OBC.CDL.Conversions.RealToInteger reaToInt1 + "Convert real to integer" + annotation (Placement(transformation(extent={{0,-30},{20,-10}}))); + +equation + connect(ramp1.y,round1.u) + annotation (Line(points={{-58,20},{-42,20}},color={0,0,127})); + connect(ramp2.y,round2.u) + annotation (Line(points={{-58,-20},{-42,-20}},color={0,0,127})); + connect(round2.y,reaToInt1.u) + annotation (Line(points={{-18,-20},{-2,-20}},color={0,0,127})); + connect(round1.y,reaToInt.u) + annotation (Line(points={{-18,20},{-2,20}},color={0,0,127})); + connect(reaToInt.y, sub.u1) + annotation (Line(points={{22,20},{40,20},{40,6},{58,6}}, color={255,127,0})); + connect(reaToInt1.y, sub.u2) + annotation (Line(points={{22,-20},{40,-20},{40,-6},{58,-6}}, color={255,127,0})); + +annotation ( + experiment( + StopTime=1.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Validation/Subtract.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Integers.Subtract. +

+", +revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end Subtract; diff --git a/IBPSA/Controls/OBC/CDL/Integers/Validation/Switch.mo b/IBPSA/Controls/OBC/CDL/Integers/Validation/Switch.mo new file mode 100644 index 0000000000..efcd93acb7 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Integers/Validation/Switch.mo @@ -0,0 +1,102 @@ +within IBPSA.Controls.OBC.CDL.Integers.Validation; +model Switch "Validation model for the Switch block" + IBPSA.Controls.OBC.CDL.Integers.Switch integerSwitch + "Integer switch" + annotation (Placement(transformation(extent={{60,-10},{80,10}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul1( + width=0.7, + period=1.5) + "Block that outputs cyclic on and off" + annotation (Placement(transformation(extent={{-80,20},{-60,40}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul2( + width=0.5, + period=3) + "Block that outputs cyclic on and off: switch between u1 and u3" + annotation (Placement(transformation(extent={{-26,-10},{-6,10}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul3( + width=0.5, + period=5) + "Block that outputs cyclic on and off" + annotation (Placement(transformation(extent={{-80,-80},{-60,-60}}))); + IBPSA.Controls.OBC.CDL.Integers.Sources.Constant conInt( + k=5) + "Integer constant" + annotation (Placement(transformation(extent={{-80,60},{-60,80}}))); + IBPSA.Controls.OBC.CDL.Integers.Sources.Constant conInt1( + k=2) + "Integer constant" + annotation (Placement(transformation(extent={{-80,-40},{-60,-20}}))); + +protected + IBPSA.Controls.OBC.CDL.Conversions.BooleanToInteger booToInt + "Type converter" + annotation (Placement(transformation(extent={{-40,20},{-20,40}}))); + IBPSA.Controls.OBC.CDL.Integers.Multiply proInt "Product" + annotation (Placement(transformation(extent={{0,40},{20,60}}))); + IBPSA.Controls.OBC.CDL.Conversions.BooleanToInteger booToInt1 + "Type converter" + annotation (Placement(transformation(extent={{-40,-80},{-20,-60}}))); + IBPSA.Controls.OBC.CDL.Integers.Multiply proInt1 "Product" + annotation (Placement(transformation(extent={{0,-60},{20,-40}}))); + +equation + connect(booPul2.y,integerSwitch.u2) + annotation (Line(points={{-4,0},{58,0}},color={255,0,255})); + connect(booPul1.y,booToInt.u) + annotation (Line(points={{-58,30},{-42,30}},color={255,0,255})); + connect(booPul3.y,booToInt1.u) + annotation (Line(points={{-58,-70},{-42,-70}},color={255,0,255})); + connect(conInt.y,proInt.u1) + annotation (Line(points={{-58,70},{-20,70},{-20,56},{-2,56}},color={255,127,0})); + connect(booToInt.y,proInt.u2) + annotation (Line(points={{-18,30},{-10,30},{-10,44},{-2,44}},color={255,127,0})); + connect(conInt1.y,proInt1.u1) + annotation (Line(points={{-58,-30},{-10,-30},{-10,-44},{-2,-44}},color={255,127,0})); + connect(booToInt1.y,proInt1.u2) + annotation (Line(points={{-18,-70},{-10,-70},{-10,-56},{-2,-56}},color={255,127,0})); + connect(proInt.y,integerSwitch.u1) + annotation (Line(points={{22,50},{40,50},{40,8},{58,8}},color={255,127,0})); + connect(proInt1.y,integerSwitch.u3) + annotation (Line(points={{22,-50},{40,-50},{40,-8},{58,-8}},color={255,127,0})); + annotation ( + experiment( + StopTime=5.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Validation/Switch.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Integers.Switch. +

+

+The input u2 is the switch input: If u2 = true, +then output y = u1; +else output y = u3. +

+ +", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end Switch; diff --git a/IBPSA/Controls/OBC/CDL/Integers/Validation/package.mo b/IBPSA/Controls/OBC/CDL/Integers/Validation/package.mo new file mode 100644 index 0000000000..e1c71c475f --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Integers/Validation/package.mo @@ -0,0 +1,37 @@ +within IBPSA.Controls.OBC.CDL.Integers; +package Validation "Collection of models that validate the integer blocks of the CDL" + annotation ( + preferredView="info", + Documentation( + info=" +

+This package contains models that validate the blocks in + +IBPSA.Controls.OBC.CDL.Integers. +

+

+The examples plot various outputs, which have been verified against +analytical solutions. These model outputs are stored as reference data to +allow continuous validation whenever models in the library change. +

+"), + Icon( + graphics={ + Rectangle( + lineColor={200,200,200}, + fillColor={248,248,248}, + fillPattern=FillPattern.HorizontalCylinder, + extent={{-100,-100},{100,100}}, + radius=25.0), + Rectangle( + lineColor={128,128,128}, + extent={{-100,-100},{100,100}}, + radius=25.0), + Polygon( + origin={8,14}, + lineColor={78,138,73}, + fillColor={78,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-58.0,46.0},{42.0,-14.0},{-58.0,-74.0},{-58.0,46.0}})})); +end Validation; diff --git a/IBPSA/Controls/OBC/CDL/Integers/Validation/package.order b/IBPSA/Controls/OBC/CDL/Integers/Validation/package.order new file mode 100644 index 0000000000..027e6b7b2a --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Integers/Validation/package.order @@ -0,0 +1,21 @@ +Abs +Add +AddParameter +Change +Equal +Greater +GreaterEqual +GreaterEqualThreshold +GreaterThreshold +Less +LessEqual +LessEqualThreshold +LessThreshold +Max +Min +MultiSum +Multiply +OnCounter +Stage +Subtract +Switch diff --git a/IBPSA/Controls/OBC/CDL/Integers/package.mo b/IBPSA/Controls/OBC/CDL/Integers/package.mo new file mode 100644 index 0000000000..e101829651 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Integers/package.mo @@ -0,0 +1,37 @@ +within IBPSA.Controls.OBC.CDL; +package Integers "Package with blocks for integer variables" + annotation ( + Documentation( + info=" +

+Package with blocks for elementary mathematical functions +for integer variables. +

+", + revisions=" + +"), + Icon( + graphics={ + Rectangle( + lineColor={200,200,200}, + fillColor={248,248,248}, + fillPattern=FillPattern.HorizontalCylinder, + extent={{-100.0,-100.0},{100.0,100.0}}, + radius=25.0), + Rectangle( + lineColor={128,128,128}, + extent={{-100.0,-100.0},{100.0,100.0}}, + radius=25.0), + Text( + extent={{-56,90},{48,-88}}, + textColor={0,0,0}, + fillColor={0,0,0}, + fillPattern=FillPattern.Solid, + textString="Z")})); +end Integers; diff --git a/IBPSA/Controls/OBC/CDL/Integers/package.order b/IBPSA/Controls/OBC/CDL/Integers/package.order new file mode 100644 index 0000000000..f8b45b509a --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Integers/package.order @@ -0,0 +1,23 @@ +Abs +Add +AddParameter +Change +Equal +Greater +GreaterEqual +GreaterEqualThreshold +GreaterThreshold +Less +LessEqual +LessEqualThreshold +LessThreshold +Max +Min +MultiSum +Multiply +OnCounter +Stage +Subtract +Switch +Sources +Validation diff --git a/IBPSA/Controls/OBC/CDL/Interfaces/BooleanInput.mo b/IBPSA/Controls/OBC/CDL/Interfaces/BooleanInput.mo new file mode 100644 index 0000000000..28046082a4 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Interfaces/BooleanInput.mo @@ -0,0 +1,39 @@ +within IBPSA.Controls.OBC.CDL.Interfaces; +connector BooleanInput=input Boolean + "Boolean input connector" +annotation (defaultComponentName="u", + Icon(graphics={Polygon(lineColor={255,0,255}, + fillColor={255,0,255}, + fillPattern = FillPattern.Solid, + points={{0,50},{100,0},{0,-50}})}, + coordinateSystem(extent={{-100,-100},{100,100}}, + preserveAspectRatio=true, + initialScale=0.2)), + Diagram(coordinateSystem(preserveAspectRatio=true, + initialScale=0.2, + extent={{-100,-100},{100,100}}), + graphics={Polygon(points={{0,50},{100,0},{0,-50},{0,50}}, + lineColor={255,0,255}, + fillColor={255,0,255},fillPattern = FillPattern.Solid), + Text(extent={{-10,85},{-10,60}}, + textColor={255,0,255}, + textString="%name")}), +Documentation(info=" +

+Connector with one input signal of type Boolean. +

+",revisions=" + +")); diff --git a/IBPSA/Controls/OBC/CDL/Interfaces/BooleanOutput.mo b/IBPSA/Controls/OBC/CDL/Interfaces/BooleanOutput.mo new file mode 100644 index 0000000000..c3c9129d6c --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Interfaces/BooleanOutput.mo @@ -0,0 +1,46 @@ +within IBPSA.Controls.OBC.CDL.Interfaces; +connector BooleanOutput=output Boolean + "Boolean output connector" +annotation (defaultComponentName="y", + Icon(coordinateSystem(preserveAspectRatio=true, + initialScale=0.2, + extent={{-100,-100},{100,100}}), + graphics={Polygon(lineColor={255,0,255}, + fillColor={255,255,255}, + fillPattern= FillPattern.Solid, + points={{-100,50},{0,0},{-100,-50}})}), + Diagram(coordinateSystem(preserveAspectRatio=true, + initialScale=0.2, + extent={{-100,-100},{100,100}}), + graphics={Polygon(points={{-100,50},{0,0},{-100,-50},{-100,50}}, + lineColor={255,0,255}, + fillColor={255,255,255}, + fillPattern= FillPattern.Solid), + Text(extent={{30,110},{30,60}}, + textColor={255,0,255}, + textString="%name")}), +Documentation(info=" +

+Connector with one output signal of type Boolean. +

+",revisions=" + +")); diff --git a/IBPSA/Controls/OBC/CDL/Interfaces/IntegerInput.mo b/IBPSA/Controls/OBC/CDL/Interfaces/IntegerInput.mo new file mode 100644 index 0000000000..e0d54bcd8d --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Interfaces/IntegerInput.mo @@ -0,0 +1,40 @@ +within IBPSA.Controls.OBC.CDL.Interfaces; +connector IntegerInput=input Integer + "Integer input connector" +annotation (defaultComponentName="u", + Icon(graphics={Polygon(lineColor={255,127,0}, + fillColor={255,127,0}, + fillPattern=FillPattern.Solid, + points={{0,50},{100,0},{0,-50}})}, + coordinateSystem(extent={{-100,-100},{100,100}}, + preserveAspectRatio=true, + initialScale=0.2)), + Diagram(coordinateSystem(preserveAspectRatio=true, + initialScale=0.2, + extent={{-100,-100},{100,100}}), + graphics={Polygon(points={{0,50},{100,0},{0,-50},{0,50}}, + lineColor={255,127,0}, + fillColor={255,127,0}, + fillPattern=FillPattern.Solid), + Text(extent={{-10,85},{-10,60}}, + textColor={255,127,0}, + textString="%name")}), +Documentation(info=" +

+Connector with one input signal of type Integer. +

+",revisions=" + +")); diff --git a/IBPSA/Controls/OBC/CDL/Interfaces/IntegerOutput.mo b/IBPSA/Controls/OBC/CDL/Interfaces/IntegerOutput.mo new file mode 100644 index 0000000000..03d184a9f7 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Interfaces/IntegerOutput.mo @@ -0,0 +1,46 @@ +within IBPSA.Controls.OBC.CDL.Interfaces; +connector IntegerOutput=output Integer + "Integer output connector" +annotation (defaultComponentName="y", + Icon(coordinateSystem(preserveAspectRatio=true, + initialScale=0.2, + extent={{-100,-100},{100,100}}), + graphics={Polygon(lineColor={255,127,0}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + points={{-100,50},{0,0},{-100,-50}})}), + Diagram(coordinateSystem(preserveAspectRatio=true, + initialScale=0.2, + extent={{-100,-100},{100,100}}), + graphics={Polygon(points={{-100,50},{0,0},{-100,-50},{-100,50}}, + lineColor={255,127,0}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Text(extent={{30,110},{30,60}}, + textColor={255,127,0}, + textString="%name")}), +Documentation(info=" +

+Connector with one output signal of type Integer. +

+",revisions=" + +")); diff --git a/IBPSA/Controls/OBC/CDL/Interfaces/RealInput.mo b/IBPSA/Controls/OBC/CDL/Interfaces/RealInput.mo new file mode 100644 index 0000000000..6769da7271 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Interfaces/RealInput.mo @@ -0,0 +1,40 @@ +within IBPSA.Controls.OBC.CDL.Interfaces; +connector RealInput=input Real + "Real input connector" +annotation (defaultComponentName="u", + Icon(graphics={Polygon(lineColor={0,0,127}, + fillColor={0,0,127}, + fillPattern=FillPattern.Solid, + points={{0,50},{100,0},{0,-50}})}, + coordinateSystem(extent={{-100.0,-100.0},{100.0,100.0}}, + preserveAspectRatio=true, + initialScale=0.2)), + Diagram(coordinateSystem(preserveAspectRatio=true, + initialScale=0.2, + extent={{-100.0,-100.0},{100.0,100.0}}), + graphics={Polygon(lineColor={0,0,127}, + fillColor={0,0,127}, + fillPattern=FillPattern.Solid, + points={{0.0,50.0},{100.0,0.0},{0.0,-50.0},{0.0,50.0}}), + Text(textColor={0,0,127}, + extent={{-10.0,60.0},{-10.0,85.0}}, + textString="%name")}), +Documentation(info=" +

+Connector with one input signal of type Real. +

+",revisions=" + +")); diff --git a/IBPSA/Controls/OBC/CDL/Interfaces/RealOutput.mo b/IBPSA/Controls/OBC/CDL/Interfaces/RealOutput.mo new file mode 100644 index 0000000000..63d45cbaf6 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Interfaces/RealOutput.mo @@ -0,0 +1,46 @@ +within IBPSA.Controls.OBC.CDL.Interfaces; +connector RealOutput=output Real + "Real output connector" +annotation (defaultComponentName="y", + Icon(coordinateSystem(preserveAspectRatio=true, + initialScale=0.2, + extent={{-100.0,-100.0},{100.0,100.0}}), + graphics={Polygon(lineColor={0,0,127}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + points={{-100,50},{0,0},{-100,-50}})}), + Diagram(coordinateSystem(preserveAspectRatio=true, + initialScale=0.2, + extent={{-100.0,-100.0},{100.0,100.0}}), + graphics={Polygon(lineColor={0,0,127}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + points={{-100.0,50.0},{0.0,0.0},{-100.0,-50.0}}), + Text(textColor={0,0,127}, + extent={{30.0,60.0},{30.0,110.0}}, + textString="%name")}), +Documentation(info=" +

+Connector with one output signal of type Real. +

+",revisions=" + +")); diff --git a/IBPSA/Controls/OBC/CDL/Interfaces/package.mo b/IBPSA/Controls/OBC/CDL/Interfaces/package.mo new file mode 100644 index 0000000000..00ac15ad2f --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Interfaces/package.mo @@ -0,0 +1,41 @@ +within IBPSA.Controls.OBC.CDL; +package Interfaces "Package with connectors for input and output signals" + annotation ( + preferredView="info", + Documentation( + info=" +

+This package contains implementations of connectors for input +and output signals of blocks. +

+

+The connectors are compatible with, and equivalent to, +the connectors from the Modelica Standard Library. +They are here implemented to make the CDL +package a self-contained package. +

+"), + Icon( + graphics={ + Rectangle( + lineColor={200,200,200}, + fillColor={248,248,248}, + fillPattern=FillPattern.HorizontalCylinder, + extent={{-100.0,-100.0},{100.0,100.0}}, + radius=25.0), + Rectangle( + lineColor={128,128,128}, + extent={{-100.0,-100.0},{100.0,100.0}}, + radius=25.0), + Polygon( + origin={20.0,0.0}, + lineColor={64,64,64}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + points={{-10.0,70.0},{10.0,70.0},{40.0,20.0},{80.0,20.0},{80.0,-20.0},{40.0,-20.0},{10.0,-70.0},{-10.0,-70.0}}), + Polygon( + fillColor={102,102,102}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-100.0,20.0},{-60.0,20.0},{-30.0,70.0},{-10.0,70.0},{-10.0,-70.0},{-30.0,-70.0},{-60.0,-20.0},{-100.0,-20.0}})})); +end Interfaces; diff --git a/IBPSA/Controls/OBC/CDL/Interfaces/package.order b/IBPSA/Controls/OBC/CDL/Interfaces/package.order new file mode 100644 index 0000000000..25397a7f23 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Interfaces/package.order @@ -0,0 +1,6 @@ +BooleanInput +BooleanOutput +IntegerInput +IntegerOutput +RealInput +RealOutput diff --git a/IBPSA/Controls/OBC/CDL/Logical/And.mo b/IBPSA/Controls/OBC/CDL/Logical/And.mo new file mode 100644 index 0000000000..fdb56a7531 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Logical/And.mo @@ -0,0 +1,92 @@ +within IBPSA.Controls.OBC.CDL.Logical; +block And + "Logical 'and': y = u1 and u2" + IBPSA.Controls.OBC.CDL.Interfaces.BooleanInput u1 + "Input signal for logical 'and'" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.BooleanInput u2 + "Input signal for logical 'and'" + annotation (Placement(transformation(extent={{-140,-100},{-100,-60}}))); + IBPSA.Controls.OBC.CDL.Interfaces.BooleanOutput y + "Outputs true if u1 and u2 are both true" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +equation + y=u1 and u2; + annotation ( + defaultComponentName="and2", + Icon( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100,-100},{100,100}}), + graphics={ + Rectangle( + extent={{-100,100},{100,-100}}, + fillColor={210,210,210}, + lineThickness=5.0, + fillPattern=FillPattern.Solid, + borderPattern=BorderPattern.Raised), + Text( + extent={{-90,40},{90,-40}}, + textColor={0,0,0}, + textString="and"), + Ellipse( + extent={{71,7},{85,-7}}, + lineColor=DynamicSelect({235,235,235}, + if y then + {0,255,0} + else + {235,235,235}), + fillColor=DynamicSelect({235,235,235}, + if y then + {0,255,0} + else + {235,235,235}), + fillPattern=FillPattern.Solid), + Ellipse( + extent={{-75,-6},{-89,8}}, + lineColor=DynamicSelect({235,235,235}, + if u1 then + {0,255,0} + else + {235,235,235}), + fillColor=DynamicSelect({235,235,235}, + if u1 then + {0,255,0} + else + {235,235,235}), + fillPattern=FillPattern.Solid), + Ellipse( + extent={{-75,-73},{-89,-87}}, + lineColor=DynamicSelect({235,235,235}, + if u2 then + {0,255,0} + else + {235,235,235}), + fillColor=DynamicSelect({235,235,235}, + if u2 then + {0,255,0} + else + {235,235,235}), + fillPattern=FillPattern.Solid), + Text( + extent={{-150,150},{150,110}}, + textString="%name", + textColor={0,0,255})}), + Documentation( + info=" +

+Block that outputs true if all inputs are true. +Otherwise the output is false. +

+", + revisions=" + +")); +end And; diff --git a/IBPSA/Controls/OBC/CDL/Logical/Change.mo b/IBPSA/Controls/OBC/CDL/Logical/Change.mo new file mode 100644 index 0000000000..257ca1fba2 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Logical/Change.mo @@ -0,0 +1,71 @@ +within IBPSA.Controls.OBC.CDL.Logical; +block Change + "Output y is true, if the input u has a rising or falling edge (y = change(u))" + parameter Boolean pre_u_start=false + "Start value of pre(u) at initial time"; + IBPSA.Controls.OBC.CDL.Interfaces.BooleanInput u + "Input to be monitored for a change" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.BooleanOutput y + "Output with true when the input changes" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +initial equation + pre(u)=pre_u_start; + +equation + y=change(u); + annotation ( + defaultComponentName="cha", + Icon( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100,-100},{100,100}}), + graphics={ + Rectangle( + extent={{-100,100},{100,-100}}, + lineColor={0,0,0}, + lineThickness=5.0, + fillColor={215,215,215}, + fillPattern=FillPattern.Solid, + borderPattern=BorderPattern.Raised), + Text( + extent={{-50,62},{50,-56}}, + textColor={0,0,0}, + textString="change"), + Ellipse( + extent={{71,7},{85,-7}}, + lineColor=DynamicSelect({235,235,235}, + if y then + {0,255,0} + else + {235,235,235}), + fillColor=DynamicSelect({235,235,235}, + if y then + {0,255,0} + else + {235,235,235}), + fillPattern=FillPattern.Solid), + Text( + extent={{-150,150},{150,110}}, + textString="%name", + textColor={0,0,255})}), + Documentation( + info=" +

+Block that outputs true if the Boolean input has either a rising edge +from false to true or a falling edge from +true to false. +Otherwise the output is false. +

+", + revisions=" + +")); +end Change; diff --git a/IBPSA/Controls/OBC/CDL/Logical/Edge.mo b/IBPSA/Controls/OBC/CDL/Logical/Edge.mo new file mode 100644 index 0000000000..e472037418 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Logical/Edge.mo @@ -0,0 +1,73 @@ +within IBPSA.Controls.OBC.CDL.Logical; +block Edge + "Output y is true, if the input u has a rising edge (y = edge(u))" + parameter Boolean pre_u_start=false + "Start value of pre(u) at initial time"; + IBPSA.Controls.OBC.CDL.Interfaces.BooleanInput u + "Input to be monitored" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.BooleanOutput y + "Outputs true when the input switches to true" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +initial equation + pre(u)=pre_u_start; + +equation + y=edge(u); + annotation ( + defaultComponentName="edg", + Icon( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100,-100},{100,100}}), + graphics={ + Rectangle( + extent={{-100,100},{100,-100}}, + lineColor={0,0,0}, + lineThickness=5.0, + fillColor={215,215,215}, + fillPattern=FillPattern.Solid, + borderPattern=BorderPattern.Raised), + Text( + extent={{-50,52},{50,-46}}, + textColor={0,0,0}, + textString="edge"), + Ellipse( + extent={{71,7},{85,-7}}, + lineColor=DynamicSelect({235,235,235}, + if y then + {0,255,0} + else + {235,235,235}), + fillColor=DynamicSelect({235,235,235}, + if y then + {0,255,0} + else + {235,235,235}), + fillPattern=FillPattern.Solid), + Polygon( + points={{-120,140},{-120,140}}, + lineColor={28,108,200}), + Text( + extent={{-150,150},{150,110}}, + textString="%name", + textColor={0,0,255})}), + Documentation( + info=" +

+Block that outputs true if the Boolean input has a rising edge +from false to true. +Otherwise the output is false. +

+", + revisions=" + +")); +end Edge; diff --git a/IBPSA/Controls/OBC/CDL/Logical/FallingEdge.mo b/IBPSA/Controls/OBC/CDL/Logical/FallingEdge.mo new file mode 100644 index 0000000000..fd69807c62 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Logical/FallingEdge.mo @@ -0,0 +1,74 @@ +within IBPSA.Controls.OBC.CDL.Logical; +block FallingEdge + "Output y is true, if the input u has a falling edge (y = edge(not u))" + parameter Boolean pre_u_start=false + "Start value of pre(u) at initial time"; + IBPSA.Controls.OBC.CDL.Interfaces.BooleanInput u + "Input to be monitored" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.BooleanOutput y + "Outputs true when the input switches to false" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +protected + Boolean not_u=not u + "Boolean not of the input"; + +initial equation + pre(not_u)=not pre_u_start; + +equation + y=edge(not_u); + annotation ( + defaultComponentName="falEdg", + Icon( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100,-100},{100,100}}), + graphics={ + Rectangle( + extent={{-100,100},{100,-100}}, + lineColor={0,0,0}, + lineThickness=5.0, + fillColor={215,215,215}, + fillPattern=FillPattern.Solid, + borderPattern=BorderPattern.Raised), + Text( + extent={{-62,64},{56,-54}}, + textColor={0,0,0}, + textString="falling"), + Ellipse( + extent={{71,7},{85,-7}}, + lineColor=DynamicSelect({235,235,235}, + if y then + {0,255,0} + else + {235,235,235}), + fillColor=DynamicSelect({235,235,235}, + if y then + {0,255,0} + else + {235,235,235}), + fillPattern=FillPattern.Solid), + Text( + extent={{-150,150},{150,110}}, + textString="%name", + textColor={0,0,255})}), + Documentation( + info=" +

+Block that outputs true if the Boolean input has a falling edge +from true to false. +Otherwise the output is false. +

+", + revisions=" + +")); +end FallingEdge; diff --git a/IBPSA/Controls/OBC/CDL/Logical/Latch.mo b/IBPSA/Controls/OBC/CDL/Logical/Latch.mo new file mode 100644 index 0000000000..fc97b6a022 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Logical/Latch.mo @@ -0,0 +1,151 @@ +within IBPSA.Controls.OBC.CDL.Logical; +block Latch + "Maintains a true signal until cleared" + IBPSA.Controls.OBC.CDL.Interfaces.BooleanInput u + "Latch input" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.BooleanInput clr + "Clear input" + annotation (Placement(transformation(extent={{-140,-80},{-100,-40}}))); + IBPSA.Controls.OBC.CDL.Interfaces.BooleanOutput y + "Output with latched signal" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); +equation + when initial() then + y=not clr and u; + elsewhen {clr, u} then + y=not clr and u; + end when; + annotation ( + defaultComponentName="lat", + Icon( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100,-100},{100,100}}), + graphics={ + Rectangle( + extent={{-100,100},{100,-100}}, + fillColor={210,210,210}, + lineThickness=5.0, + fillPattern=FillPattern.Solid, + borderPattern=BorderPattern.Raised), + Ellipse( + extent={{-73,9},{-87,-5}}, + lineColor=DynamicSelect({235,235,235}, + if u then + {0,255,0} + else + {235,235,235}), + fillColor=DynamicSelect({235,235,235}, + if u then + {0,255,0} + else + {235,235,235}), + fillPattern=FillPattern.Solid), + Ellipse( + extent={{81,7},{95,-7}}, + lineColor=DynamicSelect({235,235,235}, + if y then + {0,255,0} + else + {235,235,235}), + fillColor=DynamicSelect({235,235,235}, + if y then + {0,255,0} + else + {235,235,235}), + fillPattern=FillPattern.Solid), + Ellipse( + extent={{-73,-53},{-87,-67}}, + lineColor=DynamicSelect({235,235,235}, + if clr then + {0,255,0} + else + {235,235,235}), + fillColor=DynamicSelect({235,235,235}, + if clr then + {0,255,0} + else + {235,235,235}), + fillPattern=FillPattern.Solid), + Line( + points={{-68,-62},{4,-62},{4,-22},{74,-22}}, + color={255,0,255}), + Line( + points={{-68,24},{-48,24},{-48,56},{-16,56},{-16,24},{24,24},{24,56},{54,56},{54,24},{74,24}}, + color={255,0,255}), + Text( + extent={{-14,-8},{14,-18}}, + textColor={0,0,0}, + fillColor={210,210,210}, + fillPattern=FillPattern.Solid, + textString="Clear"), + Text( + extent={{-16,72},{24,58}}, + textColor={0,0,0}, + fillColor={210,210,210}, + fillPattern=FillPattern.Solid, + textString="Latch input"), + Text( + extent={{-150,150},{150,110}}, + textColor={0,0,255}, + textString="%name")}), + Documentation( + info=" +

+Block that generates a true output when the latch input u +rises from false to true, provided that the clear input +clr is false or also became at the same time false. +The output remains true until the clear input clr rises +from false to true. +

+

+If the clear input clr is true, the output y +switches to false (if it was true) and it remains false, +regardless of the value of the latch input u. +

+

+At initial time, if clr = false, then the output will be +y = u. Otherwise it will be y=false +(because the clear input clr is true). +

+ +

+\"Latch.png\" +

+ +", + revisions=" + +")); +end Latch; diff --git a/IBPSA/Controls/OBC/CDL/Logical/MultiAnd.mo b/IBPSA/Controls/OBC/CDL/Logical/MultiAnd.mo new file mode 100644 index 0000000000..a1ab070a48 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Logical/MultiAnd.mo @@ -0,0 +1,92 @@ +within IBPSA.Controls.OBC.CDL.Logical; +block MultiAnd + "Logical MultiAnd, y = u[1] and u[2] and u[3] and ..." + parameter Integer nin(min=0)=0 + "Number of input connections" + annotation (Dialog(connectorSizing=true),HideResult=true); + IBPSA.Controls.OBC.CDL.Interfaces.BooleanInput u[nin] + "Input signals" + annotation (Placement(transformation(extent={{-140,70},{-100,-70}}))); + IBPSA.Controls.OBC.CDL.Interfaces.BooleanOutput y + "Output with true if all input signals are true" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +protected + Boolean uTemp[nin] + "Temporary variable"; + +equation + if size(u, 1) > 1 then + uTemp[1]=u[1]; + for i in 2:size(u, 1) loop + uTemp[i]=u[i] and uTemp[i-1]; + end for; + y=uTemp[nin]; + elseif (size(u, 1) == 1) then + uTemp[1]=u[1]; + y=uTemp[1]; + else + y=false; + end if; + annotation ( + defaultComponentName="mulAnd", + Icon( + graphics={ + Rectangle( + extent={{-100,100},{100,-100}}, + lineColor={0,0,0}, + lineThickness=5.0, + fillColor={210,210,210}, + fillPattern=FillPattern.Solid, + borderPattern=BorderPattern.Raised), + Text( + extent={{-144,150},{156,110}}, + textString="%name", + textColor={0,0,255}), + Text( + extent={{-80,52},{56,-52}}, + textColor={0,0,0}, + textString="AND"), + Ellipse( + extent={{71,7},{85,-7}}, + lineColor=DynamicSelect({235,235,235}, + if y then + {0,255,0} + else + {235,235,235}), + fillColor=DynamicSelect({235,235,235}, + if y then + {0,255,0} + else + {235,235,235}), + fillPattern=FillPattern.Solid)}), + Documentation( + info=" +

+Block that outputs y = true if and only if +all elements of the input vector u are true. +If no connection to the input connector u is present, +the output is y=false. +

+

+See + +IBPSA.Controls.OBC.CDL.Logical.Validation.MultiAnd +for an example. +

+", +revisions=" + +")); +end MultiAnd; diff --git a/IBPSA/Controls/OBC/CDL/Logical/MultiOr.mo b/IBPSA/Controls/OBC/CDL/Logical/MultiOr.mo new file mode 100644 index 0000000000..71e9376f5c --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Logical/MultiOr.mo @@ -0,0 +1,91 @@ +within IBPSA.Controls.OBC.CDL.Logical; +block MultiOr + "Logical MultiOr, y = u[1] or u[2] or u[3] or ..." + parameter Integer nin(min=0)=0 + "Number of input connections" + annotation (Dialog(connectorSizing=true),HideResult=true); + IBPSA.Controls.OBC.CDL.Interfaces.BooleanInput u[nin] + "Input signals" + annotation (Placement(transformation(extent={{-140,70},{-100,-70}}))); + IBPSA.Controls.OBC.CDL.Interfaces.BooleanOutput y + "Output with true if at least one input is true" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +protected + Boolean uTemp[nin] + "Temporary variable"; + +equation + if size(u, 1) > 1 then + uTemp[1]=u[1]; + for i in 2:size(u, 1) loop + uTemp[i]=u[i] or uTemp[i-1]; + end for; + y=uTemp[nin]; + elseif (size(u, 1) == 1) then + uTemp[1]=u[1]; + y=uTemp[1]; + else + y=false; + end if; + annotation ( + defaultComponentName="mulOr", + Icon( + graphics={ + Rectangle( + extent={{-100,100},{100,-100}}, + lineColor={0,0,0}, + lineThickness=5.0, + fillColor={210,210,210}, + fillPattern=FillPattern.Solid, + borderPattern=BorderPattern.Raised), + Text( + extent={{-144,150},{156,110}}, + textString="%name", + textColor={0,0,255}), + Text( + extent={{-80,52},{56,-52}}, + textColor={0,0,0}, + textString="OR"), + Ellipse( + extent={{71,7},{85,-7}}, + lineColor=DynamicSelect({235,235,235}, + if y then + {0,255,0} + else + {235,235,235}), + fillColor=DynamicSelect({235,235,235}, + if y then + {0,255,0} + else + {235,235,235}), + fillPattern=FillPattern.Solid)}), + Documentation( + info=" +

+Block that outputs y = true if any element in the input +vector u is true. +If no connection to the input connector u is present, +the output is y=false. +

+

+See + +IBPSA.Controls.OBC.CDL.Logical.Validation.MultiOr +for an example. +

+", +revisions=" + +")); +end MultiOr; diff --git a/IBPSA/Controls/OBC/CDL/Logical/Nand.mo b/IBPSA/Controls/OBC/CDL/Logical/Nand.mo new file mode 100644 index 0000000000..f7fd08c4fe --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Logical/Nand.mo @@ -0,0 +1,93 @@ +within IBPSA.Controls.OBC.CDL.Logical; +block Nand + "Logical 'nand': y = not (u1 and u2)" + IBPSA.Controls.OBC.CDL.Interfaces.BooleanInput u1 + "Input signal for 'nand'" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.BooleanInput u2 + "Input signal for 'nand'" + annotation (Placement(transformation(extent={{-140,-100},{-100,-60}}))); + IBPSA.Controls.OBC.CDL.Interfaces.BooleanOutput y + "Output with false if both inputs are true" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +equation + y=not (u1 and u2); + annotation ( + defaultComponentName="nand", + Icon( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100,-100},{100,100}}), + graphics={ + Rectangle( + extent={{-100,100},{100,-100}}, + fillColor={210,210,210}, + lineThickness=5.0, + fillPattern=FillPattern.Solid, + borderPattern=BorderPattern.Raised), + Text( + extent={{-50,52},{50,-48}}, + textColor={0,0,0}, + textString="nand"), + Ellipse( + extent={{71,7},{85,-7}}, + lineColor=DynamicSelect({235,235,235}, + if y then + {0,255,0} + else + {235,235,235}), + fillColor=DynamicSelect({235,235,235}, + if y then + {0,255,0} + else + {235,235,235}), + fillPattern=FillPattern.Solid), + Ellipse( + extent={{-75,-6},{-89,8}}, + lineColor=DynamicSelect({235,235,235}, + if u1 then + {0,255,0} + else + {235,235,235}), + fillColor=DynamicSelect({235,235,235}, + if u1 then + {0,255,0} + else + {235,235,235}), + fillPattern=FillPattern.Solid), + Ellipse( + extent={{-75,-73},{-89,-87}}, + lineColor=DynamicSelect({235,235,235}, + if u2 then + {0,255,0} + else + {235,235,235}), + fillColor=DynamicSelect({235,235,235}, + if u2 then + {0,255,0} + else + {235,235,235}), + fillPattern=FillPattern.Solid), + Text( + extent={{-150,150},{150,110}}, + textColor={0,0,255}, + textString="%name")}), + Documentation( + info=" +

+Block that outputs true if at least +one input is false. +Otherwise the output is false. +

+", + revisions=" + +")); +end Nand; diff --git a/IBPSA/Controls/OBC/CDL/Logical/Nor.mo b/IBPSA/Controls/OBC/CDL/Logical/Nor.mo new file mode 100644 index 0000000000..19dc9c648b --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Logical/Nor.mo @@ -0,0 +1,92 @@ +within IBPSA.Controls.OBC.CDL.Logical; +block Nor + "Logical 'nor': y = not (u1 or u2)" + IBPSA.Controls.OBC.CDL.Interfaces.BooleanInput u1 + "Input signal for 'nor'" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.BooleanInput u2 + "Input signal for 'nor'" + annotation (Placement(transformation(extent={{-140,-100},{-100,-60}}))); + IBPSA.Controls.OBC.CDL.Interfaces.BooleanOutput y + "Output with false if at least one of the inputs is true" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +equation + y=not (u1 or u2); + annotation ( + defaultComponentName="nor", + Icon( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100,-100},{100,100}}), + graphics={ + Rectangle( + extent={{-100,100},{100,-100}}, + fillColor={210,210,210}, + lineThickness=5.0, + fillPattern=FillPattern.Solid, + borderPattern=BorderPattern.Raised), + Text( + extent={{-90,40},{90,-40}}, + textColor={0,0,0}, + textString="nor"), + Ellipse( + extent={{71,7},{85,-7}}, + lineColor=DynamicSelect({235,235,235}, + if y then + {0,255,0} + else + {235,235,235}), + fillColor=DynamicSelect({235,235,235}, + if y then + {0,255,0} + else + {235,235,235}), + fillPattern=FillPattern.Solid), + Ellipse( + extent={{-75,-6},{-89,8}}, + lineColor=DynamicSelect({235,235,235}, + if u1 then + {0,255,0} + else + {235,235,235}), + fillColor=DynamicSelect({235,235,235}, + if u1 then + {0,255,0} + else + {235,235,235}), + fillPattern=FillPattern.Solid), + Ellipse( + extent={{-75,-73},{-89,-87}}, + lineColor=DynamicSelect({235,235,235}, + if u2 then + {0,255,0} + else + {235,235,235}), + fillColor=DynamicSelect({235,235,235}, + if u2 then + {0,255,0} + else + {235,235,235}), + fillPattern=FillPattern.Solid), + Text( + extent={{-150,150},{150,110}}, + textColor={0,0,255}, + textString="%name")}), + Documentation( + info=" +

+Block that outputs true if none of the inputs is true. +Otherwise the output is false. +

+", + revisions=" + +")); +end Nor; diff --git a/IBPSA/Controls/OBC/CDL/Logical/Not.mo b/IBPSA/Controls/OBC/CDL/Logical/Not.mo new file mode 100644 index 0000000000..6da92b289a --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Logical/Not.mo @@ -0,0 +1,63 @@ +within IBPSA.Controls.OBC.CDL.Logical; +block Not "Logical not" + IBPSA.Controls.OBC.CDL.Interfaces.BooleanInput u + "Input to be negated" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.BooleanOutput y + "Output with negated input" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +equation + y=not u; + annotation ( + defaultComponentName="not1", + Icon( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100,-100},{100,100}}), + graphics={ + Rectangle( + extent={{-100,100},{100,-100}}, + lineColor={0,0,0}, + lineThickness=5.0, + fillColor={215,215,215}, + fillPattern=FillPattern.Solid, + borderPattern=BorderPattern.Raised), + Text( + extent={{-56,28},{72,-24}}, + textColor={0,0,0}, + textString="not"), + Ellipse( + extent={{71,7},{85,-7}}, + lineColor=DynamicSelect({235,235,235}, + if y then + {0,255,0} + else + {235,235,235}), + fillColor=DynamicSelect({235,235,235}, + if y then + {0,255,0} + else + {235,235,235}), + fillPattern=FillPattern.Solid), + Text( + extent={{-150,150},{150,110}}, + textColor={0,0,255}, + textString="%name")}), + Documentation( + info=" +

+Block that outputs true if the input is false, +and false if the input is true. +

+", + revisions=" + +")); +end Not; diff --git a/IBPSA/Controls/OBC/CDL/Logical/Or.mo b/IBPSA/Controls/OBC/CDL/Logical/Or.mo new file mode 100644 index 0000000000..73d83ec44a --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Logical/Or.mo @@ -0,0 +1,93 @@ +within IBPSA.Controls.OBC.CDL.Logical; +block Or + "Logical 'or': y = u1 or u2" + IBPSA.Controls.OBC.CDL.Interfaces.BooleanInput u1 + "Input for logical 'or'" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.BooleanInput u2 + "Input for logical 'or'" + annotation (Placement(transformation(extent={{-140,-100},{-100,-60}}))); + IBPSA.Controls.OBC.CDL.Interfaces.BooleanOutput y + "Output with true if at least one of the inputs is true" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +equation + y=u1 or u2; + annotation ( + defaultComponentName="or2", + Icon( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100,-100},{100,100}}), + graphics={ + Rectangle( + extent={{-100,100},{100,-100}}, + fillColor={210,210,210}, + lineThickness=5.0, + fillPattern=FillPattern.Solid, + borderPattern=BorderPattern.Raised), + Text( + extent={{-90,40},{90,-40}}, + textColor={0,0,0}, + textString="or"), + Ellipse( + extent={{71,7},{85,-7}}, + lineColor=DynamicSelect({235,235,235}, + if y then + {0,255,0} + else + {235,235,235}), + fillColor=DynamicSelect({235,235,235}, + if y then + {0,255,0} + else + {235,235,235}), + fillPattern=FillPattern.Solid), + Ellipse( + extent={{-75,-6},{-89,8}}, + lineColor=DynamicSelect({235,235,235}, + if u1 then + {0,255,0} + else + {235,235,235}), + fillColor=DynamicSelect({235,235,235}, + if u1 then + {0,255,0} + else + {235,235,235}), + fillPattern=FillPattern.Solid), + Ellipse( + extent={{-75,-73},{-89,-87}}, + lineColor=DynamicSelect({235,235,235}, + if u2 then + {0,255,0} + else + {235,235,235}), + fillColor=DynamicSelect({235,235,235}, + if u2 then + {0,255,0} + else + {235,235,235}), + fillPattern=FillPattern.Solid), + Text( + extent={{-150,150},{150,110}}, + textColor={0,0,255}, + textString="%name")}), + Documentation( + info=" +

+Block that outputs true if at least one input +is true. +Otherwise the output is false. +

+", + revisions=" + +")); +end Or; diff --git a/IBPSA/Controls/OBC/CDL/Logical/Pre.mo b/IBPSA/Controls/OBC/CDL/Logical/Pre.mo new file mode 100644 index 0000000000..c6dc1a3a0d --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Logical/Pre.mo @@ -0,0 +1,88 @@ +within IBPSA.Controls.OBC.CDL.Logical; +block Pre + "Breaks algebraic loops by adding a delay of the output without advancing time (y = pre(u): event iteration continues until u = pre(u))" + parameter Boolean pre_u_start=false + "Start value of pre(u) at initial time"; + IBPSA.Controls.OBC.CDL.Interfaces.BooleanInput u + "Input to be delayed by one event iteration" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.BooleanOutput y + "Input delayed by one event iteration" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +initial equation + pre(u)=pre_u_start; + +equation + y=pre(u); + annotation ( + defaultComponentName="pre", + Icon( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100,-100},{100,100}}), + graphics={ + Rectangle( + extent={{-100,100},{100,-100}}, + fillColor={210,210,210}, + lineThickness=5.0, + fillPattern=FillPattern.Solid, + borderPattern=BorderPattern.Raised), + Text( + extent={{-90,40},{90,-40}}, + textColor={0,0,0}, + textString="pre"), + Text( + extent={{-150,150},{150,110}}, + textColor={0,0,255}, + textString="%name"), + Ellipse( + extent={{71,7},{85,-7}}, + lineColor=DynamicSelect({235,235,235}, + if y then + {0,255,0} + else + {235,235,235}), + fillColor=DynamicSelect({235,235,235}, + if y then + {0,255,0} + else + {235,235,235}), + fillPattern=FillPattern.Solid), + Ellipse( + extent={{-75,-6},{-89,8}}, + lineColor=DynamicSelect({235,235,235}, + if u then + {0,255,0} + else + {235,235,235}), + fillColor=DynamicSelect({235,235,235}, + if u then + {0,255,0} + else + {235,235,235}), + fillPattern=FillPattern.Solid)}), + Documentation( + info=" +

+This block delays the Boolean input by an infinitesimal small time delay and +therefore breaks algebraic loops. In a network of logical blocks, in every +closed connection loop, at least one logical block must have a delay, +since algebraic systems of Boolean equations are not solvable. +

+ +

+This block returns the value of the input signal u from the +last event iteration. The event iteration stops once both +values are identical, i.e., if u = pre(u). +

+", + revisions=" + +")); +end Pre; diff --git a/IBPSA/Controls/OBC/CDL/Logical/Proof.mo b/IBPSA/Controls/OBC/CDL/Logical/Proof.mo new file mode 100644 index 0000000000..7115e02412 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Logical/Proof.mo @@ -0,0 +1,520 @@ +within IBPSA.Controls.OBC.CDL.Logical; +block Proof "Verify two boolean inputs" + parameter Real debounce( + final quantity="Time", + final unit="s") + "Time during which input must remain unchanged for signal to considered valid and used in checks"; + parameter Real feedbackDelay( + final quantity="Time", + final unit="s") + "Delay after which the two inputs are checked for equality once they become valid"; + + IBPSA.Controls.OBC.CDL.Interfaces.BooleanInput u_s + "Commanded status setpoint" + annotation (Placement(transformation(extent={{-300,-20},{-260,20}}), + iconTransformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.BooleanInput u_m + "Measured status" + annotation (Placement(transformation(extent={{-20,-20},{20,20}}, rotation=90, origin={0,-260}), + iconTransformation(extent={{-20,-20},{20,20}}, rotation=90, origin={0,-120}))); + IBPSA.Controls.OBC.CDL.Interfaces.BooleanOutput yLocFal + "Output with true if the measured input is locked to false even after the setpoint has changed to true" + annotation (Placement(transformation(extent={{240,100},{280,140}}), + iconTransformation(extent={{100,30},{140,70}}))); + IBPSA.Controls.OBC.CDL.Interfaces.BooleanOutput yLocTru + "Output with true if the measured input is locked to true even after the setpoint has changed to false" + annotation (Placement(transformation(extent={{240,-140},{280,-100}}), + iconTransformation(extent={{100,-70},{140,-30}}))); + +protected + IBPSA.Controls.OBC.CDL.Logical.Or valInp + "Output true if the input becomes stable after the delay time" + annotation (Placement(transformation(extent={{-140,170},{-120,190}}))); + IBPSA.Controls.OBC.CDL.Logical.And invInp + "Output true if debounce time has passed and there is still no stable input" + annotation (Placement(transformation(extent={{0,170},{20,190}}))); + IBPSA.Controls.OBC.CDL.Logical.Or pasDel + "Output true if the feedback checking time has passed" + annotation (Placement(transformation(extent={{-142,-10},{-122,10}}))); + IBPSA.Controls.OBC.CDL.Logical.Or cheDif + "Output true if the measured input is stable, or the feedback checking time has passed" + annotation (Placement(transformation(extent={{-60,-10},{-40,10}}))); + IBPSA.Controls.OBC.CDL.Logical.And botTru + "Output true if both valid measured input and the setpoint input are true" + annotation (Placement(transformation(extent={{-100,-90},{-80,-70}}))); + IBPSA.Controls.OBC.CDL.Logical.And truFal + "Output true if the setpoint input is true but the valid measured input is false" + annotation (Placement(transformation(extent={{0,-110},{20,-90}}))); + IBPSA.Controls.OBC.CDL.Logical.TrueDelay valTru( + final delayTime=debounce) "Valid measured input change from false to true" + annotation (Placement(transformation(extent={{-240,170},{-220,190}}))); + IBPSA.Controls.OBC.CDL.Logical.Switch valFal + "Output false if measured input is stable and changed from true to false" + annotation (Placement(transformation(extent={{-140,100},{-120,120}}))); + IBPSA.Controls.OBC.CDL.Logical.Switch cheDif1 + "Output the difference check result if the difference check condition is satisfied" + annotation (Placement(transformation(extent={{120,140},{140,160}}))); + IBPSA.Controls.OBC.CDL.Logical.TrueDelay truDel1( + final delayTime=debounce) + "Delay a rising edge, to check if the false input is valid" + annotation (Placement(transformation(extent={{-200,130},{-180,150}}))); + IBPSA.Controls.OBC.CDL.Logical.Not not1 + "Logical not" + annotation (Placement(transformation(extent={{-240,130},{-220,150}}))); + IBPSA.Controls.OBC.CDL.Logical.Not notBotFal "Not both false inputs" + annotation (Placement(transformation(extent={{40,-160},{60,-140}}))); + IBPSA.Controls.OBC.CDL.Logical.Not not2 "Logical not" + annotation (Placement(transformation(extent={{-220,-50},{-200,-30}}))); + IBPSA.Controls.OBC.CDL.Logical.And falTru + "Output true if the setpoint input is false but the valid measured input is true" + annotation (Placement(transformation(extent={{80,-200},{100,-180}}))); + IBPSA.Controls.OBC.CDL.Logical.TrueDelay delChe1( + final delayTime=feedbackDelay + debounce) + "Delay the difference check" + annotation (Placement(transformation(extent={{-180,-50},{-160,-30}}))); + IBPSA.Controls.OBC.CDL.Conversions.BooleanToInteger booToInt + "Convert boolean input to integer output" + annotation (Placement(transformation(extent={{-100,-140},{-80,-120}}))); + IBPSA.Controls.OBC.CDL.Integers.Equal equSta + "Output true if both inputs are same" + annotation (Placement(transformation(extent={{-60,-140},{-40,-120}}))); + IBPSA.Controls.OBC.CDL.Conversions.BooleanToInteger booToInt1 + "Convert boolean input to integer output" + annotation (Placement(transformation(extent={{-100,-180},{-80,-160}}))); + IBPSA.Controls.OBC.CDL.Logical.And botFal + "Output true if both valid measured input and the setpoint input are false" + annotation (Placement(transformation(extent={{0,-160},{20,-140}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Constant conTru( + final k=true) + "True constant" + annotation (Placement(transformation(extent={{-200,200},{-180,220}}))); + IBPSA.Controls.OBC.CDL.Logical.Not not3 + "Input is invalid" + annotation (Placement(transformation(extent={{-80,170},{-60,190}}))); + IBPSA.Controls.OBC.CDL.Logical.Switch cheStaMea + "Output true if there is no stable measured input" + annotation (Placement(transformation(extent={{160,110},{180,130}}))); + IBPSA.Controls.OBC.CDL.Logical.TrueDelay delChe2( + final delayTime=feedbackDelay + debounce) + "Delay the difference check" + annotation (Placement(transformation(extent={{-220,-10},{-200,10}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Constant conFal( + final k=false) + "False constant" + annotation (Placement(transformation(extent={{40,132},{60,152}}))); + IBPSA.Controls.OBC.CDL.Logical.Not notBotTru + "Not both true inputs" + annotation (Placement(transformation(extent={{-60,-90},{-40,-70}}))); + IBPSA.Controls.OBC.CDL.Logical.Switch cheDif2 + "Output the difference check result if the difference check condition is satisfied" + annotation (Placement(transformation(extent={{120,-90},{140,-70}}))); + IBPSA.Controls.OBC.CDL.Logical.Switch cheStaMea1 + "Output true if there is no stable measured input" + annotation (Placement(transformation(extent={{160,-130},{180,-110}}))); + IBPSA.Controls.OBC.CDL.Logical.Timer pasDeb( + final t=feedbackDelay + debounce) + "Check if the debounce time has passed" + annotation (Placement(transformation(extent={{-40,140},{-20,160}}))); + IBPSA.Controls.OBC.CDL.Logical.Latch holTru + "Hold the true output when the input changes to true" + annotation (Placement(transformation(extent={{200,110},{220,130}}))); + IBPSA.Controls.OBC.CDL.Logical.Latch holTru1 + "Hold the true output when the input changes to true" + annotation (Placement(transformation(extent={{200,-130},{220,-110}}))); + IBPSA.Controls.OBC.CDL.Logical.Or equInp + "Output true if the measured input equal to the set point" + annotation (Placement(transformation(extent={{20,10},{40,30}}))); + IBPSA.Controls.OBC.CDL.Logical.Edge samInpEdg + "Output a rising edge when both inputs are same" + annotation (Placement(transformation(extent={{160,-30},{180,-10}}))); + IBPSA.Controls.OBC.CDL.Logical.And valEqu + "Output true if the measured input is valid and equal to the set point" + annotation (Placement(transformation(extent={{120,-30},{140,-10}}))); + +initial equation + assert( + feedbackDelay >= debounce, + "In " + getInstanceName() + ": Require feedbackDelay >= debounce, setting feedbackDelay = debounce.", + level=AssertionLevel.warning); + +equation + connect(u_m, valTru.u) annotation (Line(points={{0,-260},{0,-220},{-250,-220}, + {-250,180},{-242,180}}, color={255,0,255})); + connect(u_m, not1.u) annotation (Line(points={{0,-260},{0,-220},{-250,-220},{-250, + 140},{-242,140}}, color={255,0,255})); + connect(not1.y, truDel1.u) + annotation (Line(points={{-218,140},{-202,140}}, color={255,0,255})); + connect(valTru.y, valInp.u1) + annotation (Line(points={{-218,180},{-142,180}},color={255,0,255})); + connect(truDel1.y, valInp.u2) annotation (Line(points={{-178,140},{-160,140},{ + -160,172},{-142,172}},color={255,0,255})); + connect(truDel1.y, valFal.u2) annotation (Line(points={{-178,140},{-160,140},{ + -160,110},{-142,110}}, color={255,0,255})); + connect(u_m, valFal.u1) annotation (Line(points={{0,-260},{0,-220},{-250,-220}, + {-250,118},{-142,118}}, color={255,0,255})); + connect(conTru.y, valFal.u3) annotation (Line(points={{-178,210},{-170,210},{-170, + 102},{-142,102}}, color={255,0,255})); + connect(valInp.y, not3.u) + annotation (Line(points={{-118,180},{-82,180}}, color={255,0,255})); + connect(not3.y, invInp.u1) + annotation (Line(points={{-58,180},{-2,180}},color={255,0,255})); + connect(conTru.y, cheStaMea.u1) annotation (Line(points={{-178,210},{110,210}, + {110,128},{158,128}}, color={255,0,255})); + connect(u_s, not2.u) annotation (Line(points={{-280,0},{-240,0},{-240,-40},{ + -222,-40}}, color={255,0,255})); + connect(not2.y, delChe1.u) + annotation (Line(points={{-198,-40},{-182,-40}}, color={255,0,255})); + connect(u_s, delChe2.u) + annotation (Line(points={{-280,0},{-222,0}}, color={255,0,255})); + connect(delChe2.y, pasDel.u1) + annotation (Line(points={{-198,0},{-144,0}},color={255,0,255})); + connect(delChe1.y, pasDel.u2) annotation (Line(points={{-158,-40},{-154,-40}, + {-154,-8},{-144,-8}}, color={255,0,255})); + connect(valInp.y, cheDif.u2) annotation (Line(points={{-118,180},{-100,180},{-100, + -8},{-62,-8}}, color={255,0,255})); + connect(pasDel.y, cheDif.u1) + annotation (Line(points={{-120,0},{-62,0}}, color={255,0,255})); + connect(cheDif.y, cheDif1.u2) annotation (Line(points={{-38,0},{90,0},{90,150}, + {118,150}}, color={255,0,255})); + connect(botTru.y, notBotTru.u) + annotation (Line(points={{-78,-80},{-62,-80}}, color={255,0,255})); + connect(notBotTru.y, truFal.u1) annotation (Line(points={{-38,-80},{-20,-80},{ + -20,-100},{-2,-100}}, color={255,0,255})); + connect(valTru.y, botTru.u1) annotation (Line(points={{-218,180},{-150,180},{-150, + -80},{-102,-80}},color={255,0,255})); + connect(u_s, truFal.u2) annotation (Line(points={{-280,0},{-240,0},{-240,-108}, + {-2,-108}}, color={255,0,255})); + connect(u_s, booToInt1.u) annotation (Line(points={{-280,0},{-240,0},{-240,-170}, + {-102,-170}},color={255,0,255})); + connect(valFal.y, booToInt.u) annotation (Line(points={{-118,110},{-110,110},{ + -110,-130},{-102,-130}}, color={255,0,255})); + connect(booToInt.y, equSta.u1) + annotation (Line(points={{-78,-130},{-62,-130}}, color={255,127,0})); + connect(booToInt1.y, equSta.u2) annotation (Line(points={{-78,-170},{-70,-170}, + {-70,-138},{-62,-138}}, color={255,127,0})); + connect(not2.y, botFal.u1) annotation (Line(points={{-198,-40},{-190,-40},{ + -190,-150},{-2,-150}}, color={255,0,255})); + connect(equSta.y, botFal.u2) annotation (Line(points={{-38,-130},{-10,-130},{-10, + -158},{-2,-158}}, color={255,0,255})); + connect(botFal.y, notBotFal.u) + annotation (Line(points={{22,-150},{38,-150}}, color={255,0,255})); + connect(notBotFal.y, falTru.u1) annotation (Line(points={{62,-150},{70,-150},{ + 70,-190},{78,-190}}, color={255,0,255})); + connect(not2.y, falTru.u2) annotation (Line(points={{-198,-40},{-190,-40},{ + -190,-198},{78,-198}}, color={255,0,255})); + connect(cheDif1.y, cheStaMea.u3) annotation (Line(points={{142,150},{150,150}, + {150,112},{158,112}}, color={255,0,255})); + connect(cheDif.y, cheDif2.u2) annotation (Line(points={{-38,0},{90,0},{90,-80}, + {118,-80}}, color={255,0,255})); + connect(cheDif2.y, cheStaMea1.u3) annotation (Line(points={{142,-80},{150,-80}, + {150,-128},{158,-128}}, color={255,0,255})); + connect(conTru.y, cheStaMea1.u1) annotation (Line(points={{-178,210},{110,210}, + {110,-112},{158,-112}}, color={255,0,255})); + connect(conFal.y, cheDif1.u3) annotation (Line(points={{62,142},{118,142}}, + color={255,0,255})); + connect(conFal.y, cheDif2.u3) annotation (Line(points={{62,142},{100,142},{ + 100,-88},{118,-88}}, color={255,0,255})); + connect(falTru.y, cheDif2.u1) annotation (Line(points={{102,-190},{114,-190}, + {114,-72},{118,-72}}, color={255,0,255})); + connect(truFal.y, cheDif1.u1) annotation (Line(points={{22,-100},{70,-100},{ + 70,158},{118,158}}, color={255,0,255})); + connect(u_s, botTru.u2) annotation (Line(points={{-280,0},{-240,0},{-240,-88}, + {-102,-88}}, color={255,0,255})); + connect(cheStaMea.y, holTru.u) + annotation (Line(points={{182,120},{198,120}}, color={255,0,255})); + connect(cheStaMea1.y, holTru1.u) + annotation (Line(points={{182,-120},{198,-120}}, color={255,0,255})); + connect(holTru.y, yLocFal) + annotation (Line(points={{222,120},{260,120}}, color={255,0,255})); + connect(holTru1.y, yLocTru) + annotation (Line(points={{222,-120},{260,-120}}, color={255,0,255})); + connect(botTru.y, equInp.u1) annotation (Line(points={{-78,-80},{-70,-80},{-70, + 20},{18,20}}, color={255,0,255})); + connect(equSta.y, equInp.u2) annotation (Line(points={{-38,-130},{-10,-130},{-10, + 12},{18,12}}, color={255,0,255})); + connect(samInpEdg.y, holTru.clr) annotation (Line(points={{182,-20},{190,-20}, + {190,114},{198,114}}, color={255,0,255})); + connect(samInpEdg.y, holTru1.clr) annotation (Line(points={{182,-20},{190,-20}, + {190,-126},{198,-126}}, color={255,0,255})); + connect(invInp.y, cheStaMea.u2) + annotation (Line(points={{22,180},{80,180},{80,120},{158,120}}, color={255,0,255})); + connect(invInp.y, cheStaMea1.u2) annotation (Line(points={{22,180},{80,180},{ + 80,-120},{158,-120}}, color={255,0,255})); + connect(not3.y, pasDeb.u) annotation (Line(points={{-58,180},{-50,180},{-50, + 150},{-42,150}}, color={255,0,255})); + connect(pasDeb.passed, invInp.u2) annotation (Line(points={{-18,142},{-10,142}, + {-10,172},{-2,172}}, color={255,0,255})); + connect(equInp.y, valEqu.u1) annotation (Line(points={{42,20},{60,20},{60,-20}, + {118,-20}}, color={255,0,255})); + connect(valEqu.y, samInpEdg.u) + annotation (Line(points={{142,-20},{158,-20}}, color={255,0,255})); + connect(valInp.y, valEqu.u2) annotation (Line(points={{-118,180},{-100,180},{-100, + -28},{118,-28}}, color={255,0,255})); +annotation ( + defaultComponentName="pro", + Diagram( + coordinateSystem(extent={{-260,-240},{240,240}}), graphics={ + Rectangle( + extent={{-258,236},{28,42}}, + lineColor={215,215,215}, + fillColor={215,215,215}, + fillPattern=FillPattern.Solid), + Rectangle( + extent={{-258,38},{-114,-58}}, + lineColor={215,215,215}, + fillColor={215,215,215}, + fillPattern=FillPattern.Solid), + Rectangle( + extent={{-116,-62},{66,-198}}, + lineColor={215,215,215}, + fillColor={215,215,215}, + fillPattern=FillPattern.Solid), + Text( + extent={{-248,38},{-174,20}}, + textColor={0,0,255}, + fillColor={215,215,215}, + fillPattern=FillPattern.Solid, + horizontalAlignment=TextAlignment.Left, + textString="Output true if u_s has passed +the feedback delay"), + Text( + extent={{-90,-182},{-4,-196}}, + textColor={0,0,255}, + fillColor={215,215,215}, + fillPattern=FillPattern.Solid, + horizontalAlignment=TextAlignment.Left, + textString="Check if the inputs are different"), + Text( + extent={{-252,236},{-130,224}}, + textColor={0,0,255}, + fillColor={215,215,215}, + fillPattern=FillPattern.Solid, + horizontalAlignment=TextAlignment.Left, + textString="Check if there is a stable measured input u_m")}), + Icon( + coordinateSystem(extent={{-100,-100},{100,100}}), graphics={ + Rectangle( + extent={{-100,100},{100,-100}}, + fillColor={210,210,210}, + lineThickness=5.0, + fillPattern=FillPattern.Solid, + borderPattern=BorderPattern.Raised), + Ellipse( + extent={{7,-73},{-7,-87}}, + lineColor=DynamicSelect({235,235,235}, if u_m then {0,255,0} else {235, + 235,235}), + fillColor=DynamicSelect({235,235,235}, if u_m then {0,255,0} else {235, + 235,235}), + fillPattern=FillPattern.Solid), + Ellipse( + extent={{-73,7},{-87,-7}}, + lineColor=DynamicSelect({235,235,235}, if u_s then {0,255,0} else {235, + 235,235}), + fillColor=DynamicSelect({235,235,235}, if u_s then {0,255,0} else {235, + 235,235}), + fillPattern=FillPattern.Solid), + Ellipse( + extent={{73,57},{87,43}}, + lineColor=DynamicSelect({235,235,235}, if yLocFal then {0,255,0} else {235, + 235,235}), + fillColor=DynamicSelect({235,235,235}, if yLocFal then {0,255,0} else {235, + 235,235}), + fillPattern=FillPattern.Solid), + Ellipse( + extent={{75,-43},{89,-57}}, + lineColor=DynamicSelect({235,235,235}, if yLocTru then {0,255,0} else {235, + 235,235}), + fillColor=DynamicSelect({235,235,235}, if yLocTru then {0,255,0} else {235, + 235,235}), + fillPattern=FillPattern.Solid), + Text( + extent={{-100,140},{100,100}}, + textColor={0,0,255}, + textString="%name"), + Line( + points={{-60,60},{-60,-88}}, + color={192,192,192}), + Polygon( + points={{-60,82},{-68,60},{-52,60},{-60,82}}, + lineColor={192,192,192}, + fillColor={192,192,192}, + fillPattern=FillPattern.Solid), + Line( + points={{-70,-68},{80,-68}}, + color={192,192,192}), + Polygon( + points={{90,-68},{68,-60},{68,-76},{90,-68}}, + lineColor={192,192,192}, + fillColor={192,192,192}, + fillPattern=FillPattern.Solid), + Line(points={{-40,44}}, color={28,108,200}), + Line(points={{-60,-36},{-40,-36},{-40,-16},{20,-16},{20,-36},{60,-36}}, + color={0,0,0}), + Line(points={{-60,-68},{-14,-68},{-14,-48},{40,-48},{40,-68},{60,-68}}, + color={0,0,0}), + Line(points={{-60,44},{-40,44},{-40,64},{-14,64},{-14,44},{60,44}}, + color={28,108,200}), + Line(points={{-60,12},{20,12},{20,32},{40,32},{40,12},{60,12}}, color={28, + 108,200}), + Line( + points={{-40,40},{-40,-12}}, + color={28,108,200}, + pattern=LinePattern.Dash), + Line( + points={{-14,40},{-14,-44}}, + color={28,108,200}, + pattern=LinePattern.Dash), + Line( + points={{20,8},{20,-12}}, + color={28,108,200}, + pattern=LinePattern.Dash), + Line( + points={{40,8},{40,-44}}, + color={28,108,200}, + pattern=LinePattern.Dash), + Text( + extent={{-6,-4},{6,-14}}, + textColor={0,0,0}, + fillColor={210,210,210}, + fillPattern=FillPattern.Solid, + textString="u_s"), + Text( + extent={{-10,-36},{6,-46}}, + textColor={0,0,0}, + fillColor={210,210,210}, + fillPattern=FillPattern.Solid, + textString="u_m"), + Text( + extent={{22,44},{44,32}}, + textColor={0,0,0}, + fillColor={210,210,210}, + fillPattern=FillPattern.Solid, + textString="yLocTru"), + Text( + extent={{-40,76},{-18,64}}, + textColor={0,0,0}, + fillColor={210,210,210}, + fillPattern=FillPattern.Solid, + textString="yLocFal")}), +Documentation(info=" +

+Block that compares a boolean set point u_s with +a measured signal u_m and produces two outputs +that may be used to raise alarms about malfunctioning equipment. +

+

+The block sets the output yLocFal = true if +the set point is u_s = true but the measured signal is locked +at false, i.e., u_m = false. +Similarly, the block sets the output yLocTru = true +if the set point is u_s = false but the measured signal is locked +at true, i.e., u_m = true. +Hence, any output being true indicates an operational +problem. +

+

+To use this block, proceed as follows: +Set the parameter feedbackDelay ≥ 0 to specify how long the +feedback of the controlled device is allowed to take to report +its measured operational signal u_s +after a set point change u_m. +Set the parameter debounce ≥ 0 +to specify how long the measured +signal u_m need to remain constant for it to be considered +stable. +Connect the inputs for the set point u_s and +the measured signal u_m to the output signals that need to be checked. +If either output is true, raise an alarm, such as by +connecting instances of + +IBPSA.Controls.OBC.CDL.Utilities.Assert +to the outputs of this block. +

+

+Any output being true indicates a problem. +

+

+The block has two timers that each start whenever the corresponding input changes. +One timer, called feedbackDelay+debounce timer, starts +whenever the set point u_s change, and it runs for a time equal to +feedbackDelay+debounce. +The other timer, called debounce timer, starts whenever +the measured signal u_m changes, and it runs for a time equal to +debounce. +The block starts verifying the inputs whenever the feedbackDelay+debounce timer +lapsed, or the debounce timer lapsed, +(and hence the measurement is stable,) whichever is first. +

+

+Both outputs being true indicates that the measured signal u_m +is not stable within feedbackDelay+debounce time. +Exactly one output being true indicates +that the measured signal u_m is stable, but +u_s ≠ u_m. In this case, +the block sets yLocFal = true if u_s = true +(the measured signal is locked at false), +or it sets yLocTru = true if u_s = false +(the measured signal is locked at true). +

+

+Therefore, exactly one output being true can be interpreted as follows: +Suppose true means on and false means off.
+Then, yLocTru = true indicates that an equipment is locked +in operation mode but is commanded off; and similarly, +yLocFal = true indicates that it is locked in off mode +when it is commanded on. +

+

Detailed description

+

+The block works as follows. +Any change in set point u_s starts the feedbackDelay+debounce timer, and +any change in measured signal u_m starts the debounce timer. +

+

+As soon as the feedbackDelay+debounce timer +or the debounce timer lapsed, +whichever happens first, +the controller continuously performs these checks: +

+
    +
  1. +Check for stable measured signal.
    +If u_m is stable, then
    +    goto step 2.
    +Else:
    +    Set yLocFal = yLocTru = true.
    +    (Equipment is commanded on but we cannot conclude it is running;
    +    set both true to flag an unstable measurement signal.)
    +
  2. +
  3. +Check for commanded and measured input to be equal.
    +If u_s ≠ u_m, then
    +    goto step 3.
    +Else,
    +    set yLocFal = false and yLocTru = false.
    +    (Equipment is operating as commanded, verified using stable input.) +
  4. +
  5. +Inputs differ.
    +If u_s = true , then
    +    set yLocFal = true and yLocTru = false.
    +    (The equipment is commanded on, but it is off.)
    +Else,
    +    set yLocFal = false and yLocTru = true.
    +    (The equipment is commanded off, but it is on.)
    +
  6. +
+", +revisions=" + +")); +end Proof; diff --git a/IBPSA/Controls/OBC/CDL/Logical/Sources/Constant.mo b/IBPSA/Controls/OBC/CDL/Logical/Sources/Constant.mo new file mode 100644 index 0000000000..2295f61fe1 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Logical/Sources/Constant.mo @@ -0,0 +1,76 @@ +within IBPSA.Controls.OBC.CDL.Logical.Sources; +block Constant + "Output constant signal of type Boolean" + parameter Boolean k + "Constant output value"; + IBPSA.Controls.OBC.CDL.Interfaces.BooleanOutput y + "Output with constant value" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +equation + y=k; + annotation ( + defaultComponentName="con", + Icon( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100,-100},{100,100}}), + graphics={ + Text( + extent={{-150,150},{150,110}}, + textString="%name", + textColor={0,0,255}), + Rectangle( + extent={{-100,100},{100,-100}}, + fillColor={210,210,210}, + lineThickness=5.0, + fillPattern=FillPattern.Solid, + borderPattern=BorderPattern.Raised), + Ellipse( + extent={{71,7},{85,-7}}, + lineColor=DynamicSelect({235,235,235}, + if y then + {0,255,0} + else + {235,235,235}), + fillColor=DynamicSelect({235,235,235}, + if y then + {0,255,0} + else + {235,235,235}), + fillPattern=FillPattern.Solid), + Line( + points={{-90,-70},{72,-70}}, + color={255,0,255}), + Polygon( + points={{90,-70},{68,-62},{68,-78},{90,-70}}, + lineColor={255,0,255}, + fillColor={255,0,255}, + fillPattern=FillPattern.Solid), + Polygon( + points={{-80,88},{-88,66},{-72,66},{-80,88}}, + lineColor={255,0,255}, + fillColor={255,0,255}, + fillPattern=FillPattern.Solid), + Line( + points={{-80,66},{-80,-82}}, + color={255,0,255}), + Line( + points={{-80,0},{64,0}}), + Text( + extent={{-150,-140},{150,-110}}, + textColor={0,0,0}, + textString="%k")}), + Documentation( + info=" +

+Block that outputs a constant signal y = k, +where k is a Boolean-valued parameter. +

+ +

+\"Constant.png\" +

+")); +end Constant; diff --git a/IBPSA/Controls/OBC/CDL/Logical/Sources/Pulse.mo b/IBPSA/Controls/OBC/CDL/Logical/Sources/Pulse.mo new file mode 100644 index 0000000000..27d18a6c61 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Logical/Sources/Pulse.mo @@ -0,0 +1,210 @@ +within IBPSA.Controls.OBC.CDL.Logical.Sources; +block Pulse + "Generate pulse signal of type Boolean" + parameter Real width( + final min=Constants.small, + final max=1, + final unit="1")=0.5 + "Width of pulse in fraction of period"; + parameter Real period( + final quantity="Time", + final unit="s", + final min=Constants.small) + "Time for one period"; + parameter Real shift( + final quantity="Time", + final unit="s")=0 + "Shift time for output"; + IBPSA.Controls.OBC.CDL.Interfaces.BooleanOutput y + "Output with pulse value" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +protected + parameter Real t0( + final quantity="Time", + final unit="s", + fixed=false) + "First sample time instant"; + parameter Real t1( + final quantity="Time", + final unit="s", + fixed=false) + "First end of amplitude"; + +initial algorithm + t0 := IBPSA.Utilities.Math.Functions.round( + x=integer((time)/period)*period+mod(shift,period), + n=6); + t1 := t0+width*period; + // Make sure t0 and t1 are within time + period. + if time+period < t1 then + t0 := t0-period; + t1 := t1-period; + end if; + // Make sure time is between t0 and t1, or t1 and t0 + // Now, t0 < t1 + if time >= t1 then + t0 := t0+period; + elseif time < t0 then + t1 := t1-period; + end if; + // Assert that t0 <= t < t1 or t1 <= t < t0 + if + (t0 < t1) then + assert( + t0 <= time and time < t1, + getInstanceName()+": Implementation error in initial time calculation: t0 = "+String(t0)+", t1 = "+String(t1)+", period = "+String(period)+", time = "+String(time)); + y := time >= t0 and time < t1; + else + assert( + t1 <= time and time < t0, + getInstanceName()+": Implementation error in initial time calculation: t0 = "+String(t0)+", t1 = "+String(t1)+", period = "+String(period)+", time = "+String(time)); + y := not + (time >= t1 and time < t0); + end if; + +equation + when sample( + t0, + period) then + y=true; + elsewhen sample( + t1, + period) then + y=false; + end when; + annotation ( + defaultComponentName="booPul", + Icon( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100,-100},{100,100}}), + graphics={ + Rectangle( + extent={{-100,100},{100,-100}}, + fillColor={210,210,210}, + lineThickness=5.0, + fillPattern=FillPattern.Solid, + borderPattern=BorderPattern.Raised), + Text( + extent={{-150,-140},{150,-110}}, + textColor={0,0,0}, + textString="%period"), + Line( + points={{79,-70},{40,-70},{40,44},{-1,44},{-1,-70},{-41,-70},{-41,44},{-80,44}}), + Polygon( + points={{-80,88},{-88,66},{-72,66},{-80,88}}, + lineColor={255,0,255}, + fillColor={255,0,255}, + fillPattern=FillPattern.Solid), + Line( + points={{-80,66},{-80,-82}}, + color={255,0,255}), + Line( + points={{-90,-70},{72,-70}}, + color={255,0,255}), + Polygon( + points={{90,-70},{68,-62},{68,-78},{90,-70}}, + lineColor={255,0,255}, + fillColor={255,0,255}, + fillPattern=FillPattern.Solid), + Ellipse( + extent={{71,7},{85,-7}}, + lineColor=DynamicSelect({235,235,235}, + if y then + {0,255,0} + else + {235,235,235}), + fillColor=DynamicSelect({235,235,235}, + if y then + {0,255,0} + else + {235,235,235}), + fillPattern=FillPattern.Solid), + Text( + textColor={0,0,255}, + extent={{-150,110},{150,150}}, + textString="%name"), + Text( + extent={{-66,80},{-8,56}}, + textColor={135,135,135}, + textString="%period"), + Polygon( + points={{-2,52},{-14,56},{-14,48},{-2,52}}, + fillColor={135,135,135}, + fillPattern=FillPattern.Solid, + pattern=LinePattern.None, + lineColor={0,0,0}), + Line( + points={{-80,52},{-4,52}}, + color={135,135,135}), + Polygon( + points={{-80,52},{-68,56},{-68,48},{-80,52}}, + fillColor={135,135,135}, + fillPattern=FillPattern.Solid, + pattern=LinePattern.None, + lineColor={0,0,0}), + Line( + points={{40,34},{72,34}}, + color={135,135,135}), + Polygon( + points={{74,34},{62,38},{62,30},{74,34}}, + fillColor={135,135,135}, + fillPattern=FillPattern.Solid, + pattern=LinePattern.None, + lineColor={0,0,0}), + Text( + extent={{38,64},{96,40}}, + textColor={135,135,135}, + textString="%shift")}), + Documentation( + info=" +

+Block that outputs a pulse signal as shown below. +

+

+\"BooleanPulse.png\" +

+

+The pulse signal is generated an infinite number of times, and aligned with time=shift. +

+", + revisions=" + +")); +end Pulse; diff --git a/IBPSA/Controls/OBC/CDL/Logical/Sources/SampleTrigger.mo b/IBPSA/Controls/OBC/CDL/Logical/Sources/SampleTrigger.mo new file mode 100644 index 0000000000..1f1a7ee477 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Logical/Sources/SampleTrigger.mo @@ -0,0 +1,131 @@ +within IBPSA.Controls.OBC.CDL.Logical.Sources; +block SampleTrigger + "Generate sample trigger signal" + parameter Real period( + final quantity="Time", + final unit="s", + final min=Constants.small) + "Sample period"; + parameter Real shift( + final quantity="Time", + final unit="s")=0 + "Shift time for output"; + IBPSA.Controls.OBC.CDL.Interfaces.BooleanOutput y + "Output with trigger value" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +protected + parameter Real t0( + final quantity="Time", + final unit="s", + fixed=false) + "First sample time instant"; + +initial equation + t0=IBPSA.Utilities.Math.Functions.round( + x=integer((time)/period)*period+mod(shift,period), + n=6); + +equation + y=sample(t0, period); + annotation ( + defaultComponentName="samTri", + Icon( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100,-100},{100,100}}), + graphics={ + Rectangle( + extent={{-100,100},{100,-100}}, + fillColor={210,210,210}, + lineThickness=5.0, + fillPattern=FillPattern.Solid, + borderPattern=BorderPattern.Raised), + Line( + points={{-60,-70},{-60,70}}), + Line( + points={{-20,-70},{-20,70}}), + Line( + points={{20,-70},{20,70}}), + Line( + points={{60,-70},{60,70}}), + Text( + extent={{-150,-140},{150,-110}}, + textColor={0,0,0}, + textString="%period"), + Polygon( + points={{-80,88},{-88,66},{-72,66},{-80,88}}, + lineColor={255,0,255}, + fillColor={255,0,255}, + fillPattern=FillPattern.Solid), + Line( + points={{-80,66},{-80,-82}}, + color={255,0,255}), + Line( + points={{-90,-70},{72,-70}}, + color={255,0,255}), + Polygon( + points={{90,-70},{68,-62},{68,-78},{90,-70}}, + lineColor={255,0,255}, + fillColor={255,0,255}, + fillPattern=FillPattern.Solid), + Ellipse( + extent={{71,7},{85,-7}}, + lineColor=DynamicSelect({235,235,235}, + if y then + {0,255,0} + else + {235,235,235}), + fillColor=DynamicSelect({235,235,235}, + if y then + {0,255,0} + else + {235,235,235}), + fillPattern=FillPattern.Solid), + Text( + textColor={0,0,255}, + extent={{-150,110},{150,150}}, + textString="%name")}), + Documentation( + info=" +

+The Boolean output y is a trigger signal that is only true +at sample times (defined by parameter period) and is otherwise +false. +

+

+\"SampleTrigger.png\" +

+

+The trigger signal is generated an infinite number of times, and aligned with time=delay. +

+", + revisions=" + +")); +end SampleTrigger; diff --git a/IBPSA/Controls/OBC/CDL/Logical/Sources/TimeTable.mo b/IBPSA/Controls/OBC/CDL/Logical/Sources/TimeTable.mo new file mode 100644 index 0000000000..fa7bd4fa64 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Logical/Sources/TimeTable.mo @@ -0,0 +1,143 @@ +within IBPSA.Controls.OBC.CDL.Logical.Sources; +block TimeTable + "Table look-up with respect to time with constant segments" + parameter Real table[:,:] + "Table matrix with time as a first column (in seconds, unless timeScale is not 1) and 0 for False or 1 for True in all other columns"; + parameter Real timeScale( + final unit="1")=1 + "Time scale of first table column. Set to 3600 if time in table is in hours"; + parameter Real period( + final quantity="Time", + final unit="s") + "Periodicity of table"; + IBPSA.Controls.OBC.CDL.Interfaces.BooleanOutput y[nout] + "Output with tabulated values" + annotation (Placement(transformation(extent={{120,-20},{160,20}}),iconTransformation(extent={{100,-20},{140,20}}))); + +protected + final parameter Integer nout=size(table, 2)-1 + "Dimension of output vector"; + final parameter Integer nT=size(table, 1) + "Number of table points"; + Integers.Sources.TimeTable intTimTab( + final table=table, + final timeScale=timeScale, + final period=period) + "Time table" + annotation (Placement(transformation(extent={{-12,-10},{8,10}}))); + Integers.GreaterThreshold intGreThr[nout](each t=0) + "Converts to boolean" + annotation (Placement(transformation(extent={{40,-10},{60,10}}))); + +initial equation + // Check that all values in the second column are Integer values + for i in 1:nT loop + for j in 2:size(table, 2) loop + assert((abs(table[i,j]) < Constants.small) or + (abs(table[i,j]-1.0) < Constants.small), + "Table value table[" + String(i) + ", " + String(j) + "] = " + + String(table[i,j]) + " does not equal either 0 or 1."); + end for; + end for; + +equation + connect(intTimTab.y,intGreThr.u) + annotation (Line(points={{10,0},{38,0}},color={255,127,0})); + connect(intGreThr.y,y) + annotation (Line(points={{62,0},{96,0},{96,0},{140,0}},color={255,0,255})); + annotation ( + defaultComponentName="booTimTab", + Documentation( + info=" +

+Block that outputs true/false time table values. +

+

+The block takes as a parameter a time table of a format: +

+
+table = [ 0*3600, 0;
+          6*3600, 1;
+          6*3600, 0;
+         18*3600, 1;
+         18*3600, 1];
+period = 24*3600;
+
+

+where the first column of table is time and the remaining column(s) are the table values. +The time column contains Real values that are in units of seconds if timeScale = 1. +The parameter timeScale can be used to scale the time values, for example, use +timeScale = 3600 if the values in the first column are interpreted as hours. +

+

+The values in column two and higher must be 0 or 1, otherwise the model stops with an error. +

+

+Until a new tabulated value is set, the previous tabulated value is returned. +

+

+The table scope is repeated periodically with periodicity period. +

+", + revisions=" + +"), + Icon( + graphics={ + Rectangle( + extent={{-100,100},{100,-100}}, + fillColor={210,210,210}, + lineThickness=5, + fillPattern=FillPattern.Solid, + borderPattern=BorderPattern.Raised, + lineColor={0,0,0}), + Text( + extent={{-150,150},{150,110}}, + textString="%name", + textColor={0,0,255}), + Polygon( + lineColor={217,67,180}, + fillColor={217,67,180}, + fillPattern=FillPattern.Solid, + points={{-80.0,90.0},{-88.0,68.0},{-72.0,68.0},{-80.0,90.0}}), + Line( + points={{-80.0,68.0},{-80.0,-80.0}}, + color={255,0,255}), + Line( + points={{-90.0,-70.0},{82.0,-70.0}}, + color={255,0,255}), + Polygon( + lineColor={255,0,255}, + fillColor={255,0,255}, + fillPattern=FillPattern.Solid, + points={{90.0,-70.0},{68.0,-62.0},{68.0,-78.0},{90.0,-70.0}}), + Rectangle( + lineColor={255,255,255}, + fillColor={255,215,136}, + fillPattern=FillPattern.Solid, + extent={{-48.0,-50.0},{2.0,70.0}}), + Line( + points={{-48.0,-50.0},{-48.0,70.0},{52.0,70.0},{52.0,-50.0},{-48.0,-50.0},{-48.0,-20.0},{52.0,-20.0},{52.0,10.0},{-48.0,10.0},{-48.0,40.0},{52.0,40.0},{52.0,70.0},{2.0,70.0},{2.0,-51.0}})}), + Diagram( + coordinateSystem( + extent={{-100,-100},{100,100}}))); +end TimeTable; diff --git a/IBPSA/Controls/OBC/CDL/Logical/Sources/Validation/Constant.mo b/IBPSA/Controls/OBC/CDL/Logical/Sources/Validation/Constant.mo new file mode 100644 index 0000000000..7de10168b3 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Logical/Sources/Validation/Constant.mo @@ -0,0 +1,44 @@ +within IBPSA.Controls.OBC.CDL.Logical.Sources.Validation; +model Constant + "Validate the Constant block" + IBPSA.Controls.OBC.CDL.Logical.Sources.Constant con( + k=true) + "Block output boolean constant value" + annotation (Placement(transformation(extent={{-10,-10},{10,10}}))); + annotation ( + experiment( + StopTime=1.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Sources/Validation/Constant.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Logical.Sources.Constant. +

+ +", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end Constant; diff --git a/IBPSA/Controls/OBC/CDL/Logical/Sources/Validation/Pulse.mo b/IBPSA/Controls/OBC/CDL/Logical/Sources/Validation/Pulse.mo new file mode 100644 index 0000000000..4904c9f652 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Logical/Sources/Validation/Pulse.mo @@ -0,0 +1,146 @@ +within IBPSA.Controls.OBC.CDL.Logical.Sources.Validation; +model Pulse + "Validation model for the Boolean Pulse block" + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul_a1( + width=0.2, + period=2) + "Boolean pulse signal" + annotation (Placement(transformation(extent={{-90,40},{-70,60}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul_b1( + width=0.2, + period=2, + shift=0.1) + "Boolean pulse signal" + annotation (Placement(transformation(extent={{-90,0},{-70,20}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul_c1( + width=0.2, + period=2, + shift=0.6) + "Boolean pulse signal" + annotation (Placement(transformation(extent={{-90,-40},{-70,-20}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul_a2( + width=0.2, + period=2, + shift=2) + "Boolean pulse signal" + annotation (Placement(transformation(extent={{-50,40},{-30,60}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul_b2( + width=0.2, + period=2, + shift=2.1) + "Boolean pulse signal" + annotation (Placement(transformation(extent={{-50,0},{-30,20}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul_c2( + width=0.2, + period=2, + shift=2.6) + "Boolean pulse signal" + annotation (Placement(transformation(extent={{-50,-40},{-30,-20}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul_a3( + width=0.2, + period=2, + shift=4) + "Boolean pulse signal" + annotation (Placement(transformation(extent={{-10,40},{10,60}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul_b3( + width=0.2, + period=2, + shift=4.1) + "Boolean pulse signal" + annotation (Placement(transformation(extent={{-10,0},{10,20}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul_c3( + width=0.2, + period=2, + shift=4.6) + "Boolean pulse signal" + annotation (Placement(transformation(extent={{-10,-40},{10,-20}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul_a4( + width=0.2, + period=2, + shift=-2) + "Boolean pulse signal" + annotation (Placement(transformation(extent={{30,40},{50,60}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul_b4( + width=0.2, + period=2, + shift=-1.9) + "Boolean pulse signal" + annotation (Placement(transformation(extent={{30,0},{50,20}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul_c4( + width=0.2, + period=2, + shift=-1.4) + "Boolean pulse signal" + annotation (Placement(transformation(extent={{30,-40},{50,-20}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul_a5( + width=0.2, + period=2, + shift=-4) + "Boolean pulse signal" + annotation (Placement(transformation(extent={{70,40},{90,60}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul_b5( + width=0.2, + period=2, + shift=-3.9) + "Boolean pulse signal" + annotation (Placement(transformation(extent={{70,0},{90,20}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul_c5( + width=0.2, + period=2, + shift=-3.4) + "Boolean pulse signal" + annotation (Placement(transformation(extent={{70,-40},{90,-20}}))); + annotation ( + experiment( + StartTime=0, + StopTime=10, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Sources/Validation/Pulse.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse. +

+

+This validates the blocks with a start time of 0. +All blocks with the same letter after the underscore are configured to produce +the same output. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end Pulse; diff --git a/IBPSA/Controls/OBC/CDL/Logical/Sources/Validation/PulseNegativeStartTime.mo b/IBPSA/Controls/OBC/CDL/Logical/Sources/Validation/PulseNegativeStartTime.mo new file mode 100644 index 0000000000..7dd7468014 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Logical/Sources/Validation/PulseNegativeStartTime.mo @@ -0,0 +1,136 @@ +within IBPSA.Controls.OBC.CDL.Logical.Sources.Validation; +model PulseNegativeStartTime + "Validation model for the Boolean Pulse block with negative start time" + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul_a1( + width=0.2, + period=2) + "Boolean pulse signal" + annotation (Placement(transformation(extent={{-90,40},{-70,60}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul_b1( + width=0.2, + period=2, + shift=0.1) + "Boolean pulse signal" + annotation (Placement(transformation(extent={{-90,0},{-70,20}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul_c1( + width=0.2, + period=2, + shift=0.6) + "Boolean pulse signal" + annotation (Placement(transformation(extent={{-90,-40},{-70,-20}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul_a2( + width=0.2, + period=2, + shift=2) + "Boolean pulse signal" + annotation (Placement(transformation(extent={{-50,40},{-30,60}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul_b2( + width=0.2, + period=2, + shift=2.1) + "Boolean pulse signal" + annotation (Placement(transformation(extent={{-50,0},{-30,20}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul_c2( + width=0.2, + period=2, + shift=2.6) + "Boolean pulse signal" + annotation (Placement(transformation(extent={{-50,-40},{-30,-20}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul_a3( + width=0.2, + period=2, + shift=4) + "Boolean pulse signal" + annotation (Placement(transformation(extent={{-10,40},{10,60}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul_b3( + width=0.2, + period=2, + shift=4.1) + "Boolean pulse signal" + annotation (Placement(transformation(extent={{-10,0},{10,20}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul_c3( + width=0.2, + period=2, + shift=4.6) + "Boolean pulse signal" + annotation (Placement(transformation(extent={{-10,-40},{10,-20}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul_a4( + width=0.2, + period=2, + shift=-2) + "Boolean pulse signal" + annotation (Placement(transformation(extent={{30,40},{50,60}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul_b4( + width=0.2, + period=2, + shift=-1.9) + "Boolean pulse signal" + annotation (Placement(transformation(extent={{30,0},{50,20}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul_c4( + width=0.2, + period=2, + shift=-1.4) + "Boolean pulse signal" + annotation (Placement(transformation(extent={{30,-40},{50,-20}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul_a5( + width=0.2, + period=2, + shift=-4) + "Boolean pulse signal" + annotation (Placement(transformation(extent={{70,40},{90,60}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul_b5( + width=0.2, + period=2, + shift=-3.9) + "Boolean pulse signal" + annotation (Placement(transformation(extent={{70,0},{90,20}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul_c5( + width=0.2, + period=2, + shift=-3.4) + "Boolean pulse signal" + annotation (Placement(transformation(extent={{70,-40},{90,-20}}))); + annotation ( + experiment( + StartTime=-10, + StopTime=1, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Sources/Validation/PulseNegativeStartTime.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse. +

+

+This validates the blocks with a start time of -10 seconds. +All blocks with the same letter after the underscore are configured to produce +the same output. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end PulseNegativeStartTime; diff --git a/IBPSA/Controls/OBC/CDL/Logical/Sources/Validation/PulsePositiveStartTime.mo b/IBPSA/Controls/OBC/CDL/Logical/Sources/Validation/PulsePositiveStartTime.mo new file mode 100644 index 0000000000..0834536813 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Logical/Sources/Validation/PulsePositiveStartTime.mo @@ -0,0 +1,136 @@ +within IBPSA.Controls.OBC.CDL.Logical.Sources.Validation; +model PulsePositiveStartTime + "Validation model for the Boolean Pulse block with positive, non-zero start time" + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul_a1( + width=0.2, + period=2) + "Boolean pulse signal" + annotation (Placement(transformation(extent={{-90,40},{-70,60}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul_b1( + width=0.2, + period=2, + shift=0.1) + "Boolean pulse signal" + annotation (Placement(transformation(extent={{-90,0},{-70,20}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul_c1( + width=0.2, + period=2, + shift=0.6) + "Boolean pulse signal" + annotation (Placement(transformation(extent={{-90,-40},{-70,-20}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul_a2( + width=0.2, + period=2, + shift=2) + "Boolean pulse signal" + annotation (Placement(transformation(extent={{-50,40},{-30,60}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul_b2( + width=0.2, + period=2, + shift=2.1) + "Boolean pulse signal" + annotation (Placement(transformation(extent={{-50,0},{-30,20}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul_c2( + width=0.2, + period=2, + shift=2.6) + "Boolean pulse signal" + annotation (Placement(transformation(extent={{-50,-40},{-30,-20}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul_a3( + width=0.2, + period=2, + shift=4) + "Boolean pulse signal" + annotation (Placement(transformation(extent={{-10,40},{10,60}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul_b3( + width=0.2, + period=2, + shift=4.1) + "Boolean pulse signal" + annotation (Placement(transformation(extent={{-10,0},{10,20}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul_c3( + width=0.2, + period=2, + shift=4.6) + "Boolean pulse signal" + annotation (Placement(transformation(extent={{-10,-40},{10,-20}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul_a4( + width=0.2, + period=2, + shift=-2) + "Boolean pulse signal" + annotation (Placement(transformation(extent={{30,40},{50,60}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul_b4( + width=0.2, + period=2, + shift=-1.9) + "Boolean pulse signal" + annotation (Placement(transformation(extent={{30,0},{50,20}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul_c4( + width=0.2, + period=2, + shift=-1.4) + "Boolean pulse signal" + annotation (Placement(transformation(extent={{30,-40},{50,-20}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul_a5( + width=0.2, + period=2, + shift=-4) + "Boolean pulse signal" + annotation (Placement(transformation(extent={{70,40},{90,60}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul_b5( + width=0.2, + period=2, + shift=-3.9) + "Boolean pulse signal" + annotation (Placement(transformation(extent={{70,0},{90,20}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul_c5( + width=0.2, + period=2, + shift=-3.4) + "Boolean pulse signal" + annotation (Placement(transformation(extent={{70,-40},{90,-20}}))); + annotation ( + experiment( + StartTime=9, + StopTime=20, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Sources/Validation/PulsePositiveStartTime.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse. +

+

+This validates the blocks with a start time of 9 seconds. +All blocks with the same letter after the underscore are configured to produce +the same output. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end PulsePositiveStartTime; diff --git a/IBPSA/Controls/OBC/CDL/Logical/Sources/Validation/SampleTrigger.mo b/IBPSA/Controls/OBC/CDL/Logical/Sources/Validation/SampleTrigger.mo new file mode 100644 index 0000000000..c8b1805a70 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Logical/Sources/Validation/SampleTrigger.mo @@ -0,0 +1,77 @@ +within IBPSA.Controls.OBC.CDL.Logical.Sources.Validation; +model SampleTrigger + "Validation model for the SampleTrigger block" + IBPSA.Controls.OBC.CDL.Logical.Sources.SampleTrigger samTri( + period=0.5) + "Block that generates sample trigger signal" + annotation (Placement(transformation(extent={{-30,20},{-10,40}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp( + duration=5, + offset=0, + height=20) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-80,60},{-60,80}}))); + IBPSA.Controls.OBC.CDL.Discrete.TriggeredSampler triggeredSampler + "Triggered sampler" + annotation (Placement(transformation(extent={{20,60},{40,80}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.SampleTrigger samTri1( + period=0.5, + shift=1.3) + "Block that generates sample trigger signal" + annotation (Placement(transformation(extent={{-30,-80},{-10,-60}}))); + IBPSA.Controls.OBC.CDL.Discrete.TriggeredSampler triggeredSampler1 + "Triggered sampler" + annotation (Placement(transformation(extent={{20,-40},{40,-20}}))); + +equation + connect(ramp.y,triggeredSampler.u) + annotation (Line(points={{-58,70},{18,70}},color={0,0,127})); + connect(samTri.y,triggeredSampler.trigger) + annotation (Line(points={{-8,30},{30,30},{30,58.2}},color={255,0,255})); + connect(samTri1.y,triggeredSampler1.trigger) + annotation (Line(points={{-8,-70},{30,-70},{30,-41.8}},color={255,0,255})); + connect(triggeredSampler1.u,ramp.y) + annotation (Line(points={{18,-30},{-40,-30},{-40,70},{-58,70}},color={0,0,127})); + annotation ( + experiment( + StopTime=5.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Sources/Validation/SampleTrigger.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Logical.Sources.SampleTrigger. +The instances samTri and samTri1 use a different value for the parameter shift. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end SampleTrigger; diff --git a/IBPSA/Controls/OBC/CDL/Logical/Sources/Validation/SampleTriggerNegativeStartTime.mo b/IBPSA/Controls/OBC/CDL/Logical/Sources/Validation/SampleTriggerNegativeStartTime.mo new file mode 100644 index 0000000000..ab98d3143a --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Logical/Sources/Validation/SampleTriggerNegativeStartTime.mo @@ -0,0 +1,74 @@ +within IBPSA.Controls.OBC.CDL.Logical.Sources.Validation; +model SampleTriggerNegativeStartTime + "Validation model for the SampleTrigger block with a negative start time" + IBPSA.Controls.OBC.CDL.Logical.Sources.SampleTrigger samTri( + period=0.5) + "Block that generates sample trigger signal" + annotation (Placement(transformation(extent={{-30,20},{-10,40}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp( + duration=5, + offset=0, + height=20, + startTime=-2) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-80,60},{-60,80}}))); + IBPSA.Controls.OBC.CDL.Discrete.TriggeredSampler triggeredSampler + "Triggered sampler" + annotation (Placement(transformation(extent={{20,60},{40,80}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.SampleTrigger samTri1( + period=0.5, + shift=3.2) + "Block that generates sample trigger signal" + annotation (Placement(transformation(extent={{-30,-80},{-10,-60}}))); + IBPSA.Controls.OBC.CDL.Discrete.TriggeredSampler triggeredSampler1 + "Triggered sampler" + annotation (Placement(transformation(extent={{20,-40},{40,-20}}))); + +equation + connect(ramp.y,triggeredSampler.u) + annotation (Line(points={{-58,70},{18,70}},color={0,0,127})); + connect(samTri.y,triggeredSampler.trigger) + annotation (Line(points={{-8,30},{30,30},{30,58.2}},color={255,0,255})); + connect(samTri1.y,triggeredSampler1.trigger) + annotation (Line(points={{-8,-70},{30,-70},{30,-41.8}},color={255,0,255})); + connect(triggeredSampler1.u,ramp.y) + annotation (Line(points={{18,-30},{-50,-30},{-50,70},{-58,70}},color={0,0,127})); + annotation ( + experiment( + StartTime=-2.0, + StopTime=3.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Sources/Validation/SampleTriggerNegativeStartTime.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Logical.Sources.SampleTrigger +with negative start time. +The instances samTri and samTri1 use a different value for the parameter shift. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end SampleTriggerNegativeStartTime; diff --git a/IBPSA/Controls/OBC/CDL/Logical/Sources/Validation/SampleTriggerPositiveStartTime.mo b/IBPSA/Controls/OBC/CDL/Logical/Sources/Validation/SampleTriggerPositiveStartTime.mo new file mode 100644 index 0000000000..eced5d8241 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Logical/Sources/Validation/SampleTriggerPositiveStartTime.mo @@ -0,0 +1,75 @@ +within IBPSA.Controls.OBC.CDL.Logical.Sources.Validation; +model SampleTriggerPositiveStartTime + "Validation model for the SampleTrigger block with a positive start time" + IBPSA.Controls.OBC.CDL.Logical.Sources.SampleTrigger samTri( + period=0.5) + "Block that generates sample trigger signal" + annotation (Placement(transformation(extent={{-30,20},{-10,40}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp( + duration=5, + offset=0, + height=20, + startTime=1) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-80,60},{-60,80}}))); + IBPSA.Controls.OBC.CDL.Discrete.TriggeredSampler triggeredSampler + "Triggered sampler" + annotation (Placement(transformation(extent={{20,60},{40,80}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.SampleTrigger samTri1( + period=0.5, + shift=0.3) + "Block that generates sample trigger signal" + annotation (Placement(transformation(extent={{-30,-80},{-10,-60}}))); + IBPSA.Controls.OBC.CDL.Discrete.TriggeredSampler triggeredSampler1( + y_start=-2) + "Triggered sampler" + annotation (Placement(transformation(extent={{20,-40},{40,-20}}))); + +equation + connect(ramp.y,triggeredSampler.u) + annotation (Line(points={{-58,70},{18,70}},color={0,0,127})); + connect(samTri.y,triggeredSampler.trigger) + annotation (Line(points={{-8,30},{30,30},{30,58}}, color={255,0,255})); + connect(samTri1.y,triggeredSampler1.trigger) + annotation (Line(points={{-8,-70},{30,-70},{30,-42}}, color={255,0,255})); + connect(triggeredSampler1.u,ramp.y) + annotation (Line(points={{18,-30},{-50,-30},{-50,70},{-58,70}},color={0,0,127})); + annotation ( + experiment( + StartTime=1.0, + StopTime=6.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Sources/Validation/SampleTriggerPositiveStartTime.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Logical.Sources.SampleTrigger +with positive start time. +The instances samTri and samTri1 use a different value for the parameter shift. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end SampleTriggerPositiveStartTime; diff --git a/IBPSA/Controls/OBC/CDL/Logical/Sources/Validation/TimeTable.mo b/IBPSA/Controls/OBC/CDL/Logical/Sources/Validation/TimeTable.mo new file mode 100644 index 0000000000..44ef8a0acb --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Logical/Sources/Validation/TimeTable.mo @@ -0,0 +1,64 @@ +within IBPSA.Controls.OBC.CDL.Logical.Sources.Validation; +model TimeTable + "Validation model for TimeTable block" + IBPSA.Controls.OBC.CDL.Logical.Sources.TimeTable booTimTab( + table=[ + 0,1,0; + 1.3,1,1; + 2.9,0,0; + 4,1,0], + period=5) + "Time table with boolean output" + annotation (Placement(transformation(extent={{-40,40},{-20,60}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.TimeTable booTimTabOneRow( + table=[ + 0,1,0], + period=1) + "Time table with boolean output for a single table row" + annotation (Placement(transformation(extent={{-40,-60},{-20,-40}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.TimeTable booTimTabTwi( + table=[ + 0,1,0; + 1.3,1,1; + 2.9,0,0; + 4,1,0], + period=10, + timeScale=2) + "Time table with boolean output, periodic repetition, and doubled time" + annotation (Placement(transformation(extent={{-40,-10},{-20,10}}))); + annotation ( + experiment( + Tolerance=1e-6, + StopTime=15.0), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Sources/Validation/TimeTable.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Logical.Sources.TimeTable. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end TimeTable; diff --git a/IBPSA/Controls/OBC/CDL/Logical/Sources/Validation/TimeTableNegativeStartTime.mo b/IBPSA/Controls/OBC/CDL/Logical/Sources/Validation/TimeTableNegativeStartTime.mo new file mode 100644 index 0000000000..5e362e6db1 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Logical/Sources/Validation/TimeTableNegativeStartTime.mo @@ -0,0 +1,68 @@ +within IBPSA.Controls.OBC.CDL.Logical.Sources.Validation; +model TimeTableNegativeStartTime + "Validation model for TimeTable block with negative start time" + IBPSA.Controls.OBC.CDL.Logical.Sources.TimeTable booTimTab( + table=[ + 0,1,0; + 1.3,1,1; + 2.9,0,0; + 4,1,0], + period=5) + "Time table with boolean output" + annotation (Placement(transformation(extent={{-40,40},{-20,60}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.TimeTable booTimTabOneRow( + table=[ + 0,1,0], + period=1) + "Time table with boolean output for a single table row" + annotation (Placement(transformation(extent={{-40,-60},{-20,-40}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.TimeTable booTimTabTwi( + table=[ + 0,1,0; + 1.3,1,1; + 2.9,0,0; + 4,1,0], + period=10, + timeScale=2) + "Time table with boolean output, periodic repetition, and doubled time" + annotation (Placement(transformation(extent={{-40,-10},{-20,10}}))); + annotation ( + experiment( + Tolerance=1e-6, + StartTime=-5.0, + StopTime=10.0), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Sources/Validation/TimeTableNegativeStartTime.mos" "Simulate and plot"), + Documentation( + info=" +

+This model validates the block + +IBPSA.Controls.OBC.CDL.Logical.Sources.TimeTable. +The model is identical to + +IBPSA.Controls.OBC.CDL.Logical.Sources.Validation.TimeTable +except that the start time is negative. +", + revisions=" +

+"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end TimeTableNegativeStartTime; diff --git a/IBPSA/Controls/OBC/CDL/Logical/Sources/Validation/package.mo b/IBPSA/Controls/OBC/CDL/Logical/Sources/Validation/package.mo new file mode 100644 index 0000000000..721ab696af --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Logical/Sources/Validation/package.mo @@ -0,0 +1,37 @@ +within IBPSA.Controls.OBC.CDL.Logical.Sources; +package Validation "Collection of models that validate the logical sources blocks of the CDL" + annotation ( + preferredView="info", + Documentation( + info=" +

+This package contains models that validate the blocks in + +IBPSA.Controls.OBC.CDL.Logical.Sources. +

+

+The examples plot various outputs, which have been verified against +analytical solutions. These model outputs are stored as reference data to +allow continuous validation whenever models in the library change. +

+"), + Icon( + graphics={ + Rectangle( + lineColor={200,200,200}, + fillColor={248,248,248}, + fillPattern=FillPattern.HorizontalCylinder, + extent={{-100.0,-100.0},{100.0,100.0}}, + radius=25.0), + Rectangle( + lineColor={128,128,128}, + extent={{-100.0,-100.0},{100.0,100.0}}, + radius=25.0), + Polygon( + origin={8.0,14.0}, + lineColor={78,138,73}, + fillColor={78,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-58.0,46.0},{42.0,-14.0},{-58.0,-74.0},{-58.0,46.0}})})); +end Validation; diff --git a/IBPSA/Controls/OBC/CDL/Logical/Sources/Validation/package.order b/IBPSA/Controls/OBC/CDL/Logical/Sources/Validation/package.order new file mode 100644 index 0000000000..4b0b7724d3 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Logical/Sources/Validation/package.order @@ -0,0 +1,9 @@ +Constant +Pulse +PulseNegativeStartTime +PulsePositiveStartTime +SampleTrigger +SampleTriggerNegativeStartTime +SampleTriggerPositiveStartTime +TimeTable +TimeTableNegativeStartTime diff --git a/IBPSA/Controls/OBC/CDL/Logical/Sources/package.mo b/IBPSA/Controls/OBC/CDL/Logical/Sources/package.mo new file mode 100644 index 0000000000..d70bb57c3b --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Logical/Sources/package.mo @@ -0,0 +1,33 @@ +within IBPSA.Controls.OBC.CDL.Logical; +package Sources "Package with blocks that generate source signals" + annotation ( + Documentation( + info=" +

+Package with blocks that generate signals. +

+"), + Icon( + graphics={ + Rectangle( + lineColor={200,200,200}, + fillColor={248,248,248}, + fillPattern=FillPattern.HorizontalCylinder, + extent={{-100.0,-100.0},{100.0,100.0}}, + radius=25.0), + Rectangle( + lineColor={128,128,128}, + extent={{-100.0,-100.0},{100.0,100.0}}, + radius=25.0), + Polygon( + origin={23.3333,0.0}, + fillColor={128,128,128}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-23.333,30.0},{46.667,0.0},{-23.333,-30.0}}), + Rectangle( + fillColor={128,128,128}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + extent={{-70,-4.5},{0,4.5}})})); +end Sources; diff --git a/IBPSA/Controls/OBC/CDL/Logical/Sources/package.order b/IBPSA/Controls/OBC/CDL/Logical/Sources/package.order new file mode 100644 index 0000000000..67d8b8c91e --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Logical/Sources/package.order @@ -0,0 +1,5 @@ +Constant +Pulse +SampleTrigger +TimeTable +Validation diff --git a/IBPSA/Controls/OBC/CDL/Logical/Switch.mo b/IBPSA/Controls/OBC/CDL/Logical/Switch.mo new file mode 100644 index 0000000000..8da32a67eb --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Logical/Switch.mo @@ -0,0 +1,158 @@ +within IBPSA.Controls.OBC.CDL.Logical; +block Switch + "Switch between two boolean signals" + IBPSA.Controls.OBC.CDL.Interfaces.BooleanInput u1 + "Input u1" + annotation (Placement(transformation(extent={{-140,60},{-100,100}}))); + IBPSA.Controls.OBC.CDL.Interfaces.BooleanInput u2 + "Boolean switch input signal, if true, y=u1, else y=u3" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.BooleanInput u3 + "Input u3" + annotation (Placement(transformation(extent={{-140,-100},{-100,-60}}))); + IBPSA.Controls.OBC.CDL.Interfaces.BooleanOutput y + "Output with u1 if u2 is true, else u3" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +equation + y=if u2 then u1 else u3; + annotation ( + defaultComponentName="logSwi", + Documentation( + info=" +

+Block that outputs one of two boolean input signals based on a boolean input signal. +

+

+If the input signal u2 is true, +the block outputs y = u1. +Otherwise, it outputs y = u3. +

+", + revisions=" + +"), + Icon( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100,-100},{100,100}}), + graphics={ + Rectangle( + extent={{-100,100},{100,-100}}, + fillColor={210,210,210}, + lineThickness=5.0, + fillPattern=FillPattern.Solid, + borderPattern=BorderPattern.Raised), + Line( + points={{12,0},{100,0}}, + color={255,0,255}), + Line( + points={{-100,0},{-40,0}}, + color={255,0,255}), + Line( + points={{-100,-80},{-40,-80},{-40,-80}}, + color={255,0,255}), + Line( + points={{-40,12},{-40,-10}}, + color={255,0,255}), + Line( + points={{-100,80},{-40,80}}, + color={255,0,255}), + Line( + points=DynamicSelect({{8,2},{-40,80}},{{8,2}, + if u2 then + {-40,80} + else + {-40,-80}}), + color={255,0,255}, + thickness=1), + Ellipse( + lineColor={0,0,127}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + extent={{2.0,-6.0},{18.0,8.0}}), + Ellipse( + extent={{-71,7},{-85,-7}}, + lineColor=DynamicSelect({235,235,235}, + if u2 then + {0,255,0} + else + {235,235,235}), + fillColor=DynamicSelect({235,235,235}, + if u2 then + {0,255,0} + else + {235,235,235}), + fillPattern=FillPattern.Solid), + Ellipse( + extent={{-71,74},{-85,88}}, + lineColor=DynamicSelect({235,235,235}, + if u1 then + {0,255,0} + else + {235,235,235}), + fillColor=DynamicSelect({235,235,235}, + if u1 then + {0,255,0} + else + {235,235,235}), + fillPattern=FillPattern.Solid), + Ellipse( + extent={{-71,-74},{-85,-88}}, + lineColor=DynamicSelect({235,235,235}, + if u3 then + {0,255,0} + else + {235,235,235}), + fillColor=DynamicSelect({235,235,235}, + if u3 then + {0,255,0} + else + {235,235,235}), + fillPattern=FillPattern.Solid), + Ellipse( + extent={{71,7},{85,-7}}, + lineColor=DynamicSelect({235,235,235}, + if y then + {0,255,0} + else + {235,235,235}), + fillColor=DynamicSelect({235,235,235}, + if y then + {0,255,0} + else + {235,235,235}), + fillPattern=FillPattern.Solid), + Text( + extent={{-90,76},{-46,50}}, + textColor=DynamicSelect({0,0,0}, + if u2 then + {0,0,0} + else + {235,235,235}), + textString="true"), + Text( + extent={{-90,-42},{-38,-72}}, + textColor=DynamicSelect({0,0,0}, + if u2 then + {235,235,235} + else + {0,0,0}), + textString="false"), + Text( + extent={{-150,150},{150,110}}, + textColor={0,0,255}, + textString="%name")})); +end Switch; diff --git a/IBPSA/Controls/OBC/CDL/Logical/Timer.mo b/IBPSA/Controls/OBC/CDL/Logical/Timer.mo new file mode 100644 index 0000000000..a0b2f23226 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Logical/Timer.mo @@ -0,0 +1,190 @@ +within IBPSA.Controls.OBC.CDL.Logical; +block Timer + "Timer measuring the time from the time instant where the Boolean input became true" + parameter Real t( + final quantity="Time", + final unit="s")=0 + "Threshold time for comparison"; + IBPSA.Controls.OBC.CDL.Interfaces.BooleanInput u + "Input that switches timer on if true, and off if false" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealOutput y( + final quantity="Time", + final unit="s") + "Elapsed time" + annotation (Placement(transformation(extent={{100,-20},{140,20}}),iconTransformation(extent={{100,-20},{140,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.BooleanOutput passed + "Output with true if the elapsed time is greater than threshold" + annotation (Placement(transformation(extent={{100,-100},{140,-60}}),iconTransformation(extent={{100,-100},{140,-60}}))); + +protected + discrete Real entryTime( + final quantity="Time", + final unit="s") + "Time instant when u became true"; + +initial equation + pre(entryTime)=time; + pre(passed)=t <= 0; + +equation + when u then + entryTime=time; + // When u becomes true, and t=0, we want passed to be true + // at the first step (in superdense time). + passed=t <= 0; + elsewhen + (u and time >= t+pre(entryTime)) then + passed=true; + entryTime=pre(entryTime); + elsewhen not u then + // Set passed to false. + // This is the behavior a timer would have if the threshold test is done with a greater block connected to the output of the timer + passed=false; + entryTime=pre(entryTime); + end when; + y=if u then + time-entryTime + else + 0.0; + annotation ( + defaultComponentName="tim", + Icon( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100.0,-100.0},{100.0,100.0}}), + graphics={ + Rectangle( + extent={{-100,100},{100,-100}}, + fillColor={210,210,210}, + lineThickness=5.0, + fillPattern=FillPattern.Solid, + borderPattern=BorderPattern.Raised), + Line( + points={{-66,-60},{82,-60}}, + color={192,192,192}), + Line( + points={{-58,68},{-58,-80}}, + color={192,192,192}), + Polygon( + lineColor={192,192,192}, + fillColor={192,192,192}, + fillPattern=FillPattern.Solid, + points={{90,-60},{68,-52},{68,-68},{90,-60}}), + Polygon( + lineColor={192,192,192}, + fillColor={192,192,192}, + fillPattern=FillPattern.Solid, + points={{-58,90},{-66,68},{-50,68},{-58,90}}), + Line( + points={{-56,-60},{-38,-60},{-38,-16},{40,-16},{40,-60},{68,-60}}, + color={255,0,255}), + Line( + points={{-58,0},{-40,0},{40,58},{40,0},{68,0}}, + color={0,0,127}), + Text( + extent={{-150,150},{150,110}}, + textColor={0,0,255}, + textString="%name"), + Text( + extent={{-64,62},{62,92}}, + textColor={0,0,0}, + textString="t=%t"), + Ellipse( + extent={{-83,7},{-69,-7}}, + lineColor=DynamicSelect({235,235,235}, + if u then + {0,255,0} + else + {235,235,235}), + fillColor=DynamicSelect({235,235,235}, + if u then + {0,255,0} + else + {235,235,235}), + fillPattern=FillPattern.Solid), + Ellipse( + extent={{71,-73},{85,-87}}, + lineColor=DynamicSelect({235,235,235}, + if passed then + {0,255,0} + else + {235,235,235}), + fillColor=DynamicSelect({235,235,235}, + if passed then + {0,255,0} + else + {235,235,235}), + fillPattern=FillPattern.Solid), + Text( + extent={{226,60},{106,10}}, + textColor={0,0,0}, + textString=DynamicSelect("",String(y, + leftJustified=false, + significantDigits=3)))}), + Documentation( + info=" +

+If the Boolean input u is true, +the output y is the time that has elapsed since u became true. +Otherwise, y is 0. +If the output y becomes greater than the threshold time t, +the output passed is true. +Otherwise it is false. +

+

+In the limiting case where the timer value reaches the threshold t +and the input u becomes false simultaneously, +the output passed remains false. +

+", + revisions=" + +")); +end Timer; diff --git a/IBPSA/Controls/OBC/CDL/Logical/TimerAccumulating.mo b/IBPSA/Controls/OBC/CDL/Logical/TimerAccumulating.mo new file mode 100644 index 0000000000..426e6d9227 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Logical/TimerAccumulating.mo @@ -0,0 +1,212 @@ +within IBPSA.Controls.OBC.CDL.Logical; +block TimerAccumulating + "Accumulating timer that can be reset" + parameter Real t( + final quantity="Time", + final unit="s")=0 + "Threshold time for comparison"; + IBPSA.Controls.OBC.CDL.Interfaces.BooleanInput u + "Input that switches timer on if true, and off if false" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.BooleanInput reset + "Connector for signal that sets timer to zero if it switches to true" + annotation (Placement(transformation(extent={{-140,-100},{-100,-60}}),iconTransformation(extent={{-140,-100},{-100,-60}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealOutput y( + final quantity="Time", + final unit="s") + "Elapsed time" + annotation (Placement(transformation(extent={{100,-20},{140,20}}),iconTransformation(extent={{100,-20},{140,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.BooleanOutput passed + "Output with true if the elapsed time is greater than threshold" + annotation (Placement(transformation(extent={{100,-100},{140,-60}}),iconTransformation(extent={{100,-100},{140,-60}}))); + +protected + discrete Real entryTime( + final quantity="Time", + final unit="s") + "Time instant when u became true"; + discrete Real yAcc( + final quantity="Time", + final unit="s") + "Accumulated time up to last change to true"; + +initial equation + pre(u)=false; + pre(reset)=false; + pre(entryTime)=time; + pre(passed)=t <= 0; + yAcc=0; + +equation + // The when constructs below are identical to the ones in IBPSA.Controls.OBC.CDL.Logical.Timer + when reset then + entryTime=time; + passed=t <= 0; + yAcc=0; + elsewhen u then + entryTime=time; + // When u becomes true, and t=0, we want passed to be true + // at the first step (in superdense time). + passed=t <= yAcc; + yAcc=pre(yAcc); + elsewhen u and time >= t+pre(entryTime)-pre(yAcc) then + passed=true; + entryTime=pre(entryTime); + yAcc=pre(yAcc); + elsewhen not u then + passed=pre(passed); + //time >= t_internal + pre(entryTime); + entryTime=pre(entryTime); + yAcc=pre(y); + end when; + y=if u then + yAcc+time-entryTime + else + yAcc; + annotation ( + defaultComponentName="accTim", + Icon( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100.0,-100.0},{100.0,100.0}}), + graphics={ + Rectangle( + extent={{-100,100},{100,-100}}, + fillColor={210,210,210}, + lineThickness=5.0, + fillPattern=FillPattern.Solid, + borderPattern=BorderPattern.Raised), + Line( + points={{-66,-60},{82,-60}}, + color={192,192,192}), + Line( + points={{-58,68},{-58,-80}}, + color={192,192,192}), + Polygon( + lineColor={192,192,192}, + fillColor={192,192,192}, + fillPattern=FillPattern.Solid, + points={{90,-60},{68,-52},{68,-68},{90,-60}}), + Polygon( + lineColor={192,192,192}, + fillColor={192,192,192}, + fillPattern=FillPattern.Solid, + points={{-58,90},{-66,68},{-50,68},{-58,90}}), + Line( + points={{-56,-60},{-38,-60},{-38,-16},{-4,-16},{-4,-60},{26,-60},{26,-16},{64,-16}}, + color={255,0,255}), + Line( + points={{-58,0},{-40,0},{-6,28},{24,28},{60,58}}, + color={0,0,127}), + Text( + extent={{-150,150},{150,110}}, + textColor={0,0,255}, + textString="%name"), + Text( + extent={{-64,62},{62,92}}, + textColor={0,0,0}, + textString="t=%t"), + Ellipse( + extent={{-83,7},{-69,-7}}, + lineColor=DynamicSelect({235,235,235}, + if u then + {0,255,0} + else + {235,235,235}), + fillColor=DynamicSelect({235,235,235}, + if u then + {0,255,0} + else + {235,235,235}), + fillPattern=FillPattern.Solid), + Ellipse( + extent={{71,-73},{85,-87}}, + lineColor=DynamicSelect({235,235,235}, + if passed then + {0,255,0} + else + {235,235,235}), + fillColor=DynamicSelect({235,235,235}, + if passed then + {0,255,0} + else + {235,235,235}), + fillPattern=FillPattern.Solid), + Text( + extent={{226,60},{106,10}}, + textColor={0,0,0}, + textString=DynamicSelect("",String(y, + leftJustified=false, + significantDigits=3)))}), + Documentation( + info=" +

+Timer that accumulates time until it is reset by an input signal. +

+

+If the Boolean input u is true, +the output y is the time that has elapsed while u has been true +since the last time reset became true. +If u is false, the output y holds its value. +If the output y becomes greater than the threshold time t, +the output passed is true. +Otherwise it is false. +

+

+When reset becomes true, the timer is reset to 0. +

+

+In the limiting case where the timer value reaches the threshold t +and the input u becomes false simultaneously, +the output passed remains false. +

+", + revisions=" + +")); +end TimerAccumulating; diff --git a/IBPSA/Controls/OBC/CDL/Logical/Toggle.mo b/IBPSA/Controls/OBC/CDL/Logical/Toggle.mo new file mode 100644 index 0000000000..a9e196c8f1 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Logical/Toggle.mo @@ -0,0 +1,178 @@ +within IBPSA.Controls.OBC.CDL.Logical; +block Toggle + "Toggles output value whenever its input turns true" + IBPSA.Controls.OBC.CDL.Interfaces.BooleanInput u + "Toggle input" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.BooleanInput clr + "Clear input" + annotation (Placement(transformation(extent={{-140,-80},{-100,-40}}))); + IBPSA.Controls.OBC.CDL.Interfaces.BooleanOutput y + "Output with toggled signal" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +initial equation + pre(y)=false; + pre(u)=false; + pre(clr)=false; + +equation + when initial() then + //scenario = 1 + y=if clr then false else u; + elsewhen + (not clr) and change(u) and + (pre(u) == false) and + (pre(y) == false) + then + //scenario = 2 + y=true; + elsewhen + (not clr) and change(u) and + (pre(u) == false) and + (pre(y) == true) + then + //scenario = 3 + y=false; + elsewhen + (not clr) and change(u) and + (pre(u) == true) + then + //scenario = 4 + y=pre(y); + elsewhen clr then + //scenario = 5 + y=false; + end when; + annotation ( + defaultComponentName="tog", + Icon( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100,-100},{100,100}}), + graphics={ + Rectangle( + extent={{-100,100},{100,-100}}, + fillColor={210,210,210}, + lineThickness=5.0, + fillPattern=FillPattern.Solid, + borderPattern=BorderPattern.Raised), + Ellipse( + extent={{-73,9},{-87,-5}}, + lineColor=DynamicSelect({235,235,235}, + if u then + {0,255,0} + else + {235,235,235}), + fillColor=DynamicSelect({235,235,235}, + if u then + {0,255,0} + else + {235,235,235}), + fillPattern=FillPattern.Solid), + Ellipse( + extent={{-73,-53},{-87,-67}}, + lineColor=DynamicSelect({235,235,235}, + if clr then + {0,255,0} + else + {235,235,235}), + fillColor=DynamicSelect({235,235,235}, + if clr then + {0,255,0} + else + {235,235,235}), + fillPattern=FillPattern.Solid), + Line( + points={{-68,-62},{4,-62},{4,-22},{74,-22}}, + color={255,0,255}), + Line( + points={{-68,24},{-48,24},{-48,56},{-16,56},{-16,24},{24,24},{24,56},{54,56},{54,24},{74,24}}, + color={255,0,255}), + Text( + extent={{-22,72},{28,58}}, + textColor={0,0,0}, + fillColor={210,210,210}, + fillPattern=FillPattern.Solid, + textString="Toggle input"), + Text( + extent={{-150,150},{150,110}}, + textColor={0,0,255}, + textString="%name"), + Ellipse( + extent={{71,7},{85,-7}}, + lineColor=DynamicSelect({235,235,235}, + if y then + {0,255,0} + else + {235,235,235}), + fillColor=DynamicSelect({235,235,235}, + if y then + {0,255,0} + else + {235,235,235}), + fillPattern=FillPattern.Solid), + Text( + extent={{-14,-10},{14,-20}}, + textColor={0,0,0}, + fillColor={210,210,210}, + fillPattern=FillPattern.Solid, + textString="Clear")}), + Documentation( + info=" +

+Block that generates a true output when toggle input u +rises from false to true, provided that the clear input +clr is false or also became at the same time +false. The output remains true until +

+ +

+If the clear input clr is true, the output y +switches to false (if it was true) and it remains false, +regardless of the value of the toggle input u. +

+ +

+At initial time, if clr = false, then the output will be +y = u. Otherwise it will be y=false +(because the clear input clr is true). +

+ +

+\"Toggle.png\" +

+ +", + revisions=" + +")); +end Toggle; diff --git a/IBPSA/Controls/OBC/CDL/Logical/TrueDelay.mo b/IBPSA/Controls/OBC/CDL/Logical/TrueDelay.mo new file mode 100644 index 0000000000..4352ef86dd --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Logical/TrueDelay.mo @@ -0,0 +1,140 @@ +within IBPSA.Controls.OBC.CDL.Logical; +block TrueDelay + "Delay a rising edge of the input, but do not delay a falling edge" + parameter Real delayTime( + final quantity="Time", + final unit="s") + "Delay time"; + parameter Boolean delayOnInit=false + "Set to true to delay initial true input"; + IBPSA.Controls.OBC.CDL.Interfaces.BooleanInput u + "Input signal to be delayed when it switches to true" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.BooleanOutput y + "Output with delayed input signal after it switched to true" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +protected + parameter Real t_past( + final quantity="Time", + final unit="s", + fixed=false) + "Time before simulation started"; + Real t_next( + final quantity="Time", + final unit="s") + "Next event time"; + +initial equation + t_past=time-1000; + pre(u)=false; + pre(t_next)=time-1000; + +equation + when initial() then + t_next=if not delayOnInit then t_past else time+delayTime; + y=if not (delayOnInit and delayTime > 0) then u else false; + elsewhen u then + t_next=time+delayTime; + y=if delayTime > 0 then false else true; + elsewhen not u then + t_next=t_past; + y=false; + elsewhen time >= pre(t_next) then + t_next=t_past; + y=u; + end when; + annotation ( + defaultComponentName="truDel", + Icon( + graphics={ + Rectangle( + extent={{-100,100},{100,-100}}, + fillColor={210,210,210}, + lineThickness=5.0, + fillPattern=FillPattern.Solid, + borderPattern=BorderPattern.Raised), + Text( + extent={{-250,-120},{250,-150}}, + textColor={0,0,0}, + textString="%delayTime"), + Line( + points={{-80,-66},{-60,-66},{-60,-22},{38,-22},{38,-66},{66,-66}}), + Line( + points={{-80,32},{-4,32},{-4,76},{38,76},{38,32},{66,32}}, + color={255,0,255}), + Ellipse( + extent={{-71,7},{-85,-7}}, + lineColor=DynamicSelect({235,235,235}, + if u then + {0,255,0} + else + {235,235,235}), + fillColor=DynamicSelect({235,235,235}, + if u then + {0,255,0} + else + {235,235,235}), + fillPattern=FillPattern.Solid), + Ellipse( + extent={{71,7},{85,-7}}, + lineColor=DynamicSelect({235,235,235}, + if y then + {0,255,0} + else + {235,235,235}), + fillColor=DynamicSelect({235,235,235}, + if y then + {0,255,0} + else + {235,235,235}), + fillPattern=FillPattern.Solid), + Text( + extent={{-150,150},{150,110}}, + textColor={0,0,255}, + textString="%name")}), + Documentation( + info=" +

+Block that delays a signal when it becomes true. +

+

+A rising edge of the Boolean input u gives a delayed output. +A falling edge of the input is immediately given to the output. If +delayOnInit = true, then a true input signal +at the start time is also delayed, otherwise the input signal is +produced immediately at the output. +

+

+Simulation results of a typical example with a delay time of 0.1 second +is shown below. +

+

+\"OnDelay1.png\" +
+\"OnDelay2.png\" +

+ +", + revisions=" + +")); +end TrueDelay; diff --git a/IBPSA/Controls/OBC/CDL/Logical/TrueFalseHold.mo b/IBPSA/Controls/OBC/CDL/Logical/TrueFalseHold.mo new file mode 100644 index 0000000000..5365adb62d --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Logical/TrueFalseHold.mo @@ -0,0 +1,187 @@ +within IBPSA.Controls.OBC.CDL.Logical; +block TrueFalseHold + "Block that holds an output signal for at least a specified duration" + parameter Real trueHoldDuration( + final quantity="Time", + final unit="s") + "Duration of true hold" + annotation (Evaluate=true); + parameter Real falseHoldDuration( + final quantity="Time", + final unit="s")=trueHoldDuration + "Duration of false hold" + annotation (Evaluate=true); + IBPSA.Controls.OBC.CDL.Interfaces.BooleanInput u + "Input signal that is to be delayed" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}), + iconTransformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.BooleanOutput y + "Output with delayed input signal" + annotation (Placement(transformation(extent={{100,-20},{140,20}}), + iconTransformation(extent={{100,-20},{140,20}}))); +protected + /* The following parameter is required solely as a warkaround for a bug in OCT [Modelon - 1263]. + Both Dymola and OMC can handle the initial equation pre(u)=u, which complies with MLS. */ + parameter Boolean pre_u_start=false + "Value of pre(u) at initial time" + annotation (Evaluate=true); + Boolean not_u = not u + "Opposite of u"; + Boolean not_y = not y + "Opposite of y"; + discrete Real entryTimeTrue( + final quantity="Time", + final unit="s") + "Time instant when true hold started"; + discrete Real entryTimeFalse( + final quantity="Time", + final unit="s") + "Time instant when false hold started"; +initial equation + pre(entryTimeTrue) = -Modelica.Constants.inf; + pre(entryTimeFalse) = -Modelica.Constants.inf; + pre(u) = pre_u_start; + pre(not_u) = not pre_u_start; + pre(y) = u; + pre(not_y) = not u; +equation + when initial() then + y = u; + entryTimeTrue = if y then time else pre(entryTimeTrue); + entryTimeFalse = if not y then time else pre(entryTimeFalse); + /* + The two elsewhen clauses below are kept separate to address an issue + with event handling in the CVODE solver. + */ + elsewhen {edge(u), edge(not_u)} then + y = if time >= pre(entryTimeFalse) + falseHoldDuration and + time >= pre(entryTimeTrue) + trueHoldDuration then u + else pre(y); + entryTimeTrue = if edge(y) then time else pre(entryTimeTrue); + entryTimeFalse = if edge(not_y) then time else pre(entryTimeFalse); + elsewhen time >= pre(entryTimeFalse) + falseHoldDuration and + time >= pre(entryTimeTrue) + trueHoldDuration then + y = u; + entryTimeTrue = if edge(y) then time else pre(entryTimeTrue); + entryTimeFalse = if edge(not_y) then time else pre(entryTimeFalse); + end when; + annotation ( + defaultComponentName="truFalHol", + Icon( + graphics={ + Rectangle( + extent={{-100,100},{100,-100}}, + fillColor={210,210,210}, + fillPattern=FillPattern.Solid, + borderPattern=BorderPattern.Raised, + lineColor={0,0,0}), + Line( + points={{-84,10},{-50,10},{-50,54},{-18,54},{-18,10},{-18,10}}, + color={255,0,255}), + Line( + points={{-78,-46},{-48,-46},{-48,-2},{-24,-2},{-24,-46},{-24,-46}}), + Line( + points={{-24,-46},{6,-46},{6,-2},{44,-2},{44,-46},{74,-46}}), + Line( + points={{-18,10},{14,10},{14,54},{46,54},{46,10},{66,10}}, + color={255,0,255}), + Text( + extent={{-150,150},{150,110}}, + textString="%name", + textColor={0,0,255}), + Text( + extent={{-88,-62},{92,-90}}, + textColor={0,0,255}, + textString="%falseHoldDuration"), + Ellipse( + extent={{71,7},{85,-7}}, + lineColor=DynamicSelect({235,235,235},if y then + {0,255,0} else + {235,235,235}), + fillColor=DynamicSelect({235,235,235},if y then + {0,255,0} else + {235,235,235}), + fillPattern=FillPattern.Solid), + Ellipse( + extent={{-83,7},{-69,-7}}, + lineColor=DynamicSelect({235,235,235},if u then + {0,255,0} else + {235,235,235}), + fillColor=DynamicSelect({235,235,235},if u then + {0,255,0} else + {235,235,235}), + fillPattern=FillPattern.Solid), + Text( + extent={{-90,96},{96,68}}, + textColor={0,0,255}, + textString="%trueHoldDuration")}), + Diagram( + coordinateSystem( + preserveAspectRatio=false)), + Documentation( + info=" +

+Block that holds a true or false signal for at least a defined time period. +

+

+Whenever the input u switches to true (resp. false), +the output y switches and remains true for at least +the duration specified by the parameter trueHoldDuration +(resp. falseHoldDuration). +After this duration has elapsed, the output will be y = u. +

+

+This block could for example be used to disable an economizer, +and not re-enable it for 10 min, and vice versa. +

+

+Simulation results of a typical example with trueHoldDuration = falseHoldDuration = 1000 s. +

+

+ +

+", + revisions=" + +")); +end TrueFalseHold; diff --git a/IBPSA/Controls/OBC/CDL/Logical/Validation/And.mo b/IBPSA/Controls/OBC/CDL/Logical/Validation/And.mo new file mode 100644 index 0000000000..9372ecd075 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Logical/Validation/And.mo @@ -0,0 +1,58 @@ +within IBPSA.Controls.OBC.CDL.Logical.Validation; +model And + "Validation model for the And block" + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul1( + width=0.5, + period=1.5) + "Block that outputs cyclic on and off" + annotation (Placement(transformation(extent={{-26,8},{-6,28}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul2( + width=0.5, + period=5) + "Block that outputs cyclic on and off" + annotation (Placement(transformation(extent={{-26,-26},{-6,-6}}))); + IBPSA.Controls.OBC.CDL.Logical.And and1 + "Logical and" + annotation (Placement(transformation(extent={{26,-8},{46,12}}))); + +equation + connect(booPul2.y,and1.u2) + annotation (Line(points={{-4,-16},{8,-16},{8,-6},{24,-6}},color={255,0,255})); + connect(booPul1.y,and1.u1) + annotation (Line(points={{-4,18},{10,18},{10,2},{24,2}},color={255,0,255})); + annotation ( + experiment( + StopTime=10.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/And.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Logical.And. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end And; diff --git a/IBPSA/Controls/OBC/CDL/Logical/Validation/Change.mo b/IBPSA/Controls/OBC/CDL/Logical/Validation/Change.mo new file mode 100644 index 0000000000..20b2857cd0 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Logical/Validation/Change.mo @@ -0,0 +1,64 @@ +within IBPSA.Controls.OBC.CDL.Logical.Validation; +model Change + "Validation model for the Change block." + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul( + width=0.5, + period=1.0) + "Block that outputs cyclic on and off" + annotation (Placement(transformation(extent={{-40,-10},{-20,10}}))); + IBPSA.Controls.OBC.CDL.Logical.Change change + "Outputs true if the input changes" + annotation (Placement(transformation(extent={{0,-10},{20,10}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp2( + duration=5, + offset=0, + height=20) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{0,40},{20,60}}))); + IBPSA.Controls.OBC.CDL.Discrete.TriggeredSampler triggeredSampler + "Triggered sampler" + annotation (Placement(transformation(extent={{40,40},{60,60}}))); + +equation + connect(booPul.y,change.u) + annotation (Line(points={{-19,0},{-6,0},{-2,0}},color={255,0,255})); + connect(ramp2.y,triggeredSampler.u) + annotation (Line(points={{21,50},{29.5,50},{38,50}},color={0,0,127})); + connect(change.y,triggeredSampler.trigger) + annotation (Line(points={{21,0},{50,0},{50,38.2}},color={255,0,255})); + annotation ( + experiment( + StopTime=5.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/Change.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Logical.Change. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end Change; diff --git a/IBPSA/Controls/OBC/CDL/Logical/Validation/Edge.mo b/IBPSA/Controls/OBC/CDL/Logical/Validation/Edge.mo new file mode 100644 index 0000000000..e4e044987b --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Logical/Validation/Edge.mo @@ -0,0 +1,64 @@ +within IBPSA.Controls.OBC.CDL.Logical.Validation; +model Edge + "Validation model for the Edge block" + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul( + width=0.5, + period=1.0) + "Block that outputs cyclic on and off" + annotation (Placement(transformation(extent={{-40,-10},{-20,10}}))); + IBPSA.Controls.OBC.CDL.Logical.Edge edge1 + "Outputs true if the input has a rising edge" + annotation (Placement(transformation(extent={{0,-10},{20,10}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp2( + duration=5, + offset=0, + height=20) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{0,40},{20,60}}))); + IBPSA.Controls.OBC.CDL.Discrete.TriggeredSampler triggeredSampler + "Triggered sampler" + annotation (Placement(transformation(extent={{40,40},{60,60}}))); + +equation + connect(booPul.y,edge1.u) + annotation (Line(points={{-19,0},{-8,0},{-2,0}},color={255,0,255})); + connect(edge1.y,triggeredSampler.trigger) + annotation (Line(points={{21,0},{50,0},{50,38},{50,38.2}},color={255,0,255})); + connect(ramp2.y,triggeredSampler.u) + annotation (Line(points={{21,50},{29.5,50},{38,50}},color={0,0,127})); + annotation ( + experiment( + StopTime=5.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/Edge.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Logical.Edge. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end Edge; diff --git a/IBPSA/Controls/OBC/CDL/Logical/Validation/FallingEdge.mo b/IBPSA/Controls/OBC/CDL/Logical/Validation/FallingEdge.mo new file mode 100644 index 0000000000..6bcb9179e8 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Logical/Validation/FallingEdge.mo @@ -0,0 +1,64 @@ +within IBPSA.Controls.OBC.CDL.Logical.Validation; +model FallingEdge + "Validation model for the falling edge block" + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul( + width=0.5, + period=1.0) + "Block that outputs cyclic on and off" + annotation (Placement(transformation(extent={{-40,-10},{-20,10}}))); + IBPSA.Controls.OBC.CDL.Logical.FallingEdge falEdg + "Output true when input changes from true to false" + annotation (Placement(transformation(extent={{0,-10},{20,10}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp2( + duration=5, + offset=0, + height=20) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{0,40},{20,60}}))); + IBPSA.Controls.OBC.CDL.Discrete.TriggeredSampler triggeredSampler + "Trigger sampling of continuous signal" + annotation (Placement(transformation(extent={{40,40},{60,60}}))); + +equation + connect(booPul.y,falEdg.u) + annotation (Line(points={{-18,0},{-18,0},{-2,0}},color={255,0,255})); + connect(ramp2.y,triggeredSampler.u) + annotation (Line(points={{22,50},{22,50},{38,50}},color={0,0,127})); + connect(falEdg.y,triggeredSampler.trigger) + annotation (Line(points={{22,0},{22,0},{50,0},{50,38.2}},color={255,0,255})); + annotation ( + experiment( + StopTime=5.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/FallingEdge.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Logical.FallingEdge. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end FallingEdge; diff --git a/IBPSA/Controls/OBC/CDL/Logical/Validation/Latch.mo b/IBPSA/Controls/OBC/CDL/Logical/Validation/Latch.mo new file mode 100644 index 0000000000..ee64512332 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Logical/Validation/Latch.mo @@ -0,0 +1,221 @@ +within IBPSA.Controls.OBC.CDL.Logical.Validation; +model Latch + "Validation model for the Latch block" + IBPSA.Controls.OBC.CDL.Logical.Latch falCleTruIni + "Latch block with clear input being contantly false and true initial latch input" + annotation (Placement(transformation(extent={{-60,90},{-40,110}}))); + IBPSA.Controls.OBC.CDL.Logical.Latch truCleTruIni + "Latch block with clear input being contantly true and true initial latch input" + annotation (Placement(transformation(extent={{-60,-50},{-40,-30}}))); + IBPSA.Controls.OBC.CDL.Logical.Latch falCleFalIni + "Latch block with clear input being contantly false and false initial latch input" + annotation (Placement(transformation(extent={{-60,30},{-40,50}}))); + IBPSA.Controls.OBC.CDL.Logical.Latch truCleFalIni + "Latch block with clear input being contantly true and false initial latch input" + annotation (Placement(transformation(extent={{-60,-110},{-40,-90}}))); + IBPSA.Controls.OBC.CDL.Logical.Latch swiCleInp + "Initial false output, with clear input switch between false and true" + annotation (Placement(transformation(extent={{100,90},{120,110}}))); + IBPSA.Controls.OBC.CDL.Logical.Latch swiCleInp1 + "Initial false output, with clear input switch between false and true" + annotation (Placement(transformation(extent={{100,-70},{120,-50}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse cleInp( + final width=0.5, + final period=6) + "Block that outputs cyclic on and off" + annotation (Placement(transformation(extent={{0,30},{20,50}}))); + IBPSA.Controls.OBC.CDL.Logical.Not not1 + "Logcal not" + annotation (Placement(transformation(extent={{40,-70},{60,-50}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Constant fal( + final k=false) + "False clear input" + annotation (Placement(transformation(extent={{-120,70},{-100,90}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse latInp( + final width=0.5, + final period=2) + "Block that outputs cyclic on and off" + annotation (Placement(transformation(extent={{-160,150},{-140,170}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Constant tru( + final k=true) + "True clear input" + annotation (Placement(transformation(extent={{-120,-70},{-100,-50}}))); + IBPSA.Controls.OBC.CDL.Logical.Not not2 + "Logical not" + annotation (Placement(transformation(extent={{-120,-10},{-100,10}}))); + +equation + connect(cleInp.y,swiCleInp.clr) + annotation (Line(points={{22,40},{70,40},{70,94},{98,94}},color={255,0,255})); + connect(not1.u,cleInp.y) + annotation (Line(points={{38,-60},{30,-60},{30,40},{22,40}},color={255,0,255})); + connect(not1.y,swiCleInp1.clr) + annotation (Line(points={{62,-60},{72,-60},{72,-66},{98,-66}},color={255,0,255})); + connect(fal.y,falCleTruIni.clr) + annotation (Line(points={{-98,80},{-70,80},{-70,94},{-62,94}},color={255,0,255})); + connect(latInp.y,falCleTruIni.u) + annotation (Line(points={{-138,160},{-80,160},{-80,100},{-62,100}},color={255,0,255})); + connect(tru.y,truCleTruIni.clr) + annotation (Line(points={{-98,-60},{-70,-60},{-70,-46},{-62,-46}},color={255,0,255})); + connect(latInp.y,truCleTruIni.u) + annotation (Line(points={{-138,160},{-80,160},{-80,-40},{-62,-40}},color={255,0,255})); + connect(latInp.y,swiCleInp.u) + annotation (Line(points={{-138,160},{80,160},{80,100},{98,100}},color={255,0,255})); + connect(latInp.y,swiCleInp1.u) + annotation (Line(points={{-138,160},{80,160},{80,-60},{98,-60}},color={255,0,255})); + connect(latInp.y,not2.u) + annotation (Line(points={{-138,160},{-130,160},{-130,0},{-122,0}},color={255,0,255})); + connect(not2.y,falCleFalIni.u) + annotation (Line(points={{-98,0},{-90,0},{-90,40},{-62,40}},color={255,0,255})); + connect(fal.y,falCleFalIni.clr) + annotation (Line(points={{-98,80},{-70,80},{-70,34},{-62,34}},color={255,0,255})); + connect(tru.y,truCleFalIni.clr) + annotation (Line(points={{-98,-60},{-70,-60},{-70,-106},{-62,-106}},color={255,0,255})); + connect(not2.y,truCleFalIni.u) + annotation (Line(points={{-98,0},{-90,0},{-90,-100},{-62,-100}},color={255,0,255})); + annotation ( + experiment( + StopTime=10.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/Latch.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Logical.Latch. Following tests are implemented: +

+ +", + revisions=" + +"), + Icon( + coordinateSystem( + extent={{-100,-100},{100,100}}), + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})}), + Diagram( + coordinateSystem( + extent={{-180,-180},{180,180}}), + graphics={ + Text( + extent={{-68,140},{-2,130}}, + textColor={28,108,200}, + textString="Clear input keeps false"), + Text( + extent={{76,148},{136,140}}, + textColor={28,108,200}, + textString="At 3rd second:"), + Text( + extent={{92,128},{172,118}}, + textColor={28,108,200}, + textString="Clear input falls: true to false"), + Text( + extent={{92,138},{170,128}}, + textColor={28,108,200}, + textString="Latch input falls: true to false"), + Text( + extent={{92,64},{170,56}}, + textColor={28,108,200}, + textString="Clear input rises: false to true"), + Text( + extent={{92,76},{172,66}}, + textColor={28,108,200}, + textString="Latch input rise: false to true"), + Text( + extent={{76,86},{136,78}}, + textColor={28,108,200}, + textString="At 6th second:"), + Text( + extent={{92,-96},{172,-104}}, + textColor={28,108,200}, + textString="Clear input falls: true to false"), + Text( + extent={{92,-84},{172,-94}}, + textColor={28,108,200}, + textString="Latch input rise: false to true"), + Text( + extent={{76,-74},{136,-82}}, + textColor={28,108,200}, + textString="At 6th second:"), + Text( + extent={{76,-12},{136,-20}}, + textColor={28,108,200}, + textString="At 3rd second:"), + Text( + extent={{92,-32},{172,-42}}, + textColor={28,108,200}, + textString="Clear input rises: false to true"), + Text( + extent={{92,-22},{170,-32}}, + textColor={28,108,200}, + textString="Latch input falls: true to false"), + Text( + extent={{-68,130},{-24,122}}, + textColor={28,108,200}, + textString="True initial input"), + Text( + extent={{-68,66},{-24,58}}, + textColor={28,108,200}, + textString="False initial input"), + Text( + extent={{-68,76},{-2,66}}, + textColor={28,108,200}, + textString="Clear input keeps false"), + Text( + extent={{-68,-14},{-24,-22}}, + textColor={28,108,200}, + textString="True initial input"), + Text( + extent={{-68,-4},{-2,-14}}, + textColor={28,108,200}, + textString="Clear input keeps true"), + Text( + extent={{-66,-74},{-22,-82}}, + textColor={28,108,200}, + textString="False initial input"), + Text( + extent={{-66,-64},{0,-74}}, + textColor={28,108,200}, + textString="Clear input keeps false")})); +end Latch; diff --git a/IBPSA/Controls/OBC/CDL/Logical/Validation/MultiAnd.mo b/IBPSA/Controls/OBC/CDL/Logical/Validation/MultiAnd.mo new file mode 100644 index 0000000000..ba07bcbf9b --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Logical/Validation/MultiAnd.mo @@ -0,0 +1,112 @@ +within IBPSA.Controls.OBC.CDL.Logical.Validation; +model MultiAnd + "Model to validate the application of MultiAnd block" + IBPSA.Controls.OBC.CDL.Logical.MultiAnd mulAnd0 + "Logical and with multiple inputs: 0 input" + annotation (Placement(transformation(extent={{40,60},{60,80}}))); + IBPSA.Controls.OBC.CDL.Logical.MultiAnd mulAnd1( + nin=1) + "Logical 'MultiAnd': 1 input connection y=u" + annotation (Placement(transformation(extent={{40,20},{60,40}}))); + IBPSA.Controls.OBC.CDL.Logical.MultiAnd mulAnd2( + nin=2) + "Logical 'MultiAnd': 2 input connections y=and(u1, u2)" + annotation (Placement(transformation(extent={{40,-10},{60,10}}))); + IBPSA.Controls.OBC.CDL.Logical.MultiAnd mulAnd5( + nin=5) + "Logical 'MultiAnd': 5 input connections y=and(u1, u2, ..., u5)" + annotation (Placement(transformation(extent={{40,-40},{60,-20}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul1( + width=0.5, + period=1) + "Block that outputs cyclic on and off" + annotation (Placement(transformation(extent={{-60,50},{-40,70}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul2( + width=0.5, + period=2) + "Block that outputs cyclic on and off" + annotation (Placement(transformation(extent={{-60,20},{-40,40}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul3( + width=0.5, + period=3) + "Block that outputs cyclic on and off" + annotation (Placement(transformation(extent={{-60,-10},{-40,10}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul4( + width=0.5, + period=4) + "Block that outputs cyclic on and off" + annotation (Placement(transformation(extent={{-60,-40},{-40,-20}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul5( + width=0.5, + period=5) + "Block that outputs cyclic on and off" + annotation (Placement(transformation(extent={{-60,-70},{-40,-50}}))); + +equation + connect(booPul1.y,mulAnd5.u[1]) + annotation (Line(points={{-38,60},{-38,60},{20,60},{20,-24.4},{38,-24.4}},color={255,0,255})); + connect(booPul2.y,mulAnd5.u[2]) + annotation (Line(points={{-38,30},{14,30},{14,-27.2},{38,-27.2}},color={255,0,255})); + connect(booPul3.y,mulAnd5.u[3]) + annotation (Line(points={{-38,0},{0,0},{0,-30},{38,-30}},color={255,0,255})); + connect(booPul4.y,mulAnd5.u[4]) + annotation (Line(points={{-38,-30},{-38,-30},{-4,-30},{-4,-32},{-4,-32},{-4, + -32.8},{38,-32.8}}, color={255,0,255})); + connect(booPul5.y,mulAnd5.u[5]) + annotation (Line(points={{-38,-60},{-38,-60},{20,-60},{20,-35.6},{38,-35.6}},color={255,0,255})); + connect(booPul1.y,mulAnd2.u[1]) + annotation (Line(points={{-38,60},{-38,60},{20,60},{20,3.5},{38,3.5}},color={255,0,255})); + connect(booPul2.y,mulAnd2.u[2]) + annotation (Line(points={{-38,30},{-38,30},{14,30},{14,-3.5},{38,-3.5}},color={255,0,255})); + connect(booPul1.y,mulAnd1.u[1]) + annotation (Line(points={{-38,60},{20,60},{20,30},{38,30}},color={255,0,255})); + annotation ( + experiment( + StopTime=10.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/MultiAnd.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Logical.MultiAnd. +

+

+The input signals are configured as follows:

+ +", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end MultiAnd; diff --git a/IBPSA/Controls/OBC/CDL/Logical/Validation/MultiOr.mo b/IBPSA/Controls/OBC/CDL/Logical/Validation/MultiOr.mo new file mode 100644 index 0000000000..ff93ab70e3 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Logical/Validation/MultiOr.mo @@ -0,0 +1,112 @@ +within IBPSA.Controls.OBC.CDL.Logical.Validation; +model MultiOr + "Model to validate the application of MultiOr block" + IBPSA.Controls.OBC.CDL.Logical.MultiOr mulOr0 + "Logical 'MultiOr': 1 input connection y=u" + annotation (Placement(transformation(extent={{40,60},{60,80}}))); + IBPSA.Controls.OBC.CDL.Logical.MultiOr mulOr1( + nin=1) + "Logical 'MultiOr': 1 input connection y=u" + annotation (Placement(transformation(extent={{40,20},{60,40}}))); + IBPSA.Controls.OBC.CDL.Logical.MultiOr mulOr2( + nin=2) + "Logical 'MultiOr': 2 input connections y=and(u1, u2)" + annotation (Placement(transformation(extent={{40,-10},{60,10}}))); + IBPSA.Controls.OBC.CDL.Logical.MultiOr mulOr5( + nin=5) + "Logical 'MultiOr': 5 input connections y=and(u1, u2, ..., u5)" + annotation (Placement(transformation(extent={{40,-40},{60,-20}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul1( + width=0.5, + period=1) + "Block that outputs cyclic on and off" + annotation (Placement(transformation(extent={{-60,50},{-40,70}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul2( + width=0.5, + period=2) + "Block that outputs cyclic on and off" + annotation (Placement(transformation(extent={{-60,20},{-40,40}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul3( + width=0.5, + period=3) + "Block that outputs cyclic on and off" + annotation (Placement(transformation(extent={{-60,-10},{-40,10}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul4( + width=0.5, + period=4) + "Block that outputs cyclic on and off" + annotation (Placement(transformation(extent={{-60,-40},{-40,-20}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul5( + width=0.5, + period=5) + "Block that outputs cyclic on and off" + annotation (Placement(transformation(extent={{-60,-70},{-40,-50}}))); + +equation + connect(booPul1.y,mulOr5.u[1]) + annotation (Line(points={{-38,60},{-38,60},{20,60},{20,-24.4},{38,-24.4}},color={255,0,255})); + connect(booPul2.y,mulOr5.u[2]) + annotation (Line(points={{-38,30},{14,30},{14,-27.2},{38,-27.2}},color={255,0,255})); + connect(booPul3.y,mulOr5.u[3]) + annotation (Line(points={{-38,0},{0,0},{0,-30},{38,-30}},color={255,0,255})); + connect(booPul4.y,mulOr5.u[4]) + annotation (Line(points={{-38,-30},{-38,-30},{-4,-30},{-4,-32},{-4,-32},{-4, + -32.8},{38,-32.8}}, color={255,0,255})); + connect(booPul5.y,mulOr5.u[5]) + annotation (Line(points={{-38,-60},{-38,-60},{20,-60},{20,-35.6},{38,-35.6}},color={255,0,255})); + connect(booPul1.y,mulOr2.u[1]) + annotation (Line(points={{-38,60},{-38,60},{20,60},{20,3.5},{38,3.5}},color={255,0,255})); + connect(booPul2.y,mulOr2.u[2]) + annotation (Line(points={{-38,30},{-38,30},{14,30},{14,-3.5},{38,-3.5}},color={255,0,255})); + connect(booPul1.y,mulOr1.u[1]) + annotation (Line(points={{-38,60},{20,60},{20,30},{38,30}},color={255,0,255})); + annotation ( + experiment( + StopTime=10.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/MultiOr.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Logical.MultiOr. +

+

+The input signals are configured as follows:

+ +", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end MultiOr; diff --git a/IBPSA/Controls/OBC/CDL/Logical/Validation/Nand.mo b/IBPSA/Controls/OBC/CDL/Logical/Validation/Nand.mo new file mode 100644 index 0000000000..b6207791e1 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Logical/Validation/Nand.mo @@ -0,0 +1,58 @@ +within IBPSA.Controls.OBC.CDL.Logical.Validation; +model Nand + "Validation model for the Nand block" + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul1( + width=0.5, + period=1.5) + "Block that outputs cyclic on and off" + annotation (Placement(transformation(extent={{-26,8},{-6,28}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul2( + width=0.5, + period=5) + "Block that outputs cyclic on and off" + annotation (Placement(transformation(extent={{-26,-26},{-6,-6}}))); + IBPSA.Controls.OBC.CDL.Logical.Nand nand1 + "Outputs true if at least one input is false" + annotation (Placement(transformation(extent={{26,-8},{46,12}}))); + +equation + connect(booPul2.y,nand1.u2) + annotation (Line(points={{-4,-16},{8,-16},{8,-6},{24,-6}},color={255,0,255})); + connect(booPul1.y,nand1.u1) + annotation (Line(points={{-4,18},{10,18},{10,2},{24,2}},color={255,0,255})); + annotation ( + experiment( + StopTime=5.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/Nand.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Logical.Nand. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end Nand; diff --git a/IBPSA/Controls/OBC/CDL/Logical/Validation/Nor.mo b/IBPSA/Controls/OBC/CDL/Logical/Validation/Nor.mo new file mode 100644 index 0000000000..da611d25ca --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Logical/Validation/Nor.mo @@ -0,0 +1,58 @@ +within IBPSA.Controls.OBC.CDL.Logical.Validation; +model Nor + "Validation model for the Nor block" + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul1( + width=0.5, + period=1.5) + "Block that outputs cyclic on and off" + annotation (Placement(transformation(extent={{-26,8},{-6,28}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul2( + width=0.5, + period=5) + "Block that outputs cyclic on and off" + annotation (Placement(transformation(extent={{-26,-26},{-6,-6}}))); + IBPSA.Controls.OBC.CDL.Logical.Nor nor1 + "Outputs true if none of the inputs is true, otherwise outputs false" + annotation (Placement(transformation(extent={{26,-8},{46,12}}))); + +equation + connect(booPul2.y,nor1.u2) + annotation (Line(points={{-4,-16},{8,-16},{8,-6},{24,-6}},color={255,0,255})); + connect(booPul1.y,nor1.u1) + annotation (Line(points={{-4,18},{10,18},{10,2},{24,2}},color={255,0,255})); + annotation ( + experiment( + StopTime=5.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/Nor.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Logical.Nor. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end Nor; diff --git a/IBPSA/Controls/OBC/CDL/Logical/Validation/Not.mo b/IBPSA/Controls/OBC/CDL/Logical/Validation/Not.mo new file mode 100644 index 0000000000..15fa4ed695 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Logical/Validation/Not.mo @@ -0,0 +1,51 @@ +within IBPSA.Controls.OBC.CDL.Logical.Validation; +model Not + "Validation model for the Not block" + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul( + width=0.5, + period=1.5) + "Block that outputs cyclic on and off" + annotation (Placement(transformation(extent={{-26,-10},{-6,10}}))); + IBPSA.Controls.OBC.CDL.Logical.Not not1 + "Output true when input is false and output false when input is true" + annotation (Placement(transformation(extent={{26,-10},{46,10}}))); + +equation + connect(booPul.y,not1.u) + annotation (Line(points={{-4,0},{-4,0},{24,0}},color={255,0,255})); + annotation ( + experiment( + StopTime=5.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/Not.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Logical.Not. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end Not; diff --git a/IBPSA/Controls/OBC/CDL/Logical/Validation/Or.mo b/IBPSA/Controls/OBC/CDL/Logical/Validation/Or.mo new file mode 100644 index 0000000000..44899c9dad --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Logical/Validation/Or.mo @@ -0,0 +1,58 @@ +within IBPSA.Controls.OBC.CDL.Logical.Validation; +model Or + "Validation model for the Or block" + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul1( + width=0.5, + period=1.5) + "Block that outputs cyclic on and off" + annotation (Placement(transformation(extent={{-26,8},{-6,28}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul2( + width=0.5, + period=3) + "Block that outputs cyclic on and off" + annotation (Placement(transformation(extent={{-26,-26},{-6,-6}}))); + IBPSA.Controls.OBC.CDL.Logical.Or or1 + "Output true if at least one input is true" + annotation (Placement(transformation(extent={{26,-8},{46,12}}))); + +equation + connect(booPul2.y,or1.u2) + annotation (Line(points={{-4,-16},{8,-16},{8,-6},{24,-6}},color={255,0,255})); + connect(booPul1.y,or1.u1) + annotation (Line(points={{-4,18},{10,18},{10,2},{24,2}},color={255,0,255})); + annotation ( + experiment( + StopTime=10.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/Or.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Logical.Or. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end Or; diff --git a/IBPSA/Controls/OBC/CDL/Logical/Validation/Proof.mo b/IBPSA/Controls/OBC/CDL/Logical/Validation/Proof.mo new file mode 100644 index 0000000000..b253d84408 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Logical/Validation/Proof.mo @@ -0,0 +1,156 @@ +within IBPSA.Controls.OBC.CDL.Logical.Validation; +model Proof "Validation model for the Proof block" + IBPSA.Controls.OBC.CDL.Logical.Proof pro( + debounce=0.5, + feedbackDelay=0.75) "Both inputs change at the same time" + annotation (Placement(transformation(extent={{-20,70},{0,90}}))); + IBPSA.Controls.OBC.CDL.Logical.Proof pro1( + debounce=0.5, + feedbackDelay=0.75) + "Commanded input changes from true to false earlier than measured input" + annotation (Placement(transformation(extent={{-20,30},{0,50}}))); + IBPSA.Controls.OBC.CDL.Logical.Proof pro2( + debounce=0.5, + feedbackDelay=0.75) + "Measured input changes from true to false earlier than commanded input" + annotation (Placement(transformation(extent={{-20,-10},{0,10}}))); + IBPSA.Controls.OBC.CDL.Logical.Proof pro3( + debounce=0.5, + feedbackDelay=0.5) + "Shorter delay to valid input" + annotation (Placement(transformation(extent={{-20,-50},{0,-30}}))); + IBPSA.Controls.OBC.CDL.Logical.Proof pro4( + debounce=0.5, + feedbackDelay=0.5) + "Shorter delay to valid input" + annotation (Placement(transformation(extent={{-20,-90},{0,-70}}))); + IBPSA.Controls.OBC.CDL.Logical.Proof pro5( + debounce=2, + feedbackDelay=2) + "Both inputs change at the same time" + annotation (Placement(transformation(extent={{60,70},{80,90}}))); + + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse latInp( + width=0.2, + period=10, + shift=1) + "Block that outputs cyclic on and off" + annotation (Placement(transformation(extent={{-80,54},{-60,74}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse latInp1( + width=0.2, + period=10, + shift=1) + "Block that outputs cyclic on and off" + annotation (Placement(transformation(extent={{-80,10},{-60,30}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse latInp2( + width=0.1, + period=10, + shift=1) + "Block that outputs cyclic on and off" + annotation (Placement(transformation(extent={{-80,-60},{-60,-40}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse latInp3( + width=0.5, + period=2, + shift=1) + "Block that outputs cyclic on and off" + annotation (Placement(transformation(extent={{40,30},{60,50}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse latInp4( + width=0.9, + period=12, + shift=0.5) + "Block that outputs cyclic on and off" + annotation (Placement(transformation(extent={{20,70},{40,90}}))); +equation + connect(latInp1.y, pro.u_s) annotation (Line(points={{-58,20},{-30,20},{-30,80}, + {-22,80}},color={255,0,255})); + connect(latInp2.y, pro1.u_s) annotation (Line(points={{-58,-50},{-40,-50},{-40, + 40},{-22,40}}, color={255,0,255})); + connect(latInp1.y, pro2.u_s) annotation (Line(points={{-58,20},{-30,20},{-30,0}, + {-22,0}}, color={255,0,255})); + connect(latInp2.y, pro4.u_s) annotation (Line(points={{-58,-50},{-40,-50},{-40, + -80},{-22,-80}}, color={255,0,255})); + connect(latInp1.y, pro3.u_s) annotation (Line(points={{-58,20},{-30,20},{-30,-40}, + {-22,-40}},color={255,0,255})); + connect(latInp.y, pro.u_m) annotation (Line(points={{-58,64},{-10,64},{-10,68}}, + color={255,0,255})); + connect(latInp1.y, pro4.u_m) annotation (Line(points={{-58,20},{-30,20},{-30,-96}, + {-10,-96},{-10,-92}}, color={255,0,255})); + connect(latInp2.y, pro3.u_m) annotation (Line(points={{-58,-50},{-40,-50},{-40, + -56},{-10,-56},{-10,-52}}, color={255,0,255})); + connect(latInp2.y, pro2.u_m) annotation (Line(points={{-58,-50},{-40,-50},{-40, + -16},{-10,-16},{-10,-12}}, color={255,0,255})); + connect(latInp1.y, pro1.u_m) annotation (Line(points={{-58,20},{-30,20},{-30,24}, + {-10,24},{-10,28}}, color={255,0,255})); + connect(latInp3.y, pro5.u_m) + annotation (Line(points={{62,40},{70,40},{70,68}}, color={255,0,255})); + connect(latInp4.y, pro5.u_s) + annotation (Line(points={{42,80},{58,80}}, color={255,0,255})); +annotation ( + experiment( + StopTime=10, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/Proof.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Logical.Proof. The following tests are implemented: +

+ +", +revisions=" + +"), + Icon( + coordinateSystem( + extent={{-100,-100},{100,100}}), + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})}), + Diagram( + coordinateSystem( + extent={{-100,-100},{100,100}}))); +end Proof; diff --git a/IBPSA/Controls/OBC/CDL/Logical/Validation/Switch.mo b/IBPSA/Controls/OBC/CDL/Logical/Validation/Switch.mo new file mode 100644 index 0000000000..2672ed2802 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Logical/Validation/Switch.mo @@ -0,0 +1,70 @@ +within IBPSA.Controls.OBC.CDL.Logical.Validation; +model Switch "Validation model for the Switch block" + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul1( + width=0.7, + period=1.5) + "Block that outputs cyclic on and off" + annotation (Placement(transformation(extent={{-26,24},{-6,44}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul2( + width=0.5, + period=3) + "Block that outputs cyclic on and off: switch between u1 and u3" + annotation (Placement(transformation(extent={{-26,-10},{-6,10}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul3( + width=0.5, + period=5) + "Block that outputs cyclic on and off" + annotation (Placement(transformation(extent={{-26,-46},{-6,-26}}))); + IBPSA.Controls.OBC.CDL.Logical.Switch logicalSwitch + "Switch between two boolean inputs" + annotation (Placement(transformation(extent={{26,-10},{46,10}}))); + +equation + connect(booPul2.y,logicalSwitch.u2) + annotation (Line(points={{-4,0},{-4,0},{24,0}},color={255,0,255})); + connect(booPul1.y,logicalSwitch.u1) + annotation (Line(points={{-4,34},{10,34},{10,8},{24,8}},color={255,0,255})); + connect(booPul3.y,logicalSwitch.u3) + annotation (Line(points={{-4,-36},{10,-36},{10,-8},{24,-8}},color={255,0,255})); + annotation ( + experiment( + StopTime=5.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/Switch.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Logical.Switch. +

+

+The input u2 is the switch input: If u2 = true, +then output y = u1; +else output y = u3. +

+ +", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end Switch; diff --git a/IBPSA/Controls/OBC/CDL/Logical/Validation/Timer.mo b/IBPSA/Controls/OBC/CDL/Logical/Validation/Timer.mo new file mode 100644 index 0000000000..abffac14f9 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Logical/Validation/Timer.mo @@ -0,0 +1,77 @@ +within IBPSA.Controls.OBC.CDL.Logical.Validation; +model Timer + "Validation model for the Timer block" + IBPSA.Controls.OBC.CDL.Logical.Timer noThr + "Timer that do not compare threshold" + annotation (Placement(transformation(extent={{20,10},{40,30}}))); + IBPSA.Controls.OBC.CDL.Logical.Timer thrTim( + final t=0.3) + "Timer that compares threshold" + annotation (Placement(transformation(extent={{20,-30},{40,-10}}))); + IBPSA.Controls.OBC.CDL.Logical.Timer thrTim1( + final t=0.3) + "Timer that compares threshold" + annotation (Placement(transformation(extent={{20,-70},{40,-50}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul( + final width=0.7, + final period=2) + "Block that outputs cyclic on and off" + annotation (Placement(transformation(extent={{-40,10},{-20,30}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul1( + final width=0.7, + final period=2, + final shift=-1) + "Block that outputs cyclic on and off" + annotation (Placement(transformation(extent={{-40,-70},{-20,-50}}))); + +equation + connect(booPul.y,noThr.u) + annotation (Line(points={{-18,20},{18,20}},color={255,0,255})); + connect(booPul.y,thrTim.u) + annotation (Line(points={{-18,20},{0,20},{0,-20},{18,-20}},color={255,0,255})); + connect(booPul1.y,thrTim1.u) + annotation (Line(points={{-18,-60},{18,-60}},color={255,0,255})); + annotation ( + experiment( + StopTime=5.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/Timer.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Logical.Timer. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end Timer; diff --git a/IBPSA/Controls/OBC/CDL/Logical/Validation/TimerAccumulating.mo b/IBPSA/Controls/OBC/CDL/Logical/Validation/TimerAccumulating.mo new file mode 100644 index 0000000000..c9c049ecad --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Logical/Validation/TimerAccumulating.mo @@ -0,0 +1,93 @@ +within IBPSA.Controls.OBC.CDL.Logical.Validation; +model TimerAccumulating + "Validation model for the timer that accumulates the time" + IBPSA.Controls.OBC.CDL.Logical.TimerAccumulating noThr + "Accumulating timer that do not compare threshold" + annotation (Placement(transformation(extent={{-20,10},{0,30}}))); + IBPSA.Controls.OBC.CDL.Logical.TimerAccumulating thrTim( + final t=1) + "Accumulating timer that compares threshold" + annotation (Placement(transformation(extent={{-20,-30},{0,-10}}))); + IBPSA.Controls.OBC.CDL.Logical.TimerAccumulating noThrWitRes + "Accumulating timer that could reset the output" + annotation (Placement(transformation(extent={{40,10},{60,30}}))); + IBPSA.Controls.OBC.CDL.Logical.TimerAccumulating thrTimWitRes( + final t=1) + "Accumulating timer that could reset the output and the output compares with threshold" + annotation (Placement(transformation(extent={{40,-30},{60,-10}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul( + final width=0.5, + final period=2) + "Block that outputs cyclic on and off" + annotation (Placement(transformation(extent={{-80,30},{-60,50}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Constant con( + final k=false) + "Constant false" + annotation (Placement(transformation(extent={{-80,-70},{-60,-50}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse resTim( + final width=0.5, + final period=3.5) + "Block that outputs cyclic on and off, for resetting timer" + annotation (Placement(transformation(extent={{-20,-70},{0,-50}}))); + +equation + connect(booPul.y,noThr.u) + annotation (Line(points={{-58,40},{-40,40},{-40,20},{-22,20}},color={255,0,255})); + connect(booPul.y,thrTim.u) + annotation (Line(points={{-58,40},{-40,40},{-40,-20},{-22,-20}},color={255,0,255})); + connect(con.y,noThr.reset) + annotation (Line(points={{-58,-60},{-48,-60},{-48,12},{-22,12}},color={255,0,255})); + connect(con.y,thrTim.reset) + annotation (Line(points={{-58,-60},{-48,-60},{-48,-28},{-22,-28}},color={255,0,255})); + connect(booPul.y,noThrWitRes.u) + annotation (Line(points={{-58,40},{20,40},{20,20},{38,20}},color={255,0,255})); + connect(booPul.y,thrTimWitRes.u) + annotation (Line(points={{-58,40},{20,40},{20,-20},{38,-20}},color={255,0,255})); + connect(resTim.y,noThrWitRes.reset) + annotation (Line(points={{2,-60},{12,-60},{12,12},{38,12}},color={255,0,255})); + connect(resTim.y,thrTimWitRes.reset) + annotation (Line(points={{2,-60},{12,-60},{12,-28},{38,-28}},color={255,0,255})); + annotation ( + experiment( + StopTime=5.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/TimerAccumulating.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Logical.TimerAccumulating. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end TimerAccumulating; diff --git a/IBPSA/Controls/OBC/CDL/Logical/Validation/TimerAccumulatingNegativeStartTime.mo b/IBPSA/Controls/OBC/CDL/Logical/Validation/TimerAccumulatingNegativeStartTime.mo new file mode 100644 index 0000000000..96c3757ea3 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Logical/Validation/TimerAccumulatingNegativeStartTime.mo @@ -0,0 +1,96 @@ +within IBPSA.Controls.OBC.CDL.Logical.Validation; +model TimerAccumulatingNegativeStartTime + "Validation model for the timer that accumulates the time, with a negative start time" + IBPSA.Controls.OBC.CDL.Logical.TimerAccumulating noThr + "Accumulating timer that do not compare threshold" + annotation (Placement(transformation(extent={{-20,10},{0,30}}))); + IBPSA.Controls.OBC.CDL.Logical.TimerAccumulating thrTim( + final t=1) + "Accumulating timer that compares threshold" + annotation (Placement(transformation(extent={{-20,-30},{0,-10}}))); + IBPSA.Controls.OBC.CDL.Logical.TimerAccumulating noThrWitRes + "Accumulating timer that could reset the output" + annotation (Placement(transformation(extent={{40,10},{60,30}}))); + IBPSA.Controls.OBC.CDL.Logical.TimerAccumulating thrTimWitRes( + final t=1) + "Accumulating timer that could reset the output and the output compares with threshold" + annotation (Placement(transformation(extent={{40,-30},{60,-10}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul( + final width=0.5, + final period=4, + shift=-11) + "Block that outputs cyclic on and off" + annotation (Placement(transformation(extent={{-80,30},{-60,50}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Constant con( + final k=false) + "Constant false" + annotation (Placement(transformation(extent={{-80,-70},{-60,-50}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse resTim( + final width=0.5, + final period=3.5, + shift=-5) + "Block that outputs cyclic on and off, for resetting timer" + annotation (Placement(transformation(extent={{-20,-70},{0,-50}}))); + +equation + connect(booPul.y,noThr.u) + annotation (Line(points={{-58,40},{-40,40},{-40,20},{-22,20}},color={255,0,255})); + connect(booPul.y,thrTim.u) + annotation (Line(points={{-58,40},{-40,40},{-40,-20},{-22,-20}},color={255,0,255})); + connect(con.y,noThr.reset) + annotation (Line(points={{-58,-60},{-48,-60},{-48,12},{-22,12}},color={255,0,255})); + connect(con.y,thrTim.reset) + annotation (Line(points={{-58,-60},{-48,-60},{-48,-28},{-22,-28}},color={255,0,255})); + connect(booPul.y,noThrWitRes.u) + annotation (Line(points={{-58,40},{20,40},{20,20},{38,20}},color={255,0,255})); + connect(booPul.y,thrTimWitRes.u) + annotation (Line(points={{-58,40},{20,40},{20,-20},{38,-20}},color={255,0,255})); + connect(resTim.y,noThrWitRes.reset) + annotation (Line(points={{2,-60},{12,-60},{12,12},{38,12}},color={255,0,255})); + connect(resTim.y,thrTimWitRes.reset) + annotation (Line(points={{2,-60},{12,-60},{12,-28},{38,-28}},color={255,0,255})); + annotation ( + experiment( + StartTime=-10, + StopTime=5, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/TimerAccumulatingNegativeStartTime.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Logical.TimerAccumulating. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end TimerAccumulatingNegativeStartTime; diff --git a/IBPSA/Controls/OBC/CDL/Logical/Validation/TimerNegativeStartTime.mo b/IBPSA/Controls/OBC/CDL/Logical/Validation/TimerNegativeStartTime.mo new file mode 100644 index 0000000000..eb79c153d3 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Logical/Validation/TimerNegativeStartTime.mo @@ -0,0 +1,67 @@ +within IBPSA.Controls.OBC.CDL.Logical.Validation; +model TimerNegativeStartTime + "Validation model for the Timer block with a negative start time" + IBPSA.Controls.OBC.CDL.Logical.Timer noThr + "Timer that do not compare threshold" + annotation (Placement(transformation(extent={{20,10},{40,30}}))); + IBPSA.Controls.OBC.CDL.Logical.Timer thrTim( + final t=0.3) + "Timer that compares threshold" + annotation (Placement(transformation(extent={{20,-30},{40,-10}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul( + final width=0.7, + final period=2, + shift=-5) + "Block that outputs cyclic on and off" + annotation (Placement(transformation(extent={{-40,10},{-20,30}}))); + +equation + connect(booPul.y,noThr.u) + annotation (Line(points={{-18,20},{18,20}},color={255,0,255})); + connect(booPul.y,thrTim.u) + annotation (Line(points={{-18,20},{0,20},{0,-20},{18,-20}},color={255,0,255})); + annotation ( + experiment( + StartTime=-10, + StopTime=5, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/TimerNegativeStartTime.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Logical.Timer. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end TimerNegativeStartTime; diff --git a/IBPSA/Controls/OBC/CDL/Logical/Validation/Toggle.mo b/IBPSA/Controls/OBC/CDL/Logical/Validation/Toggle.mo new file mode 100644 index 0000000000..dad6475af6 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Logical/Validation/Toggle.mo @@ -0,0 +1,221 @@ +within IBPSA.Controls.OBC.CDL.Logical.Validation; +model Toggle + "Validation model for the Toggle block" + IBPSA.Controls.OBC.CDL.Logical.Toggle falCleTruIni + "Toggle block with clear input being contantly false and true initial toggle input" + annotation (Placement(transformation(extent={{-60,90},{-40,110}}))); + IBPSA.Controls.OBC.CDL.Logical.Toggle falCleFalIni + "Toggle block with clear input being contantly false and false initial toggle input" + annotation (Placement(transformation(extent={{-60,30},{-40,50}}))); + IBPSA.Controls.OBC.CDL.Logical.Toggle truCleTruIni + "Toggle block with clear input being contantly true and true initial toggle input" + annotation (Placement(transformation(extent={{-60,-50},{-40,-30}}))); + IBPSA.Controls.OBC.CDL.Logical.Toggle truCleFalIni + "Toggle block with clear input being contantly true and false initial toggle input" + annotation (Placement(transformation(extent={{-60,-110},{-40,-90}}))); + IBPSA.Controls.OBC.CDL.Logical.Toggle swiCleInp + "Initial false output, with clear input switch between false and true" + annotation (Placement(transformation(extent={{100,90},{120,110}}))); + IBPSA.Controls.OBC.CDL.Logical.Toggle swiCleInp1 + "Initial false output, with clear input switch between false and true" + annotation (Placement(transformation(extent={{100,-70},{120,-50}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse cleInp( + final width=0.5, + final period=6) + "Block that outputs cyclic on and off" + annotation (Placement(transformation(extent={{0,70},{20,90}}))); + IBPSA.Controls.OBC.CDL.Logical.Not not1 + "Logical not" + annotation (Placement(transformation(extent={{40,-70},{60,-50}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse togInp( + final width=0.5, + final period=2) + "Block that outputs cyclic on and off" + annotation (Placement(transformation(extent={{-160,150},{-140,170}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Constant tru( + final k=true) + "True clear input" + annotation (Placement(transformation(extent={{-120,-70},{-100,-50}}))); + IBPSA.Controls.OBC.CDL.Logical.Not not2 + "Logical not" + annotation (Placement(transformation(extent={{-120,-10},{-100,10}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Constant fal( + final k=false) + "False clear input" + annotation (Placement(transformation(extent={{-120,70},{-100,90}}))); + +equation + connect(cleInp.y,swiCleInp.clr) + annotation (Line(points={{22,80},{70,80},{70,94},{98,94}},color={255,0,255})); + connect(not1.u,cleInp.y) + annotation (Line(points={{38,-60},{30,-60},{30,80},{22,80}},color={255,0,255})); + connect(not1.y,swiCleInp1.clr) + annotation (Line(points={{62,-60},{72,-60},{72,-66},{98,-66}},color={255,0,255})); + connect(togInp.y,swiCleInp.u) + annotation (Line(points={{-138,160},{80,160},{80,100},{98,100}},color={255,0,255})); + connect(togInp.y,swiCleInp1.u) + annotation (Line(points={{-138,160},{80,160},{80,-60},{98,-60}},color={255,0,255})); + connect(togInp.y,falCleTruIni.u) + annotation (Line(points={{-138,160},{-80,160},{-80,100},{-62,100}},color={255,0,255})); + connect(fal.y,falCleTruIni.clr) + annotation (Line(points={{-98,80},{-70,80},{-70,94},{-62,94}},color={255,0,255})); + connect(togInp.y,truCleTruIni.u) + annotation (Line(points={{-138,160},{-80,160},{-80,-40},{-62,-40}},color={255,0,255})); + connect(fal.y,falCleFalIni.clr) + annotation (Line(points={{-98,80},{-70,80},{-70,34},{-62,34}},color={255,0,255})); + connect(togInp.y,not2.u) + annotation (Line(points={{-138,160},{-130,160},{-130,0},{-122,0}},color={255,0,255})); + connect(not2.y,falCleFalIni.u) + annotation (Line(points={{-98,0},{-90,0},{-90,40},{-62,40}},color={255,0,255})); + connect(tru.y,truCleTruIni.clr) + annotation (Line(points={{-98,-60},{-70,-60},{-70,-46},{-62,-46}},color={255,0,255})); + connect(tru.y,truCleFalIni.clr) + annotation (Line(points={{-98,-60},{-70,-60},{-70,-106},{-62,-106}},color={255,0,255})); + connect(not2.y,truCleFalIni.u) + annotation (Line(points={{-98,0},{-90,0},{-90,-100},{-62,-100}},color={255,0,255})); + annotation ( + experiment( + StopTime=10.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/Toggle.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Logical.Toggle. Following tests are implemented: +

+ +", + revisions=" + +"), + Icon( + coordinateSystem( + extent={{-100,-100},{100,100}}), + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})}), + Diagram( + coordinateSystem( + extent={{-180,-180},{180,180}}), + graphics={ + Text( + extent={{76,148},{136,140}}, + textColor={28,108,200}, + textString="At 3rd second:"), + Text( + extent={{92,128},{172,118}}, + textColor={28,108,200}, + textString="Clear input falls: true to false"), + Text( + extent={{92,138},{170,128}}, + textColor={28,108,200}, + textString="Toggle input falls: true to false"), + Text( + extent={{92,64},{170,56}}, + textColor={28,108,200}, + textString="Clear input rises: false to true"), + Text( + extent={{92,76},{172,66}}, + textColor={28,108,200}, + textString="Toggle input rise: false to true"), + Text( + extent={{76,86},{136,78}}, + textColor={28,108,200}, + textString="At 6th second:"), + Text( + extent={{92,-96},{172,-104}}, + textColor={28,108,200}, + textString="Clear input falls: true to false"), + Text( + extent={{92,-84},{172,-94}}, + textColor={28,108,200}, + textString="Toggle input rise: false to true"), + Text( + extent={{76,-74},{136,-82}}, + textColor={28,108,200}, + textString="At 6th second:"), + Text( + extent={{76,-12},{136,-20}}, + textColor={28,108,200}, + textString="At 3rd second:"), + Text( + extent={{92,-32},{172,-42}}, + textColor={28,108,200}, + textString="Clear input rises: false to true"), + Text( + extent={{92,-22},{170,-32}}, + textColor={28,108,200}, + textString="Toggle input falls: true to false"), + Text( + extent={{-68,130},{-24,122}}, + textColor={28,108,200}, + textString="True initial input"), + Text( + extent={{-68,140},{-2,130}}, + textColor={28,108,200}, + textString="Clear input keeps false"), + Text( + extent={{-68,76},{-2,66}}, + textColor={28,108,200}, + textString="Clear input keeps false"), + Text( + extent={{-68,66},{-24,58}}, + textColor={28,108,200}, + textString="False initial input"), + Text( + extent={{-68,-4},{-2,-14}}, + textColor={28,108,200}, + textString="Clear input keeps true"), + Text( + extent={{-68,-14},{-24,-22}}, + textColor={28,108,200}, + textString="True initial input"), + Text( + extent={{-66,-64},{0,-74}}, + textColor={28,108,200}, + textString="Clear input keeps false"), + Text( + extent={{-66,-74},{-22,-82}}, + textColor={28,108,200}, + textString="False initial input")})); +end Toggle; diff --git a/IBPSA/Controls/OBC/CDL/Logical/Validation/TrueDelay.mo b/IBPSA/Controls/OBC/CDL/Logical/Validation/TrueDelay.mo new file mode 100644 index 0000000000..41bba54e71 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Logical/Validation/TrueDelay.mo @@ -0,0 +1,174 @@ +within IBPSA.Controls.OBC.CDL.Logical.Validation; +model TrueDelay + "Validation model for the TrueDelay block" + IBPSA.Controls.OBC.CDL.Logical.TrueDelay onDelay0( + final delayTime=0) + "Delay a rising edge of the input, but do not delay a falling edge." + annotation (Placement(transformation(extent={{0,130},{20,150}}))); + IBPSA.Controls.OBC.CDL.Logical.TrueDelay onDelay1( + final delayTime=0.5) + "Delay a rising edge of the input, but do not delay a falling edge." + annotation (Placement(transformation(extent={{60,130},{80,150}}))); + IBPSA.Controls.OBC.CDL.Logical.TrueDelay onDelay2( + final delayTime=0.8) + "Delay a rising edge of the input, but do not delay a falling edge." + annotation (Placement(transformation(extent={{0,100},{20,120}}))); + IBPSA.Controls.OBC.CDL.Logical.TrueDelay onDelay4( + final delayTime=0) + "Delay a rising edge of the input, but do not delay a falling edge." + annotation (Placement(transformation(extent={{0,40},{20,60}}))); + IBPSA.Controls.OBC.CDL.Logical.TrueDelay onDelay5( + final delayTime=0.5) + "Delay a rising edge of the input, but do not delay a falling edge." + annotation (Placement(transformation(extent={{60,40},{80,60}}))); + IBPSA.Controls.OBC.CDL.Logical.TrueDelay onDelay6( + final delayTime=0.8) + "Delay a rising edge of the input, but do not delay a falling edge." + annotation (Placement(transformation(extent={{0,10},{20,30}}))); + IBPSA.Controls.OBC.CDL.Logical.Not not1 + "Negation of input signal" + annotation (Placement(transformation(extent={{-60,60},{-40,80}}))); + IBPSA.Controls.OBC.CDL.Logical.TrueDelay onDelay3( + final delayTime=1.8) + "Delay a rising edge of the input, but do not delay a falling edge." + annotation (Placement(transformation(extent={{60,100},{80,120}}))); + IBPSA.Controls.OBC.CDL.Logical.TrueDelay onDelay7( + final delayTime=1.8) + "Delay a rising edge of the input, but do not delay a falling edge." + annotation (Placement(transformation(extent={{60,10},{80,30}}))); + IBPSA.Controls.OBC.CDL.Logical.TrueDelay onDelay00( + final delayTime=0, + final delayOnInit=true) + "Delay a rising edge of the input, but do not delay a falling edge." + annotation (Placement(transformation(extent={{0,-50},{20,-30}}))); + IBPSA.Controls.OBC.CDL.Logical.TrueDelay onDelay11( + final delayTime=0.5, + final delayOnInit=true) + "Delay a rising edge of the input, but do not delay a falling edge." + annotation (Placement(transformation(extent={{60,-50},{80,-30}}))); + IBPSA.Controls.OBC.CDL.Logical.TrueDelay onDelay22( + final delayTime=0.8, + final delayOnInit=true) + "Delay a rising edge of the input, but do not delay a falling edge." + annotation (Placement(transformation(extent={{0,-80},{20,-60}}))); + IBPSA.Controls.OBC.CDL.Logical.TrueDelay onDelay44( + final delayTime=0, + final delayOnInit=true) + "Delay a rising edge of the input, but do not delay a falling edge." + annotation (Placement(transformation(extent={{0,-140},{20,-120}}))); + IBPSA.Controls.OBC.CDL.Logical.TrueDelay onDelay55( + final delayTime=0.5, + final delayOnInit=true) + "Delay a rising edge of the input, but do not delay a falling edge." + annotation (Placement(transformation(extent={{60,-140},{80,-120}}))); + IBPSA.Controls.OBC.CDL.Logical.TrueDelay onDelay66( + final delayTime=0.8, + final delayOnInit=true) + "Delay a rising edge of the input, but do not delay a falling edge." + annotation (Placement(transformation(extent={{0,-170},{20,-150}}))); + IBPSA.Controls.OBC.CDL.Logical.Not not2 + "Negation of input signal" + annotation (Placement(transformation(extent={{-60,-120},{-40,-100}}))); + IBPSA.Controls.OBC.CDL.Logical.TrueDelay onDelay33( + final delayTime=1.8, + final delayOnInit=true) + "Delay a rising edge of the input, but do not delay a falling edge." + annotation (Placement(transformation(extent={{60,-80},{80,-60}}))); + IBPSA.Controls.OBC.CDL.Logical.TrueDelay onDelay77( + final delayTime=1.8, + final delayOnInit=true) + "Delay a rising edge of the input, but do not delay a falling edge." + annotation (Placement(transformation(extent={{60,-170},{80,-150}}))); + +protected + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul( + final width=0.5, + final period=1.5) + "Block that outputs cyclic on and off" + annotation (Placement(transformation(extent={{-100,80},{-80,100}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul1( + final width=0.5, + final period=1.5) + "Block that outputs cyclic on and off" + annotation (Placement(transformation(extent={{-100,-100},{-80,-80}}))); + +equation + connect(booPul.y,not1.u) + annotation (Line(points={{-79,90},{-70,90},{-70,70},{-62,70}},color={255,0,255})); + connect(booPul.y,onDelay0.u) + annotation (Line(points={{-79,90},{-20,90},{-20,140},{-2,140}},color={255,0,255})); + connect(booPul.y,onDelay2.u) + annotation (Line(points={{-79,90},{-20,90},{-20,110},{-2,110}},color={255,0,255})); + connect(booPul.y,onDelay1.u) + annotation (Line(points={{-79,90},{40,90},{40,140},{58,140}},color={255,0,255})); + connect(booPul.y,onDelay3.u) + annotation (Line(points={{-79,90},{40,90},{40,110},{58,110}},color={255,0,255})); + connect(not1.y,onDelay4.u) + annotation (Line(points={{-39,70},{-20,70},{-20,50},{-2,50}},color={255,0,255})); + connect(not1.y,onDelay6.u) + annotation (Line(points={{-39,70},{-20,70},{-20,20},{-2,20}},color={255,0,255})); + connect(not1.y,onDelay5.u) + annotation (Line(points={{-39,70},{40,70},{40,50},{58,50}},color={255,0,255})); + connect(not1.y,onDelay7.u) + annotation (Line(points={{-39,70},{40,70},{40,20},{58,20}},color={255,0,255})); + connect(booPul1.y,not2.u) + annotation (Line(points={{-79,-90},{-70,-90},{-70,-110},{-62,-110}},color={255,0,255})); + connect(booPul1.y,onDelay00.u) + annotation (Line(points={{-79,-90},{-20,-90},{-20,-40},{-2,-40}},color={255,0,255})); + connect(booPul1.y,onDelay22.u) + annotation (Line(points={{-79,-90},{-20,-90},{-20,-70},{-2,-70}},color={255,0,255})); + connect(booPul1.y,onDelay11.u) + annotation (Line(points={{-79,-90},{40,-90},{40,-40},{58,-40}},color={255,0,255})); + connect(booPul1.y,onDelay33.u) + annotation (Line(points={{-79,-90},{40,-90},{40,-70},{58,-70}},color={255,0,255})); + connect(not2.y,onDelay44.u) + annotation (Line(points={{-39,-110},{-20,-110},{-20,-130},{-2,-130}},color={255,0,255})); + connect(not2.y,onDelay66.u) + annotation (Line(points={{-39,-110},{-20,-110},{-20,-160},{-2,-160}},color={255,0,255})); + connect(not2.y,onDelay55.u) + annotation (Line(points={{-39,-110},{40,-110},{40,-130},{58,-130}},color={255,0,255})); + connect(not2.y,onDelay77.u) + annotation (Line(points={{-39,-110},{40,-110},{40,-160},{58,-160}},color={255,0,255})); + annotation ( + experiment( + StopTime=5.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/TrueDelay.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Logical.TrueDelay. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})}), + Diagram( + coordinateSystem( + extent={{-100,-180},{100,180}}))); +end TrueDelay; diff --git a/IBPSA/Controls/OBC/CDL/Logical/Validation/TrueFalseHold.mo b/IBPSA/Controls/OBC/CDL/Logical/Validation/TrueFalseHold.mo new file mode 100644 index 0000000000..9f58dfd7fb --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Logical/Validation/TrueFalseHold.mo @@ -0,0 +1,179 @@ +within IBPSA.Controls.OBC.CDL.Logical.Validation; +model TrueFalseHold + "Validation model for the TrueFalseHold block" + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul( + shift=0, + period=1500) + "Boolean pulse input signal" + annotation (Placement(transformation(extent={{-140,60},{-120,80}}))); + IBPSA.Controls.OBC.CDL.Logical.TrueFalseHold truFalHol( + trueHoldDuration=1000) + "The block introduces a minimal offset between the input signal rising and falling edge" + annotation (Placement(transformation(extent={{-40,60},{-20,80}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul1( + shift=0, + period=1000, + width=0.25) + "Boolean pulse input signal" + annotation (Placement(transformation(extent={{-140,20},{-120,40}}))); + IBPSA.Controls.OBC.CDL.Logical.TrueFalseHold truFalHol1( + trueHoldDuration=1000) + "The block introduces a minimal offset between the input signal rising and falling edge" + annotation (Placement(transformation(extent={{-40,20},{-20,40}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul2( + shift=0, + period=1500) + "Boolean pulse input signal" + annotation (Placement(transformation(extent={{-140,-20},{-120,0}}))); + IBPSA.Controls.OBC.CDL.Logical.TrueFalseHold truFalHol2( + trueHoldDuration=1000) + "The block introduces a minimal offset between the input signal rising and falling edge" + annotation (Placement(transformation(extent={{-40,-20},{-20,0}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul3( + shift=0, + period=1000, + width=0.25) + "Boolean pulse input signal" + annotation (Placement(transformation(extent={{-140,-60},{-120,-40}}))); + IBPSA.Controls.OBC.CDL.Logical.TrueFalseHold truFalHol3( + trueHoldDuration=1000) + "The block introduces a minimal offset between the input signal rising and falling edge" + annotation (Placement(transformation(extent={{-40,-60},{-20,-40}}))); + IBPSA.Controls.OBC.CDL.Logical.Not not1 + "Negation of input signal" + annotation (Placement(transformation(extent={{-90,-20},{-70,0}}))); + IBPSA.Controls.OBC.CDL.Logical.Not not3 + "Negation of input signal" + annotation (Placement(transformation(extent={{-90,-60},{-70,-40}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul4( + shift=100, + period=1500) + "Boolean pulse input signal" + annotation (Placement(transformation(extent={{20,60},{40,80}}))); + IBPSA.Controls.OBC.CDL.Logical.TrueFalseHold truFalHol4( + trueHoldDuration=1000) + "The block introduces a minimal offset between the input signal rising and falling edge" + annotation (Placement(transformation(extent={{120,60},{140,80}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul5( + shift=100, + period=1000, + width=0.25) + "Boolean pulse input signal" + annotation (Placement(transformation(extent={{20,20},{40,40}}))); + IBPSA.Controls.OBC.CDL.Logical.TrueFalseHold truFalHol5( + trueHoldDuration=1000) + "The block introduces a minimal offset between the input signal rising and falling edge" + annotation (Placement(transformation(extent={{120,20},{140,40}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul6( + shift=100, + period=1500) + "Boolean pulse input signal" + annotation (Placement(transformation(extent={{20,-20},{40,0}}))); + IBPSA.Controls.OBC.CDL.Logical.TrueFalseHold truFalHol6( + trueHoldDuration=1000) + "The block introduces a minimal offset between the input signal rising and falling edge" + annotation (Placement(transformation(extent={{120,-20},{140,0}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul7( + shift=100, + period=1000, + width=0.25) + "Boolean pulse input signal" + annotation (Placement(transformation(extent={{20,-60},{40,-40}}))); + IBPSA.Controls.OBC.CDL.Logical.TrueFalseHold truFalHol7( + trueHoldDuration=1000) + "The block introduces a minimal offset between the input signal rising and falling edge" + annotation (Placement(transformation(extent={{120,-60},{140,-40}}))); + IBPSA.Controls.OBC.CDL.Logical.Not not2 "Negation of input signal" + annotation (Placement(transformation(extent={{70,-20},{90,0}}))); + IBPSA.Controls.OBC.CDL.Logical.Not not4 + "Negation of input signal" + annotation (Placement(transformation(extent={{70,-60},{90,-40}}))); + + IBPSA.Controls.OBC.CDL.Logical.TrueFalseHold truFalHol8(trueHoldDuration= + 0, falseHoldDuration=1000) + "Hold only false value of unit impulse signal" + annotation (Placement(transformation(extent={{120,-90},{140,-70}}))); + IBPSA.Controls.OBC.CDL.Logical.Edge edg "Generate unit impulse signal" + annotation (Placement(transformation(extent={{70,-90},{90,-70}}))); +equation + connect(booPul.y,truFalHol.u) + annotation (Line(points={{-118,70},{-118,70},{-42,70}},color={255,0,255})); + connect(booPul1.y,truFalHol1.u) + annotation (Line(points={{-118,30},{-42,30}},color={255,0,255})); + connect(booPul2.y,not1.u) + annotation (Line(points={{-118,-10},{-92,-10}},color={255,0,255})); + connect(not1.y,truFalHol2.u) + annotation (Line(points={{-68,-10},{-42,-10}},color={255,0,255})); + connect(booPul3.y,not3.u) + annotation (Line(points={{-118,-50},{-92,-50}},color={255,0,255})); + connect(not3.y,truFalHol3.u) + annotation (Line(points={{-68,-50},{-42,-50}},color={255,0,255})); + connect(booPul4.y,truFalHol4.u) + annotation (Line(points={{42,70},{118,70}},color={255,0,255})); + connect(booPul5.y,truFalHol5.u) + annotation (Line(points={{42,30},{118,30}},color={255,0,255})); + connect(booPul6.y,not2.u) + annotation (Line(points={{42,-10},{68,-10}},color={255,0,255})); + connect(not2.y,truFalHol6.u) + annotation (Line(points={{92,-10},{118,-10}},color={255,0,255})); + connect(booPul7.y,not4.u) + annotation (Line(points={{42,-50},{68,-50}},color={255,0,255})); + connect(not4.y,truFalHol7.u) + annotation (Line(points={{92,-50},{118,-50}},color={255,0,255})); + connect(edg.y, truFalHol8.u) + annotation (Line(points={{92,-80},{118,-80}}, color={255,0,255})); + connect(booPul6.y, edg.u) annotation (Line(points={{42,-10},{60,-10},{60,-80}, + {68,-80}}, color={255,0,255})); + annotation ( + experiment( + StopTime=7200.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/TrueFalseHold.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Logical.TrueFalseHold. +

+

+The validation uses different instances to validate different hold trueHoldDurations, different lengths +of the input pulse, and different initial values for the input signal. +

+", + revisions=" + +"), + Diagram( + coordinateSystem( + extent={{-160,-100},{160,100}})), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end TrueFalseHold; diff --git a/IBPSA/Controls/OBC/CDL/Logical/Validation/VariablePulse.mo b/IBPSA/Controls/OBC/CDL/Logical/Validation/VariablePulse.mo new file mode 100644 index 0000000000..2a515a11bb --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Logical/Validation/VariablePulse.mo @@ -0,0 +1,156 @@ +within IBPSA.Controls.OBC.CDL.Logical.Validation; +model VariablePulse + "Validation model for producing boolean pulse output" + + IBPSA.Controls.OBC.CDL.Logical.VariablePulse conTru( + period=900) "Variable pulse with constant pulse width" + annotation (Placement(transformation(extent={{-40,-30},{-20,-10}}))); + IBPSA.Controls.OBC.CDL.Logical.VariablePulse fal( + period=900) + "Variable pulse with the zero width input" + annotation (Placement(transformation(extent={{-40,50},{-20,70}}))); + IBPSA.Controls.OBC.CDL.Logical.VariablePulse truFal( + period=900) + "Variable pulse with width input changing from positive value to zero" + annotation (Placement(transformation(extent={{60,50},{80,70}}))); + IBPSA.Controls.OBC.CDL.Logical.VariablePulse falTru( + period=900) + "Variable pulse with width input changing from zero to positive value" + annotation (Placement(transformation(extent={{60,10},{80,30}}))); + IBPSA.Controls.OBC.CDL.Logical.VariablePulse tru( + period=900) + "Variable pulse with the constant width input" + annotation (Placement(transformation(extent={{-40,10},{-20,30}}))); + IBPSA.Controls.OBC.CDL.Logical.VariablePulse falTru1( + period=900) + "Variable pulse with width input changing between different positive values" + annotation (Placement(transformation(extent={{60,-30},{80,-10}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Pulse conPul( + amplitude=0.65, + width=0.8, + period=4000) + "Continuous pulse signal" + annotation (Placement(transformation(extent={{20,50},{40,70}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Constant con( + k=0.75) + "Constant" + annotation (Placement(transformation(extent={{-80,-30},{-60,-10}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Constant con1( + k=0) + "Constant value" + annotation (Placement(transformation(extent={{-80,50},{-60,70}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Pulse conPul1( + amplitude=0.65, + width=0.85, + period=3600, + shift=360) + "Continuous pulse signal" + annotation (Placement(transformation(extent={{20,10},{40,30}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Constant con2( + k=1) + "Constant value" + annotation (Placement(transformation(extent={{-80,10},{-60,30}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Pulse conPul2( + amplitude=0.5, + width=0.5, + period=3600, + shift=360, + offset=0.3) + "Continuous pulse signal" + annotation (Placement(transformation(extent={{20,-30},{40,-10}}))); + IBPSA.Controls.OBC.CDL.Logical.VariablePulse conChaWid( + period=900) + "Variable pulse with constantly changing pulse width " + annotation (Placement(transformation(extent={{-40,-70},{-20,-50}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ram( + height=0.8, + duration=900, + startTime=300) + "Ramp input" + annotation (Placement(transformation(extent={{-80,-70},{-60,-50}}))); +equation + connect(con.y, conTru.u) + annotation (Line(points={{-58,-20},{-42,-20}}, color={0,0,127})); + connect(con1.y, fal.u) + annotation (Line(points={{-58,60},{-42,60}}, color={0,0,127})); + connect(conPul.y, truFal.u) + annotation (Line(points={{42,60},{58,60}}, color={0,0,127})); + connect(conPul1.y, falTru.u) + annotation (Line(points={{42,20},{58,20}}, color={0,0,127})); + connect(con2.y, tru.u) + annotation (Line(points={{-58,20},{-42,20}}, color={0,0,127})); + connect(conPul2.y, falTru1.u) + annotation (Line(points={{42,-20},{58,-20}}, color={0,0,127})); + connect(ram.y, conChaWid.u) + annotation (Line(points={{-58,-60},{-42,-60}}, color={0,0,127})); +annotation (experiment( + StartTime=0, + StopTime=3600, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/VariablePulse.mos" "Simulate and plot"), + Documentation(info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Logical.VariablePulse. +

+ +", +revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end VariablePulse; diff --git a/IBPSA/Controls/OBC/CDL/Logical/Validation/VariablePulseMinHold.mo b/IBPSA/Controls/OBC/CDL/Logical/Validation/VariablePulseMinHold.mo new file mode 100644 index 0000000000..5ff8854109 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Logical/Validation/VariablePulseMinHold.mo @@ -0,0 +1,60 @@ +within IBPSA.Controls.OBC.CDL.Logical.Validation; +model VariablePulseMinHold + "Validation model for producing boolean pulse output" + + IBPSA.Controls.OBC.CDL.Logical.VariablePulse conChaWid( + period=3, + minTruFalHol=1) + "Variable pulse with constantly changing pulse width " + annotation (Placement(transformation(extent={{10,-10},{30,10}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Pulse conPul1( + amplitude=0.4, + width=0.4, + period=4, + shift=1.6, + offset=0.5) + "Continuous pulse signal" + annotation (Placement(transformation(extent={{-30,-10},{-10,10}}))); +equation + connect(conPul1.y, conChaWid.u) + annotation (Line(points={{-8,0},{8,0}}, color={0,0,127})); +annotation (experiment( + StopTime=5, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/VariablePulseMinHold.mos" "Simulate and plot"), + Documentation(info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Logical.VariablePulse. +

+

+It tests the case that the input value changes at the moment when the output +is still in previous status in less than the minimum holding time. +In the case, the output holds the previous status for the minimum holding time +and then change to the new status. +

+", +revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end VariablePulseMinHold; diff --git a/IBPSA/Controls/OBC/CDL/Logical/Validation/Xor.mo b/IBPSA/Controls/OBC/CDL/Logical/Validation/Xor.mo new file mode 100644 index 0000000000..92c712daae --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Logical/Validation/Xor.mo @@ -0,0 +1,58 @@ +within IBPSA.Controls.OBC.CDL.Logical.Validation; +model Xor + "Validation model for the Xor block" + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul1( + width=0.5, + period=1.5) + "Block that outputs cyclic on and off" + annotation (Placement(transformation(extent={{-26,8},{-6,28}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul2( + width=0.5, + period=5) + "Block that outputs cyclic on and off" + annotation (Placement(transformation(extent={{-26,-26},{-6,-6}}))); + IBPSA.Controls.OBC.CDL.Logical.Xor xor1 + "Outputs true if exactly one input is true" + annotation (Placement(transformation(extent={{26,-8},{46,12}}))); + +equation + connect(booPul2.y,xor1.u2) + annotation (Line(points={{-4,-16},{8,-16},{8,-6},{24,-6}},color={255,0,255})); + connect(booPul1.y,xor1.u1) + annotation (Line(points={{-4,18},{10,18},{10,2},{24,2}},color={255,0,255})); + annotation ( + experiment( + StopTime=5.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/Xor.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Logical.Xor. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end Xor; diff --git a/IBPSA/Controls/OBC/CDL/Logical/Validation/package.mo b/IBPSA/Controls/OBC/CDL/Logical/Validation/package.mo new file mode 100644 index 0000000000..b9fbad7243 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Logical/Validation/package.mo @@ -0,0 +1,37 @@ +within IBPSA.Controls.OBC.CDL.Logical; +package Validation "Collection of models that validate the logical blocks of the CDL" + annotation ( + preferredView="info", + Documentation( + info=" +

+This package contains models that validate the blocks in + +IBPSA.Controls.OBC.CDL.Logical. +

+

+The examples plot various outputs, which have been verified against +analytical solutions. These model outputs are stored as reference data to +allow continuous validation whenever models in the library change. +

+"), + Icon( + graphics={ + Rectangle( + lineColor={200,200,200}, + fillColor={248,248,248}, + fillPattern=FillPattern.HorizontalCylinder, + extent={{-100.0,-100.0},{100.0,100.0}}, + radius=25.0), + Rectangle( + lineColor={128,128,128}, + extent={{-100.0,-100.0},{100.0,100.0}}, + radius=25.0), + Polygon( + origin={8.0,14.0}, + lineColor={78,138,73}, + fillColor={78,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-58.0,46.0},{42.0,-14.0},{-58.0,-74.0},{-58.0,46.0}})})); +end Validation; diff --git a/IBPSA/Controls/OBC/CDL/Logical/Validation/package.order b/IBPSA/Controls/OBC/CDL/Logical/Validation/package.order new file mode 100644 index 0000000000..5e5493538c --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Logical/Validation/package.order @@ -0,0 +1,23 @@ +And +Change +Edge +FallingEdge +Latch +MultiAnd +MultiOr +Nand +Nor +Not +Or +Proof +Switch +Timer +TimerAccumulating +TimerAccumulatingNegativeStartTime +TimerNegativeStartTime +Toggle +TrueDelay +TrueFalseHold +VariablePulse +VariablePulseMinHold +Xor diff --git a/IBPSA/Controls/OBC/CDL/Logical/VariablePulse.mo b/IBPSA/Controls/OBC/CDL/Logical/VariablePulse.mo new file mode 100644 index 0000000000..b6e277d6ae --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Logical/VariablePulse.mo @@ -0,0 +1,314 @@ +within IBPSA.Controls.OBC.CDL.Logical; +block VariablePulse "Generate boolean pulse with the width specified by input" + + parameter Real period( + final quantity="Time", + final unit="s") + "Time for one pulse period"; + + parameter Real deltaU( + min = 0.001, + max = 0.5, + final unit="1") = 0.01 "Increment of u that triggers recomputation of output"; + + parameter Real minTruFalHol( + final quantity="Time", + final unit="s", + final min=Constants.small)=0.01*period + "Minimum time to hold true or false"; + + IBPSA.Controls.OBC.CDL.Interfaces.RealInput u( + final min=0, + final max=1, + final unit="1") + "Ratio of the period that the output should be true" + annotation (Placement(transformation(extent={{-160,-20},{-120,20}}), + iconTransformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.BooleanOutput y + "Boolean pulse when the input is greater than zero" + annotation (Placement(transformation(extent={{120,-20},{160,20}}), + iconTransformation(extent={{100,-20},{140,20}}))); + +protected + parameter Real adjustedPeriod( + final quantity="Time", + final unit="s") = max(period, minTruFalHol*2.02) + "Time for one pulse period"; + + IBPSA.Controls.OBC.CDL.Discrete.TriggeredSampler triSam + "Sample the input when there is value change" + annotation (Placement(transformation(extent={{-100,60},{-80,80}}))); + IBPSA.Controls.OBC.CDL.Reals.Subtract sub + "Output the difference before and after sampling" + annotation (Placement(transformation(extent={{-60,20},{-40,40}}))); + IBPSA.Controls.OBC.CDL.Reals.Abs abs1 + "Output the absolute value change" + annotation (Placement(transformation(extent={{-20,20},{0,40}}))); + IBPSA.Controls.OBC.CDL.Reals.GreaterThreshold greThr( + final t=deltaU, + final h=0) + "Check if there is a sufficiently large change in input value" + annotation (Placement(transformation(extent={{20,20},{40,40}}))); + IBPSA.Controls.OBC.CDL.Logical.Edge edg2 + "Rising edge when there is a width change" + annotation (Placement(transformation(extent={{60,-10},{80,10}}))); + IBPSA.Controls.OBC.CDL.Logical.Pre preBre + "Break loop" + annotation (Placement(transformation(extent={{60,20},{80,40}}))); + Cycle cycOut( + final period=adjustedPeriod, + final minTruFalHol=minTruFalHol) + "Produce boolean pulse output" + annotation (Placement(transformation(extent={{40,-70},{60,-50}}))); + IBPSA.Controls.OBC.CDL.Logical.TrueFalseHold truFalHol( + final trueHoldDuration=minTruFalHol, + final falseHoldDuration=minTruFalHol) + "Ensure the minimum holding time" + annotation (Placement(transformation(extent={{80,-70},{100,-50}}))); + + block Cycle + "Generate boolean pulse with the width specified by the input" + parameter Real period( + final quantity="Time", + final unit="s", + final min=Constants.small) + "Time for one pulse period"; + parameter Real minTruFalHol( + final quantity="Time", + final unit="s", + final min=Constants.small) + "Minimum time to hold true or false"; + + IBPSA.Controls.OBC.CDL.Interfaces.BooleanInput go + "True: cycle the output" + annotation (Placement(transformation(extent={{-140,-100},{-100,-60}}), + iconTransformation(extent={{-140,-100},{-100,-60}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealInput u + "Ratio of the period that the output should be true" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}), + iconTransformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.BooleanOutput y + "Cycling boolean output" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + + discrete Real t0( + final quantity="Time", + final unit="s", + fixed=false) + "Time instant when output begins cycling"; + Real t_sta( + final quantity="Time", + final unit="s", + fixed=false) + "Begin time instant of one period"; + Real t_end( + final quantity="Time", + final unit="s", + fixed=false) + "End time instant of one period"; + + initial equation + pre(t0)=time; + + equation + when go then + t0 = time; + end when; + + t_sta = t0 + IBPSA.Utilities.Math.Functions.round( + x=integer((time-t0)/period)*period, + n=6); + t_end = t_sta + u*period; + + y = (time>=t_sta) and (time= minTruFalHol*2, + "In " + getInstanceName() + ": The pulse period must be greater than 2 times of the minimum true and false holding time. Increasing period to " + String(adjustedPeriod) + ".", + level = AssertionLevel.warning); + +equation + connect(u, triSam.u) annotation (Line(points={{-140,0},{-110,0},{-110,70},{-102, + 70}}, color={0,0,127})); + connect(triSam.y, sub.u1) annotation (Line(points={{-78,70},{-70,70},{-70,36}, + {-62,36}}, color={0,0,127})); + connect(u, sub.u2) annotation (Line(points={{-140,0},{-110,0},{-110,24},{-62,24}}, + color={0,0,127})); + connect(sub.y, abs1.u) + annotation (Line(points={{-38,30},{-22,30}}, color={0,0,127})); + connect(greThr.y, edg2.u) annotation (Line(points={{42,30},{50,30},{50,0},{58, + 0}}, color={255,0,255})); + connect(greThr.y, preBre.u) + annotation (Line(points={{42,30},{58,30}}, color={255,0,255})); + connect(preBre.y, triSam.trigger) annotation (Line(points={{82,30},{90,30},{90, + 50},{-90,50},{-90,58}}, color={255,0,255})); + connect(u, cycOut.u) annotation (Line(points={{-140,0},{-110,0},{-110,-60},{38, + -60}}, color={0,0,127})); + connect(cycOut.y, truFalHol.u) + annotation (Line(points={{62,-60},{78,-60}}, color={255,0,255})); + connect(truFalHol.y, y) + annotation (Line(points={{102,-60},{110,-60},{110,0},{140,0}}, + color={255,0,255})); + connect(abs1.y, greThr.u) annotation (Line(points={{2,30},{18,30}}, + color={0,0,127})); + connect(edg2.y, cycOut.go) annotation (Line(points={{82,0},{90,0},{90,-20},{30, + -20},{30,-68},{38,-68}}, color={255,0,255})); +annotation ( + defaultComponentName="varPul", + Icon( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100,-100},{100,100}}), + graphics={ + Rectangle( + extent={{-100,100},{100,-100}}, + fillColor={210,210,210}, + lineThickness=5.0, + fillPattern=FillPattern.Solid, + borderPattern=BorderPattern.Raised), + Text( + extent={{-150,-140},{150,-110}}, + textColor={0,0,0}, + textString="%period"), + Polygon( + points={{-80,0},{-88,-22},{-72,-22},{-80,0}}, + lineColor={255,0,255}, + fillColor={255,0,255}, + fillPattern=FillPattern.Solid), + Line( + points={{-80,-6},{-80,-92}}, + color={255,0,255}), + Line( + points={{-90,-80},{72,-80}}, + color={255,0,255}), + Polygon( + points={{90,-80},{68,-72},{68,-88},{90,-80}}, + lineColor={255,0,255}, + fillColor={255,0,255}, + fillPattern=FillPattern.Solid), + Ellipse( + extent={{71,7},{85,-7}}, + lineColor=DynamicSelect({235,235,235}, + if y then + {0,255,0} + else + {235,235,235}), + fillColor=DynamicSelect({235,235,235}, + if y then + {0,255,0} + else + {235,235,235}), + fillPattern=FillPattern.Solid), + Text( + extent={{-46,-12},{-14,-30}}, + textColor={135,135,135}, + textString="%period"), + Polygon( + points={{0,-30},{-8,-28},{-8,-32},{0,-30}}, + fillColor={135,135,135}, + fillPattern=FillPattern.Solid, + pattern=LinePattern.None, + lineColor={0,0,0}), + Line( + points={{-60,-30},{0,-30}}, + color={135,135,135}), + Polygon( + points={{-60,-30},{-52,-28},{-52,-32},{-60,-30}}, + fillColor={135,135,135}, + fillPattern=FillPattern.Solid, + pattern=LinePattern.None, + lineColor={0,0,0}), + Line(points={{-80,20},{-60,20},{-60,60},{60,60}}, color={0,0,127}), + Line(points={{-80,-80},{-60,-80}}, color={0,0,0}), + Line(points={{-60,-40},{-30,-40},{-30,-80}}, color={0,0,0}), + Line(points={{0,-40},{30,-40},{30,-80}}, color={0,0,0}), + Line(points={{0,-40},{0,-80}}, color={0,0,0}), + Text( + extent={{-54,76},{-30,62}}, + textColor={135,135,135}, + textString="%width"), + Line( + points={{-90,20},{72,20}}, + color={0,0,127}), + Polygon( + points={{90,20},{68,28},{68,12},{90,20}}, + lineColor={0,0,127}, + fillColor={0,0,127}, + fillPattern=FillPattern.Solid), + Line( + points={{-80,94},{-80,16}}, + color={0,0,127}), + Polygon( + points={{-80,94},{-88,72},{-72,72},{-80,94}}, + lineColor={0,0,127}, + fillColor={0,0,127}, + fillPattern=FillPattern.Solid), + Text( + extent={{-100,140},{100,100}}, + textColor={0,0,255}, + textString="%name"), + Line(points={{-60,-40},{-60,-80}}, color={0,0,0}), + Line(points={{-30,-80},{0,-80}}, color={0,0,0}), + Line(points={{30,-80},{60,-80}}, color={0,0,0})}), + Documentation( + info=" +

+Block that outputs a boolean pulse. +

+

+The output of this block is a pulse with a constant period +and a width as obtained from the input 0 ≤ u ≤ 1, +which is the width relative to the period. +

+

+The block produces the following ouputs: +

+ +

+When the input u changes by more than deltaU and the output +has been holding constant for more than minimum holding time +minTruFalHol, the output will change to a new pulse with +width equal to u*period. +

+

+\"VariablePulse.png\" +

+", +revisions=" + +"), + Diagram(coordinateSystem(extent={{-120,-120},{120,120}}))); +end VariablePulse; diff --git a/IBPSA/Controls/OBC/CDL/Logical/Xor.mo b/IBPSA/Controls/OBC/CDL/Logical/Xor.mo new file mode 100644 index 0000000000..b8e7c2ed73 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Logical/Xor.mo @@ -0,0 +1,92 @@ +within IBPSA.Controls.OBC.CDL.Logical; +block Xor + "Logical 'xor': y = u1 xor u2" + IBPSA.Controls.OBC.CDL.Interfaces.BooleanInput u1 + "Input for logical 'xor'" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.BooleanInput u2 + "Input for logical 'xor'" + annotation (Placement(transformation(extent={{-140,-100},{-100,-60}}))); + IBPSA.Controls.OBC.CDL.Interfaces.BooleanOutput y + "Output with u1 xor u2" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +equation + y=not ((u1 and u2) or (not u1 and not u2)); + annotation ( + defaultComponentName="xor", + Icon( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100,-100},{100,100}}), + graphics={ + Rectangle( + extent={{-100,100},{100,-100}}, + fillColor={210,210,210}, + lineThickness=5.0, + fillPattern=FillPattern.Solid, + borderPattern=BorderPattern.Raised), + Text( + extent={{-90,40},{90,-40}}, + textColor={0,0,0}, + textString="xor"), + Ellipse( + extent={{71,7},{85,-7}}, + lineColor=DynamicSelect({235,235,235}, + if y then + {0,255,0} + else + {235,235,235}), + fillColor=DynamicSelect({235,235,235}, + if y then + {0,255,0} + else + {235,235,235}), + fillPattern=FillPattern.Solid), + Ellipse( + extent={{-75,-6},{-89,8}}, + lineColor=DynamicSelect({235,235,235}, + if u1 then + {0,255,0} + else + {235,235,235}), + fillColor=DynamicSelect({235,235,235}, + if u1 then + {0,255,0} + else + {235,235,235}), + fillPattern=FillPattern.Solid), + Ellipse( + extent={{-75,-73},{-89,-87}}, + lineColor=DynamicSelect({235,235,235}, + if u2 then + {0,255,0} + else + {235,235,235}), + fillColor=DynamicSelect({235,235,235}, + if u2 then + {0,255,0} + else + {235,235,235}), + fillPattern=FillPattern.Solid), + Text( + extent={{-150,150},{150,110}}, + textColor={0,0,255}, + textString="%name")}), + Documentation( + info=" +

+Block that outputs true if exactly one input is true. +Otherwise the output is false. +

+", + revisions=" + +")); +end Xor; diff --git a/IBPSA/Controls/OBC/CDL/Logical/package.mo b/IBPSA/Controls/OBC/CDL/Logical/package.mo new file mode 100644 index 0000000000..366dfc3c75 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Logical/package.mo @@ -0,0 +1,34 @@ +within IBPSA.Controls.OBC.CDL; +package Logical "Package with logical blocks" + annotation ( + Documentation( + info=" +

+Package with blocks for elementary mathematical functions +for boolean variables. +

+", + revisions=" + +"), + Icon( + graphics={ + Rectangle( + lineColor={200,200,200}, + fillColor={248,248,248}, + fillPattern=FillPattern.HorizontalCylinder, + extent={{-100.0,-100.0},{100.0,100.0}}, + radius=25.0), + Rectangle( + lineColor={128,128,128}, + extent={{-100.0,-100.0},{100.0,100.0}}, + radius=25.0), + Line( + points={{-86,-22},{-50,-22},{-50,22},{48,22},{48,-22},{88,-24}}, + color={255,0,255})})); +end Logical; diff --git a/IBPSA/Controls/OBC/CDL/Logical/package.order b/IBPSA/Controls/OBC/CDL/Logical/package.order new file mode 100644 index 0000000000..d41c7de574 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Logical/package.order @@ -0,0 +1,23 @@ +And +Change +Edge +FallingEdge +Latch +MultiAnd +MultiOr +Nand +Nor +Not +Or +Pre +Proof +Switch +Timer +TimerAccumulating +Toggle +TrueDelay +TrueFalseHold +VariablePulse +Xor +Sources +Validation diff --git a/IBPSA/Controls/OBC/CDL/Psychrometrics/DewPoint_TDryBulPhi.mo b/IBPSA/Controls/OBC/CDL/Psychrometrics/DewPoint_TDryBulPhi.mo new file mode 100644 index 0000000000..10d553a6ab --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Psychrometrics/DewPoint_TDryBulPhi.mo @@ -0,0 +1,155 @@ +within IBPSA.Controls.OBC.CDL.Psychrometrics; +block DewPoint_TDryBulPhi + "Block to compute the dew point temperature based on relative humidity" + IBPSA.Controls.OBC.CDL.Interfaces.RealInput TDryBul( + final quantity="ThermodynamicTemperature", + final unit="K", + final min=100) + "Dry bulb temperature" + annotation (Placement(transformation(extent={{-140,40},{-100,80}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealInput phi( + final min=0, + final max=1, + unit="1") + "Relative air humidity" + annotation (Placement(transformation(extent={{-140,-80},{-100,-40}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealOutput TDewPoi( + final quantity="ThermodynamicTemperature", + final unit="K", + final min=100) + "Dew point temperature" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +protected + Real p_w( + final quantity="Pressure", + final unit="Pa", + displayUnit="Pa") + "Water vapor pressure"; + constant Real C14=6.54 + "Constant used in the equation"; + constant Real C15=14.526 + "Constant used in the equation"; + constant Real C16=0.7389 + "Constant used in the equation"; + constant Real C17=0.09486 + "Constant used in the equation"; + constant Real C18=0.4569 + "Constant used in the equation"; + Real alpha + "Variable used in the equation"; + +equation + p_w=phi*IBPSA.Utilities.Psychrometrics.Functions.saturationPressure(TDryBul); + alpha=Modelica.Math.log( + p_w/1000.0); + TDewPoi=(C14+C15*alpha+C16*alpha^2+C17*alpha^3+C18*(p_w/1000.0)^0.1984)+273.15; + annotation ( + defaultComponentName="dewPoi", + Documentation( + info=" +

+Dew point temperature calculation for moist air above freezing temperature. +

+

+The correlation used in this model is valid for dew point temperatures between +0°C and 93°C. It is the correlation from 2009 +ASHRAE Handbook Fundamentals, p. 1.9, equation 39. +

+", + revisions=" + +"), + Icon( + coordinateSystem( + preserveAspectRatio=false, + extent={{-100,-100},{100,100}}), + graphics={ + Rectangle( + extent={{-100,-100},{100,100}}, + lineColor={0,0,127}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Text( + extent={{-150,150},{150,110}}, + textString="%name", + textColor={0,0,255}), + Text( + extent={{-44,82},{-22,64}}, + textColor={0,0,0}, + fillColor={0,0,0}, + fillPattern=FillPattern.Solid, + textString="X"), + Polygon( + points={{-48,88},{-46,74},{-50,74},{-48,88}}, + lineColor={0,0,0}, + fillColor={0,0,0}, + fillPattern=FillPattern.Solid), + Text( + extent={{-90,-46},{-70,-72}}, + textColor={0,0,127}, + textString="phi"), + Text( + extent={{-92,82},{-62,38}}, + textColor={0,0,127}, + textString="TDryBul"), + Polygon( + points={{86,-74},{76,-72},{76,-76},{86,-74}}, + lineColor={0,0,0}, + fillColor={0,0,0}, + fillPattern=FillPattern.Solid), + Text( + extent={{76,-78},{86,-94}}, + textColor={0,0,0}, + fillColor={0,0,0}, + fillPattern=FillPattern.Solid, + textString="T"), + Line( + points={{-48,84},{-48,-74}}), + Text( + extent={{60,14},{98,-12}}, + textColor={0,0,127}, + textString="TDewPoi"), + Line( + points={{82,-72},{-66,-72}}), + Line( + points={{-48,-40},{-38,-36},{-24,-30},{8,-2},{20,22},{28,54},{32,74}}), + Line( + points={{68,-12},{-2,-12}}, + color={255,0,0}, + thickness=0.5), + Polygon( + points={{-2,-12},{12,-10},{12,-14},{-2,-12}}, + lineColor={255,0,0}, + fillColor={255,0,0}, + fillPattern=FillPattern.Solid), + Line( + points={{66,-44},{-48,-44}}, + color={175,175,175}), + Line( + points={{68,-18},{-10,-18}}, + color={175,175,175}), + Line( + points={{70,6},{12,6}}, + color={175,175,175}), + Line( + points={{68,32},{22,32}}, + color={175,175,175})})); +end DewPoint_TDryBulPhi; diff --git a/IBPSA/Controls/OBC/CDL/Psychrometrics/SpecificEnthalpy_TDryBulPhi.mo b/IBPSA/Controls/OBC/CDL/Psychrometrics/SpecificEnthalpy_TDryBulPhi.mo new file mode 100644 index 0000000000..4f30ad503a --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Psychrometrics/SpecificEnthalpy_TDryBulPhi.mo @@ -0,0 +1,139 @@ +within IBPSA.Controls.OBC.CDL.Psychrometrics; +block SpecificEnthalpy_TDryBulPhi + "Block to compute the specific enthalpy based on relative humidity" + parameter Real pAtm( + final quantity="Pressure", + final unit="Pa")=101325 + "Atmospheric pressure"; + IBPSA.Controls.OBC.CDL.Interfaces.RealInput TDryBul( + final quantity="ThermodynamicTemperature", + final unit="K", + final min=100) + "Dry bulb temperature" + annotation (Placement(transformation(extent={{-140,40},{-100,80}}),iconTransformation(extent={{-140,40},{-100,80}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealInput phi( + final min=0, + final max=1) + "Relative air humidity" + annotation (Placement(transformation(extent={{-140,-80},{-100,-40}}),iconTransformation(extent={{-140,-80},{-100,-40}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealOutput h( + final quantity="SpecificEnergy", + final unit="J/kg") + "Specific enthalpy" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +protected + Real TDryBul_degC( + final unit="degC", + displayUnit="degC") + "Dry bulb temperature in degree Celsius"; + Real p_w( + final quantity="Pressure", + final unit="Pa", + displayUnit="Pa") + "Water vapor pressure"; + Real w( + final unit="1", + nominal=0.01) + "Water vapor mass fraction in kg per kg dry air"; + +equation + TDryBul_degC=TDryBul-273.15; + p_w=phi*IBPSA.Utilities.Psychrometrics.Functions.saturationPressure(TDryBul); + w=0.6219647130774989*p_w/(pAtm-p_w); + h=1006*TDryBul_degC+w*(2501014.5+1860*TDryBul_degC); + annotation ( + defaultComponentName="ent", + Documentation( + info=" +

+This block computes the specific enthalpy for a given dry bulb temperature, relative air humidity +and atmospheric pressure. +The specific enthalpy is zero if the temperature is 0°C and if there +is no moisture. +

+

+The correlation used in this model is from the 2009 ASHRAE Handbook Fundamentals, p. 1.9, equation 32. +

+", + revisions=" + +"), + Icon( + coordinateSystem( + preserveAspectRatio=false, + extent={{-100,-100},{100,100}}), + graphics={ + Text( + extent={{-150,150},{150,110}}, + textString="%name", + textColor={0,0,255}), + Rectangle( + extent={{-100,100},{100,-100}}, + lineColor={0,0,0}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Line( + points={{-44,-52},{-30,-48},{0,-36},{32,-8},{44,16},{52,48},{56,68}}, + color={215,215,215}, + smooth=Smooth.Bezier), + Line( + points={{66,-58},{10,-28}}, + color={255,0,0}, + thickness=0.5), + Text( + extent={{-44,82},{-22,64}}, + textColor={0,0,0}, + fillColor={0,0,0}, + fillPattern=FillPattern.Solid, + textString="X"), + Polygon( + points={{-48,88},{-46,74},{-50,74},{-48,88}}, + lineColor={0,0,0}, + fillColor={0,0,0}, + fillPattern=FillPattern.Solid), + Text( + extent={{-88,-44},{-68,-70}}, + textColor={0,0,127}, + textString="phi"), + Text( + extent={{-92,82},{-62,38}}, + textColor={0,0,127}, + textString="TDryBul"), + Line( + points={{78,-74},{-48,-74}}), + Polygon( + points={{86,-74},{76,-72},{76,-76},{86,-74}}, + lineColor={0,0,0}, + fillColor={0,0,0}, + fillPattern=FillPattern.Solid), + Text( + extent={{76,-78},{86,-94}}, + textColor={0,0,0}, + fillColor={0,0,0}, + fillPattern=FillPattern.Solid, + textString="T"), + Line( + points={{-48,84},{-48,-74}}), + Text( + extent={{74,14},{94,-12}}, + textColor={0,0,127}, + textString="h")})); +end SpecificEnthalpy_TDryBulPhi; diff --git a/IBPSA/Controls/OBC/CDL/Psychrometrics/Validation/DewPoint_TDryBulPhi.mo b/IBPSA/Controls/OBC/CDL/Psychrometrics/Validation/DewPoint_TDryBulPhi.mo new file mode 100644 index 0000000000..fc0b79822e --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Psychrometrics/Validation/DewPoint_TDryBulPhi.mo @@ -0,0 +1,87 @@ +within IBPSA.Controls.OBC.CDL.Psychrometrics.Validation; +model DewPoint_TDryBulPhi + "Model to test the dew point temperature computation" + IBPSA.Controls.OBC.CDL.Psychrometrics.DewPoint_TDryBulPhi dewBulPhi + "Model for dew point temperature" + annotation (Placement(transformation(extent={{20,30},{40,50}}))); + IBPSA.Controls.OBC.CDL.Psychrometrics.DewPoint_TDryBulPhi dewBulPhi1 + "Model for dew point temperature" + annotation (Placement(transformation(extent={{20,-50},{40,-30}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp phi( + duration=1, + height=1, + offset=0.001) + "Relative humidity" + annotation (Placement(transformation(extent={{-60,10},{-40,30}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Constant TDryBul( + k=273.15+29.4) + "Dry bulb temperature" + annotation (Placement(transformation(extent={{-60,60},{-40,80}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp TDryBul2( + duration=1, + height=35, + offset=273.15+2.0) + "Dry bulb temperature" + annotation (Placement(transformation(extent={{-60,-30},{-40,-10}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Constant phi2( + k=0.4) + "Relative humidity" + annotation (Placement(transformation(extent={{-60,-80},{-40,-60}}))); + +equation + connect(TDryBul.y,dewBulPhi.TDryBul) + annotation (Line(points={{-38,70},{0,70},{0,46},{18,46}}, color={0,0,127})); + connect(phi.y,dewBulPhi.phi) + annotation (Line(points={{-38,20},{0,20},{0,34},{18,34}}, color={0,0,127})); + connect(TDryBul2.y,dewBulPhi1.TDryBul) + annotation (Line(points={{-38,-20},{0,-20},{0,-34},{18,-34}}, color={0,0,127})); + connect(phi2.y,dewBulPhi1.phi) + annotation (Line(points={{-38,-70},{0,-70},{0,-46},{18,-46}}, color={0,0,127})); + annotation ( + experiment( + StopTime=1.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Psychrometrics/Validation/DewPoint_TDryBulPhi.mos" "Simulate and plot"), + Documentation( + info=" +

+This examples is a unit test for the dew point temperature computation +IBPSA.Controls.OBC.CDL.Psychrometrics.DewPoint_TDryBulPhi. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end DewPoint_TDryBulPhi; diff --git a/IBPSA/Controls/OBC/CDL/Psychrometrics/Validation/SpecificEnthalpy_TDryBulPhi.mo b/IBPSA/Controls/OBC/CDL/Psychrometrics/Validation/SpecificEnthalpy_TDryBulPhi.mo new file mode 100644 index 0000000000..9d7a580289 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Psychrometrics/Validation/SpecificEnthalpy_TDryBulPhi.mo @@ -0,0 +1,63 @@ +within IBPSA.Controls.OBC.CDL.Psychrometrics.Validation; +model SpecificEnthalpy_TDryBulPhi + "Model to test the specific enthalpy computation" + IBPSA.Controls.OBC.CDL.Psychrometrics.SpecificEnthalpy_TDryBulPhi hBulPhi + "Model for specific enthalpy computation" + annotation (Placement(transformation(extent={{-10,-10},{10,10}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp phi( + duration=1, + height=1, + offset=0.001) + "Relative humidity" + annotation (Placement(transformation(extent={{-60,-40},{-40,-20}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Constant TDryBul( + k=273.15+29.4) + "Dry bulb temperature" + annotation (Placement(transformation(extent={{-64,24},{-44,44}}))); + +equation + connect(TDryBul.y,hBulPhi.TDryBul) + annotation (Line(points={{-42,34},{-30,34},{-30,6},{-12,6}},color={0,0,127})); + connect(phi.y,hBulPhi.phi) + annotation (Line(points={{-38,-30},{-30,-30},{-30,-6},{-12,-6}},color={0,0,127})); + annotation ( + experiment( + StopTime=1.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Psychrometrics/Validation/SpecificEnthalpy_TDryBulPhi.mos" "Simulate and plot"), + Documentation( + info=" +

+This examples is a unit test for the specific enthalpy computation +IBPSA.Controls.OBC.CDL.Psychrometrics.SpecificEnthalpy_TDryBulPhi. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end SpecificEnthalpy_TDryBulPhi; diff --git a/IBPSA/Controls/OBC/CDL/Psychrometrics/Validation/WetBulb_TDryBulPhi.mo b/IBPSA/Controls/OBC/CDL/Psychrometrics/Validation/WetBulb_TDryBulPhi.mo new file mode 100644 index 0000000000..2248183fae --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Psychrometrics/Validation/WetBulb_TDryBulPhi.mo @@ -0,0 +1,99 @@ +within IBPSA.Controls.OBC.CDL.Psychrometrics.Validation; +model WetBulb_TDryBulPhi + "Model to test the wet bulb temperature computation" + + IBPSA.Controls.OBC.CDL.Psychrometrics.WetBulb_TDryBulPhi wetBulPhi + "Model for wet bulb temperature" + annotation (Placement(transformation(extent={{20,30},{40,50}}))); + IBPSA.Controls.OBC.CDL.Psychrometrics.WetBulb_TDryBulPhi wetBulPhi1 + "Model for wet bulb temperature" + annotation (Placement(transformation(extent={{20,-50},{40,-30}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp phi( + duration=1, + height=0.95, + offset=0.05) "Relative humidity" + annotation (Placement(transformation(extent={{-40,10},{-20,30}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Constant TDryBul( + k=273.15+29.4) "Dry bulb temperature" + annotation (Placement(transformation(extent={{-40,60},{-20,80}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp TDryBul1( + duration=1, + height=40, + offset=273.15) "Dry bulb temperature" + annotation (Placement(transformation(extent={{-40,-30},{-20,-10}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Constant phi2(k=0.6) + "Relative humidity" + annotation (Placement(transformation(extent={{-40,-80},{-20,-60}}))); + +equation + connect(TDryBul.y,wetBulPhi.TDryBul) + annotation (Line(points={{-18,70},{0,70},{0,46},{18,46}}, color={0,0,127})); + connect(phi.y,wetBulPhi.phi) + annotation (Line(points={{-18,20},{0,20},{0,34},{18,34}}, color={0,0,127})); + connect(TDryBul1.y, wetBulPhi1.TDryBul) annotation (Line(points={{-18,-20},{0, + -20},{0,-34},{18,-34}}, color={0,0,127})); + connect(phi2.y, wetBulPhi1.phi) annotation (Line(points={{-18,-70},{0,-70},{0, + -46},{18,-46}}, color={0,0,127})); + annotation ( + experiment( + StopTime=1.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Psychrometrics/Validation/WetBulb_TDryBulPhi.mos" "Simulate and plot"), + Documentation( + info=" +

+This examples is a unit test for the dew point temperature computation + +IBPSA.Controls.OBC.CDL.Psychrometrics.WetBulb_TDryBulPhi. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end WetBulb_TDryBulPhi; diff --git a/IBPSA/Controls/OBC/CDL/Psychrometrics/Validation/package.mo b/IBPSA/Controls/OBC/CDL/Psychrometrics/Validation/package.mo new file mode 100644 index 0000000000..555f981b89 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Psychrometrics/Validation/package.mo @@ -0,0 +1,37 @@ +within IBPSA.Controls.OBC.CDL.Psychrometrics; +package Validation "Collection of models that validate the psychrometrics blocks of the CDL" + annotation ( + preferredView="info", + Documentation( + info=" +

+This package contains models that validate the blocks in + +IBPSA.Controls.OBC.CDL.Psychrometrics. +

+

+The examples plot various outputs, which have been verified against +analytical solutions. These model outputs are stored as reference data to +allow continuous validation whenever models in the library change. +

+"), + Icon( + graphics={ + Rectangle( + lineColor={200,200,200}, + fillColor={248,248,248}, + fillPattern=FillPattern.HorizontalCylinder, + extent={{-100.0,-100.0},{100.0,100.0}}, + radius=25.0), + Rectangle( + lineColor={128,128,128}, + extent={{-100.0,-100.0},{100.0,100.0}}, + radius=25.0), + Polygon( + origin={8.0,14.0}, + lineColor={78,138,73}, + fillColor={78,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-58.0,46.0},{42.0,-14.0},{-58.0,-74.0},{-58.0,46.0}})})); +end Validation; diff --git a/IBPSA/Controls/OBC/CDL/Psychrometrics/Validation/package.order b/IBPSA/Controls/OBC/CDL/Psychrometrics/Validation/package.order new file mode 100644 index 0000000000..fc0e58cc8c --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Psychrometrics/Validation/package.order @@ -0,0 +1,3 @@ +DewPoint_TDryBulPhi +SpecificEnthalpy_TDryBulPhi +WetBulb_TDryBulPhi diff --git a/IBPSA/Controls/OBC/CDL/Psychrometrics/WetBulb_TDryBulPhi.mo b/IBPSA/Controls/OBC/CDL/Psychrometrics/WetBulb_TDryBulPhi.mo new file mode 100644 index 0000000000..46b2abd21d --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Psychrometrics/WetBulb_TDryBulPhi.mo @@ -0,0 +1,194 @@ +within IBPSA.Controls.OBC.CDL.Psychrometrics; +block WetBulb_TDryBulPhi + "Block to compute the wet bulb temperature based on relative humidity" + IBPSA.Controls.OBC.CDL.Interfaces.RealInput TDryBul( + final quantity="ThermodynamicTemperature", + final unit="K", + final min=100) + "Dry bulb temperature" + annotation (Placement(transformation(extent={{-140,40},{-100,80}}),iconTransformation(extent={{-140,40},{-100,80}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealInput phi( + final min=0, + final max=1) + "Relative air humidity" + annotation (Placement(transformation(extent={{-140,-80},{-100,-40}}),iconTransformation(extent={{-140,-80},{-100,-40}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealOutput TWetBul( + final quantity="ThermodynamicTemperature", + final unit="K", + final min=100) + "Wet bulb temperature" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +protected + constant Real uniCon(final unit="1/rad") = 1 + "Unit conversion to satisfy unit check"; + Real TDryBul_degC( + final unit="degC", + displayUnit="degC") + "Dry bulb temperature in degree Celsius"; + Real rh_per( + min=0) + "Relative humidity in percentage"; + +equation + TDryBul_degC=TDryBul-273.15; + rh_per=100*phi; + TWetBul=273.15 + + TDryBul_degC * uniCon * Modelica.Math.atan(0.151977*sqrt(rh_per+8.313659)) + + uniCon * ( + Modelica.Math.atan(TDryBul_degC+rh_per) + - Modelica.Math.atan(rh_per-1.676331) + + 0.00391838*rh_per^(1.5)*Modelica.Math.atan(0.023101*rh_per)) + -4.686035; + annotation ( + defaultComponentName="wetBul", + Icon( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100,-100},{100,100}}), + graphics={ + Text( + extent={{-150,150},{150,110}}, + textString="%name", + textColor={0,0,255}), + Rectangle( + extent={{-100,100},{100,-100}}, + lineColor={0,0,0}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Text( + extent={{-92,82},{-62,38}}, + textColor={0,0,127}, + textString="TDryBul"), + Text( + extent={{-90,-44},{-70,-70}}, + textColor={0,0,127}, + textString="phi"), + Text( + extent={{62,22},{92,-22}}, + textColor={0,0,127}, + textString="TWetBul"), + Line( + points={{78,-74},{-48,-74}}), + Text( + extent={{76,-78},{86,-94}}, + textColor={0,0,0}, + fillColor={0,0,0}, + fillPattern=FillPattern.Solid, + textString="T"), + Line( + points={{76,-46},{26,-4}}, + color={255,0,0}, + thickness=0.5), + Line( + points={{-48,-48},{-2,-30},{28,-4},{48,32},{52,72}}, + color={0,0,0}, + smooth=Smooth.Bezier), + Line( + points={{-48,84},{-48,-74}}), + Text( + extent={{-44,82},{-22,64}}, + textColor={0,0,0}, + fillColor={0,0,0}, + fillPattern=FillPattern.Solid, + textString="X"), + Polygon( + points={{86,-74},{76,-72},{76,-76},{86,-74}}, + lineColor={0,0,0}, + fillColor={0,0,0}, + fillPattern=FillPattern.Solid), + Polygon( + points={{-48,88},{-46,74},{-50,74},{-48,88}}, + lineColor={0,0,0}, + fillColor={0,0,0}, + fillPattern=FillPattern.Solid), + Polygon( + points={{26,-4},{36,-10},{34,-12},{26,-4}}, + lineColor={255,0,0}, + fillColor={255,0,0}, + fillPattern=FillPattern.Solid)}), + Documentation( + info=" +

+This block computes the wet bulb temperature for a given dry bulb temperature, relative air humidity +and atmospheric pressure. +

+

+The block uses the approximation of Stull (2011) to compute +the wet bulb temperature without requiring a nonlinear equation. +The approximation by Stull is valid for a relative humidity of 5% to 99%, +a temperature range from -20°C to 50°C +and standard sea level pressure. +For this range of data, the approximation error is -1 Kelvin to +0.65 Kelvin, +with a mean error of less than 0.3 Kelvin. +

+

+The model is validated in + +IBPSA.Controls.OBC.CDL.Psychrometrics.Validation.WetBulb_TDryBulPhi. +

+

References

+

+Stull, Roland. + +Wet-Bulb Temperature from Relative Humidity and Air Temperature +Roland Stull. +Journal of Applied Meteorology and Climatology. +Volume 50, Issue 11, pp. 2267-2269. November 2011 +DOI: 10.1175/JAMC-D-11-0143.1 +

+", + revisions=" + +")); +end WetBulb_TDryBulPhi; diff --git a/IBPSA/Controls/OBC/CDL/Psychrometrics/package.mo b/IBPSA/Controls/OBC/CDL/Psychrometrics/package.mo new file mode 100644 index 0000000000..967a8a9e24 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Psychrometrics/package.mo @@ -0,0 +1,60 @@ +within IBPSA.Controls.OBC.CDL; +package Psychrometrics "Package with psychrometric blocks" + annotation ( + Documentation( + info=" +

+This package contains blocks for psychrometric calculations. +

+", + revisions=" + +"), + Icon( + graphics={ + Rectangle( + lineColor={200,200,200}, + fillColor={248,248,248}, + fillPattern=FillPattern.HorizontalCylinder, + extent={{-100.0,-100.0},{100.0,100.0}}, + radius=25.0), + Rectangle( + lineColor={128,128,128}, + extent={{-100.0,-100.0},{100.0,100.0}}, + radius=25.0), + Line( + points={{-78,86},{-78,-72}}), + Polygon( + points={{-78,88},{-76,74},{-80,74},{-78,88}}, + lineColor={0,0,0}, + fillColor={0,0,0}, + fillPattern=FillPattern.Solid), + Text( + extent={{-74,84},{-52,66}}, + textColor={0,0,0}, + fillColor={0,0,0}, + fillPattern=FillPattern.Solid, + textString="X"), + Line( + points={{-78,-46},{-64,-42},{-40,-32},{-16,-18},{10,6},{30,40},{38,72}}, + color={0,0,0}, + smooth=Smooth.Bezier), + Line( + points={{72,-72},{-76,-72}}), + Polygon( + points={{74,-72},{64,-70},{64,-74},{74,-72}}, + lineColor={0,0,0}, + fillColor={0,0,0}, + fillPattern=FillPattern.Solid), + Text( + extent={{72,-80},{82,-96}}, + textColor={0,0,0}, + fillColor={0,0,0}, + fillPattern=FillPattern.Solid, + textString="T")})); +end Psychrometrics; diff --git a/IBPSA/Controls/OBC/CDL/Psychrometrics/package.order b/IBPSA/Controls/OBC/CDL/Psychrometrics/package.order new file mode 100644 index 0000000000..b5717e1bfc --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Psychrometrics/package.order @@ -0,0 +1,4 @@ +DewPoint_TDryBulPhi +SpecificEnthalpy_TDryBulPhi +WetBulb_TDryBulPhi +Validation diff --git a/IBPSA/Controls/OBC/CDL/Reals/Abs.mo b/IBPSA/Controls/OBC/CDL/Reals/Abs.mo new file mode 100644 index 0000000000..2df97213e1 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Abs.mo @@ -0,0 +1,78 @@ +within IBPSA.Controls.OBC.CDL.Reals; +block Abs + "Output the absolute value of the input" + IBPSA.Controls.OBC.CDL.Interfaces.RealInput u + "Input for absolute function" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealOutput y + "Absolute value of the input" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +equation + y=abs(u); + annotation ( + defaultComponentName="abs", + Icon( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100,-100},{100,100}}), + graphics={ + Text( + textColor={0,0,255}, + extent={{-150,110},{150,150}}, + textString="%name"), + Rectangle( + extent={{-100,-100},{100,100}}, + lineColor={0,0,127}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Polygon( + points={{92,0},{70,8},{70,-8},{92,0}}, + lineColor={192,192,192}, + fillColor={192,192,192}, + fillPattern=FillPattern.Solid), + Line( + points={{-80,80},{0,0},{80,80}}), + Line( + points={{0,-14},{0,68}}, + color={192,192,192}), + Polygon( + points={{0,90},{-8,68},{8,68},{0,90}}, + lineColor={192,192,192}, + fillColor={192,192,192}, + fillPattern=FillPattern.Solid), + Text( + extent={{-34,-28},{38,-76}}, + textColor={192,192,192}, + textString="abs"), + Line( + points={{-88,0},{76,0}}, + color={192,192,192}), + Text( + extent={{226,60},{106,10}}, + textColor={0,0,0}, + textString=DynamicSelect("",String(y, + leftJustified=false, + significantDigits=3)))}), + Documentation( + info=" +

+Block that outputs y = abs(u), +where +u is an input. +

+", + revisions=" + +")); +end Abs; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Acos.mo b/IBPSA/Controls/OBC/CDL/Reals/Acos.mo new file mode 100644 index 0000000000..1bae7066fa --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Acos.mo @@ -0,0 +1,81 @@ +within IBPSA.Controls.OBC.CDL.Reals; +block Acos "Output the arc cosine of the input" + IBPSA.Controls.OBC.CDL.Interfaces.RealInput u + "Input for arc cosine function" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealOutput y( + final unit="rad", + displayUnit="deg") + "Arc cosine of the input" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); +equation + y = Modelica.Math.acos(u); + +annotation (defaultComponentName="arcCos", + Icon(coordinateSystem(preserveAspectRatio=false), + graphics={Rectangle( + extent={{-100,-100},{100,100}}, + lineColor={0,0,127}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), Text( + extent={{-150,150},{150,110}}, + textString="%name", + textColor={0,0,255}), + Polygon( + points={{0,90},{-8,68},{8,68},{0,90}}, + lineColor={192,192,192}, + fillColor={192,192,192}, + fillPattern=FillPattern.Solid), + Line( + points={{-80,80},{-79.2,72.8},{-77.6,67.5},{-73.6,59.4},{-66.3,49.8},{ + -53.5,37.3},{-30.2,19.7},{37.4,-24.8},{57.5,-40.8},{68.7,-52.7},{75.2, + -62.2},{77.6,-67.5},{80,-80}}, + smooth=Smooth.Bezier), + Line(points={{0,-88},{0,68}}, color={192,192,192}), + Line(points={{-90,-80},{68,-80}}, color={192,192,192}), + Polygon( + points={{90,-80},{68,-72},{68,-88},{90,-80}}, + lineColor={192,192,192}, + fillColor={192,192,192}, + fillPattern=FillPattern.Solid), + Text( + extent={{-86,-14},{-14,-62}}, + textColor={192,192,192}, + textString="acos"), + Text( + extent={{226,60},{106,10}}, + textColor={0,0,0}, + textString=DynamicSelect("",String(y, + leftJustified=false, + significantDigits=3)))}), + Diagram(coordinateSystem(preserveAspectRatio=false)), +Documentation(info=" +

+Block that outputs y = acos(u), where u is an input. +

+

+\"acos.png\" +

+", +revisions=" + +")); +end Acos; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Add.mo b/IBPSA/Controls/OBC/CDL/Reals/Add.mo new file mode 100644 index 0000000000..9028f670bc --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Add.mo @@ -0,0 +1,83 @@ +within IBPSA.Controls.OBC.CDL.Reals; +block Add + "Output the sum of the two inputs" + IBPSA.Controls.OBC.CDL.Interfaces.RealInput u1 + "Input to be added" + annotation (Placement(transformation(extent={{-140,40},{-100,80}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealInput u2 + "Input to be added" + annotation (Placement(transformation(extent={{-140,-80},{-100,-40}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealOutput y + "Sum of the inputs" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +equation + y=u1+u2; + annotation ( + defaultComponentName="add2", + Documentation( + info=" +

+Block that outputs y as the sum of the +two input signals u1 and u2, +

+
+    y = u1 + u2.
+
+", +revisions=" + +"), + Icon( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100,-100},{100,100}}), + graphics={ + Rectangle( + extent={{-100,-100},{100,100}}, + lineColor={0,0,127}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Ellipse( + lineColor={0,0,127}, + extent={{-50,-50},{50,50}}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Text( + extent={{-150,150},{150,110}}, + textString="%name", + textColor={0,0,255}), + Line( + points={{-100,60},{-74,24},{-44,24}}, + color={0,0,127}), + Line( + points={{-100,-60},{-74,-28},{-42,-28}}, + color={0,0,127}), + Line( + points={{50,0},{100,0}}, + color={0,0,127}), + Text( + extent={{-36,-26},{40,42}}, + textString="+"), + Text( + extent={{226,60},{106,10}}, + textColor={0,0,0}, + textString=DynamicSelect("",String(y, + leftJustified=false, + significantDigits=3)))})); +end Add; diff --git a/IBPSA/Controls/OBC/CDL/Reals/AddParameter.mo b/IBPSA/Controls/OBC/CDL/Reals/AddParameter.mo new file mode 100644 index 0000000000..bf9a1a7652 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/AddParameter.mo @@ -0,0 +1,79 @@ +within IBPSA.Controls.OBC.CDL.Reals; +block AddParameter "Output the sum of an input plus a parameter" + parameter Real p + "Parameter to be added to the input"; + IBPSA.Controls.OBC.CDL.Interfaces.RealInput u + "Input to be added to the parameter" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealOutput y + "Sum of the parameter and the input" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +equation + y=u+p; + annotation ( + defaultComponentName="addPar", + Documentation( + info=" +

+Block that outputs y = u + p, +where p is parameter and u is an input. +

+", +revisions=" + +"), + Icon( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100,-100},{100,100}}), + graphics={ + Rectangle( + extent={{-100,-100},{100,100}}, + lineColor={0,0,127}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Text( + textColor={0,0,255}, + extent={{-150,110},{150,150}}, + textString="%name"), + Line( + points={{-54,66},{-28,30},{2,30}}, + color={0,0,127}), + Line( + points={{-100,0},{100,0}}, + color={0,0,127}), + Text( + extent={{-122,58},{-17,98}}, + textString="%p", + textColor={0,0,0}), + Ellipse( + lineColor={0,0,127}, + extent={{-12,-52},{88,48}}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Text( + extent={{0,-26},{76,42}}, + textString="+"), + Text( + extent={{226,60},{106,10}}, + textColor={0,0,0}, + textString=DynamicSelect("",String(y, + leftJustified=false, + significantDigits=3)))})); +end AddParameter; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Asin.mo b/IBPSA/Controls/OBC/CDL/Reals/Asin.mo new file mode 100644 index 0000000000..08d11987ff --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Asin.mo @@ -0,0 +1,81 @@ +within IBPSA.Controls.OBC.CDL.Reals; +block Asin "Output the arc sine of the input" + IBPSA.Controls.OBC.CDL.Interfaces.RealInput u + "Input for the arc sine function" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealOutput y( + final unit="rad", + displayUnit="deg") + "Arc sin of the input" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); +equation + y = Modelica.Math.asin(u); + +annotation (defaultComponentName="arcSin", + Icon(coordinateSystem(preserveAspectRatio=false), + graphics={Rectangle( + extent={{-100,-100},{100,100}}, + lineColor={0,0,127}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Text( + extent={{-100,140},{100,100}}, + textString="%name", + textColor={0,0,255}), + Polygon( + points={{0,90},{-8,68},{8,68},{0,90}}, + lineColor={192,192,192}, + fillColor={192,192,192}, + fillPattern=FillPattern.Solid), + Line(points={{0,-80},{0,68}}, color={192,192,192}), + Line(points={{-80,-80},{-79.2,-72.8},{-77.6,-67.5},{-73.6,-59.4},{-66.3,-49.8}, + {-53.5,-37.3},{-30.2,-19.7},{37.4,24.8},{57.5,40.8},{68.7,52.7},{75.2, + 62.2},{77.6,67.5},{80,80}}, + smooth=Smooth.Bezier), + Line(points={{-90,0},{68,0}}, color={192,192,192}), + Polygon( + points={{90,0},{68,8},{68,-8},{90,0}}, + lineColor={192,192,192}, + fillColor={192,192,192}, + fillPattern=FillPattern.Solid), + Text( + extent={{-88,78},{-16,30}}, + textColor={192,192,192}, + textString="asin"), + Text( + extent={{226,60},{106,10}}, + textColor={0,0,0}, + textString=DynamicSelect("",String(y, + leftJustified=false, + significantDigits=3)))}), + Diagram(coordinateSystem(preserveAspectRatio=false)), +Documentation(info=" +

+Block that outputs y = asin(u), where u is an input. +

+

+\"asin.png\" +

+", +revisions=" + +")); +end Asin; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Atan.mo b/IBPSA/Controls/OBC/CDL/Reals/Atan.mo new file mode 100644 index 0000000000..c8ba07d986 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Atan.mo @@ -0,0 +1,93 @@ +within IBPSA.Controls.OBC.CDL.Reals; +block Atan "Output the arc tangent of the input" + IBPSA.Controls.OBC.CDL.Interfaces.RealInput u + "Input for the arc tangent function" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealOutput y( + final unit="rad", + displayUnit="deg") + "Arc tangent of the input" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +equation + y=Modelica.Math.atan(u); + annotation ( + defaultComponentName="atan", + Icon( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100,-100},{100,100}}), + graphics={ + Rectangle( + extent={{-100,-100},{100,100}}, + lineColor={0,0,127}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Text( + textColor={0,0,255}, + extent={{-150,110},{150,150}}, + textString="%name"), + Text( + extent={{-86,68},{-14,20}}, + textColor={192,192,192}, + textString="atan"), + Polygon( + points={{0,90},{-8,68},{8,68},{0,90}}, + lineColor={192,192,192}, + fillColor={192,192,192}, + fillPattern=FillPattern.Solid), + Line( + points={{0,-80},{0,68}}, + color={192,192,192}), + Line( + points={{-80,-80},{-52.7,-75.2},{-37.4,-69.7},{-26.9,-63},{-19.7,-55.2},{-14.1,-45.8},{-10.1,-36.4},{-6.03,-23.9},{-1.21,-5.06},{5.23,21},{9.25,34.1},{13.3,44.2},{18.1,52.9},{24.5,60.8},{33.4,67.6},{47,73.6},{69.5,78.6},{80,80}}, + smooth=Smooth.Bezier), + Line( + points={{-90,0},{68,0}}, + color={192,192,192}), + Polygon( + points={{90,0},{68,8},{68,-8},{90,0}}, + lineColor={192,192,192}, + fillColor={192,192,192}, + fillPattern=FillPattern.Solid), + Text( + extent={{226,60},{106,10}}, + textColor={0,0,0}, + textString=DynamicSelect("",String(y, + leftJustified=false, + significantDigits=3)))}), + Documentation( + info=" +

+Block that outputs y = atan(u), where u is an input. +

+

+\"atan.png\" +

+", +revisions=" + +")); +end Atan; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Atan2.mo b/IBPSA/Controls/OBC/CDL/Reals/Atan2.mo new file mode 100644 index 0000000000..cc4a4b0244 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Atan2.mo @@ -0,0 +1,117 @@ +within IBPSA.Controls.OBC.CDL.Reals; +block Atan2 + "Output atan(u1/u2) of the inputs u1 and u2" + IBPSA.Controls.OBC.CDL.Interfaces.RealInput u1 + "Input u1 for the atan2(u1/u2) function" + annotation (Placement(transformation(extent={{-140,40},{-100,80}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealInput u2 + "Input u2 for the atan2(u1/u2) function" + annotation (Placement(transformation(extent={{-140,-80},{-100,-40}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealOutput y( + final unit="rad", + displayUnit="deg") + "Output with atan2(u1/u2)" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +equation + y=Modelica.Math.atan2(u1, u2); + annotation ( + defaultComponentName="atan2", + Documentation( + info=" +

+Block that outputs the tangent-inverse y = atan2(u1, u2) +of the input u1 divided by the input u2. +

+

+u1 and u2 shall not be zero at the same time instant. +Atan2 uses the sign of u1 and u2 +in order to construct the solution in the range +-π ≤ y ≤ π, whereas + +IBPSA.Controls.OBC.CDL.Reals.Atan +gives a solution in the range +-π/2 ≤ y ≤ π/2. +

+ +

+\"atan2.png\" +

+ +", + revisions=" + +"), + Icon( + graphics={ + Rectangle( + extent={{-100,-100},{100,100}}, + lineColor={0,0,127}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Text( + extent={{-150,150},{150,110}}, + textString="%name", + textColor={0,0,255}), + Line( + points={{0,-80},{0,68}}, + color={192,192,192}), + Line( + points={{-90,0},{68,0}}, + color={192,192,192}), + Polygon( + points={{90,0},{68,8},{68,-8},{90,0}}, + lineColor={192,192,192}, + fillColor={192,192,192}, + fillPattern=FillPattern.Solid), + Line( + points={{-80,-34.9},{-46.1,-31.4},{-29.4,-27.1},{-18.3,-21.5},{-10.3,-14.5},{-2.03,-3.17},{7.97,11.6},{15.5,19.4},{24.3,25},{39,30},{62.1,33.5},{80,34.9}}, + smooth=Smooth.Bezier), + Line( + points={{-80,45.1},{-45.9,48.7},{-29.1,52.9},{-18.1,58.6},{-10.2,65.8},{-1.82,77.2},{0,80}}, + smooth=Smooth.Bezier), + Line( + points={{0,-80},{8.93,-67.2},{17.1,-59.3},{27.3,-53.6},{42.1,-49.4},{69.9,-45.8},{80,-45.1}}, + smooth=Smooth.Bezier), + Text( + extent={{-90,-46},{-18,-94}}, + textColor={192,192,192}, + textString="atan2"), + Text( + extent={{-150,150},{150,110}}, + textString="%name", + textColor={0,0,255}), + Polygon( + points={{0,90},{-8,68},{8,68},{0,90}}, + lineColor={192,192,192}, + fillColor={192,192,192}, + fillPattern=FillPattern.Solid), + Text( + extent={{226,60},{106,10}}, + textColor={0,0,0}, + textString=DynamicSelect("",String(y, + leftJustified=false, + significantDigits=3)))})); +end Atan2; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Average.mo b/IBPSA/Controls/OBC/CDL/Reals/Average.mo new file mode 100644 index 0000000000..b698bdf9f8 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Average.mo @@ -0,0 +1,69 @@ +within IBPSA.Controls.OBC.CDL.Reals; +block Average "Output the average of its two inputs" + IBPSA.Controls.OBC.CDL.Interfaces.RealInput u1 + "Input for average function" + annotation (Placement(transformation(extent={{-140,40},{-100,80}}),iconTransformation(extent={{-140,40},{-100,80}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealInput u2 + "Input for average function" + annotation (Placement(transformation(extent={{-140,-80},{-100,-40}}),iconTransformation(extent={{-140,-80},{-100,-40}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealOutput y + "Output with the average of the two inputs" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +equation + y=0.5*(u1+u2); + annotation ( + defaultComponentName="ave", + Icon( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100,-100},{100,100}}), + graphics={ + Text( + textColor={0,0,255}, + extent={{-150,110},{150,150}}, + textString="%name"), + Rectangle( + extent={{-100,-100},{100,100}}, + lineColor={0,0,127}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Text( + extent={{-50,34},{52,-26}}, + textColor={192,192,192}, + textString="avg()"), + Line( + points={{-8,16}}, + color={0,0,0}), + Line( + points={{-100,60}}, + color={0,0,0}, + thickness=1), + Text( + extent={{226,60},{106,10}}, + textColor={0,0,0}, + textString=DynamicSelect("",String(y, + leftJustified=false, + significantDigits=3)))}), + Documentation( + info=" +

+Block that outputs y = (u1 + u2) / 2, +where +u1 and u2 are inputs. +

+", + revisions=" + +")); +end Average; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Cos.mo b/IBPSA/Controls/OBC/CDL/Reals/Cos.mo new file mode 100644 index 0000000000..81431bc0c7 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Cos.mo @@ -0,0 +1,97 @@ +within IBPSA.Controls.OBC.CDL.Reals; +block Cos "Output the cosine of the input" + IBPSA.Controls.OBC.CDL.Interfaces.RealInput u( + final unit="rad", + displayUnit="deg") + "Input for the cosine function" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealOutput y + "Cosine of the input" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +equation + y=Modelica.Math.cos(u); + annotation ( + defaultComponentName="cos", + Icon( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100,-100},{100,100}}), + graphics={ + Rectangle( + extent={{-100,-100},{100,100}}, + lineColor={0,0,127}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Line( + points={{-80,80},{-74.4,78.1},{-68.7,72.3},{-63.1,63},{-56.7,48.7},{-48.6,26.6},{-29.3,-32.5},{-22.1,-51.7},{-15.7,-65.3},{-10.1,-73.8},{-4.42,-78.8},{1.21,-79.9},{6.83,-77.1},{12.5,-70.6},{18.1,-60.6},{24.5,-45.7},{32.6,-23},{50.3,31.3},{57.5,50.7},{63.9,64.6},{69.5,73.4},{75.2,78.6},{80,80}}, + smooth=Smooth.Bezier), + Text( + textColor={0,0,255}, + extent={{-150,110},{150,150}}, + textString="%name"), + Polygon( + points={{-80,90},{-88,68},{-72,68},{-80,90}}, + lineColor={192,192,192}, + fillColor={192,192,192}, + fillPattern=FillPattern.Solid), + Line( + points={{-80,-80},{-80,68}}, + color={192,192,192}), + Line( + points={{-90,0},{68,0}}, + color={192,192,192}), + Polygon( + points={{90,0},{68,8},{68,-8},{90,0}}, + lineColor={192,192,192}, + fillColor={192,192,192}, + fillPattern=FillPattern.Solid), + Text( + extent={{-36,80},{36,32}}, + textColor={192,192,192}, + textString="cos"), + Text( + extent={{226,60},{106,10}}, + textColor={0,0,0}, + textString=DynamicSelect("",String(y, + leftJustified=false, + significantDigits=3)))}), + Documentation( + info=" +

+Block that outputs y = cos(u), +where +u is an input. +

+ +

+\"cos.png\" +

+ +", + revisions=" + +")); +end Cos; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Derivative.mo b/IBPSA/Controls/OBC/CDL/Reals/Derivative.mo new file mode 100644 index 0000000000..50794e3517 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Derivative.mo @@ -0,0 +1,121 @@ +within IBPSA.Controls.OBC.CDL.Reals; +block Derivative + "Block that approximates the derivative of the input" + parameter Real y_start=0 + "Initial value of output (= state)" + annotation (Dialog(group="Initialization")); + + IBPSA.Controls.OBC.CDL.Interfaces.RealInput k + "Input for the gain" + annotation (Placement(transformation(extent={{-140,60},{-100,100}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealInput T( + final quantity="Time", + final unit="s", + min=100*IBPSA.Controls.OBC.CDL.Constants.eps) + "Input for the time constant (T>0 required; T=0 is ideal derivative block)" + annotation (Placement(transformation(extent={{-140,20},{-100,60}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealInput u + "Input to be differentiated" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealOutput y + "Approximation of derivative du/dt" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); +protected + Real T_nonZero(final unit="s") "Non-zero value for T"; + + output Real x + "State of block"; + +initial equation + x= if abs(k) < IBPSA.Controls.OBC.CDL.Constants.eps then u else u - T*y_start/k; + +equation + T_nonZero = max(T, 100*IBPSA.Controls.OBC.CDL.Constants.eps); + der(x) = (u-x)/T_nonZero; + y = (k/T_nonZero)*(u-x); + + annotation ( + defaultComponentName="der", + Documentation( + info=" +

+This blocks defines the transfer function between the +input u and the output y +as approximated derivative: +

+
+                s
+  y = k * ------------ * u
+            T * s + 1
+
+

+If k=0, the block reduces to y=0. +

+", + revisions=" + +"), + Icon( + coordinateSystem( + extent={{-100.0,-100.0},{100.0,100.0}}), + graphics={ + Rectangle( + extent={{-100,-100},{100,100}}, + lineColor={0,0,127}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Line( + points={{-56,78},{-56,-90}}, + color={192,192,192}), + Polygon( + lineColor={192,192,192}, + fillColor={192,192,192}, + fillPattern=FillPattern.Solid, + points={{-56,90},{-64,68},{-48,68},{-56,90}}), + Line( + points={{-64,-80},{82,-80}}, + color={192,192,192}), + Polygon( + lineColor={192,192,192}, + fillColor={192,192,192}, + fillPattern=FillPattern.Solid, + points={{90.0,-80.0},{68.0,-72.0},{68.0,-88.0},{90.0,-80.0}}), + Line( + origin={-24.667,-27.333}, + points={{-31.333,89.333},{-19.333,-40.667},{86.667,-52.667}}, + color={0,0,127}, + smooth=Smooth.Bezier), + Text( + extent={{-150,150},{150,110}}, + textString="%name", + textColor={0,0,255}), + Text( + extent={{226,60},{106,10}}, + textColor={0,0,0}, + textString=DynamicSelect("",String(y, + leftJustified=false, + significantDigits=3))), + Text( + extent={{-106,14},{-62,-12}}, + textColor={0,0,0}, + textString="u"), + Text( + extent={{46,14},{90,-12}}, + textColor={0,0,0}, + textString="y=du/dt"), + Text( + extent={{-108,94},{-64,68}}, + textColor={0,0,0}, + textString="k"), + Text( + extent={{-108,54},{-64,28}}, + textColor={0,0,0}, + textString="T")})); +end Derivative; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Divide.mo b/IBPSA/Controls/OBC/CDL/Reals/Divide.mo new file mode 100644 index 0000000000..11ebd63d4e --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Divide.mo @@ -0,0 +1,91 @@ +within IBPSA.Controls.OBC.CDL.Reals; +block Divide "Output first input divided by second input" + IBPSA.Controls.OBC.CDL.Interfaces.RealInput u1 + "Input for dividend" + annotation (Placement(transformation(extent={{-140,40},{-100,80}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealInput u2 + "Input for divisor" + annotation (Placement(transformation(extent={{-140,-80},{-100,-40}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealOutput y + "Output with the quotient" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +equation + y=u1/u2; + annotation ( + defaultComponentName="div", + Documentation( + info=" +

+Block that outputs y = u1 / u2, +where +u1 and u2 are inputs. +

+", +revisions=" + +"), + Icon( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100,-100},{100,100}}), + graphics={ + Rectangle( + extent={{-100,-100},{100,100}}, + lineColor={0,0,127}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Ellipse( + lineColor={0,0,127}, + extent={{-50,-50},{50,50}}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Text( + extent={{-150,150},{150,110}}, + textString="%name", + textColor={0,0,255}), + Line( + points={{50,0},{100,0}}, + color={0,0,127}), + Line( + points={{-30,0},{30,0}}), + Ellipse( + fillPattern=FillPattern.Solid, + extent={{-5,20},{5,30}}), + Ellipse( + fillPattern=FillPattern.Solid, + extent={{-5,-30},{5,-20}}), + Line( + points={{-100,60},{-66,60},{-40,30}}, + color={0,0,127}), + Line( + points={{-100,-60},{0,-60},{0,-50}}, + color={0,0,127}), + Text( + extent={{226,60},{106,10}}, + textColor={0,0,0}, + textString=DynamicSelect("",String(y, + leftJustified=false, + significantDigits=3)))})); +end Divide; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Exp.mo b/IBPSA/Controls/OBC/CDL/Reals/Exp.mo new file mode 100644 index 0000000000..c2deedac3a --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Exp.mo @@ -0,0 +1,74 @@ +within IBPSA.Controls.OBC.CDL.Reals; +block Exp "Output the exponential (base e) of the input" + IBPSA.Controls.OBC.CDL.Interfaces.RealInput u + "Input for the base e exponential function" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealOutput y + "Base e exponential value of the input" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +equation + y=Modelica.Math.exp(u); + annotation ( + defaultComponentName="exp", + Icon( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100,-100},{100,100}}), + graphics={ + Line( + points={{-90,-80.3976},{68,-80.3976}}, + color={192,192,192}), + Rectangle( + extent={{-100,100},{100,-100}}, + lineColor={0,0,0}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Line( + points={{-80,-80},{-31,-77.9},{-6.03,-74},{10.9,-68.4},{23.7,-61},{34.2,-51.6},{43,-40.3},{50.3,-27.8},{56.7,-13.5},{62.3,2.23},{67.1,18.6},{72,38.2},{76,57.6},{80,80}}), + Line( + points={{0,-80},{0,68}}, + color={192,192,192}), + Text( + extent={{-86,50},{-14,2}}, + textColor={192,192,192}, + textString="exp"), + Text( + extent={{-150,150},{150,110}}, + textString="%name", + textColor={0,0,255}), + Text( + extent={{226,60},{106,10}}, + textColor={0,0,0}, + textString=DynamicSelect("",String(y, + leftJustified=false, + significantDigits=3)))}), + Documentation( + info=" +

+Block that outputs y = exp(u), +where +u is an input and exp() is the +base-e exponential function. +

+ +

+\"exp.png\" +

+ +", + revisions=" + +")); +end Exp; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Greater.mo b/IBPSA/Controls/OBC/CDL/Reals/Greater.mo new file mode 100644 index 0000000000..9ee1c2eae9 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Greater.mo @@ -0,0 +1,261 @@ +within IBPSA.Controls.OBC.CDL.Reals; +block Greater + "Output y is true, if input u1 is greater than input u2 with hysteresis" + parameter Real h( + final min=0)=0 + "Hysteresis" + annotation (Evaluate=true); + parameter Boolean pre_y_start=false + "Value of pre(y) at initial time" + annotation (Dialog(tab="Advanced")); + IBPSA.Controls.OBC.CDL.Interfaces.RealInput u1 + "First input u1" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealInput u2 + "Second input u2" + annotation (Placement(transformation(extent={{-140,-100},{-100,-60}}))); + IBPSA.Controls.OBC.CDL.Interfaces.BooleanOutput y + "Output true if u1 is greater than u2 with hysteresis" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +protected + final parameter Boolean have_hysteresis=h >= 1E-10 + "True if the block has no hysteresis" + annotation (Evaluate=true); + GreaterWithHysteresis greHys( + final h=h, + final pre_y_start=pre_y_start) if have_hysteresis + "Block with hysteresis" + annotation (Placement(transformation(extent={{-10,20},{10,40}}))); + GreaterNoHysteresis greNoHys if not have_hysteresis + "Block without hysteresis" + annotation (Placement(transformation(extent={{-10,-40},{10,-20}}))); + block GreaterNoHysteresis + "Greater block without hysteresis" + IBPSA.Controls.OBC.CDL.Interfaces.RealInput u1 + "Input u1" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealInput u2 + "Input u2" + annotation (Placement(transformation(extent={{-140,-100},{-100,-60}}))); + IBPSA.Controls.OBC.CDL.Interfaces.BooleanOutput y + "Output y" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + + equation + y=u1 > u2; + annotation ( + Icon( + graphics={ + Rectangle( + extent={{-100,100},{100,-100}}, + lineColor={0,0,0}, + lineThickness=5.0, + fillColor={210,210,210}, + fillPattern=FillPattern.Solid, + borderPattern=BorderPattern.Raised), + Text( + extent={{-150,150},{150,110}}, + textString="%name", + textColor={0,0,255})})); + end GreaterNoHysteresis; + + block GreaterWithHysteresis + "Greater block without hysteresis" + parameter Real h( + final min=0)=0 + "Hysteresis" + annotation (Evaluate=true); + parameter Boolean pre_y_start=false + "Value of pre(y) at initial time" + annotation (Dialog(tab="Advanced")); + IBPSA.Controls.OBC.CDL.Interfaces.RealInput u1 + "Input u1" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealInput u2 + "Input u2" + annotation (Placement(transformation(extent={{-140,-100},{-100,-60}}))); + IBPSA.Controls.OBC.CDL.Interfaces.BooleanOutput y + "Output y" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + + initial equation + assert( + h >= 0, + "Hysteresis must not be negative"); + pre(y)=pre_y_start; + + equation + y=(not pre(y) and u1 > u2 or pre(y) and u1 > u2-h); + annotation ( + Icon( + graphics={ + Rectangle( + extent={{-100,100},{100,-100}}, + lineColor={0,0,0}, + lineThickness=5.0, + fillColor={210,210,210}, + fillPattern=FillPattern.Solid, + borderPattern=BorderPattern.Raised), + Text( + extent={{-150,150},{150,110}}, + textString="%name", + textColor={0,0,255}), + Text( + extent={{-64,62},{62,92}}, + textColor={0,0,0}, + textString="h=%h")})); + end GreaterWithHysteresis; + +equation + connect(u1,greHys.u1) + annotation (Line(points={{-120,0},{-66,0},{-66,30},{-12,30}},color={0,0,127})); + connect(u2,greHys.u2) + annotation (Line(points={{-120,-80},{-60,-80},{-60,22},{-12,22}},color={0,0,127})); + connect(greHys.y,y) + annotation (Line(points={{12,30},{60,30},{60,0},{120,0}},color={255,0,255})); + connect(u1,greNoHys.u1) + annotation (Line(points={{-120,0},{-66,0},{-66,-30},{-12,-30}},color={0,0,127})); + connect(u2,greNoHys.u2) + annotation (Line(points={{-120,-80},{-60,-80},{-60,-38},{-12,-38}},color={0,0,127})); + connect(greNoHys.y,y) + annotation (Line(points={{12,-30},{60,-30},{60,0},{120,0}},color={255,0,255})); + annotation ( + defaultComponentName="gre", + Icon( + coordinateSystem( + preserveAspectRatio=false, + extent={{-100,-100},{100,100}}), + graphics={ + Rectangle( + extent={{-100,100},{100,-100}}, + lineColor={0,0,0}, + lineThickness=5.0, + fillColor={210,210,210}, + fillPattern=FillPattern.Solid, + borderPattern=BorderPattern.Raised), + Ellipse( + extent={{73,7},{87,-7}}, + lineColor=DynamicSelect({235,235,235}, + if y then + {0,255,0} + else + {235,235,235}), + fillColor=DynamicSelect({235,235,235}, + if y then + {0,255,0} + else + {235,235,235}), + fillPattern=FillPattern.Solid), + Line( + points={{-100,-80},{42,-80},{42,-62}}, + color={0,0,127}), + Line( + points={{-12,14},{18,2},{-12,-8}}, + thickness=0.5), + Text( + extent={{-150,150},{150,110}}, + textString="%name", + textColor={0,0,255}), + Text( + extent={{-64,62},{62,92}}, + textColor={0,0,0}, + textString="h=%h"), + Text( + extent={{-88,-18},{-21,24}}, + textColor={0,0,0}, + textString=DynamicSelect("",String(u1, + leftJustified=false, + significantDigits=3))), + Text( + extent={{-86,-76},{-19,-34}}, + textColor={0,0,0}, + textString=DynamicSelect("",String(u2, + leftJustified=false, + significantDigits=3))), + Text( + extent={{22,20},{89,62}}, + textColor=DynamicSelect({235,235,235}, + if y then + {135,135,135} + else + {0,0,0}), + textString=DynamicSelect("",String(u2, + leftJustified=false, + significantDigits=3)), + visible=h >= 1E-10), + Text( + extent={{22,20},{89,62}}, + textColor=DynamicSelect({235,235,235}, + if y then + {135,135,135} + else + {0,0,0}), + textString=DynamicSelect("",String(u2, + leftJustified=false, + significantDigits=3)), + visible=h >= 1E-10), + Text( + extent={{20,-56},{87,-14}}, + textColor=DynamicSelect({235,235,235}, + if not y then + {135,135,135} + else + {0,0,0}), + textString=DynamicSelect("",String(u2-h, + leftJustified=false, + significantDigits=3)), + visible=h >= 1E-10)}), + Documentation( + info=" +

+Block that outputs true if the Real input u1 +is greater than the Real input u2, optionally within a hysteresis h. +

+

+The parameter h ≥ 0 is used to specify a hysteresis. +For any h ≥ 0, the output switches to true if u1 > u2, +and it switches to false if u1 ≤ u2 - h. +Note that in the special case of h = 0, this produces the output y=u1 > u2. +

+

+To disable hysteresis, set h=0. +

+

Usage

+

+Enabling hysteresis can avoid frequent switching.
+In simulation, adding hysteresis is recommended to guard against numerical noise. +Otherwise, numerical noise from a nonlinear solver or from an +implicit time integration algorithm may cause the simulation to stall. +Numerical noise can be present if an input depends +on a state variable or a quantity that requires an iterative solution, +such as a temperature or a mass flow rate of an HVAC system.
+In real controllers, adding hysteresis is recommended to guard against measurement noise. +Otherwise, measurement noise may cause the output to change frequently. +

+", +revisions=" + +")); +end Greater; diff --git a/IBPSA/Controls/OBC/CDL/Reals/GreaterThreshold.mo b/IBPSA/Controls/OBC/CDL/Reals/GreaterThreshold.mo new file mode 100644 index 0000000000..a5861c6e55 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/GreaterThreshold.mo @@ -0,0 +1,242 @@ +within IBPSA.Controls.OBC.CDL.Reals; +block GreaterThreshold + "Output y is true, if input u is greater than threshold with hysteresis" + parameter Real t=0 + "Threshold for comparison"; + parameter Real h( + final min=0)=0 + "Hysteresis" + annotation (Evaluate=true); + parameter Boolean pre_y_start=false + "Value of pre(y) at initial time" + annotation (Dialog(tab="Advanced")); + IBPSA.Controls.OBC.CDL.Interfaces.RealInput u + "Input to be compared against the threshold" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.BooleanOutput y + "Outputs true if u is greater than the threshold with hysteresis" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +protected + final parameter Boolean have_hysteresis=h >= 1E-10 + "True if the block has no hysteresis" + annotation (Evaluate=true); + GreaterWithHysteresis greHys( + final h=h, + final t=t, + final pre_y_start=pre_y_start) if have_hysteresis + "Block with hysteresis" + annotation (Placement(transformation(extent={{-10,20},{10,40}}))); + GreaterNoHysteresis greNoHys( + final t=t) if not have_hysteresis + "Block without hysteresis" + annotation (Placement(transformation(extent={{-10,-40},{10,-20}}))); + block GreaterNoHysteresis + "Greater block without hysteresis" + parameter Real t=0 + "Threshold for comparison"; + IBPSA.Controls.OBC.CDL.Interfaces.RealInput u + "Input u" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.BooleanOutput y + "Output y" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + + equation + y=u > t; + annotation ( + Icon( + graphics={ + Rectangle( + extent={{-100,100},{100,-100}}, + lineColor={0,0,0}, + lineThickness=5.0, + fillColor={210,210,210}, + fillPattern=FillPattern.Solid, + borderPattern=BorderPattern.Raised), + Text( + extent={{-150,150},{150,110}}, + textString="%name", + textColor={0,0,255})})); + end GreaterNoHysteresis; + + block GreaterWithHysteresis + "Greater block without hysteresis" + parameter Real t=0 + "Threshold for comparison"; + parameter Real h( + final min=0)=0 + "Hysteresis" + annotation (Evaluate=true); + parameter Boolean pre_y_start=false + "Value of pre(y) at initial time" + annotation (Dialog(tab="Advanced")); + IBPSA.Controls.OBC.CDL.Interfaces.RealInput u + "Input u" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.BooleanOutput y + "Output y" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + + initial equation + assert( + h >= 0, + "Hysteresis must not be negative"); + pre(y)=pre_y_start; + + equation + y=(not pre(y) and u > t or pre(y) and u > t-h); + annotation ( + Icon( + graphics={ + Rectangle( + extent={{-100,100},{100,-100}}, + lineColor={0,0,0}, + lineThickness=5.0, + fillColor={210,210,210}, + fillPattern=FillPattern.Solid, + borderPattern=BorderPattern.Raised), + Text( + extent={{-150,150},{150,110}}, + textString="%name", + textColor={0,0,255}), + Text( + extent={{-64,62},{62,92}}, + textColor={0,0,0}, + textString="h=%h")})); + end GreaterWithHysteresis; + +equation + connect(u,greHys.u) + annotation (Line(points={{-120,0},{-66,0},{-66,30},{-12,30}},color={0,0,127})); + connect(greHys.y,y) + annotation (Line(points={{12,30},{60,30},{60,0},{120,0}},color={255,0,255})); + connect(u,greNoHys.u) + annotation (Line(points={{-120,0},{-66,0},{-66,-30},{-12,-30}},color={0,0,127})); + connect(greNoHys.y,y) + annotation (Line(points={{12,-30},{60,-30},{60,0},{120,0}},color={255,0,255})); + annotation ( + defaultComponentName="greThr", + Icon( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100,-100},{100,100}}), + graphics={ + Rectangle( + extent={{-100,100},{100,-100}}, + lineColor={0,0,0}, + lineThickness=5.0, + fillColor={210,210,210}, + fillPattern=FillPattern.Solid, + borderPattern=BorderPattern.Raised), + Ellipse( + extent={{73,7},{87,-7}}, + lineColor=DynamicSelect({235,235,235}, + if y then + {0,255,0} + else + {235,235,235}), + fillColor=DynamicSelect({235,235,235}, + if y then + {0,255,0} + else + {235,235,235}), + fillPattern=FillPattern.Solid), + Line( + points={{-16,10},{2,2},{-16,-8}}, + thickness=0.5), + Text( + extent={{-150,150},{150,110}}, + textString="%name", + textColor={0,0,255}), + Text( + extent={{-64,62},{62,92}}, + textColor={0,0,0}, + textString="h=%h"), + Text( + extent={{-88,-18},{-21,24}}, + textColor={0,0,0}, + textString=DynamicSelect("",String(u, + leftJustified=false, + significantDigits=3))), + Text( + extent={{4,-18},{71,24}}, + textColor={0,0,0}, + textString="%t", + visible=h < 1E-10), + Text( + extent={{22,20},{89,62}}, + textColor=DynamicSelect({0,0,0}, + if y then + {135,135,135} + else + {0,0,0}), + textString=DynamicSelect("",String(t, + leftJustified=false, + significantDigits=3)), + visible=h >= 1E-10), + Text( + extent={{20,-56},{87,-14}}, + textColor=DynamicSelect({0,0,0}, + if not y then + {135,135,135} + else + {0,0,0}), + textString=DynamicSelect("",String(t-h, + leftJustified=false, + significantDigits=3)), + visible=h >= 1E-10)}), + Documentation( + info=" +

+Block that outputs true if the Real input u +is greater than a threshold t, optionally within a hysteresis h. +

+

+The parameter h ≥ 0 is used to specify a hysteresis. +For any h ≥ 0, the output switches to true if u > t, +where t is the threshold, +and it switches to false if u ≤ t - h. +Note that in the special case of h = 0, this produces the output y=u > t. +

+

+To disable hysteresis, set h=0. +

+

Usage

+

+Enabling hysteresis can avoid frequent switching.
+In simulation, adding hysteresis is recommended to guard against numerical noise. +Otherwise, numerical noise from a nonlinear solver or from an +implicit time integration algorithm may cause the simulation to stall. +Numerical noise can be present if an input depends +on a state variable or a quantity that requires an iterative solution, +such as a temperature or a mass flow rate of an HVAC system.
+In real controllers, adding hysteresis is recommended to guard against measurement noise. +Otherwise, measurement noise may cause the output to change frequently. +

+", +revisions=" + +")); +end GreaterThreshold; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Hysteresis.mo b/IBPSA/Controls/OBC/CDL/Reals/Hysteresis.mo new file mode 100644 index 0000000000..0dc756bb12 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Hysteresis.mo @@ -0,0 +1,146 @@ +within IBPSA.Controls.OBC.CDL.Reals; +block Hysteresis + "Transform Real to Boolean signal with Hysteresis" + parameter Real uLow + "if y=true and uuHigh, switch to y=true"; + parameter Boolean pre_y_start=false + "Value of pre(y) at initial time"; + IBPSA.Controls.OBC.CDL.Interfaces.RealInput u + "Input to be compared against hysteresis values" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.BooleanOutput y + "Output value of comparison" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +initial equation + assert(uHigh > uLow, + "Hysteresis limits wrong. uHigh must be larger than uLow"); + pre(y)=pre_y_start; + +equation + y=not pre(y) and u > uHigh or pre(y) and u >= uLow; + annotation ( + defaultComponentName="hys", + Icon( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100,-100},{100,100}}), + graphics={ + Rectangle( + extent={{-100,100},{100,-100}}, + lineColor={0,0,0}, + lineThickness=5.0, + fillColor={210,210,210}, + fillPattern=FillPattern.Solid, + borderPattern=BorderPattern.Raised), + Ellipse( + extent={{71,7},{85,-7}}, + lineColor=DynamicSelect({235,235,235}, + if y then + {0,255,0} + else + {235,235,235}), + fillColor=DynamicSelect({235,235,235}, + if y then + {0,255,0} + else + {235,235,235}), + fillPattern=FillPattern.Solid), + Polygon( + points={{-80,90},{-88,68},{-72,68},{-80,90}}, + lineColor={192,192,192}, + fillColor={192,192,192}, + fillPattern=FillPattern.Solid), + Line( + points={{-80,68},{-80,-29}}, + color={192,192,192}), + Polygon( + points={{92,-29},{70,-21},{70,-37},{92,-29}}, + lineColor={192,192,192}, + fillColor={192,192,192}, + fillPattern=FillPattern.Solid), + Line( + points={{-79,-29},{84,-29}}, + color={192,192,192}), + Line( + points={{-79,-29},{41,-29}}), + Line( + points={{-15,-21},{1,-29},{-15,-36}}), + Line( + points={{41,51},{41,-29}}), + Line( + points={{33,3},{41,22},{50,3}}), + Line( + points={{-49,51},{81,51}}), + Line( + points={{-4,59},{-19,51},{-4,43}}), + Line( + points={{-59,29},{-49,11},{-39,29}}), + Line( + points={{-49,51},{-49,-29}}), + Text( + extent={{-92,-49},{-9,-92}}, + textColor={192,192,192}, + textString="%uLow"), + Text( + extent={{2,-49},{91,-92}}, + textColor={192,192,192}, + textString="%uHigh"), + Rectangle( + extent={{-91,-49},{-8,-92}}, + lineColor={192,192,192}), + Line( + points={{-49,-29},{-49,-49}}, + color={192,192,192}), + Rectangle( + extent={{2,-49},{91,-92}}, + lineColor={192,192,192}), + Line( + points={{41,-29},{41,-49}}, + color={192,192,192}), + Text( + extent={{-150,150},{150,110}}, + textColor={0,0,255}, + textString="%name")}), + Documentation( + info=" +

+Block that transforms a Real input signal into a Boolean +output signal: +

+ +

+The start value of the output is defined via parameter +pre_y_start (= value of pre(y) at initial time). +The default value of this parameter is false. +

+

+\"Hysteresis.png\" +

+", + revisions=" + +")); +end Hysteresis; diff --git a/IBPSA/Controls/OBC/CDL/Reals/IntegratorWithReset.mo b/IBPSA/Controls/OBC/CDL/Reals/IntegratorWithReset.mo new file mode 100644 index 0000000000..e2432a1282 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/IntegratorWithReset.mo @@ -0,0 +1,136 @@ +within IBPSA.Controls.OBC.CDL.Reals; +block IntegratorWithReset + "Output the integral of the input signal" + parameter Real k=1 + "Integrator gain"; + parameter Real y_start=0 + "Initial or guess value of output (= state)" + annotation (Dialog(group="Initialization")); + IBPSA.Controls.OBC.CDL.Interfaces.RealInput u + "Input to be integrated" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealInput y_reset_in + "Input signal for state to which integrator is reset" + annotation (Placement(transformation(extent={{-140,-100},{-100,-60}}))); + IBPSA.Controls.OBC.CDL.Interfaces.BooleanInput trigger + "Input that resets the integrator output when it becomes true" + annotation (Placement(transformation(extent={{-20,-20},{20,20}},rotation=90,origin={0,-120}),iconTransformation(extent={{-20,-20},{20,20}},rotation=90,origin={0,-120}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealOutput y + "Value of the integrator" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +initial equation + y=y_start; + +equation + der(y)=k*u; + when trigger then + reinit(y, y_reset_in); + end when; + annotation ( + defaultComponentName="intWitRes", + Icon( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100.0,-100.0},{100.0,100.0}}), + graphics={ + Rectangle( + extent={{-100,-100},{100,100}}, + lineColor={0,0,127}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Text( + extent={{-88,-94},{212,-54}}, + textColor={0,0,0}, + textString="y_reset_in", + horizontalAlignment=TextAlignment.Left), + Bitmap( + extent={{-54,-50},{60,50}}, + fileName="modelica://IBPSA/Resources/Images/Controls/OBC/CDL/Reals/int.png"), + Text( + extent={{-88,56},{206,92}}, + textColor={0,0,0}, + textString="k=%k", + horizontalAlignment=TextAlignment.Left), + Text( + extent={{-92,-12},{208,28}}, + textColor={0,0,0}, + horizontalAlignment=TextAlignment.Left, + textString="u"), + Text( + extent={{70,-14},{370,26}}, + textColor={0,0,0}, + horizontalAlignment=TextAlignment.Left, + textString="y"), + Text( + extent={{-150,150},{150,110}}, + textString="%name", + textColor={0,0,255}), + Text( + extent={{226,60},{106,10}}, + textColor={0,0,0}, + textString=DynamicSelect("",String(y, + leftJustified=false, + significantDigits=3)))}), + Documentation( + info=" +

+Block that outputs +

+

+y(t) = ystart + ∫t0t u(s) ds. +

+

+Whenever the input signal trigger changes from false +to true, +the integrator is reset by setting ystart +to the value of the input signal y_reset_in. +

+", + revisions=" + +")); +end IntegratorWithReset; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Less.mo b/IBPSA/Controls/OBC/CDL/Reals/Less.mo new file mode 100644 index 0000000000..eb1ec495e0 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Less.mo @@ -0,0 +1,258 @@ +within IBPSA.Controls.OBC.CDL.Reals; +block Less + "Output y is true, if input u1 is less than input u2" + parameter Real h(final min=0)=0 + "Hysteresis" + annotation (Evaluate=true); + parameter Boolean pre_y_start=false + "Value of pre(y) at initial time" + annotation (Dialog(tab="Advanced")); + IBPSA.Controls.OBC.CDL.Interfaces.RealInput u1 + "First input u1" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealInput u2 + "Second input u2" + annotation (Placement(transformation(extent={{-140,-100},{-100,-60}}))); + IBPSA.Controls.OBC.CDL.Interfaces.BooleanOutput y + "Outputs true if u1 is less than u2" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +protected + final parameter Boolean have_hysteresis=h >= 1E-10 + "True if the block has no hysteresis" + annotation (Evaluate=true); + LessWithHysteresis lesHys( + final h=h, + final pre_y_start=pre_y_start) if have_hysteresis + "Block with hysteresis" + annotation (Placement(transformation(extent={{-10,20},{10,40}}))); + LessNoHysteresis lesNoHys if not have_hysteresis + "Block without hysteresis" + annotation (Placement(transformation(extent={{-10,-40},{10,-20}}))); + block LessNoHysteresis + "Less block without hysteresis" + IBPSA.Controls.OBC.CDL.Interfaces.RealInput u1 + "Input u1" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealInput u2 + "Input u2" + annotation (Placement(transformation(extent={{-140,-100},{-100,-60}}))); + IBPSA.Controls.OBC.CDL.Interfaces.BooleanOutput y + "Output y" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + + equation + y=u1 < u2; + annotation ( + Icon( + graphics={ + Rectangle( + extent={{-100,100},{100,-100}}, + lineColor={0,0,0}, + lineThickness=5.0, + fillColor={210,210,210}, + fillPattern=FillPattern.Solid, + borderPattern=BorderPattern.Raised), + Text( + extent={{-150,150},{150,110}}, + textString="%name", + textColor={0,0,255})})); + end LessNoHysteresis; + + block LessWithHysteresis + "Less block without hysteresis" + parameter Real h(final min=0)=0 + "Hysteresis" + annotation (Evaluate=true); + parameter Boolean pre_y_start=false + "Value of pre(y) at initial time" + annotation (Dialog(tab="Advanced")); + IBPSA.Controls.OBC.CDL.Interfaces.RealInput u1 + "Input u1" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealInput u2 + "Input u2" + annotation (Placement(transformation(extent={{-140,-100},{-100,-60}}))); + IBPSA.Controls.OBC.CDL.Interfaces.BooleanOutput y + "Output y" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + + initial equation + assert(h >= 0, + "Hysteresis must not be negative"); + pre(y)=pre_y_start; + + equation + y=(not pre(y) and u1 < u2 or pre(y) and u1 < u2+h); + annotation ( + Icon( + graphics={ + Rectangle( + extent={{-100,100},{100,-100}}, + lineColor={0,0,0}, + lineThickness=5.0, + fillColor={210,210,210}, + fillPattern=FillPattern.Solid, + borderPattern=BorderPattern.Raised), + Text( + extent={{-150,150},{150,110}}, + textString="%name", + textColor={0,0,255}), + Text( + extent={{-64,62},{62,92}}, + textColor={0,0,0}, + textString="h=%h")})); + end LessWithHysteresis; + +equation + connect(u1,lesHys.u1) + annotation (Line(points={{-120,0},{-66,0},{-66,30},{-12,30}},color={0,0,127})); + connect(u2,lesHys.u2) + annotation (Line(points={{-120,-80},{-60,-80},{-60,22},{-12,22}},color={0,0,127})); + connect(lesHys.y,y) + annotation (Line(points={{12,30},{60,30},{60,0},{120,0}},color={255,0,255})); + connect(u1,lesNoHys.u1) + annotation (Line(points={{-120,0},{-66,0},{-66,-30},{-12,-30}},color={0,0,127})); + connect(u2,lesNoHys.u2) + annotation (Line(points={{-120,-80},{-60,-80},{-60,-38},{-12,-38}},color={0,0,127})); + connect(lesNoHys.y,y) + annotation (Line(points={{12,-30},{60,-30},{60,0},{120,0}},color={255,0,255})); + annotation ( + defaultComponentName="les", + Icon( + coordinateSystem( + preserveAspectRatio=false, + extent={{-100,-100},{100,100}}), + graphics={ + Rectangle( + extent={{-100,100},{100,-100}}, + lineColor={0,0,0}, + lineThickness=5.0, + fillColor={210,210,210}, + fillPattern=FillPattern.Solid, + borderPattern=BorderPattern.Raised), + Ellipse( + extent={{73,7},{87,-7}}, + lineColor=DynamicSelect({235,235,235}, + if y then + {0,255,0} + else + {235,235,235}), + fillColor=DynamicSelect({235,235,235}, + if y then + {0,255,0} + else + {235,235,235}), + fillPattern=FillPattern.Solid), + Line( + points={{-100,-80},{42,-80},{42,-62}}, + color={0,0,127}), + Line( + points={{18,14},{-12,2},{18,-8}}, + thickness=0.5), + Text( + extent={{-150,150},{150,110}}, + textString="%name", + textColor={0,0,255}), + Text( + extent={{-64,62},{62,92}}, + textColor={0,0,0}, + textString="h=%h"), + Text( + extent={{-88,-18},{-21,24}}, + textColor={0,0,0}, + textString=DynamicSelect("",String(u1, + leftJustified=false, + significantDigits=3))), + Text( + extent={{-86,-76},{-19,-34}}, + textColor={0,0,0}, + textString=DynamicSelect("",String(u2, + leftJustified=false, + significantDigits=3))), + Text( + extent={{22,20},{89,62}}, + textColor=DynamicSelect({235,235,235}, + if y then + {135,135,135} + else + {0,0,0}), + textString=DynamicSelect("",String(u2, + leftJustified=false, + significantDigits=3)), + visible=h >= 1E-10), + Text( + extent={{22,20},{89,62}}, + textColor=DynamicSelect({235,235,235}, + if y then + {135,135,135} + else + {0,0,0}), + textString=DynamicSelect("",String(u2, + leftJustified=false, + significantDigits=3)), + visible=h >= 1E-10), + Text( + extent={{20,-56},{87,-14}}, + textColor=DynamicSelect({235,235,235}, + if not y then + {135,135,135} + else + {0,0,0}), + textString=DynamicSelect("",String(u2+h, + leftJustified=false, + significantDigits=3)), + visible=h >= 1E-10)}), + Documentation( + info=" +

+Block that outputs true if the Real input u1 +is less than the Real input u2, optionally within a hysteresis h. +

+

+The parameter h ≥ 0 is used to specify a hysteresis. +For any h ≥ 0, the output switches to true if u1 < u2, +and it switches to false if u1 ≥ u2 + h. +Note that in the special case of h = 0, this produces the output y=u1 < u2. +

+

+To disable hysteresis, set h=0. +

+

Usage

+

+Enabling hysteresis can avoid frequent switching.
+In simulation, adding hysteresis is recommended to guard against numerical noise. +Otherwise, numerical noise from a nonlinear solver or from an +implicit time integration algorithm may cause the simulation to stall. +Numerical noise can be present if an input depends +on a state variable or a quantity that requires an iterative solution, +such as a temperature or a mass flow rate of an HVAC system.
+In real controllers, adding hysteresis is recommended to guard against measurement noise. +Otherwise, measurement noise may cause the output to change frequently. +

+", +revisions=" + +")); +end Less; diff --git a/IBPSA/Controls/OBC/CDL/Reals/LessThreshold.mo b/IBPSA/Controls/OBC/CDL/Reals/LessThreshold.mo new file mode 100644 index 0000000000..826d2301fd --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/LessThreshold.mo @@ -0,0 +1,234 @@ +within IBPSA.Controls.OBC.CDL.Reals; +block LessThreshold + "Output y is true, if input u is less than threshold with hysteresis" + parameter Real t=0 + "Threshold for comparison"; + parameter Real h(final min=0)=0 + "Hysteresis" + annotation (Evaluate=true); + parameter Boolean pre_y_start=false + "Value of pre(y) at initial time" + annotation (Dialog(tab="Advanced")); + IBPSA.Controls.OBC.CDL.Interfaces.RealInput u + "Input to be compared against the threshold" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.BooleanOutput y + "Outputs true if u is less than the threshold with hysteresis" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +protected + final parameter Boolean have_hysteresis=h >= 1E-10 + "True if the block has no hysteresis" + annotation (Evaluate=true); + LessWithHysteresis lesHys( + final h=h, + final t=t, + final pre_y_start=pre_y_start) if have_hysteresis + "Block with hysteresis" + annotation (Placement(transformation(extent={{-10,20},{10,40}}))); + LessNoHysteresis lesNoHys( + final t=t) if not have_hysteresis + "Block without hysteresis" + annotation (Placement(transformation(extent={{-10,-40},{10,-20}}))); + block LessNoHysteresis + "Less block without hysteresis" + parameter Real t=0 + "Threshold for comparison"; + IBPSA.Controls.OBC.CDL.Interfaces.RealInput u + "Input u" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.BooleanOutput y + "Output y" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + + equation + y=u < t; + annotation ( + Icon( + graphics={ + Rectangle( + extent={{-100,100},{100,-100}}, + lineColor={0,0,0}, + lineThickness=5.0, + fillColor={210,210,210}, + fillPattern=FillPattern.Solid, + borderPattern=BorderPattern.Raised), + Text( + extent={{-150,150},{150,110}}, + textString="%name", + textColor={0,0,255})})); + end LessNoHysteresis; + + block LessWithHysteresis + "Less block without hysteresis" + parameter Real t=0 + "Threshold for comparison"; + parameter Real h( + final min=0)=0 + "Hysteresis" + annotation (Evaluate=true); + parameter Boolean pre_y_start=false + "Value of pre(y) at initial time" + annotation (Dialog(tab="Advanced")); + IBPSA.Controls.OBC.CDL.Interfaces.RealInput u + "Input u" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.BooleanOutput y + "Output y" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + + initial equation + assert(h >= 0, + "Hysteresis must not be negative"); + pre(y)=pre_y_start; + + equation + y=(not pre(y) and u < t or pre(y) and u < t+h); + annotation ( + Icon( + graphics={ + Rectangle( + extent={{-100,100},{100,-100}}, + lineColor={0,0,0}, + lineThickness=5.0, + fillColor={210,210,210}, + fillPattern=FillPattern.Solid, + borderPattern=BorderPattern.Raised), + Text( + extent={{-150,150},{150,110}}, + textString="%name", + textColor={0,0,255}), + Text( + extent={{-64,62},{62,92}}, + textColor={0,0,0}, + textString="h=%h")})); + end LessWithHysteresis; + +equation + connect(u,lesHys.u) + annotation (Line(points={{-120,0},{-66,0},{-66,30},{-12,30}},color={0,0,127})); + connect(lesHys.y,y) + annotation (Line(points={{12,30},{60,30},{60,0},{120,0}},color={255,0,255})); + connect(u,lesNoHys.u) + annotation (Line(points={{-120,0},{-66,0},{-66,-30},{-12,-30}},color={0,0,127})); + connect(lesNoHys.y,y) + annotation (Line(points={{12,-30},{60,-30},{60,0},{120,0}},color={255,0,255})); + annotation ( + defaultComponentName="lesThr", + Icon( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100,-100},{100,100}}), + graphics={ + Rectangle( + extent={{-100,100},{100,-100}}, + lineColor={0,0,0}, + lineThickness=5.0, + fillColor={210,210,210}, + fillPattern=FillPattern.Solid, + borderPattern=BorderPattern.Raised), + Ellipse( + extent={{73,7},{87,-7}}, + lineColor=DynamicSelect({235,235,235}, + if y then + {0,255,0} + else + {235,235,235}), + fillColor=DynamicSelect({235,235,235}, + if y then + {0,255,0} + else + {235,235,235}), + fillPattern=FillPattern.Solid), + Line( + points={{2,10},{-16,2},{2,-8}}, + thickness=0.5), + Text( + extent={{-150,150},{150,110}}, + textString="%name", + textColor={0,0,255}), + Text( + extent={{-64,62},{62,92}}, + textColor={0,0,0}, + textString="h=%h"), + Text( + extent={{-88,-18},{-21,24}}, + textColor={0,0,0}, + textString=DynamicSelect("",String(u, + leftJustified=false, + significantDigits=3))), + Text( + extent={{4,-18},{71,24}}, + textColor={0,0,0}, + textString="%t", + visible=h < 1E-10), + Text( + extent={{22,20},{89,62}}, + textColor=DynamicSelect({0,0,0}, + if y then + {135,135,135} + else + {0,0,0}), + textString=DynamicSelect("",String(t, + leftJustified=false, + significantDigits=3)), + visible=h >= 1E-10), + Text( + extent={{20,-56},{87,-14}}, + textColor=DynamicSelect({0,0,0}, + if not y then + {135,135,135} + else + {0,0,0}), + textString=DynamicSelect("",String(t+h, + leftJustified=false, + significantDigits=3)), + visible=h >= 1E-10)}), + Documentation( + info=" +

+Block that outputs true if the Real input u +is less than a threshold t, optionally within a hysteresis h. +

+

+The parameter h ≥ 0 is used to specify a hysteresis. +For any h ≥ 0, the output switches to true if u < t, +where t is the threshold, +and it switches to false if u ≥ t + h. +Note that in the special case of h = 0, this produces the output y=u < t. +

+

Usage

+

+Enabling hysteresis can avoid frequent switching. +Adding hysteresis is recommended in real controllers to guard against sensor noise, and +in simulation to guard against numerical noise. Numerical noise can be present if +an input depends on a state variable or a quantity that requires an iterative solution, such as +a temperature or a mass flow rate of an HVAC system. +To disable hysteresis, set h=0. +

+", +revisions=" + +")); +end LessThreshold; diff --git a/IBPSA/Controls/OBC/CDL/Reals/LimitSlewRate.mo b/IBPSA/Controls/OBC/CDL/Reals/LimitSlewRate.mo new file mode 100644 index 0000000000..1e845bea7e --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/LimitSlewRate.mo @@ -0,0 +1,152 @@ +within IBPSA.Controls.OBC.CDL.Reals; +block LimitSlewRate "Limit the increase or decrease rate of input" + parameter Real raisingSlewRate( + min=Constants.small, + unit="1/s") + "Speed with which to increase the output"; + parameter Real fallingSlewRate( + max=-Constants.small, + unit="1/s")=-raisingSlewRate + "Speed with which to decrease the output"; + parameter Real Td( + final quantity="Time", + final unit="s", + min=Constants.eps)=raisingSlewRate*10 + "Derivative time constant"; + parameter Boolean enable=true + "Set to false to disable rate limiter"; + IBPSA.Controls.OBC.CDL.Interfaces.RealInput u + "Input signal to be rate of change limited" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealOutput y + "Rate of change limited output signal" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +protected + Real thr=(u-y)/Td + "Approximation to derivative between input and output"; + +initial equation + assert(raisingSlewRate > 0, + "raisingSlewRate must be larger than zero."); + assert(fallingSlewRate < 0, + "fallingSlewRate must be less than zero."); + + y=u; + +equation + if enable then + der(y)=smooth( + 1, + noEvent( + if thr < fallingSlewRate then + fallingSlewRate + else + if thr > raisingSlewRate then + raisingSlewRate + else + thr)); + else + y=u; + end if; + annotation ( + defaultComponentName="ramLim", + Documentation( + info=" +

+The block limits the rate of change of the input by a ramp. +

+

+This block computes a threshold for the rate of change of the output y as +thr = (u-y)/Td, where Td > 0 is parameter. +The output y is computed as follows: +

+

Implementation

+

+For the block to work with arbitrary inputs and in order to produce a differentiable output, +the input is numerically differentiated with derivative time constant Td. +Smaller time constant Td means nearer ideal derivative. +

+", +revisions=" + +"), + Icon( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100,-100},{100,100}}), + graphics={ + Text( + textColor={0,0,255}, + extent={{-150,110},{150,150}}, + textString="%name"), + Rectangle( + extent={{-100,-100},{100,100}}, + lineColor={0,0,127}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Line( + points={{0,-90},{0,68}}, + color={192,192,192}), + Polygon( + points={{0,90},{-8,68},{8,68},{0,90}}, + lineColor={192,192,192}, + fillColor={192,192,192}, + fillPattern=FillPattern.Solid), + Line( + points={{-90,0},{68,0}}, + color={192,192,192}), + Polygon( + points={{90,0},{68,-8},{68,8},{90,0}}, + lineColor={192,192,192}, + fillColor={192,192,192}, + fillPattern=FillPattern.Solid), + Text( + extent={{-150,150},{150,110}}, + textString="%name", + textColor={0,0,255}), + Line( + points={{-50,-70},{50,70}}), + Text( + extent={{226,60},{106,10}}, + textColor={0,0,0}, + textString=DynamicSelect("",String(y, + leftJustified=false, + significantDigits=3)))})); +end LimitSlewRate; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Limiter.mo b/IBPSA/Controls/OBC/CDL/Reals/Limiter.mo new file mode 100644 index 0000000000..4cd82d1347 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Limiter.mo @@ -0,0 +1,117 @@ +within IBPSA.Controls.OBC.CDL.Reals; +block Limiter + "Limit the range of a signal" + parameter Real uMax + "Upper limit of input signal"; + parameter Real uMin + "Lower limit of input signal"; + IBPSA.Controls.OBC.CDL.Interfaces.RealInput u + "Input to be limited" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealOutput y + "Limited value of input signal" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +initial equation + assert(uMin < uMax, + "uMin must be smaller than uMax. Check parameters."); + +equation + y=homotopy( + actual=smooth(0,noEvent( + if u > uMax then + uMax + else + if u < uMin then + uMin + else + u)), + simplified=u); + annotation ( + defaultComponentName="lim", + Documentation( + info=" +

+Block that outputs y = min(uMax, max(uMin, u)), +where +u is an input +and +uMax and uMin are parameters. +

+

+If uMax < uMin, an error occurs. +

+", + revisions=" + +"), + Icon( + graphics={ + Text( + textColor={0,0,255}, + extent={{-150,110},{150,150}}, + textString="%name"), + Rectangle( + extent={{-100,-100},{100,100}}, + lineColor={0,0,127}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Line( + points={{0,-90},{0,68}}, + color={192,192,192}), + Polygon( + points={{0,90},{-8,68},{8,68},{0,90}}, + lineColor={192,192,192}, + fillColor={192,192,192}, + fillPattern=FillPattern.Solid), + Line( + points={{-90,0},{68,0}}, + color={192,192,192}), + Polygon( + points={{90,0},{68,-8},{68,8},{90,0}}, + lineColor={192,192,192}, + fillColor={192,192,192}, + fillPattern=FillPattern.Solid), + Line( + points={{-80,-70},{-50,-70},{50,70},{80,70}}), + Text( + extent={{-150,150},{150,110}}, + textString="%name", + textColor={0,0,255}), + Line( + points={{50,70},{80,70}}), + Line( + points={{-80,-70},{-50,-70}}), + Text( + extent={{12,72},{94,98}}, + textColor={0,0,0}, + textString="%uMax"), + Text( + extent={{-100,-98},{-18,-72}}, + textColor={0,0,0}, + textString="%uMin"), + Text( + extent={{226,60},{106,10}}, + textColor={0,0,0}, + textString=DynamicSelect("",String(y, + leftJustified=false, + significantDigits=3)))})); +end Limiter; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Line.mo b/IBPSA/Controls/OBC/CDL/Reals/Line.mo new file mode 100644 index 0000000000..c28c5543a8 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Line.mo @@ -0,0 +1,234 @@ +within IBPSA.Controls.OBC.CDL.Reals; +block Line + "Output the value of the input x along a line specified by two points" + parameter Boolean limitBelow=true + "If true, limit input u to be no smaller than x1" + annotation (Evaluate=true); + parameter Boolean limitAbove=true + "If true, limit input u to be no larger than x2" + annotation (Evaluate=true); + IBPSA.Controls.OBC.CDL.Interfaces.RealInput x1 + "Input for support point x1, with x1 < x2" + annotation (Placement(transformation(extent={{-140,60},{-100,100}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealInput f1 + "Input for support point f(x1)" + annotation (Placement(transformation(extent={{-140,20},{-100,60}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealInput x2 + "Input for support point x2, with x2 > x1" + annotation (Placement(transformation(extent={{-140,-60},{-100,-20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealInput f2 + "Input for support point f(x2)" + annotation (Placement(transformation(extent={{-140,-100},{-100,-60}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealInput u + "Input for independent variable" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealOutput y + "Output with f(x) along the line specified by (x1, f1) and (x2, f2)" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +protected + Real a "Intercept"; + Real b "Slope"; + Real xLim "Input value after applying the limits"; + +equation + if limitBelow or limitAbove then + assert(x2 > x1, + "x2 must be bigger than x1 in " + getInstanceName(), + AssertionLevel.warning); + end if; + + b=(f2-f1)/(x2-x1); + a=f2-b*x2; + + if limitBelow and limitAbove then + xLim=min(x2, max(x1, u)); + elseif limitBelow then + xLim=max(x1, u); + elseif limitAbove then + xLim=min(x2, u); + else + xLim=u; + end if; + + y = a + b * xLim; + + annotation ( + defaultComponentName="lin", + Icon( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100,-100},{100,100}}), + graphics={ + Rectangle( + extent={{-100,-100},{100,100}}, + lineColor={0,0,127}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Text( + textColor={0,0,255}, + extent={{-150,110},{150,150}}, + textString="%name"), + Polygon( + points={{92,-78},{70,-70},{70,-86},{92,-78}}, + lineColor={192,192,192}, + fillColor={192,192,192}, + fillPattern=FillPattern.Solid), + Line( + points={{-46,40},{50,-44}}, + color={0,0,0}, + thickness=0.5), + Line( + points={{-80,-80},{-80,72}}, + color={192,192,192}), + Polygon( + points={{-80,92},{-88,70},{-72,70},{-80,92}}, + lineColor={192,192,192}, + fillColor={192,192,192}, + fillPattern=FillPattern.Solid), + Line( + points={{-88,-78},{76,-78}}, + color={192,192,192}), + Line( + points={{-100,80},{-64,80}}, + color={28,108,200}, + smooth=Smooth.Bezier, + pattern=LinePattern.Dot), + Line( + points={{-64,80},{-62,-78}}, + color={28,108,200}, + smooth=Smooth.Bezier, + pattern=LinePattern.Dot), + Line( + points={{-100,40},{-88,40}}, + color={28,108,200}, + smooth=Smooth.Bezier, + pattern=LinePattern.Dot), + Line( + points={{-88,40},{-48,40}}, + color={28,108,200}, + smooth=Smooth.Bezier, + pattern=LinePattern.Dot), + Line( + points={{-100,-40},{48,-36}}, + color={28,108,200}, + smooth=Smooth.Bezier, + pattern=LinePattern.Dot), + Line( + points={{48,-36},{50,-78}}, + color={28,108,200}, + smooth=Smooth.Bezier, + pattern=LinePattern.Dot), + Line( + points={{-100,-80},{-38,-56}}, + color={28,108,200}, + smooth=Smooth.Bezier, + pattern=LinePattern.Dot), + Line( + points={{-38,-56},{48,-44}}, + color={28,108,200}, + smooth=Smooth.Bezier, + pattern=LinePattern.Dot), + Line( + points={{-100,0},{-62,0}}, + color={28,108,200}, + smooth=Smooth.Bezier, + pattern=LinePattern.Dot), + Line( + points={{-62,0},{8,-8}}, + color={28,108,200}, + smooth=Smooth.Bezier, + pattern=LinePattern.Dot), + Line( + points={{10,-8},{52,-8}}, + color={28,108,200}, + smooth=Smooth.Bezier, + pattern=LinePattern.Dot), + Line( + points={{52,-8},{100,0}}, + color={28,108,200}, + smooth=Smooth.Bezier, + pattern=LinePattern.Dot), + Ellipse( + extent={{44,-38},{56,-50}}, + pattern=LinePattern.None, + lineColor={0,0,0}, + fillColor={0,0,0}, + fillPattern=FillPattern.Solid), + Ellipse( + extent={{2,-2},{14,-14}}, + pattern=LinePattern.None, + lineColor={0,0,0}, + fillColor={0,0,127}, + fillPattern=FillPattern.Solid), + Line( + points={{50,-44},{80,-70}}, + color={0,0,0}, + thickness=0.5, + visible=not limitAbove), + Line( + points={{52,-44},{86,-44}}, + color={238,46,47}, + thickness=0.5, + visible=limitAbove), + Line( + points={{-80,68},{-46,40}}, + color={0,0,0}, + thickness=0.5, + visible=not limitBelow), + Line( + points={{-80,40},{-46,40}}, + color={238,46,47}, + thickness=0.5, + visible=limitBelow), + Ellipse( + extent={{-52,46},{-40,34}}, + pattern=LinePattern.None, + lineColor={0,0,0}, + fillColor={0,0,0}, + fillPattern=FillPattern.Solid), + Text( + extent={{226,60},{106,10}}, + textColor={0,0,0}, + textString=DynamicSelect("",String(y, + leftJustified=false, + significantDigits=3)))}), + Documentation( + info=" +

+Block that outputs y = a + b u, +where +u is an input +and the coefficients a and b +are determined so that the line intercepts the two input points +specified by the two points x1 and f1, +and x2 and f2. +

+

+The parameters limitBelow and limitAbove +determine whether x1 and x2 are also used +to limit the input u. +

+

+If the limits are used, then this block requires x1 < x2. +

+", + revisions=" + +")); +end Line; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Log.mo b/IBPSA/Controls/OBC/CDL/Reals/Log.mo new file mode 100644 index 0000000000..44b5ca479a --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Log.mo @@ -0,0 +1,85 @@ +within IBPSA.Controls.OBC.CDL.Reals; +block Log + "Output the natural (base e) logarithm of the input (input > 0 required)" + IBPSA.Controls.OBC.CDL.Interfaces.RealInput u + "Input for base e logarithm" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealOutput y + "Base e logarithm of the input" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +equation + y=Modelica.Math.log(u); + annotation ( + defaultComponentName="log", + Icon( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100,-100},{100,100}}), + graphics={ + Rectangle( + extent={{-100,100},{100,-100}}, + lineColor={0,0,0}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Line( + points={{-80,-80},{-80,68}}, + color={192,192,192}), + Polygon( + points={{-80,90},{-88,68},{-72,68},{-80,90}}, + lineColor={192,192,192}, + fillColor={192,192,192}, + fillPattern=FillPattern.Solid), + Text( + extent={{-150,150},{150,110}}, + textString="%name", + textColor={0,0,255}), + Line( + points={{-90,0},{68,0}}, + color={192,192,192}), + Line( + points={{-80,-80},{-79.2,-50.6},{-78.4,-37},{-77.6,-28},{-76.8,-21.3},{-75.2,-11.4},{-72.8,-1.31},{-69.5,8.08},{-64.7,17.9},{-57.5,28},{-47,38.1},{-31.8,48.1},{-10.1,58},{22.1,68},{68.7,78.1},{80,80}}), + Text( + extent={{-6,-24},{66,-72}}, + textColor={192,192,192}, + textString="log"), + Text( + extent={{226,60},{106,10}}, + textColor={0,0,0}, + textString=DynamicSelect("",String(y, + leftJustified=false, + significantDigits=3)))}), + Documentation( + info=" +

+Block that outputs y = log(u), +where +u is an input and log() is the +natural logarithm (base-e) function. +

+ +

+An error occurs if the input u is +zero or negative. +

+ +

+\"log.png\" +

+ +", + revisions=" + +")); +end Log; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Log10.mo b/IBPSA/Controls/OBC/CDL/Reals/Log10.mo new file mode 100644 index 0000000000..021676ee8c --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Log10.mo @@ -0,0 +1,85 @@ +within IBPSA.Controls.OBC.CDL.Reals; +block Log10 + "Output the base 10 logarithm of the input (input > 0 required)" + IBPSA.Controls.OBC.CDL.Interfaces.RealInput u + "Input for base 10 logarithm" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealOutput y + "Base 10 logarithm of the input" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +equation + y=Modelica.Math.log10(u); + annotation ( + defaultComponentName="log10", + Icon( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100,-100},{100,100}}), + graphics={ + Rectangle( + extent={{-100,100},{100,-100}}, + lineColor={0,0,0}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Line( + points={{-80,-80},{-80,68}}, + color={192,192,192}), + Polygon( + points={{-80,90},{-88,68},{-72,68},{-80,90}}, + lineColor={192,192,192}, + fillColor={192,192,192}, + fillPattern=FillPattern.Solid), + Text( + extent={{-150,150},{150,110}}, + textString="%name", + textColor={0,0,255}), + Line( + points={{-90,0},{68,0}}, + color={192,192,192}), + Line( + points={{-80,-80},{-79.2,-50.6},{-78.4,-37},{-77.6,-28},{-76.8,-21.3},{-75.2,-11.4},{-72.8,-1.31},{-69.5,8.08},{-64.7,17.9},{-57.5,28},{-47,38.1},{-31.8,48.1},{-10.1,58},{22.1,68},{68.7,78.1},{80,80}}), + Text( + extent={{-6,-24},{66,-72}}, + textColor={192,192,192}, + textString="log10"), + Text( + extent={{226,60},{106,10}}, + textColor={0,0,0}, + textString=DynamicSelect("",String(y, + leftJustified=false, + significantDigits=3)))}), + Documentation( + info=" +

+Block that outputs y = log10(u), +where +u is an input and log10() is the +logarithm (base-10) function. +

+ +

+An error occurs if the input u is +zero or negative. +

+ +

+\"log10.png\" +

+ +", + revisions=" + +")); +end Log10; diff --git a/IBPSA/Controls/OBC/CDL/Reals/MatrixGain.mo b/IBPSA/Controls/OBC/CDL/Reals/MatrixGain.mo new file mode 100644 index 0000000000..c6dee033a3 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/MatrixGain.mo @@ -0,0 +1,97 @@ +within IBPSA.Controls.OBC.CDL.Reals; +block MatrixGain + "Output the product of a gain matrix with the input signal vector" + parameter Real K[:,:]=[1, 0; 0, 1] + "Gain matrix which is multiplied with the input"; + IBPSA.Controls.OBC.CDL.Interfaces.RealInput u[nin] + "Input to be multiplied with the gain matrix" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealOutput y[nout] + "Product of gain matrix times the input" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +protected + parameter Integer nin=size(K, 2) + "Number of inputs"; + parameter Integer nout=size(K, 1) + "Number of outputs"; + +equation + y=K*u; + annotation ( + defaultComponentName="matGai", + Documentation( + info=" +

+This blocks computes output vector y as the product of the +gain matrix K with the input signal vector u as +y = K u. +For example, +

+
+   parameter Real K[:,:] = [0.12, 2; 3, 1.5];
+
+

+results in +

+
+     | y[1] |     | 0.12,  2.00 |   | u[1] |
+     |      |  =  |            | * |      |
+     | y[2] |     | 3.00,  1.50 |   | u[2] |
+
+ +", + revisions=" + +"), + Icon( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100,-100},{100,100}}), + graphics={ + Rectangle( + extent={{-100,-100},{100,100}}, + lineColor={0,0,127}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Text( + extent={{-150,150},{150,110}}, + textString="%name", + textColor={0,0,255}), + Text( + extent={{-50,-30},{20,38}}, + textColor={0,0,0}, + textString="[ ]"), + Text( + extent={{8,-30},{80,10}}, + textColor={0,0,0}, + textString="*")}), + Diagram( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100,-100},{100,100}}), + graphics={ + Rectangle( + extent={{-100,-100},{100,100}}, + lineColor={0,0,255}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Text( + extent={{-50,-30},{20,38}}, + textColor={0,0,0}, + textString="[ ]"), + Text( + extent={{8,-30},{80,10}}, + textColor={0,0,0}, + textString="*")})); +end MatrixGain; diff --git a/IBPSA/Controls/OBC/CDL/Reals/MatrixMax.mo b/IBPSA/Controls/OBC/CDL/Reals/MatrixMax.mo new file mode 100644 index 0000000000..973470016f --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/MatrixMax.mo @@ -0,0 +1,64 @@ +within IBPSA.Controls.OBC.CDL.Reals; +block MatrixMax + "Output vector of row- or column-wise maximum of the input matrix" + parameter Boolean rowMax=true + "If true, outputs row-wise maximum, otherwise column-wise"; + parameter Integer nRow(final min=1) + "Number of rows in input matrix"; + parameter Integer nCol(final min=1) + "Number of columns in input matrix"; + IBPSA.Controls.OBC.CDL.Interfaces.RealInput u[nRow, nCol] + "Input for the matrix max function" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealOutput y[ + if rowMax then size(u, 1) else size(u, 2)] + "Output with vector of row- or colum-wise maximum of the input matrix" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +equation + if rowMax then + y={max(u[i,:]) for i in 1:size(u,1)}; + else + y={max(u[:,i]) for i in 1:size(u,2)}; + end if; + annotation ( + defaultComponentName="matMax", + Documentation( + info=" +

+If rowMax = true, this block outputs the row-wise maximum +of the input matrix u, +otherwise it outputs the column-wise maximum of the input matrix u. +

+", + revisions=" + +"), + Icon( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100,-100},{100,100}}), + graphics={ + Rectangle( + extent={{-100,-100},{100,100}}, + lineColor={0,0,127}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Text( + extent={{-150,150},{150,110}}, + textString="%name", + textColor={0,0,255}), + Text( + extent={{-78,-62},{86,68}}, + textColor={0,0,0}, + textString="[ ] max()")}), + Diagram( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100,-100},{100,100}}))); +end MatrixMax; diff --git a/IBPSA/Controls/OBC/CDL/Reals/MatrixMin.mo b/IBPSA/Controls/OBC/CDL/Reals/MatrixMin.mo new file mode 100644 index 0000000000..d7872ec15e --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/MatrixMin.mo @@ -0,0 +1,64 @@ +within IBPSA.Controls.OBC.CDL.Reals; +block MatrixMin + "Output vector of row- or column-wise minimum values" + parameter Boolean rowMin=true + "If true, outputs row-wise minimum, otherwise column-wise"; + parameter Integer nRow(final min=1) + "Number of rows in input matrix"; + parameter Integer nCol(final min=1) + "Number of columns in input matrix"; + IBPSA.Controls.OBC.CDL.Interfaces.RealInput u[nRow, nCol] + "Input for the matrix min function" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealOutput y[ + if rowMin then size(u, 1) else size(u, 2)] + "Output with vector of row- or colum-wise minimum of the input matrix" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +equation + if rowMin then + y={min(u[i,:]) for i in 1:size(u,1)}; + else + y={min(u[:,i]) for i in 1:size(u,2)}; + end if; + annotation ( + defaultComponentName="matMin", + Documentation( + info=" +

+If rowMin = true, this block outputs the row-wise minimum +of the input matrix u, +otherwise it outputs the column-wise minimum of the input matrix u. +

+", + revisions=" + +"), + Icon( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100,-100},{100,100}}), + graphics={ + Rectangle( + extent={{-100,-100},{100,100}}, + lineColor={0,0,127}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Text( + extent={{-150,150},{150,110}}, + textString="%name", + textColor={0,0,255}), + Text( + extent={{-78,-62},{86,68}}, + textColor={0,0,0}, + textString="[ ] min()")}), + Diagram( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100,-100},{100,100}}))); +end MatrixMin; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Max.mo b/IBPSA/Controls/OBC/CDL/Reals/Max.mo new file mode 100644 index 0000000000..f44cdb5d2e --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Max.mo @@ -0,0 +1,63 @@ +within IBPSA.Controls.OBC.CDL.Reals; +block Max + "Pass through the largest signal" + IBPSA.Controls.OBC.CDL.Interfaces.RealInput u1 + "Input to the max function" + annotation (Placement(transformation(extent={{-140,40},{-100,80}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealInput u2 + "Input to the max function" + annotation (Placement(transformation(extent={{-140,-80},{-100,-40}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealOutput y + "Maximum of the inputs" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +equation + y=max(u1, u2); + annotation ( + defaultComponentName="max", + Documentation( + info=" +

+Block that outputs y = max(u1, u2), +where +u1 and u2 are inputs. +

+", + revisions=" + +"), + Icon( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100,-100},{100,100}}), + graphics={ + Rectangle( + extent={{-100,-100},{100,100}}, + lineColor={0,0,127}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Text( + extent={{-150,150},{150,110}}, + textString="%name", + textColor={0,0,255}), + Text( + extent={{-90,36},{90,-36}}, + textColor={160,160,164}, + textString="max()"), + Text( + extent={{226,60},{106,10}}, + textColor={0,0,0}, + textString=DynamicSelect("",String(y, + leftJustified=false, + significantDigits=3)))})); +end Max; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Min.mo b/IBPSA/Controls/OBC/CDL/Reals/Min.mo new file mode 100644 index 0000000000..f31e9164d2 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Min.mo @@ -0,0 +1,63 @@ +within IBPSA.Controls.OBC.CDL.Reals; +block Min + "Pass through the smallest signal" + IBPSA.Controls.OBC.CDL.Interfaces.RealInput u1 + "Input to the min function" + annotation (Placement(transformation(extent={{-140,40},{-100,80}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealInput u2 + "Input to the min function" + annotation (Placement(transformation(extent={{-140,-80},{-100,-40}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealOutput y + "Minimum of the inputs" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +equation + y=min(u1, u2); + annotation ( + defaultComponentName="min", + Documentation( + info=" +

+Block that outputs y = min(u1, u2), +where +u1 and u2 are inputs. +

+", + revisions=" + +"), + Icon( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100,-100},{100,100}}), + graphics={ + Rectangle( + extent={{-100,-100},{100,100}}, + lineColor={0,0,127}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Text( + extent={{-150,150},{150,110}}, + textString="%name", + textColor={0,0,255}), + Text( + extent={{-90,36},{90,-36}}, + textColor={160,160,164}, + textString="min()"), + Text( + extent={{226,60},{106,10}}, + textColor={0,0,0}, + textString=DynamicSelect("",String(y, + leftJustified=false, + significantDigits=3)))})); +end Min; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Modulo.mo b/IBPSA/Controls/OBC/CDL/Reals/Modulo.mo new file mode 100644 index 0000000000..b2d3e0a139 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Modulo.mo @@ -0,0 +1,92 @@ +within IBPSA.Controls.OBC.CDL.Reals; +block Modulo + "Output the remainder of first input divided by second input (~=0)" + IBPSA.Controls.OBC.CDL.Interfaces.RealInput u1 + "Dividend of the modulus function" + annotation (Placement(transformation(extent={{-140,40},{-100,80}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealInput u2 + "Divisor of the modulus function" + annotation (Placement(transformation(extent={{-140,-80},{-100,-40}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealOutput y + "Modulus u1 mod u2" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +equation + y=mod(u1, u2); + annotation ( + defaultComponentName="mod", + Icon( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100,-100},{100,100}}), + graphics={ + Rectangle( + extent={{-100,-100},{100,100}}, + lineColor={0,0,127}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Ellipse( + lineColor={0,0,127}, + extent={{-50,-48},{50,52}}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Text( + textColor={0,0,255}, + extent={{-150,110},{150,150}}, + textString="%name"), + Text( + extent={{-32,-52},{40,-100}}, + textColor={192,192,192}, + textString="mod"), + Line( + points={{-8,16}}, + color={0,0,0}), + Line( + points={{-100,60}}, + color={0,0,0}, + thickness=1), + Line( + points={{-100,60},{-28,60},{-12,50}}, + color={0,0,127}), + Line( + points={{-100,-60},{-26,-60},{-2,-48}}, + color={0,0,127}), + Line( + points={{50,2},{102,2},{100,2}}, + color={0,0,127}), + Ellipse( + fillPattern=FillPattern.Solid, + extent={{11,-18},{21,-8}}), + Line( + points={{-24,-20},{26,24}}), + Ellipse( + fillPattern=FillPattern.Solid, + extent={{-21,12},{-11,22}}), + Text( + extent={{226,60},{106,10}}, + textColor={0,0,0}, + textString=DynamicSelect("",String(y, + leftJustified=false, + significantDigits=3)))}), + Documentation( + info=" +

+Block that outputs y = mod(u1/u2), +where +u1 and u2 are inputs. +

+", + revisions=" + +")); +end Modulo; diff --git a/IBPSA/Controls/OBC/CDL/Reals/MovingAverage.mo b/IBPSA/Controls/OBC/CDL/Reals/MovingAverage.mo new file mode 100644 index 0000000000..47662dc4e7 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/MovingAverage.mo @@ -0,0 +1,185 @@ +within IBPSA.Controls.OBC.CDL.Reals; +block MovingAverage "Block to output moving average" + parameter Real delta( + final quantity="Time", + final unit="s", + min=1E-5) + "Time horizon over which the input is averaged"; + IBPSA.Controls.OBC.CDL.Interfaces.RealInput u + "Input to be averaged" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealOutput y + "Moving average of the input" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +protected + parameter Real tStart( + final quantity="Time", + final unit="s", + fixed=false) + "Start time"; + Real mu + "Internal integrator variable"; + Real muDel + "Internal integrator variable with delay"; + Boolean mode( + start=false, + fixed=true) + "Calculation mode"; + +initial equation + tStart=time; + mu=0; + +equation + u=der(mu); + muDel=delay(mu, delta); + // Compute the mode so that Dymola generates + // time and not state events as it would with + // an if-then construct + when time >= tStart+delta then + mode=true; + end when; + if mode then + y=(mu-muDel)/delta; + else + y=(mu-muDel)/(time-tStart+1E-3); + end if; + annotation ( + defaultComponentName="movAve", + Icon( + graphics={ + Rectangle( + extent={{-100,-100},{100,100}}, + lineColor={0,0,127}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Polygon( + points={{-78,90},{-86,68},{-70,68},{-78,90}}, + lineColor={192,192,192}, + fillColor={192,192,192}, + fillPattern=FillPattern.Solid), + Line( + points={{-78,68},{-78,-80}}, + color={192,192,192}), + Line( + points={{-88,0},{70,0}}, + color={192,192,192}), + Polygon( + points={{92,0},{70,8},{70,-8},{92,0}}, + lineColor={192,192,192}, + fillColor={192,192,192}, + fillPattern=FillPattern.Solid), + Line( + points={{-78,-31},{-64,-31},{-64,-15},{-56,-15},{-56,-63},{-48,-63}, + {-48,-41},{-40,-41},{-40,43},{-32,43},{-32,11},{-32,11},{-32,-49}, + {-22,-49},{-22,-31},{-12,-31},{-12,-59},{-2,-59},{-2,23},{4,23}, + {4,37},{10,37},{10,-19},{20,-19},{20,-7},{26,-7},{26,-37}, + {36,-37},{36,35},{46,35},{46,1},{54,1},{54,-65},{64,-65}}, + color={215,215,215}), + Line( + points={{-78,-24},{68,-24}}), + Text( + extent={{-140,152},{160,112}}, + textString="%name", + textColor={0,0,255}), + Text( + extent={{-42,-63},{41,-106}}, + textColor={192,192,192}, + textString="%delta s"), + Text( + extent={{226,60},{106,10}}, + textColor={0,0,0}, + textString=DynamicSelect("",String(y, + leftJustified=false, + significantDigits=3)))}), + Documentation( + info=" +

+This block outputs the mean value of its input signal as +

+
+      1  t
+y =   -  ∫   u(s) ds
+      δ  t-δ
+
+

+where δ is a parameter that determines the time window over +which the input is averaged. +For + t < δ seconds, it outputs +

+
+           1      t
+y =   --------    ∫   u(s) ds
+      t-t0+10-10   t0
+
+

+where t0 is the initial time. +

+

+This block can for example be used to output the moving +average of a noisy measurement signal. +

+

+See + +IBPSA.Controls.OBC.CDL.Reals.Validation.MovingAverage +and + +IBPSA.Controls.OBC.CDL.Reals.Validation.MovingAverage_nonZeroStart +for example. +

+", +revisions=" + +")); +end MovingAverage; diff --git a/IBPSA/Controls/OBC/CDL/Reals/MultiMax.mo b/IBPSA/Controls/OBC/CDL/Reals/MultiMax.mo new file mode 100644 index 0000000000..de4556fafe --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/MultiMax.mo @@ -0,0 +1,61 @@ +within IBPSA.Controls.OBC.CDL.Reals; +block MultiMax + "Output the maximum element of the input vector" + parameter Integer nin(min=0)=0 + "Number of input signals" + annotation (Dialog(connectorSizing=true),HideResult=true); + IBPSA.Controls.OBC.CDL.Interfaces.RealInput u[nin] + "Input to max function" + annotation (Placement(transformation(extent={{-140,20},{-100,-20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealOutput y + "Largest element of the input vector" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +equation + y=max(u); + annotation ( + defaultComponentName="mulMax", + Icon( + coordinateSystem( + preserveAspectRatio=false, + extent={{-100,-100},{100,100}}), + graphics={ + Rectangle( + extent={{-100,-100},{100,100}}, + lineColor={0,0,127}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Text( + extent={{-150,150},{150,110}}, + textString="%name", + textColor={0,0,255}), + Text( + extent={{-90,36},{90,-36}}, + textColor={160,160,164}, + textString="max()"), + Text( + extent={{226,60},{106,10}}, + textColor={0,0,0}, + textString=DynamicSelect("",String(y, + leftJustified=false, + significantDigits=3)))}), + Documentation( + info=" +

+Outputs the maximum element of the input vector. +

+", + revisions=" + +")); +end MultiMax; diff --git a/IBPSA/Controls/OBC/CDL/Reals/MultiMin.mo b/IBPSA/Controls/OBC/CDL/Reals/MultiMin.mo new file mode 100644 index 0000000000..dbbdf5b1d6 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/MultiMin.mo @@ -0,0 +1,61 @@ +within IBPSA.Controls.OBC.CDL.Reals; +block MultiMin + "Output the minimum element of the input vector" + parameter Integer nin(min=0)=0 + "Number of input signals" + annotation (Dialog(connectorSizing=true),HideResult=true); + IBPSA.Controls.OBC.CDL.Interfaces.RealInput u[nin] + "Input to the min function" + annotation (Placement(transformation(extent={{-140,20},{-100,-20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealOutput y + "Smallest element of the input vector" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +equation + y=min(u); + annotation ( + defaultComponentName="mulMin", + Icon( + coordinateSystem( + preserveAspectRatio=false, + extent={{-100,-100},{100,100}}), + graphics={ + Rectangle( + extent={{-100,-100},{100,100}}, + lineColor={0,0,127}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Text( + extent={{-150,150},{150,110}}, + textString="%name", + textColor={0,0,255}), + Text( + extent={{-90,36},{90,-36}}, + textColor={160,160,164}, + textString="min()"), + Text( + extent={{226,60},{106,10}}, + textColor={0,0,0}, + textString=DynamicSelect("",String(y, + leftJustified=false, + significantDigits=3)))}), + Documentation( + info=" +

+Outputs the minimum element of the input vector. +

+", + revisions=" + +")); +end MultiMin; diff --git a/IBPSA/Controls/OBC/CDL/Reals/MultiSum.mo b/IBPSA/Controls/OBC/CDL/Reals/MultiSum.mo new file mode 100644 index 0000000000..2dc8e08807 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/MultiSum.mo @@ -0,0 +1,94 @@ +within IBPSA.Controls.OBC.CDL.Reals; +block MultiSum + "Sum of Reals, y = k[1]*u[1] + k[2]*u[2] + ... + k[n]*u[n]" + parameter Integer nin(min=0)=0 + "Number of input signals" + annotation (Dialog(connectorSizing=true),HideResult=true); + parameter Real k[nin]=fill(1, nin) + "Input gains"; + IBPSA.Controls.OBC.CDL.Interfaces.RealInput u[nin] + "Input to multiplied by gain and then added" + annotation (Placement(transformation(extent={{-140,20},{-100,-20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealOutput y + "Sum of inputs times gains" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +equation + if size(u, 1) > 0 then + y=k*u; + else + y=0; + end if; + annotation ( + defaultComponentName="mulSum", + Icon( + graphics={ + Rectangle( + extent={{-100,-100},{100,100}}, + lineColor={0,0,127}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Text( + extent={{-200,-110},{200,-140}}, + textColor={0,0,0}, + fillColor={255,213,170}, + fillPattern=FillPattern.Solid, + textString="%k"), + Text( + extent={{-82,90},{82,-46}}, + textColor={0,0,0}, + fillColor={255,213,170}, + fillPattern=FillPattern.Solid, + textString="+"), + Text( + extent={{-144,150},{156,110}}, + textString="%name", + textColor={0,0,255}), + Text( + extent={{226,60},{106,10}}, + textColor={0,0,0}, + textString=DynamicSelect("",String(y, + leftJustified=false, + significantDigits=3)))}), + Documentation( + info=" +

+Block that outputs +

+

+y = ∑i=1n ki   ui, +

+

+where k is a parameter with n elements and u is +an input of the same length. +The dimension of u can be enlarged by +drawing an additional connection line. The connection is automatically connected +to this new free index. +

+ +

+If no connection to the input connector u is present, +the output is y=0. +

+

+See + +IBPSA.Controls.OBC.CDL.Reals.Validation.MultiSum +for an example. +

+", + revisions=" + +")); +end MultiSum; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Multiply.mo b/IBPSA/Controls/OBC/CDL/Reals/Multiply.mo new file mode 100644 index 0000000000..b7e5cfd13c --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Multiply.mo @@ -0,0 +1,83 @@ +within IBPSA.Controls.OBC.CDL.Reals; +block Multiply "Output product of the two inputs" + IBPSA.Controls.OBC.CDL.Interfaces.RealInput u1 + "Input to be multiplied" + annotation (Placement(transformation(extent={{-140,40},{-100,80}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealInput u2 + "Input to be multiplied" + annotation (Placement(transformation(extent={{-140,-80},{-100,-40}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealOutput y + "Product of the inputs" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +equation + y=u1*u2; + annotation ( + defaultComponentName="mul", + Documentation( + info=" +

+Block that outputs y = u1 * u2, +where +u1 and u2 are inputs. +

+", +revisions=" + +"), + Icon( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100,-100},{100,100}}), + graphics={ + Rectangle( + extent={{-100,-100},{100,100}}, + lineColor={0,0,127}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Ellipse( + lineColor={0,0,127}, + extent={{-50,-50},{50,50}}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Line( + points={{-100,60},{-40,60},{-30,40}}, + color={0,0,127}), + Line( + points={{-100,-60},{-40,-60},{-30,-40}}, + color={0,0,127}), + Line( + points={{50,0},{100,0}}, + color={0,0,127}), + Line( + points={{-30,0},{30,0}}), + Line( + points={{-15,25.99},{15,-25.99}}), + Line( + points={{-15,-25.99},{15,25.99}}), + Text( + extent={{-150,150},{150,110}}, + textString="%name", + textColor={0,0,255}), + Text( + extent={{226,60},{106,10}}, + textColor={0,0,0}, + textString=DynamicSelect("",String(y, + leftJustified=false, + significantDigits=3)))})); +end Multiply; diff --git a/IBPSA/Controls/OBC/CDL/Reals/MultiplyByParameter.mo b/IBPSA/Controls/OBC/CDL/Reals/MultiplyByParameter.mo new file mode 100644 index 0000000000..3fadfa265d --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/MultiplyByParameter.mo @@ -0,0 +1,68 @@ +within IBPSA.Controls.OBC.CDL.Reals; +block MultiplyByParameter + "Output the product of a gain value with the input signal" + parameter Real k + "Factor to be multiplied with input signal"; + IBPSA.Controls.OBC.CDL.Interfaces.RealInput u + "Input to be multiplied with gain" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealOutput y + "Product of the parameter times the input" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +equation + y=k*u; + annotation ( + defaultComponentName="gai", + Documentation( + info=" +

+Block that outputs y = k * u, +where +k is a parameter and +u is an input. +

+", +revisions=" + +"), + Icon( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100,-100},{100,100}}), + graphics={ + Polygon( + points={{-100,-100},{-100,100},{100,0},{-100,-100}}, + lineColor={0,0,127}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Text( + extent={{-150,-140},{150,-100}}, + textColor={0,0,0}, + textString="k=%k"), + Text( + extent={{-150,144},{150,104}}, + textString="%name", + textColor={0,0,255}), + Text( + extent={{226,60},{106,10}}, + textColor={0,0,0}, + textString=DynamicSelect("",String(y, + leftJustified=false, + significantDigits=3)))})); +end MultiplyByParameter; diff --git a/IBPSA/Controls/OBC/CDL/Reals/PID.mo b/IBPSA/Controls/OBC/CDL/Reals/PID.mo new file mode 100644 index 0000000000..b223a243f3 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/PID.mo @@ -0,0 +1,604 @@ +within IBPSA.Controls.OBC.CDL.Reals; +block PID + "P, PI, PD, and PID controller" + parameter IBPSA.Controls.OBC.CDL.Types.SimpleController controllerType = + IBPSA.Controls.OBC.CDL.Types.SimpleController.PI + "Type of controller"; + parameter Real k( + min=100*Constants.eps)=1 + "Gain of controller" + annotation (Dialog(group="Control gains")); + parameter Real Ti( + final quantity="Time", + final unit="s", + min=100*Constants.eps)=0.5 + "Time constant of integrator block" + annotation (Dialog(group="Control gains",enable=controllerType == CDL.Types.SimpleController.PI or controllerType == CDL.Types.SimpleController.PID)); + parameter Real Td( + final quantity="Time", + final unit="s", + min=100*Constants.eps)=0.1 + "Time constant of derivative block" + annotation (Dialog(group="Control gains",enable=controllerType == CDL.Types.SimpleController.PD or controllerType == CDL.Types.SimpleController.PID)); + parameter Real r( + min=100*Constants.eps)=1 + "Typical range of control error, used for scaling the control error"; + parameter Real yMax=1 + "Upper limit of output" + annotation (Dialog(group="Limits")); + parameter Real yMin=0 + "Lower limit of output" + annotation (Dialog(group="Limits")); + parameter Real Ni( + min=100*Constants.eps)=0.9 + "Ni*Ti is time constant of anti-windup compensation" + annotation (Dialog(tab="Advanced",group="Integrator anti-windup",enable=controllerType == CDL.Types.SimpleController.PI or controllerType == CDL.Types.SimpleController.PID)); + parameter Real Nd( + min=100*Constants.eps)=10 + "The higher Nd, the more ideal the derivative block" + annotation (Dialog(tab="Advanced",group="Derivative block",enable=controllerType == CDL.Types.SimpleController.PD or controllerType == CDL.Types.SimpleController.PID)); + parameter Real xi_start=0 + "Initial value of integrator state" + annotation (Dialog(tab="Advanced",group="Initialization",enable=controllerType == CDL.Types.SimpleController.PI or controllerType == CDL.Types.SimpleController.PID)); + parameter Real yd_start=0 + "Initial value of derivative output" + annotation (Dialog(tab="Advanced",group="Initialization",enable=controllerType == CDL.Types.SimpleController.PD or controllerType == CDL.Types.SimpleController.PID)); + parameter Boolean reverseActing=true + "Set to true for reverse acting, or false for direct acting control action"; + IBPSA.Controls.OBC.CDL.Interfaces.RealInput u_s + "Setpoint input signal" + annotation (Placement(transformation(extent={{-260,-20},{-220,20}}),iconTransformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealInput u_m + "Measurement input signal" + annotation (Placement(transformation(origin={0,-220},extent={{20,-20},{-20,20}},rotation=270),iconTransformation(extent={{20,-20},{-20,20}},rotation=270,origin={0,-120}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealOutput y + "Actuator output signal" + annotation (Placement(transformation(extent={{220,-20},{260,20}}),iconTransformation(extent={{100,-20},{140,20}}))); + IBPSA.Controls.OBC.CDL.Reals.Subtract controlError "Control error (set point - measurement)" + annotation (Placement(transformation(extent={{-200,-16},{-180,4}}))); + IBPSA.Controls.OBC.CDL.Reals.MultiplyByParameter P(final k=k) + "Gain for proportional control action" + annotation (Placement(transformation(extent={{-50,130},{-30,150}}))); + IBPSA.Controls.OBC.CDL.Reals.IntegratorWithReset I( + final k=k/Ti, + final y_start=xi_start) if with_I + "Integral term" + annotation (Placement(transformation(extent={{-50,-10},{-30,10}}))); + IBPSA.Controls.OBC.CDL.Reals.Derivative D( + final y_start=yd_start) if with_D + "Derivative term" + annotation (Placement(transformation(extent={{-50,60},{-30,80}}))); + IBPSA.Controls.OBC.CDL.Reals.Subtract errP + "P error" + annotation (Placement(transformation(extent={{-140,130},{-120,150}}))); + IBPSA.Controls.OBC.CDL.Reals.Subtract errD if with_D + "D error" + annotation (Placement(transformation(extent={{-140,60},{-120,80}}))); + IBPSA.Controls.OBC.CDL.Reals.Subtract errI1 if with_I + "I error (before anti-windup compensation)" + annotation (Placement(transformation(extent={{-140,-4},{-120,16}}))); + IBPSA.Controls.OBC.CDL.Reals.Subtract errI2 if with_I + "I error (after anti-windup compensation)" + annotation (Placement(transformation(extent={{-100,-10},{-80,10}}))); + IBPSA.Controls.OBC.CDL.Reals.Limiter lim( + final uMax=yMax, + final uMin=yMin) + "Limiter" + annotation (Placement(transformation(extent={{120,80},{140,100}}))); + +protected + final parameter Real revAct= if reverseActing then 1 else -1 + "Switch for sign for reverse or direct acting controller"; + final parameter Boolean with_I = + controllerType == IBPSA.Controls.OBC.CDL.Types.SimpleController.PI or + controllerType == IBPSA.Controls.OBC.CDL.Types.SimpleController.PID + "Boolean flag to enable integral action" + annotation (Evaluate=true,HideResult=true); + final parameter Boolean with_D = + controllerType == IBPSA.Controls.OBC.CDL.Types.SimpleController.PD or + controllerType == IBPSA.Controls.OBC.CDL.Types.SimpleController.PID + "Boolean flag to enable derivative action" + annotation (Evaluate=true,HideResult=true); + Sources.Constant kDer(k=k*Td) if with_D + "Gain for derivative block" + annotation (Placement(transformation(extent={{-100,110},{-80,130}}))); + Sources.Constant TDer(k=Td/Nd) if with_D + "Time constant for approximation in derivative block" + annotation (Placement(transformation(extent={{-100,80},{-80,100}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Constant Dzero(final k=0) + if not with_D + "Zero input signal" + annotation (Evaluate=true,HideResult=true,Placement(transformation(extent={{-50,90}, + {-30,110}}))); + IBPSA.Controls.OBC.CDL.Reals.MultiplyByParameter uS_revAct( + final k=revAct/r) "Set point multiplied by reverse action sign" + annotation (Placement(transformation(extent={{-200,30},{-180,50}}))); + IBPSA.Controls.OBC.CDL.Reals.MultiplyByParameter uMea_revAct( + final k=revAct/r) "Set point multiplied by reverse action sign" + annotation (Placement(transformation(extent={{-200,-50},{-180,-30}}))); + IBPSA.Controls.OBC.CDL.Reals.Add addPD + "Outputs P and D gains added" + annotation (Placement(transformation(extent={{20,124},{40,144}}))); + IBPSA.Controls.OBC.CDL.Reals.Add addPID + "Outputs P, I and D gains added" + annotation (Placement(transformation(extent={{80,80},{100,100}}))); + IBPSA.Controls.OBC.CDL.Reals.Subtract antWinErr if with_I + "Error for anti-windup compensation" + annotation (Placement(transformation(extent={{160,50},{180,70}}))); + IBPSA.Controls.OBC.CDL.Reals.MultiplyByParameter antWinGai(k=1/(k*Ni)) + if with_I "Gain for anti-windup compensation" + annotation (Placement(transformation(extent={{180,-30},{160,-10}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Constant cheYMinMax( + final k=yMin < yMax) + "Check for values of yMin and yMax" + annotation (Placement(transformation(extent={{120,-160},{140,-140}}))); + IBPSA.Controls.OBC.CDL.Utilities.Assert assMesYMinMax( + message="LimPID: Limits must be yMin < yMax") + "Assertion on yMin and yMax" + annotation (Placement(transformation(extent={{160,-160},{180,-140}}))); + + IBPSA.Controls.OBC.CDL.Reals.Sources.Constant Izero(final k=0) + if not with_I + "Zero input signal" + annotation (Placement(transformation(extent={{-50,20},{-30,40}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Constant con(final k=0) + if with_I + "Constant zero" + annotation (Placement(transformation(extent={{-100,-50},{-80,-30}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Constant con1(final k=false) + if with_I + "Constant false" + annotation (Placement(transformation(extent={{-100,-90},{-80,-70}}))); + +equation + connect(u_s,uS_revAct.u) + annotation (Line(points={{-240,0},{-210,0},{-210,40},{-202,40}},color={0,0,127})); + connect(u_m,uMea_revAct.u) + annotation (Line(points={{0,-220},{0,-160},{-210,-160},{-210,-40},{-202,-40}},color={0,0,127})); + connect(D.u,errD.y) + annotation (Line(points={{-52,70},{-118,70}}, + color={0,0,127})); + connect(errI1.u1,uS_revAct.y) + annotation (Line(points={{-142,12},{-170,12},{-170,40},{-178,40}}, + color={0,0,127})); + connect(addPID.u1,addPD.y) + annotation (Line(points={{78,96},{50,96},{50,134},{42,134}},color={0,0,127})); + connect(lim.y,y) + annotation (Line(points={{142,90},{200,90},{200,0},{240,0}},color={0,0,127})); + connect(antWinErr.y,antWinGai.u) + annotation (Line(points={{182,60},{190,60},{190,-20},{182,-20}},color={0,0,127})); + connect(addPD.u2,Dzero.y) + annotation (Line(points={{18,128},{-10,128},{-10,100},{-28,100}},color={0,0,127})); + connect(D.y,addPD.u2) + annotation (Line(points={{-28,70},{-10,70},{-10,128},{18,128}},color={0,0,127})); + connect(addPID.u2,I.y) + annotation (Line(points={{78,84},{60,84},{60,0},{-28,0}},color={0,0,127})); + connect(antWinErr.u2,lim.y) + annotation (Line(points={{158,54},{150,54},{150,90},{142,90}}, color={0,0,127})); + connect(I.u,errI2.y) + annotation (Line(points={{-52,0},{-78,0}},color={0,0,127})); + connect(errI1.y,errI2.u1) + annotation (Line(points={{-118,6},{-102,6}}, + color={0,0,127})); + connect(cheYMinMax.y,assMesYMinMax.u) + annotation (Line(points={{142,-150},{158,-150}},color={255,0,255})); + connect(Izero.y,addPID.u2) + annotation (Line(points={{-28,30},{60,30},{60,84},{78,84}}, + color={0,0,127})); + connect(con.y,I.y_reset_in) + annotation (Line(points={{-78,-40},{-60,-40},{-60,-8},{-52,-8}},color={0,0,127})); + connect(con1.y,I.trigger) + annotation (Line(points={{-78,-80},{-40,-80},{-40,-12}},color={255,0,255})); + connect(uS_revAct.y,errP.u1) + annotation (Line(points={{-178,40},{-170,40},{-170,146},{-142,146}},color={0,0,127})); + connect(errD.u1,uS_revAct.y) + annotation (Line(points={{-142,76},{-170,76},{-170,40},{-178,40}},color={0,0,127})); + connect(addPD.u1, P.y) + annotation (Line(points={{18,140},{-28,140}}, color={0,0,127})); + connect(P.u, errP.y) + annotation (Line(points={{-52,140},{-118,140}},color={0,0,127})); + connect(addPID.y, lim.u) + annotation (Line(points={{102,90},{118,90}},color={0,0,127})); + connect(addPID.y, antWinErr.u1) annotation (Line(points={{102,90},{114,90},{ + 114,66},{158,66}}, + color={0,0,127})); + connect(u_s, controlError.u1) annotation (Line(points={{-240,0},{-202,0}}, + color={0,0,127})); + connect(u_m, controlError.u2) annotation (Line(points={{0,-220},{0,-160},{ + -210,-160},{-210,-12},{-202,-12}}, + color={0,0,127})); + connect(uMea_revAct.y, errP.u2) annotation (Line(points={{-178,-40},{-150,-40}, + {-150,134},{-142,134}}, color={0,0,127})); + connect(uMea_revAct.y, errD.u2) annotation (Line(points={{-178,-40},{-150,-40}, + {-150,64},{-142,64}}, color={0,0,127})); + connect(uMea_revAct.y, errI1.u2) annotation (Line(points={{-178,-40},{-150, + -40},{-150,0},{-142,0}}, color={0,0,127})); + connect(antWinGai.y, errI2.u2) annotation (Line(points={{158,-20},{-110,-20}, + {-110,-6},{-102,-6}},color={0,0,127})); + connect(kDer.y, D.k) annotation (Line(points={{-78,120},{-58,120},{-58,78},{ + -52,78}}, color={0,0,127})); + connect(TDer.y, D.T) annotation (Line(points={{-78,90},{-60,90},{-60,74},{-52, + 74}}, color={0,0,127})); + annotation ( + defaultComponentName="conPID", + Icon( + coordinateSystem( + extent={{-100,-100},{100,100}}), + graphics={ + Rectangle( + extent={{-100,-100},{100,100}}, + lineColor={0,0,127}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Rectangle( + extent={{-6,-20},{66,-66}}, + lineColor={255,255,255}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Text( + visible=(controllerType == IBPSA.Controls.OBC.CDL.Types.SimpleController.P), + extent={{-32,-22},{68,-62}}, + textColor={0,0,0}, + textString="P", + fillPattern=FillPattern.Solid, + fillColor={175,175,175}), + Text( + visible=(controllerType == IBPSA.Controls.OBC.CDL.Types.SimpleController.PI), + extent={{-26,-22},{74,-62}}, + textColor={0,0,0}, + textString="PI", + fillPattern=FillPattern.Solid, + fillColor={175,175,175}), + Text( + visible=(controllerType == IBPSA.Controls.OBC.CDL.Types.SimpleController.PD), + extent={{-16,-22},{88,-62}}, + textColor={0,0,0}, + fillPattern=FillPattern.Solid, + fillColor={175,175,175}, + textString="P D"), + Text( + visible=(controllerType == IBPSA.Controls.OBC.CDL.Types.SimpleController.PID), + extent={{-14,-22},{86,-62}}, + textColor={0,0,0}, + textString="PID", + fillPattern=FillPattern.Solid, + fillColor={175,175,175}), + Polygon( + points={{-80,82},{-88,60},{-72,60},{-80,82}}, + lineColor={192,192,192}, + fillColor={192,192,192}, + fillPattern=FillPattern.Solid), + Line( + points={{-80,68},{-80,-100}}, + color={192,192,192}), + Line( + points={{-90,-80},{70,-80}}, + color={192,192,192}), + Polygon( + points={{74,-80},{52,-72},{52,-88},{74,-80}}, + lineColor={192,192,192}, + fillColor={192,192,192}, + fillPattern=FillPattern.Solid), + Text( + extent={{-150,150},{150,110}}, + textString="%name", + textColor={0,0,255}), + Line( + points={{-80,-80},{-80,-22}}, + color={0,0,0}), + Line( + points={{-80,-22},{6,56}}, + color={0,0,0}), + Line( + points={{6,56},{68,56}}, + color={0,0,0}), + Rectangle( + extent=DynamicSelect({{100,-100},{84,-100}},{{100,-100},{84,-100+(y-yMin)/(yMax-yMin)*200}}), + fillColor={175,175,175}, + fillPattern=FillPattern.Solid, + pattern=LinePattern.None, + lineColor={0,0,0})}), + Diagram( + coordinateSystem( + extent={{-220,-200},{220,200}}), graphics={Rectangle( + extent={{-56,180},{-24,-16}}, + fillColor={215,215,215}, + fillPattern=FillPattern.Solid, + pattern=LinePattern.None), Text( + extent={{-52,184},{-28,156}}, + pattern=LinePattern.None, + fillColor={215,215,215}, + fillPattern=FillPattern.Solid, + textColor={0,0,0}, + textString="PID")}), + Documentation( + info=" +

+PID controller in the standard form +

+

+yu = k/r   (e(t) + 1 ⁄ Ti   ∫ e(τ) dτ + Td d⁄dt e(t)), +

+

+where +yu is the control signal before output limitation, +e(t) = us(t) - um(t) is the control error, +with us being the set point and um being +the measured quantity, +k is the gain, +Ti is the time constant of the integral term, +Td is the time constant of the derivative term, +and +r is a scaling factor, with default r=1. +The scaling factor should be set to the typical order of magnitude of the range of the error e. +For example, you may set r=100 to r=1000 +if the control input is a pressure of a heating water circulation pump in units of Pascal, or +leave r=1 if the control input is a room temperature. +

+

+Note that the units of k are the inverse of the units of the control error, +while the units of Ti and Td are seconds. +

+

+The actual control output is +

+

+y = min( ymax, max( ymin, y)), +

+

+where ymin and ymax are limits for the control signal. +

+

P, PI, PD, or PID action

+

+Through the parameter controllerType, the controller can be configured +as P, PI, PD or PID controller. The default configuration is PI. +

+

Reverse or direct action

+

+Through the parameter reverseActing, the controller can be configured to +be reverse or direct acting. +The above standard form is reverse acting, which is the default configuration. +For a reverse acting controller, for a constant set point, +an increase in measurement signal u_m decreases the control output signal y +(Montgomery and McDowall, 2008). +Thus, +

+ +

+If reverseAction=false, then the error e above is multiplied by -1. +

+

Anti-windup compensation

+

+The controller anti-windup compensation is as follows: +Instead of the above basic control law, the implementation is +

+

+yu = k   (e(t) ⁄ r + 1 ⁄ Ti   ∫ (-Δy + e(τ) ⁄ r) dτ + Td ⁄ r d⁄dt e(t)), +

+

+where the anti-windup compensation Δy is +

+

+Δy = (yu - y) ⁄ (k Ni), +

+

+where +Ni > 0 is the time constant for the anti-windup compensation. +To accelerate the anti-windup, decrease Ni. +

+

+Note that the anti-windup term (-Δy + e(τ) ⁄ r) shows that the range of +the typical control error r should be set to a reasonable value so that +

+

+e(τ) ⁄ r = (us(τ) - um(τ)) ⁄ r +

+

+has order of magnitude one, and hence the anti-windup compensation should work well. +

+

Reset of the controller output

+

+Note that this controller implements an integrator anti-windup. Therefore, +for most applications, the controller output does not need to be reset. +However, if the controller is used in conjuction with equipment that is being +switched on, better control performance may be achieved by resetting the controller +output when the equipment is switched on. This is in particular the case in situations +where the equipment control input should continuously increase as the equipment is +switched on, such as a light dimmer that may slowly increase the luminance, or +a variable speed drive of a motor that should continuously increase the speed. In +this case, the controller + +IBPSA.Controls.OBC.CDL.Reals.PIDWithReset +that can reset the output should be used. +

+

Approximation of the derivative term

+

+The derivative of the control error d ⁄ dt e(t) is approximated using +

+

+d⁄dt x(t) = (e(t)-x(t)) Nd ⁄ Td, +

+

+and +

+

+d⁄dt e(t) ≈ Nd (e(t)-x(t)), +

+

+where x(t) is an internal state. +

+

Guidance for tuning the control gains

+

+The parameters of the controller can be manually adjusted by performing +closed loop tests (= controller + plant connected +together) and using the following strategy: +

+
    +
  1. Set very large limits, e.g., set ymax = 1000. +
  2. +
  3. +Select a P-controller and manually enlarge the parameter k +(the total gain of the controller) until the closed-loop response +cannot be improved any more. +
  4. +
  5. +Select a PI-controller and manually adjust the parameters +k and Ti (the time constant of the integrator). +The first value of Ti can be selected such that it is in the +order of the time constant of the oscillations occurring with +the P-controller. If, e.g., oscillations in the order of 100 seconds +occur in the previous step, start with Ti=1/100 seconds. +
  6. +
  7. +If you want to make the reaction of the control loop faster +(but probably less robust against disturbances and measurement noise) +select a PID-controller and manually adjust parameters +k, Ti, Td (time constant of derivative block). +
  8. +
  9. +Set the limits yMax and yMin according to your specification. +
  10. +
  11. +Perform simulations such that the output of the PID controller +goes in its limits. Tune Ni (Ni Ti is the time constant of +the anti-windup compensation) such that the input to the limiter +block (= lim.u) goes quickly enough back to its limits. +If Ni is decreased, this happens faster. If Ni is very large, the +anti-windup compensation is not effective and the controller works bad. +
  12. +
+

References

+

+R. Montgomery and R. McDowall (2008). +\"Fundamentals of HVAC Control Systems.\" +American Society of Heating Refrigerating and Air-Conditioning Engineers Inc. Atlanta, GA. +

+", + revisions=" + +")); +end PID; diff --git a/IBPSA/Controls/OBC/CDL/Reals/PIDWithReset.mo b/IBPSA/Controls/OBC/CDL/Reals/PIDWithReset.mo new file mode 100644 index 0000000000..9c2f75b7c0 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/PIDWithReset.mo @@ -0,0 +1,616 @@ +within IBPSA.Controls.OBC.CDL.Reals; +block PIDWithReset + "P, PI, PD, and PID controller with output reset" + parameter IBPSA.Controls.OBC.CDL.Types.SimpleController controllerType = + IBPSA.Controls.OBC.CDL.Types.SimpleController.PI + "Type of controller"; + parameter Real k(min=100*Constants.eps)=1 + "Gain of controller" + annotation (Dialog(group="Control gains")); + parameter Real Ti( + final quantity="Time", + final unit="s", + min=100*Constants.eps)=0.5 + "Time constant of integrator block" + annotation (Dialog(group="Control gains",enable=controllerType == CDL.Types.SimpleController.PI or controllerType == CDL.Types.SimpleController.PID)); + parameter Real Td( + final quantity="Time", + final unit="s", + min=100*Constants.eps)=0.1 + "Time constant of derivative block" + annotation (Dialog(group="Control gains",enable=controllerType == CDL.Types.SimpleController.PD or controllerType == CDL.Types.SimpleController.PID)); + parameter Real r(min=100*Constants.eps)=1 + "Typical range of control error, used for scaling the control error"; + parameter Real yMax=1 + "Upper limit of output" + annotation (Dialog(group="Limits")); + parameter Real yMin=0 + "Lower limit of output" + annotation (Dialog(group="Limits")); + parameter Real Ni( + min=100*Constants.eps)=0.9 + "Ni*Ti is time constant of anti-windup compensation" + annotation (Dialog(tab="Advanced",group="Integrator anti-windup",enable=controllerType == CDL.Types.SimpleController.PI or controllerType == CDL.Types.SimpleController.PID)); + parameter Real Nd( + min=100*Constants.eps)=10 + "The higher Nd, the more ideal the derivative block" + annotation (Dialog(tab="Advanced",group="Derivative block",enable=controllerType == CDL.Types.SimpleController.PD or controllerType == CDL.Types.SimpleController.PID)); + parameter Real xi_start=0 + "Initial value of integrator state" + annotation (Dialog(tab="Advanced",group="Initialization",enable=controllerType == CDL.Types.SimpleController.PI or controllerType == CDL.Types.SimpleController.PID)); + parameter Real yd_start=0 + "Initial value of derivative output" + annotation (Dialog(tab="Advanced",group="Initialization",enable=controllerType == CDL.Types.SimpleController.PD or controllerType == CDL.Types.SimpleController.PID)); + parameter Boolean reverseActing=true + "Set to true for reverse acting, or false for direct acting control action"; + parameter Real y_reset=xi_start + "Value to which the controller output is reset if the boolean trigger has a rising edge" + annotation (Dialog(enable=controllerType == CDL.Types.SimpleController.PI or controllerType == CDL.Types.SimpleController.PID,group="Integrator reset")); + IBPSA.Controls.OBC.CDL.Interfaces.RealInput u_s + "Connector of setpoint input signal" + annotation (Placement(transformation(extent={{-260,-20},{-220,20}}),iconTransformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealInput u_m + "Connector of measurement input signal" + annotation (Placement(transformation(origin={0,-220},extent={{20,-20},{-20,20}},rotation=270),iconTransformation(extent={{20,-20},{-20,20}},rotation=270,origin={0,-120}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealOutput y + "Connector of actuator output signal" + annotation (Placement(transformation(extent={{220,-20},{260,20}}),iconTransformation(extent={{100,-20},{140,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.BooleanInput trigger + "Resets the controller output when trigger becomes true" + annotation (Placement(transformation(extent={{-20,-20},{20,20}},rotation=90,origin={-160,-220}),iconTransformation(extent={{-20,-20},{20,20}},rotation=90,origin={-60,-120}))); + IBPSA.Controls.OBC.CDL.Reals.Subtract controlError + "Control error (set point - measurement)" + annotation (Placement(transformation(extent={{-200,-16},{-180,4}}))); + IBPSA.Controls.OBC.CDL.Reals.MultiplyByParameter P(final k=k) + "Proportional action" + annotation (Placement(transformation(extent={{-50,130},{-30,150}}))); + IBPSA.Controls.OBC.CDL.Reals.IntegratorWithReset I( + final k=k/Ti, + final y_start=xi_start) if with_I + "Integral term" + annotation (Placement(transformation(extent={{-50,-10},{-30,10}}))); + IBPSA.Controls.OBC.CDL.Reals.Derivative D( + final y_start=yd_start) if with_D + "Derivative term" + annotation (Placement(transformation(extent={{-50,60},{-30,80}}))); + IBPSA.Controls.OBC.CDL.Reals.Subtract errP + "P error" + annotation (Placement(transformation(extent={{-140,130},{-120,150}}))); + IBPSA.Controls.OBC.CDL.Reals.Subtract errD if with_D + "D error" + annotation (Placement(transformation(extent={{-140,60},{-120,80}}))); + IBPSA.Controls.OBC.CDL.Reals.Subtract errI1 if with_I + "I error (before anti-windup compensation)" + annotation (Placement(transformation(extent={{-140,-4},{-120,16}}))); + IBPSA.Controls.OBC.CDL.Reals.Subtract errI2 if with_I + "I error (after anti-windup compensation)" + annotation (Placement(transformation(extent={{-100,-10},{-80,10}}))); + IBPSA.Controls.OBC.CDL.Reals.Limiter lim( + final uMax=yMax, + final uMin=yMin) + "Limiter" + annotation (Placement(transformation(extent={{120,80},{140,100}}))); +protected + final parameter Real revAct= if reverseActing then 1 else -1 + "Switch for sign for reverse or direct acting controller"; + final parameter Boolean with_I = + controllerType == IBPSA.Controls.OBC.CDL.Types.SimpleController.PI or + controllerType == IBPSA.Controls.OBC.CDL.Types.SimpleController.PID + "Boolean flag to enable integral action" + annotation (Evaluate=true,HideResult=true); + final parameter Boolean with_D = + controllerType == IBPSA.Controls.OBC.CDL.Types.SimpleController.PD or + controllerType == IBPSA.Controls.OBC.CDL.Types.SimpleController.PID + "Boolean flag to enable derivative action" + annotation (Evaluate=true,HideResult=true); + Sources.Constant kDer(k=k*Td) if with_D + "Gain for derivative block" + annotation (Placement(transformation(extent={{-100,110},{-80,130}}))); + Sources.Constant TDer(k=Td/Nd) if with_D + "Time constant for approximation in derivative block" + annotation (Placement(transformation(extent={{-100,80},{-80,100}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Constant Dzero( + final k=0) if not with_D + "Zero input signal" + annotation (Evaluate=true,HideResult=true,Placement(transformation(extent={{-50,90}, + {-30,110}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Constant Izero( + final k=0) if not with_I + "Zero input signal" + annotation (Placement(transformation(extent={{-50,20},{-30,40}}))); + IBPSA.Controls.OBC.CDL.Reals.MultiplyByParameter uS_revAct( + final k=revAct/r) + "Set point multiplied by reverse action sign" + annotation (Placement(transformation(extent={{-200,30},{-180,50}}))); + IBPSA.Controls.OBC.CDL.Reals.MultiplyByParameter uMea_revAct( + final k=revAct/r) + "Set point multiplied by reverse action sign" + annotation (Placement(transformation(extent={{-200,-50},{-180,-30}}))); + IBPSA.Controls.OBC.CDL.Reals.Add addPD + "Outputs P and D gains added" + annotation (Placement(transformation(extent={{20,124},{40,144}}))); + IBPSA.Controls.OBC.CDL.Reals.Add addPID + "Outputs P, I and D gains added" + annotation (Placement(transformation(extent={{80,80},{100,100}}))); + IBPSA.Controls.OBC.CDL.Reals.Subtract antWinErr if with_I + "Error for anti-windup compensation" + annotation (Placement(transformation(extent={{160,50},{180,70}}))); + IBPSA.Controls.OBC.CDL.Reals.MultiplyByParameter antWinGai( + k=1/(k*Ni)) if with_I + "Gain for anti-windup compensation" + annotation (Placement(transformation(extent={{180,-30},{160,-10}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Constant yResSig( + final k=y_reset) if with_I + "Signal for y_reset" + annotation (Placement(transformation(extent={{-140,-84},{-120,-64}}))); + IBPSA.Controls.OBC.CDL.Reals.Subtract addRes if with_I + "Adder for integrator reset" + annotation (Placement(transformation(extent={{-100,-90},{-80,-70}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Constant cheYMinMax( + final k=yMin < yMax) + "Check for values of yMin and yMax" + annotation (Placement(transformation(extent={{120,-160},{140,-140}}))); + IBPSA.Controls.OBC.CDL.Utilities.Assert assMesYMinMax( + message="LimPID: Limits must be yMin < yMax") + "Assertion on yMin and yMax" + annotation (Placement(transformation(extent={{160,-160},{180,-140}}))); + +equation + connect(trigger,I.trigger) + annotation (Line(points={{-160,-220},{-160,-140},{-40,-140},{-40,-12}},color={255,0,255})); + connect(u_s,uS_revAct.u) + annotation (Line(points={{-240,0},{-210,0},{-210,40},{-202,40}},color={0,0,127})); + connect(u_m,uMea_revAct.u) + annotation (Line(points={{0,-220},{0,-160},{-210,-160},{-210,-40},{-202,-40}},color={0,0,127})); + connect(errD.u2,uMea_revAct.y) + annotation (Line(points={{-142,64},{-150,64},{-150,-40},{-178,-40}}, color={0,0,127})); + connect(D.u,errD.y) + annotation (Line(points={{-52,70},{-118,70}}, color={0,0,127})); + connect(errI1.u1,uS_revAct.y) + annotation (Line(points={{-142,12},{-170,12},{-170,40},{-178,40}}, + color={0,0,127})); + connect(addPID.u1,addPD.y) + annotation (Line(points={{78,96},{50,96},{50,134},{42,134}},color={0,0,127})); + connect(lim.y,y) + annotation (Line(points={{142,90},{200,90},{200,0},{240,0}},color={0,0,127})); + connect(antWinErr.y,antWinGai.u) + annotation (Line(points={{182,60},{190,60},{190,-20},{182,-20}},color={0,0,127})); + connect(addPD.u2,Dzero.y) + annotation (Line(points={{18,128},{-10,128},{-10,100},{-28,100}}, + color={0,0,127})); + connect(D.y,addPD.u2) + annotation (Line(points={{-28,70},{-10,70},{-10,128},{18,128}},color={0,0,127})); + connect(addPID.u2,I.y) + annotation (Line(points={{78,84},{60,84},{60,0},{-28,0}},color={0,0,127})); + connect(addRes.y,I.y_reset_in) + annotation (Line(points={{-78,-80},{-60,-80},{-60,-8},{-52,-8}},color={0,0,127})); + connect(antWinErr.u2,lim.y) + annotation (Line(points={{158,54},{150,54},{150,90},{142,90}}, color={0,0,127})); + connect(I.u,errI2.y) + annotation (Line(points={{-52,0},{-78,0}},color={0,0,127})); + connect(errI1.y,errI2.u1) + annotation (Line(points={{-118,6},{-102,6}}, color={0,0,127})); + connect(controlError.u1,u_s) + annotation (Line(points={{-202,0},{-240,0}}, color={0,0,127})); + connect(cheYMinMax.y,assMesYMinMax.u) + annotation (Line(points={{142,-150},{158,-150}},color={255,0,255})); + connect(Izero.y,addPID.u2) + annotation (Line(points={{-28,30},{60,30},{60,84},{78,84}}, + color={0,0,127})); + connect(errP.u1,uS_revAct.y) + annotation (Line(points={{-142,146},{-170,146},{-170,40},{-178,40}},color={0,0,127})); + connect(errD.u1,uS_revAct.y) + annotation (Line(points={{-142,76},{-170,76},{-170,40},{-178,40}},color={0,0,127})); + connect(addPD.u1, P.y) + annotation (Line(points={{18,140},{-28,140}}, color={0,0,127})); + connect(P.u, errP.y) + annotation (Line(points={{-52,140},{-118,140}},color={0,0,127})); + connect(addPID.y, lim.u) + annotation (Line(points={{102,90},{118,90}},color={0,0,127})); + connect(addPID.y, antWinErr.u1) annotation (Line(points={{102,90},{114,90},{ + 114,66},{158,66}}, color={0,0,127})); + connect(addRes.u1, yResSig.y) + annotation (Line(points={{-102,-74},{-118,-74}}, color={0,0,127})); + connect(u_m, controlError.u2) annotation (Line(points={{0,-220},{0,-160},{ + -210,-160},{-210,-12},{-202,-12}}, + color={0,0,127})); + connect(uMea_revAct.y, errP.u2) annotation (Line(points={{-178,-40},{-150,-40}, + {-150,134},{-142,134}}, color={0,0,127})); + connect(uMea_revAct.y, errI1.u2) annotation (Line(points={{-178,-40},{-150, + -40},{-150,0},{-142,0}}, + color={0,0,127})); + connect(antWinGai.y, errI2.u2) annotation (Line(points={{158,-20},{-110,-20}, + {-110,-6},{-102,-6}}, + color={0,0,127})); + connect(addPD.y, addRes.u2) annotation (Line(points={{42,134},{50,134},{50, + -100},{-110,-100},{-110,-86},{-102,-86}}, + color={0,0,127})); + connect(kDer.y, D.k) annotation (Line(points={{-78,120},{-58,120},{-58,78},{ + -52,78}}, color={0,0,127})); + connect(TDer.y, D.T) annotation (Line(points={{-78,90},{-60,90},{-60,74},{-52, + 74}}, color={0,0,127})); + + annotation ( + defaultComponentName="conPID", + Icon( + coordinateSystem( + extent={{-100,-100},{100,100}}), + graphics={ + Rectangle( + extent={{-100,-100},{100,100}}, + lineColor={0,0,127}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Rectangle( + extent={{-6,-20},{66,-66}}, + lineColor={255,255,255}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Text( + visible=(controllerType == IBPSA.Controls.OBC.CDL.Types.SimpleController.P), + extent={{-32,-22},{68,-62}}, + textColor={0,0,0}, + textString="P", + fillPattern=FillPattern.Solid, + fillColor={175,175,175}), + Text( + visible=(controllerType == IBPSA.Controls.OBC.CDL.Types.SimpleController.PI), + extent={{-26,-22},{74,-62}}, + textColor={0,0,0}, + textString="PI", + fillPattern=FillPattern.Solid, + fillColor={175,175,175}), + Text( + visible=(controllerType == IBPSA.Controls.OBC.CDL.Types.SimpleController.PD), + extent={{-16,-22},{88,-62}}, + textColor={0,0,0}, + fillPattern=FillPattern.Solid, + fillColor={175,175,175}, + textString="P D"), + Text( + visible=(controllerType == IBPSA.Controls.OBC.CDL.Types.SimpleController.PID), + extent={{-14,-22},{86,-62}}, + textColor={0,0,0}, + textString="PID", + fillPattern=FillPattern.Solid, + fillColor={175,175,175}), + Polygon( + points={{-80,82},{-88,60},{-72,60},{-80,82}}, + lineColor={192,192,192}, + fillColor={192,192,192}, + fillPattern=FillPattern.Solid), + Line( + points={{-80,68},{-80,-100}}, + color={192,192,192}), + Line( + points={{-90,-80},{70,-80}}, + color={192,192,192}), + Polygon( + points={{74,-80},{52,-72},{52,-88},{74,-80}}, + lineColor={192,192,192}, + fillColor={192,192,192}, + fillPattern=FillPattern.Solid), + Text( + extent={{-150,150},{150,110}}, + textString="%name", + textColor={0,0,255}), + Line( + points={{-80,-80},{-80,-22}}, + color={0,0,0}), + Line( + points={{-80,-22},{6,56}}, + color={0,0,0}), + Line( + points={{6,56},{68,56}}, + color={0,0,0}), + Rectangle( + extent=DynamicSelect({{100,-100},{84,-100}},{{100,-100},{84,-100+(y-yMin)/(yMax-yMin)*200}}), + fillColor={175,175,175}, + fillPattern=FillPattern.Solid, + pattern=LinePattern.None, + lineColor={0,0,0})}), + Diagram( + coordinateSystem( + extent={{-220,-200},{220,200}}), graphics={Rectangle( + extent={{-56,180},{-24,-16}}, + fillColor={215,215,215}, + fillPattern=FillPattern.Solid, + pattern=LinePattern.None), Text( + extent={{-52,184},{-28,156}}, + pattern=LinePattern.None, + fillColor={215,215,215}, + fillPattern=FillPattern.Solid, + textColor={0,0,0}, + textString="PID")}), + Documentation( + info=" +

+PID controller in the standard form +

+

+yu = k/r   (e(t) + 1 ⁄ Ti   ∫ e(τ) dτ + Td d⁄dt e(t)), +

+

+with output reset, +where +yu is the control signal before output limitation, +e(t) = us(t) - um(t) is the control error, +with us being the set point and um being +the measured quantity, +k is the gain, +Ti is the time constant of the integral term, +Td is the time constant of the derivative term, +and +r is a scaling factor, with default r=1. +The scaling factor should be set to the typical order of magnitude of the range of the error e. +For example, you may set r=100 to r=1000 +if the control input is a pressure of a heating water circulation pump in units of Pascal, or +leave r=1 if the control input is a room temperature. +

+

+Note that the units of k are the inverse of the units of the control error, +while the units of Ti and Td are seconds. +

+

+The actual control output is +

+

+y = min( ymax, max( ymin, y)), +

+

+where ymin and ymax are limits for the control signal. +

+

P, PI, PD, or PID action

+

+Through the parameter controllerType, the controller can be configured +as P, PI, PD or PID controller. The default configuration is PI. +

+

Reverse or direct action

+

+Through the parameter reverseActing, the controller can be configured to +be reverse or direct acting. +The above standard form is reverse acting, which is the default configuration. +For a reverse acting controller, for a constant set point, +an increase in measurement signal u_m decreases the control output signal y +(Montgomery and McDowall, 2008). +Thus, +

+ +

+If reverseAction=false, then the error e above is multiplied by -1. +

+

Anti-windup compensation

+

+The controller anti-windup compensation is as follows: +Instead of the above basic control law, the implementation is +

+

+yu = k   (e(t) ⁄ r + 1 ⁄ Ti   ∫ (-Δy + e(τ) ⁄ r) dτ + Td ⁄ r d⁄dt e(t)), +

+

+where the anti-windup compensation Δy is +

+

+Δy = (yu - y) ⁄ (k Ni), +

+

+where +Ni > 0 is the time constant for the anti-windup compensation. +To accelerate the anti-windup, decrease Ni. +

+

+Note that the anti-windup term (-Δy + e(τ) ⁄ r) shows that the range of +the typical control error r should be set to a reasonable value so that +

+

+e(τ) ⁄ r = (us(τ) - um(τ)) ⁄ r +

+

+has order of magnitude one, and hence the anti-windup compensation should work well. +

+

Reset of the controller output

+

+Whenever the value of boolean input signal trigger changes from +false to true, the controller output is reset by setting +y to the value of the parameter y_reset. +

+

Approximation of the derivative term

+

+The derivative of the control error d ⁄ dt e(t) is approximated using +

+

+d⁄dt x(t) = (e(t)-x(t)) Nd ⁄ Td, +

+

+and +

+

+d⁄dt e(t) ≈ Nd (e(t)-x(t)), +

+

+where x(t) is an internal state. +

+

Guidance for tuning the control gains

+

+The parameters of the controller can be manually adjusted by performing +closed loop tests (= controller + plant connected +together) and using the following strategy: +

+
    +
  1. Set very large limits, e.g., set ymax = 1000. +
  2. +
  3. +Select a P-controller and manually enlarge the parameter k +(the total gain of the controller) until the closed-loop response +cannot be improved any more. +
  4. +
  5. +Select a PI-controller and manually adjust the parameters +k and Ti (the time constant of the integrator). +The first value of Ti can be selected such that it is in the +order of the time constant of the oscillations occurring with +the P-controller. If, e.g., oscillations in the order of 100 seconds +occur in the previous step, start with Ti=1/100 seconds. +
  6. +
  7. +If you want to make the reaction of the control loop faster +(but probably less robust against disturbances and measurement noise) +select a PID-controller and manually adjust parameters +k, Ti, Td (time constant of derivative block). +
  8. +
  9. +Set the limits yMax and yMin according to your specification. +
  10. +
  11. +Perform simulations such that the output of the PID controller +goes in its limits. Tune Ni (Ni Ti is the time constant of +the anti-windup compensation) such that the input to the limiter +block (= lim.u) goes quickly enough back to its limits. +If Ni is decreased, this happens faster. If Ni is very large, the +anti-windup compensation is not effective and the controller works bad. +
  12. +
+

References

+

+R. Montgomery and R. McDowall (2008). +\"Fundamentals of HVAC Control Systems.\" +American Society of Heating Refrigerating and Air-Conditioning Engineers Inc. Atlanta, GA. +

+", + revisions=" + +")); +end PIDWithReset; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Ramp.mo b/IBPSA/Controls/OBC/CDL/Reals/Ramp.mo new file mode 100644 index 0000000000..4476f73cb5 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Ramp.mo @@ -0,0 +1,142 @@ +within IBPSA.Controls.OBC.CDL.Reals; +block Ramp "Limit the changing rate of the input" + + parameter Real raisingSlewRate( + min=Constants.small, + unit="1/s") + "Maximum speed with which to increase the output"; + parameter Real fallingSlewRate( + max=-Constants.small, + unit="1/s")=-raisingSlewRate + "Maximum speed with which to decrease the output"; + parameter Real Td( + final quantity="Time", + final unit="s", + min=Constants.eps)=raisingSlewRate*0.001 + "Derivative time constant"; + + IBPSA.Controls.OBC.CDL.Interfaces.RealInput u + "Input that is being rate limited" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.BooleanInput active + "Set to true to enable rate limiter" + annotation (Placement(transformation(extent={{-140,-100},{-100,-60}}), + iconTransformation(extent={{-140,-100},{-100,-60}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealOutput y + "Rate limited output if active is true, else output is equal to input" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +protected + Real thr=(u-y)/Td + "Approximation to derivative between input and output"; + Real y_internal + "Internal variable to track the slew limited value"; + +initial equation + assert(raisingSlewRate > 0, + "raisingSlewRate must be larger than zero."); + assert(fallingSlewRate < 0, + "fallingSlewRate must be less than zero."); + y_internal = u; + +equation + when active then + reinit(y_internal, u); + end when; + der(y_internal)=smooth(1, + noEvent( + if thr < fallingSlewRate then + fallingSlewRate + else + if thr > raisingSlewRate then raisingSlewRate else thr)); + y = if active then y_internal else u; + +annotation (defaultComponentName="ram", + Icon(coordinateSystem(preserveAspectRatio=false), + graphics={ + Rectangle( + extent={{-100,-100},{100,100}}, + lineColor={0,0,127}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Text( + textColor={0,0,255}, + extent={{-100,100},{100,140}}, + textString="%name"), + Line( + points={{-90,-80},{82,-80}}, + color={192,192,192}), + Polygon( + points={{90,-80},{68,-72},{68,-88},{90,-80}}, + lineColor={192,192,192}, + fillColor={192,192,192}, + fillPattern=FillPattern.Solid), + Line( + points={{-80,58},{-80,-90}}, + color={192,192,192}), + Polygon( + points={{-80,80},{-88,58},{-72,58},{-80,80}}, + lineColor={192,192,192}, + fillColor={192,192,192}, + fillPattern=FillPattern.Solid), + Line(points={{-80,-44},{-60,20},{-44,26},{40,8},{40,-4}}, + color={0,0,127}), + Line(points={{-80,-80},{-60,-80},{-60,-50},{40,-50},{40,-80},{58,-80}}, + color={254,0,254}), + Text( + extent={{226,60},{106,10}}, + textColor={0,0,0}, + textString=DynamicSelect("",String(y, + leftJustified=false, + significantDigits=3))), + Line(points={{40,-4},{58,-28},{76,28}}, + color={0,0,127})}), + Diagram(coordinateSystem(preserveAspectRatio=false)), + Documentation(info=" +

+Block that limits the rate of change of the input u by a ramp +if the boolean input active is true, +otherwise the block outputs y = u. +

+

+This block computes a threshold for the rate of change between +input u and output y as +thr = (u-y)/Td, where Td > 0 is a parameter. +The output y is computed as follows: +

+

+A smaller time constant Td > 0 means a higher accuracy for the derivative approximation. +

+

+Note that when the input activate switches to false, +the output y can have a discontinuity. +

+

Implementation

+

+For the block to work with arbitrary inputs and in order to produce a differentiable output, +the input is numerically differentiated with derivative time constant Td. +

+", +revisions=" + +")); +end Ramp; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Round.mo b/IBPSA/Controls/OBC/CDL/Reals/Round.mo new file mode 100644 index 0000000000..740af8d4b8 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Round.mo @@ -0,0 +1,92 @@ +within IBPSA.Controls.OBC.CDL.Reals; +block Round + "Round real number to given digits" + parameter Integer n + "Number of digits to be round to"; + IBPSA.Controls.OBC.CDL.Interfaces.RealInput u + "Input to be rounded" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealOutput y + "Output with rounded input" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +protected + parameter Real fac=10^n + "Factor used for rounding"; + +equation + y=if (u > 0) then + floor( u*fac+0.5)/fac + else + ceil(u*fac-0.5)/fac; + annotation ( + defaultComponentName="rou", + Icon( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100.0,-100.0},{100.0,100.0}}), + graphics={ + Rectangle( + extent={{-100,-100},{100,100}}, + lineColor={0,0,127}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Text( + textColor={0,0,127}, + extent={{-56,4},{72,106}}, + textString="round( )"), + Text( + extent={{-150,150},{150,110}}, + textString="%name", + textColor={0,0,255}), + Text( + textColor={0,0,127}, + extent={{-60,-88},{54,-34}}, + textString="%n"), + Text( + extent={{226,60},{106,10}}, + textColor={0,0,0}, + textString=DynamicSelect("",String(y, + leftJustified=false, + significantDigits=3)))}), + Documentation( + info=" +

+Block that outputs the input after rounding it to n digits. +

+

+For example, +

+ +

+Hence, the block outputs +

+
+    y = floor(u*(10^n) + 0.5)/(10^n)  for  u > 0,
+    y = ceil(u*(10^n) - 0.5)/(10^n)   for  u < 0.
+
+", + revisions=" + +")); +end Round; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Sin.mo b/IBPSA/Controls/OBC/CDL/Reals/Sin.mo new file mode 100644 index 0000000000..0433e205be --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Sin.mo @@ -0,0 +1,97 @@ +within IBPSA.Controls.OBC.CDL.Reals; +block Sin "Output the sine of the input" + IBPSA.Controls.OBC.CDL.Interfaces.RealInput u( + final unit="rad", + displayUnit="deg") + "Input for the sine function" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealOutput y + "Sine of input" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +equation + y=Modelica.Math.sin(u); + annotation ( + defaultComponentName="sin", + Icon( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100,-100},{100,100}}), + graphics={ + Text( + textColor={0,0,255}, + extent={{-150,110},{150,150}}, + textString="%name"), + Rectangle( + extent={{-100,-100},{100,100}}, + lineColor={0,0,127}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Polygon( + points={{-80,90},{-88,68},{-72,68},{-80,90}}, + lineColor={192,192,192}, + fillColor={192,192,192}, + fillPattern=FillPattern.Solid), + Line( + points={{-80,-80},{-80,68}}, + color={192,192,192}), + Line( + points={{-90,0},{68,0}}, + color={192,192,192}), + Line( + points={{-80,0},{-68.7,34.2},{-61.5,53.1},{-55.1,66.4},{-49.4,74.6},{-43.8,79.1},{-38.2,79.8},{-32.6,76.6},{-26.9,69.7},{-21.3,59.4},{-14.9,44.1},{-6.83,21.2},{10.1,-30.8},{17.3,-50.2},{23.7,-64.2},{29.3,-73.1},{35,-78.4},{40.6,-80},{46.2,-77.6},{51.9,-71.5},{57.5,-61.9},{63.9,-47.2},{72,-24.8},{80,0}}, + smooth=Smooth.Bezier), + Polygon( + points={{90,0},{68,8},{68,-8},{90,0}}, + lineColor={192,192,192}, + fillColor={192,192,192}, + fillPattern=FillPattern.Solid), + Text( + extent={{12,84},{84,36}}, + textColor={192,192,192}, + textString="sin"), + Text( + extent={{226,60},{106,10}}, + textColor={0,0,0}, + textString=DynamicSelect("",String(y, + leftJustified=false, + significantDigits=3)))}), + Documentation( + info=" +

+Block that outputs y = sin(u), +where +u is an input. +

+ +

+\"sin.png\" +

+ +", + revisions=" + +")); +end Sin; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Sort.mo b/IBPSA/Controls/OBC/CDL/Reals/Sort.mo new file mode 100644 index 0000000000..2eb5357cb2 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Sort.mo @@ -0,0 +1,102 @@ +within IBPSA.Controls.OBC.CDL.Reals; +block Sort + "Sort elements of input vector in ascending or descending order" + parameter Integer nin( + final min=0)=0 + "Number of input signals" + annotation (Dialog(connectorSizing=true),HideResult=true); + parameter Boolean ascending=true + "Set to true if ascending order, otherwise order is descending"; + IBPSA.Controls.OBC.CDL.Interfaces.RealInput u[nin] + "Input to be sorted" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealOutput y[nin] + "Output with sorted input" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.IntegerOutput yIdx[nin] + "Indices of the sorted vector with respect to the original vector" + annotation (Placement(transformation(extent={{100,-80},{140,-40}}), + iconTransformation(extent={{100,-80},{140,-40}}))); +equation + (y, yIdx)=Modelica.Math.Vectors.sort(u, ascending=ascending); + + annotation ( + defaultComponentName="sort", + Icon( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100,-100},{100,100}}), + graphics={ + Rectangle( + extent={{-100,-100},{100,100}}, + lineColor={0,0,127}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Text( + extent={{-150,150},{150,110}}, + textString="%name", + textColor={0,0,255}), + Text( + extent={{-58,70},{54,-60}}, + textColor={0,0,89}, + textString="sort")}), + Documentation( + info=" +

+Block that sorts the elements of the input signal u. +If the parameter ascending = true, then the output signal y satisfies +yi <= yi+1 for all i ∈ {1, ..., n-1}. +Otherwise, it satisfies +yi >= yi+1 for all i ∈ {1, ..., n-1}. +The output signal yIdx contains the indices of the sorted elements, +with respect to the input vector u. +

+

Usage

+

+Note that this block shall only be used for input signals u that are +time sampled.
+Otherwise, in simulation, numerical noise from a nonlinear solver or from an +implicit time integration algorithm may cause the simulation to stall. +Numerical noise can be present if an input depends +on a state variable or a quantity that requires an iterative solution, +such as a temperature or a mass flow rate of an HVAC system.
+In real controllers, measurement noise may cause the output to change frequently. +

+

+This block may for example be used in a variable air volume flow +controller to access the position of the dampers that are most open. +

+", revisions=" + +")); +end Sort; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Sources/CalendarTime.mo b/IBPSA/Controls/OBC/CDL/Reals/Sources/CalendarTime.mo new file mode 100644 index 0000000000..3916da50c9 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Sources/CalendarTime.mo @@ -0,0 +1,183 @@ +within IBPSA.Controls.OBC.CDL.Reals.Sources; +model CalendarTime + "Computes the unix time stamp and calendar time from the simulation time" + parameter IBPSA.Controls.OBC.CDL.Types.ZeroTime zerTim + "Enumeration for choosing how reference time (time = 0) should be defined"; + parameter Integer yearRef( + min=firstYear, + max=lastYear)=2016 + "Year when time = 0, used if zerTim=Custom" + annotation (Dialog(enable=zerTim == IBPSA.Controls.OBC.CDL.Types.ZeroTime.Custom)); + parameter Real offset( + final quantity="Time", + final unit="s")=0 + "Offset that is added to 'time', may be used for computing time in different time zone" + annotation (Dialog(tab="Advanced")); + discrete IBPSA.Controls.OBC.CDL.Interfaces.IntegerOutput year + "Year" + annotation (Placement(transformation(extent={{100,-40},{120,-20}}),iconTransformation(extent={{100,-40},{120,-20}}))); + discrete IBPSA.Controls.OBC.CDL.Interfaces.IntegerOutput month + "Month of the year" + annotation (Placement(transformation(extent={{100,-10},{120,10}}),iconTransformation(extent={{100,-10},{120,10}}))); + IBPSA.Controls.OBC.CDL.Interfaces.IntegerOutput day( + fixed=false) + "Day of the month" + annotation (Placement(transformation(extent={{100,20},{120,40}}),iconTransformation(extent={{100,20},{120,40}}))); + IBPSA.Controls.OBC.CDL.Interfaces.IntegerOutput hour( + fixed=false) + "Hour of the day" + annotation (Placement(transformation(extent={{100,50},{120,70}}),iconTransformation(extent={{100,50},{120,70}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealOutput minute + "Minute of the hour" + annotation (Placement(transformation(extent={{100,80},{120,100}}),iconTransformation(extent={{100,80},{120,100}}))); + IBPSA.Controls.OBC.CDL.Interfaces.IntegerOutput weekDay( + fixed=false) + "Integer output representing week day (monday = 1, sunday = 7)" + annotation (Placement(transformation(extent={{100,-70},{120,-50}}),iconTransformation(extent={{100,-70},{120,-50}}))); + +protected + final constant Integer firstYear=2010 + "First year that is supported, i.e. the first year in timeStampsNewYear[:]"; + final constant Integer lastYear=firstYear+21 + "Last year that is supported (actual building automation system need to support a larger range)"; + IBPSA.Utilities.Time.CalendarTime calTim( + final zerTim=zerTim, + final yearRef=yearRef, + final offset=offset) + "Calendar time" + annotation (Placement(transformation(extent={{-10,-10},{10,10}}))); + +equation + connect(calTim.minute,minute) + annotation (Line(points={{11,9},{55.5,9},{55.5,90},{110,90}},color={0,0,127})); + connect(calTim.hour,hour) + annotation (Line(points={{11,6.4},{60,6.4},{60,60},{110,60}},color={255,127,0})); + connect(calTim.day,day) + annotation (Line(points={{11,3.8},{64,3.8},{64,30},{110,30}},color={255,127,0})); + connect(calTim.month,month) + annotation (Line(points={{11,1.2},{80,1.2},{80,0},{110,0}},color={255,127,0})); + connect(calTim.year,year) + annotation (Line(points={{11,-1.4},{64,-1.4},{64,-30},{110,-30}},color={255,127,0})); + connect(calTim.weekDay,weekDay) + annotation (Line(points={{11,-4},{60,-4},{60,-60},{110,-60}},color={255,127,0})); + annotation ( + defaultComponentName="calTim", + Documentation( + info=" +

+Block that outputs minute, hour, day of the month, month, year and weekday. +

+

Assumption and limitations

+

+The implementation only supports date computations from year 2010 up to and including 2020. +Daylight saving and time zones are not supported. +

+

Typical use and important parameters

+

+The user must define which time and date correspond to time = 0 +using the model parameters zerTim, and, if +zerTim == CDL.Types.ZeroTime.Custom, +the parameter yearRef. +The user can choose from new year, midnight for a number of years: +2010 to 2020 and also 1970. +The latter corresponds to a unix stamp of 0. +Note that when choosing the reference time equal to 0 at 1970, +the actual simulation time must be within the 2010-2020 range. +For example, startTime = 1262304000 corresponds +to the simulation starting on the 1st of January 2010 local time +when setting zerTim = CDL.Types.ZeroTime.UnixTimeStamp. +This is within the 2010-2020 range and is therefore allowed. +

+", + revisions=" + +"), + Icon( + graphics={ + Rectangle( + extent={{-100,-100},{100,100}}, + lineColor={0,0,127}, + fillColor={223,211,169}, + lineThickness=5.0, + borderPattern=BorderPattern.Raised, + fillPattern=FillPattern.Solid), + Text( + extent={{-150,150},{150,110}}, + textString="%name", + textColor={0,0,255}), + Ellipse( + extent={{-94,94},{16,-16}}, + lineColor={160,160,164}, + fillColor={215,215,215}, + fillPattern=FillPattern.Solid), + Text( + extent={{-34,92},{96,82}}, + textColor={28,108,200}, + horizontalAlignment=TextAlignment.Right, + textString="Minute"), + Text( + extent={{-28,64},{96,54}}, + textColor={28,108,200}, + horizontalAlignment=TextAlignment.Right, + textString="Hour"), + Text( + extent={{-38,36},{96,24}}, + textColor={28,108,200}, + horizontalAlignment=TextAlignment.Right, + textString="Day"), + Text( + extent={{-50,4},{96,-6}}, + textColor={28,108,200}, + horizontalAlignment=TextAlignment.Right, + textString="Month"), + Text( + extent={{-70,-24},{96,-34}}, + textColor={28,108,200}, + horizontalAlignment=TextAlignment.Right, + textString="Year"), + Text( + extent={{-68,-54},{96,-66}}, + textColor={28,108,200}, + horizontalAlignment=TextAlignment.Right, + textString="Weekday"), + Line( + points={{-40,38},{-64,62}}, + thickness=0.5), + Line( + points={{-40,38},{-14,38}}, + thickness=0.5)})); +end CalendarTime; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Sources/CivilTime.mo b/IBPSA/Controls/OBC/CDL/Reals/Sources/CivilTime.mo new file mode 100644 index 0000000000..f442b718e0 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Sources/CivilTime.mo @@ -0,0 +1,137 @@ +within IBPSA.Controls.OBC.CDL.Reals.Sources; +block CivilTime "Civil time" + IBPSA.Controls.OBC.CDL.Interfaces.RealOutput y(final unit="s") + "Civil time" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +equation + y=time; + annotation ( + defaultComponentName="civTim", + Icon( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100,-100},{100,100}}, + grid={1,1}), + graphics={ + Text( + extent={{-150,150},{150,110}}, + textString="%name", + textColor={0,0,255}), + Rectangle( + extent={{-100,-100},{100,100}}, + lineColor={0,0,127}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Ellipse( + extent={{-80,80},{80,-80}}, + lineColor={160,160,164}, + fillColor={215,215,215}, + fillPattern=FillPattern.Solid), + Line( + points={{0,80},{0,60}}, + color={160,160,164}), + Line( + points={{80,0},{60,0}}, + color={160,160,164}), + Line( + points={{0,-80},{0,-60}}, + color={160,160,164}), + Line( + points={{-80,0},{-60,0}}, + color={160,160,164}), + Line( + points={{37,70},{26,50}}, + color={160,160,164}), + Line( + points={{70,38},{49,26}}, + color={160,160,164}), + Line( + points={{71,-37},{52,-27}}, + color={160,160,164}), + Line( + points={{39,-70},{29,-51}}, + color={160,160,164}), + Line( + points={{-39,-70},{-29,-52}}, + color={160,160,164}), + Line( + points={{-71,-37},{-50,-26}}, + color={160,160,164}), + Line( + points={{-71,37},{-54,28}}, + color={160,160,164}), + Line( + points={{-38,70},{-28,51}}, + color={160,160,164}), + Line( + points={{0,0},{-50,50}}, + thickness=0.5), + Line( + points={{0,0},{40,0}}, + thickness=0.5), + Text( + extent={{226,60},{106,10}}, + textColor={0,0,0}, + textString=DynamicSelect("",String(y, + leftJustified=false, + significantDigits=3)))}), + Documentation( + info=" +

Block that outputs the civil time. +

+

Implementation

+

+This block outputs the time of the model. +In the case of a building automation system, the +building automation system synchronizes time, and hence +need to assign a value for the output of this block. +Daylight saving time shall not be taken into account, +e.g, the block always outputs civil time rather than +daylight savings time. +

+

+If a simulation starts +at t=-1, then this block outputs first t=-1, +and its output is advanced at the same rate as the simulation time. +

+ +

+Note that the block has not been included in the ASHRAE Standard 231p. +However, in the future versions of the ASHRAE 231 Standard, the block should be added. +

+", + revisions=" + +")); +end CivilTime; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Sources/Constant.mo b/IBPSA/Controls/OBC/CDL/Reals/Sources/Constant.mo new file mode 100644 index 0000000000..1d7ff89569 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Sources/Constant.mo @@ -0,0 +1,80 @@ +within IBPSA.Controls.OBC.CDL.Reals.Sources; +block Constant + "Output constant signal of type Real" + parameter Real k + "Constant output value"; + IBPSA.Controls.OBC.CDL.Interfaces.RealOutput y + "Constant output signal" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +equation + y=k; + annotation ( + defaultComponentName="con", + Icon( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100,-100},{100,100}}), + graphics={ + Rectangle( + extent={{-100,-100},{100,100}}, + lineColor={0,0,127}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Text( + textColor={0,0,255}, + extent={{-150,110},{150,150}}, + textString="%name"), + Line( + points={{-80,68},{-80,-80}}, + color={192,192,192}), + Polygon( + points={{-80,90},{-88,68},{-72,68},{-80,90}}, + lineColor={192,192,192}, + fillColor={192,192,192}, + fillPattern=FillPattern.Solid), + Line( + points={{-90,-70},{82,-70}}, + color={192,192,192}), + Polygon( + points={{90,-70},{68,-62},{68,-78},{90,-70}}, + lineColor={192,192,192}, + fillColor={192,192,192}, + fillPattern=FillPattern.Solid), + Line( + points={{-80,0},{80,0}}), + Text( + extent={{-150,-150},{150,-110}}, + textColor={0,0,0}, + textString="k=%k"), + Text( + extent={{226,60},{106,10}}, + textColor={0,0,0}, + textString=DynamicSelect("",String(y, + leftJustified=false, + significantDigits=3)))}), + Documentation( + info=" +

+Block that outputs a constant signal y = k, +where k is a real-valued parameter. +

+

+\"Constant.png\" +

+", + revisions=" + +")); +end Constant; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Sources/Pulse.mo b/IBPSA/Controls/OBC/CDL/Reals/Sources/Pulse.mo new file mode 100644 index 0000000000..b6243f85be --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Sources/Pulse.mo @@ -0,0 +1,164 @@ +within IBPSA.Controls.OBC.CDL.Reals.Sources; +block Pulse + "Generate pulse signal of type Real" + parameter Real amplitude=1.0 + "Amplitude of pulse"; + parameter Real width( + final min=Constants.small, + final max=1, + final unit="1")=0.5 + "Width of pulse in fraction of period"; + parameter Real period( + final quantity="Time", + final unit="s", + final min=Constants.small) + "Time for one period"; + parameter Real shift( + final quantity="Time", + final unit="s")=0 + "Shift time for output"; + parameter Real offset=0.0 + "Offset of output signals"; + IBPSA.Controls.OBC.CDL.Interfaces.RealOutput y + "Pulse output signal" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +protected + Logical.Sources.Pulse booPul( + final width=width, + final period=period, + final shift=shift) + "Boolean pulse" + annotation (Placement(transformation(extent={{-40,-10},{-20,10}}))); + Conversions.BooleanToReal booToRea( + final realTrue=offset+amplitude, + final realFalse=offset) + "Boolean to real conversion" + annotation (Placement(transformation(extent={{20,-10},{40,10}}))); + +equation + connect(booPul.y,booToRea.u) + annotation (Line(points={{-18,0},{18,0}},color={255,0,255})); + connect(y,booToRea.y) + annotation (Line(points={{120,0},{42,0}},color={0,0,127})); + annotation ( + defaultComponentName="pul", + Icon( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100,-100},{100,100}}), + graphics={ + Rectangle( + extent={{-100,-100},{100,100}}, + lineColor={0,0,127}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Line( + points={{-80,68},{-80,-80}}, + color={192,192,192}), + Polygon( + points={{-80,90},{-88,68},{-72,68},{-80,90}}, + lineColor={192,192,192}, + fillColor={192,192,192}, + fillPattern=FillPattern.Solid), + Line( + points={{-90,-70},{82,-70}}, + color={192,192,192}), + Text( + extent={{-147,-152},{153,-112}}, + textColor={0,0,0}, + textString="period=%period"), + Text( + textColor={0,0,255}, + extent={{-150,110},{150,150}}, + textString="%name"), + Text( + extent={{226,60},{106,10}}, + textColor={0,0,0}, + textString=DynamicSelect("",String(y, + leftJustified=false, + significantDigits=3))), + Polygon( + points={{-80,52},{-68,56},{-68,48},{-80,52}}, + fillColor={135,135,135}, + fillPattern=FillPattern.Solid, + pattern=LinePattern.None, + lineColor={0,0,0}), + Line( + points={{-80,52},{-4,52}}, + color={135,135,135}), + Text( + extent={{-66,80},{-8,56}}, + textColor={135,135,135}, + textString="%period"), + Polygon( + points={{-2,52},{-14,56},{-14,48},{-2,52}}, + fillColor={135,135,135}, + fillPattern=FillPattern.Solid, + pattern=LinePattern.None, + lineColor={0,0,0}), + Line( + points={{40,34},{72,34}}, + color={135,135,135}), + Polygon( + points={{74,34},{62,38},{62,30},{74,34}}, + fillColor={135,135,135}, + fillPattern=FillPattern.Solid, + pattern=LinePattern.None, + lineColor={0,0,0}), + Text( + extent={{38,64},{96,40}}, + textColor={135,135,135}, + textString="%shift"), + Line( + points={{79,-70},{40,-70},{40,44},{-1,44},{-1,-70},{-41,-70},{-41,44},{-80,44}}), + Polygon( + points={{90,-70},{68,-62},{68,-78},{90,-70}}, + lineColor={192,192,192}, + fillColor={192,192,192}, + fillPattern=FillPattern.Solid)}), + Documentation( + info=" +

+Block that outputs a pulse signal as shown below. +

+

+\"Pulse.png\" +

+

+The pulse signal is generated an infinite number of times, and aligned with time=shift. +

+", + revisions=" + +")); +end Pulse; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Sources/Ramp.mo b/IBPSA/Controls/OBC/CDL/Reals/Sources/Ramp.mo new file mode 100644 index 0000000000..d112e1c718 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Sources/Ramp.mo @@ -0,0 +1,106 @@ +within IBPSA.Controls.OBC.CDL.Reals.Sources; +block Ramp + "Generate ramp signal" + parameter Real height=1 + "Height of ramps"; + parameter Real duration( + final quantity="Time", + final unit="s", + min=Constants.small) + "Duration of ramp (= 0.0 gives a Step)"; + parameter Real offset=0 + "Offset of output signal"; + parameter Real startTime( + final quantity="Time", + final unit="s")=0 + "Output = offset for time < startTime"; + IBPSA.Controls.OBC.CDL.Interfaces.RealOutput y + "Ramp output signal" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +equation + y=offset+( + if time < startTime then + 0 + else + if time < (startTime+duration) then + (time-startTime)*height/duration + else + height); + annotation ( + defaultComponentName="ram", + Icon( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100,-100},{100,100}}), + graphics={ + Text( + textColor={0,0,255}, + extent={{-150,110},{150,150}}, + textString="%name"), + Rectangle( + extent={{-100,-100},{100,100}}, + lineColor={0,0,127}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Line( + points={{-80,68},{-80,-80}}, + color={192,192,192}), + Polygon( + points={{-80,90},{-88,68},{-72,68},{-80,90}}, + lineColor={192,192,192}, + fillColor={192,192,192}, + fillPattern=FillPattern.Solid), + Line( + points={{-90,-70},{82,-70}}, + color={192,192,192}), + Polygon( + points={{90,-70},{68,-62},{68,-78},{90,-70}}, + lineColor={192,192,192}, + fillColor={192,192,192}, + fillPattern=FillPattern.Solid), + Line( + points={{-80,-70},{-40,-70},{31,38}}), + Text( + extent={{-150,-150},{150,-110}}, + textColor={0,0,0}, + textString="duration=%duration"), + Line( + points={{31,38},{86,38}}), + Text( + extent={{226,60},{106,10}}, + textColor={0,0,0}, + textString=DynamicSelect("",String(y, + leftJustified=false, + significantDigits=3)))}), + Documentation( + info=" +

+The Real output y is a ramp signal: +

+ +

+\"Ramp.png\" +

+", + revisions=" + +")); +end Ramp; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Sources/Sin.mo b/IBPSA/Controls/OBC/CDL/Reals/Sources/Sin.mo new file mode 100644 index 0000000000..e1bd26397d --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Sources/Sin.mo @@ -0,0 +1,120 @@ +within IBPSA.Controls.OBC.CDL.Reals.Sources; +block Sin + "Generate sine signal" + parameter Real amplitude=1 + "Amplitude of sine wave"; + parameter Real freqHz( + final quantity="Frequency", + final unit="Hz", + start=1) + "Frequency of sine wave"; + parameter Real phase( + final quantity="Angle", + final unit="rad", + displayUnit="deg")=0 + "Phase of sine wave"; + parameter Real offset=0 + "Offset of output signal"; + parameter Real startTime( + final quantity="Time", + final unit="s")=0 + "Output = offset for time < startTime"; + IBPSA.Controls.OBC.CDL.Interfaces.RealOutput y + "Sine output signal" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +equation + y=offset+( + if time < startTime then + 0 + else + amplitude*Modelica.Math.sin( + 2*IBPSA.Controls.OBC.CDL.Constants.pi*freqHz*(time-startTime)+phase)); + annotation ( + defaultComponentName="sin", + Icon( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100,-100},{100,100}}), + graphics={ + Text( + textColor={0,0,255}, + extent={{-148,104},{152,144}}, + textString="%name"), + Rectangle( + extent={{-100,-100},{100,100}}, + lineColor={0,0,127}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Line( + points={{-80,68},{-80,-80}}, + color={192,192,192}), + Polygon( + points={{-80,90},{-88,68},{-72,68},{-80,90}}, + lineColor={192,192,192}, + fillColor={192,192,192}, + fillPattern=FillPattern.Solid), + Line( + points={{-90,0},{68,0}}, + color={192,192,192}), + Polygon( + points={{90,0},{68,8},{68,-8},{90,0}}, + lineColor={192,192,192}, + fillColor={192,192,192}, + fillPattern=FillPattern.Solid), + Line( + points={{-80,0},{-68.7,34.2},{-61.5,53.1},{-55.1,66.4},{-49.4,74.6},{-43.8,79.1},{-38.2,79.8},{-32.6,76.6},{-26.9,69.7},{-21.3,59.4},{-14.9,44.1},{-6.83,21.2},{10.1,-30.8},{17.3,-50.2},{23.7,-64.2},{29.3,-73.1},{35,-78.4},{40.6,-80},{46.2,-77.6},{51.9,-71.5},{57.5,-61.9},{63.9,-47.2},{72,-24.8},{80,0}}, + smooth=Smooth.Bezier), + Text( + extent={{-147,-152},{153,-112}}, + textColor={0,0,0}, + textString="freqHz=%freqHz"), + Text( + extent={{226,60},{106,10}}, + textColor={0,0,0}, + textString=DynamicSelect("",String(y, + leftJustified=false, + significantDigits=3)))}), + Documentation( + info=" +

+Block that outputs a sine. +

+

+\"Sin.png\"/ +

+", + revisions=" + +")); +end Sin; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Sources/TimeTable.mo b/IBPSA/Controls/OBC/CDL/Reals/Sources/TimeTable.mo new file mode 100644 index 0000000000..a508f401e7 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Sources/TimeTable.mo @@ -0,0 +1,328 @@ +within IBPSA.Controls.OBC.CDL.Reals.Sources; +block TimeTable + "Table look-up with respect to time and linear or periodic extrapolation" + parameter Real table[:,:] + "Table matrix (time = first column is time in seconds, unless timeScale <> 1)"; + parameter CDL.Types.Smoothness smoothness=CDL.Types.Smoothness.LinearSegments + "Smoothness of table interpolation"; + parameter CDL.Types.Extrapolation extrapolation=CDL.Types.Extrapolation.Periodic + "Extrapolation of data outside the definition range"; + parameter Real offset[:]=fill(0, nout) + "Offsets of output signals as a vector with length equal to number of table matrix columns less one"; + parameter Real timeScale( + final unit="1")=1 + "Time scale of first table column. Set to 3600 if time in table is in hours"; + IBPSA.Controls.OBC.CDL.Interfaces.RealOutput y[nout] + "Output with tabulated values" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +protected + final parameter Integer nout=size(table,2)-1 + "Dimension of output vector"; + parameter Real t0( + final quantity="Time", + final unit="s", + fixed=false) + "First sample time instant"; + parameter Real timeRange( + final quantity="Time", + final unit="s")=timeScale*(table[end,1]-table[1,1]) + "Range of time in table"; + final parameter Integer nT=size( + table, + 1) + "Number of time stamps"; + // CDL uses different enumerations for smoothness and for extrapolation + // than the Modelica Standard Library. Hence, we cast the CDL + // enumeration to the MSL enumaration. + Modelica.Blocks.Sources.CombiTimeTable tab( + final tableOnFile=false, + final table=table, + final columns=2:size( + tab.table, + 2), + final smoothness= + if smoothness == CDL.Types.Smoothness.LinearSegments then + Modelica.Blocks.Types.Smoothness.LinearSegments + else + Modelica.Blocks.Types.Smoothness.ConstantSegments, + final extrapolation= + if extrapolation == CDL.Types.Extrapolation.HoldLastPoint then + Modelica.Blocks.Types.Extrapolation.HoldLastPoint + elseif extrapolation == CDL.Types.Extrapolation.LastTwoPoints then + Modelica.Blocks.Types.Extrapolation.LastTwoPoints + else + Modelica.Blocks.Types.Extrapolation.Periodic, + final offset=offset, + final startTime= + if (extrapolation == Types.Extrapolation.Periodic) then t0 else 0, + final timeScale=timeScale) + "Time table" + annotation (Placement(transformation(extent={{-12,-10},{8,10}}))); + +initial equation + // If the table has only one time stamp, then timeRange is zero. + // We can then set t0 to be equal to the start of the simulation. + t0= + if nT == 1 then + time + else + IBPSA.Utilities.Math.Functions.round( + x=integer(time/timeRange)*timeRange, + n=6); + +equation + connect(tab.y,y) + annotation (Line(points={{9,0},{120,0}},color={0,0,127})); + annotation ( + defaultComponentName="timTab", + Documentation( + info=" +

+Block that outputs values of a time table. +

+

+The block takes as a parameter a time table of a format: +

+
+table = [ 0*3600, 0;
+          6*3600, 0;
+          6*3600, 1;
+         18*3600, 1;
+         18*3600, 0;
+         24*3600, 0];
+
+

+where the first column is time in seconds, and the remaining +column(s) are the table values. +Any number of columns can be specified. +The parameter smoothness determines how the table values +are interpolated. The following settings are allowed: +

+ + + + + + + + + + + +
smoothnessDescription
CDL.Types.LinearSegmentsTable points are linearly interpolated.
CDL.Types.ConstantSegmentsTable points are not interpolated, + but the previous tabulated value is returned.
+ +

+The parameter extrapolation determines how the table +values are extrapolated. The following settings are allowed: +

+ + + + + + + + + + + + + + + +
extrapolationDescription
CDL.Types.HoldLastPointHold the first or last table point outside of the table scope.
CDL.Types.LastTwoPointsExtrapolate by using the derivative at the first or last table points + outside of the table scope.
CDL.Types.PeriodicRepeat the table scope periodically with periodicity + (max(table[:, 1]-min(table[:, 1]))*timeScale).
+ +

+If extrapolation === CDL.Types.Periodic, then the above example +would give a schedule with periodicity of one day. The simulation can start at any time, +whether it is a multiple of a day or not, and positive or negative. +

+ +

+The value of the parameter offset is added to the tabulated +values. +The parameters timeScale is used to scale the first column +of the table. For example, set timeScale = 3600 if the first +column is in hour (because in CDL, the time unit is seconds). +

+

+If the table has only one row, no interpolation is performed and +the table values of this row are just returned. +

+

+An interval boundary is defined by two identical time values +following each other. For example +

+
+   table = [0, 0;
+            1, 0;
+            1, 1;
+            2, 3;
+            3, 5;
+            3, 2;
+            4, 4;
+            5, 5];
+
+

+defines three intervalls: 0..1, 1..3, 3..5. Within an interval the defined +interpolation method is applied (so the table outputs within an interval are +continuous if smoothness = CDL.Types.LinearSegments). +

+

+Example: +

+
+  table = [0, 0;
+           1, 0;
+           1, 1;
+           2, 4;
+           3, 9;
+           4, 16];
+  smoothness = CDL.Types.LinearSegments;
+
+If, e.g., time = 1.0, the output y =  0.0 (before event), 1.0 (after event)
+    e.g., time = 1.5, the output y =  2.5,
+    e.g., time = 2.0, the output y =  4.0,
+    e.g., time = 5.0, the output y = 23.0 (i.e., extrapolation via last 2 points).
+
+

Implementation

+

+For simulation, +no time events are generated within an interval +in order that also intervals with many points do not reduce the simulation efficiency. +If the table points are largely changing, it is adviseable to force +time events by duplicating every time point (especially, if the model in which +the table is present allows the variable step integrator to make large +integrator steps). For example, if a sawtooth signal is defined with the table, +it is more reliable to define the table as: +

+
+   table = [0, 0;
+            1, 2;
+            1, 2;
+            2, 0;
+            2, 0;
+            3, 2;
+            3, 2];
+
+

+instead of +

+
+   table = [0, 0;
+            1, 2;
+            2, 0;
+            3, 2];
+
+

+because time events are then generated at every time point. +

+

+Building automation systems typically have discrete time semantics +with fixed sampling times, and no notion of superdense time (in which +a tabulated value can change without advancing time). +Therefore, to implement a table with two equal time stamps, +a CDL translator may parameterize +a table in the building automation in such a way that the step change happens +at the time indicated in the first column, whereas previous sampling times +output the tabulated value at the last transition. For example, +

+
+table = [0, 0;
+         1, 0;
+         1, 1];
+smoothness = CDL.Types.ConstantSegments;
+
+

+may be converted such that a building automation system with a sampling time +of 0.5 seconds outputs +

+
+  t = 0, 0.5, 1, ...
+  y = 0, 0  , 1, ...
+
+", + revisions=" + +"), + Icon( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100.0,-100.0},{100.0,100.0}}), + graphics={ + Rectangle( + extent={{-100,-100},{100,100}}, + lineColor={0,0,127}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Text( + extent={{-150,150},{150,110}}, + textString="%name", + textColor={0,0,255}), + Polygon( + lineColor={192,192,192}, + fillColor={192,192,192}, + fillPattern=FillPattern.Solid, + points={{-80.0,90.0},{-88.0,68.0},{-72.0,68.0},{-80.0,90.0}}), + Line( + points={{-80.0,68.0},{-80.0,-80.0}}, + color={192,192,192}), + Line( + points={{-90.0,-70.0},{82.0,-70.0}}, + color={192,192,192}), + Polygon( + lineColor={192,192,192}, + fillColor={192,192,192}, + fillPattern=FillPattern.Solid, + points={{90.0,-70.0},{68.0,-62.0},{68.0,-78.0},{90.0,-70.0}}), + Rectangle( + lineColor={255,255,255}, + fillColor={255,215,136}, + fillPattern=FillPattern.Solid, + extent={{-48.0,-50.0},{2.0,70.0}}), + Line( + points={{-48.0,-50.0},{-48.0,70.0},{52.0,70.0},{52.0,-50.0},{-48.0,-50.0},{-48.0,-20.0},{52.0,-20.0},{52.0,10.0},{-48.0,10.0},{-48.0,40.0},{52.0,40.0},{52.0,70.0},{2.0,70.0},{2.0,-51.0}})})); +end TimeTable; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Sources/Validation/CalendarTimeMonths.mo b/IBPSA/Controls/OBC/CDL/Reals/Sources/Validation/CalendarTimeMonths.mo new file mode 100644 index 0000000000..cfb80c267a --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Sources/Validation/CalendarTimeMonths.mo @@ -0,0 +1,48 @@ +within IBPSA.Controls.OBC.CDL.Reals.Sources.Validation; +model CalendarTimeMonths + "Validation model for the calendar time model" + IBPSA.Controls.OBC.CDL.Reals.Sources.CalendarTime calTim( + zerTim=IBPSA.Controls.OBC.CDL.Types.ZeroTime.NY2017) + "Computes date and time assuming time=0 corresponds to new year 2017" + annotation (Placement(transformation(extent={{-20,-10},{0,10}}))); + annotation ( + experiment( + StartTime=172800, + Tolerance=1e-6, + StopTime=345600), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Sources/Validation/CalendarTimeMonths.mos" "Simulate and plot"), + Documentation( + info=" +

+This model validates the use of the + +IBPSA.Controls.OBC.CDL.Reals.Sources.CalendarTime +block for a period of a couple of months. +This shorter simulation time has been selected to +store the reference results that are used in the regression tests +at a resulation that makes sense for the minute and hour outputs. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end CalendarTimeMonths; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Sources/Validation/CalendarTimeMonthsMinus.mo b/IBPSA/Controls/OBC/CDL/Reals/Sources/Validation/CalendarTimeMonthsMinus.mo new file mode 100644 index 0000000000..29b563f55f --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Sources/Validation/CalendarTimeMonthsMinus.mo @@ -0,0 +1,32 @@ +within IBPSA.Controls.OBC.CDL.Reals.Sources.Validation; +model CalendarTimeMonthsMinus + "Validation model for the calendar time model with start time slightly below the full hour" + extends IBPSA.Controls.OBC.CDL.Reals.Sources.Validation.CalendarTimeMonths; + annotation ( + experiment( + StartTime=172799, + Tolerance=1e-6, + StopTime=345599), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Sources/Validation/CalendarTimeMonthsMinus.mos" "Simulate and plot"), + Documentation( + info=" +

+This model validates the use of the + +IBPSA.Controls.OBC.CDL.Reals.Sources.CalendarTime. +It is identical to + +IBPSA.Controls.OBC.CDL.Reals.Sources.Validation.CalendarTimeMonths +except that the start and end time are different. +

+", + revisions=" + +")); +end CalendarTimeMonthsMinus; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Sources/Validation/CalendarTimeMonthsPlus.mo b/IBPSA/Controls/OBC/CDL/Reals/Sources/Validation/CalendarTimeMonthsPlus.mo new file mode 100644 index 0000000000..e3501a96af --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Sources/Validation/CalendarTimeMonthsPlus.mo @@ -0,0 +1,32 @@ +within IBPSA.Controls.OBC.CDL.Reals.Sources.Validation; +model CalendarTimeMonthsPlus + "Validation model for the calendar time model with start time slightly higher than the full hour" + extends IBPSA.Controls.OBC.CDL.Reals.Sources.Validation.CalendarTimeMonths; + annotation ( + experiment( + StartTime=172801, + Tolerance=1e-6, + StopTime=345601), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Sources/Validation/CalendarTimeMonthsPlus.mos" "Simulate and plot"), + Documentation( + info=" +

+This model validates the use of the + +IBPSA.Controls.OBC.CDL.Reals.Sources.CalendarTime. +It is identical to + +IBPSA.Controls.OBC.CDL.Reals.Sources.Validation.CalendarTimeMonths +except that the start and end time are different. +

+", + revisions=" + +")); +end CalendarTimeMonthsPlus; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Sources/Validation/CivilTime.mo b/IBPSA/Controls/OBC/CDL/Reals/Sources/Validation/CivilTime.mo new file mode 100644 index 0000000000..a37495396b --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Sources/Validation/CivilTime.mo @@ -0,0 +1,41 @@ +within IBPSA.Controls.OBC.CDL.Reals.Sources.Validation; +model CivilTime "Test model for the CivilTime block" + IBPSA.Controls.OBC.CDL.Reals.Sources.CivilTime civTim + "Civil time" + annotation (Placement(transformation(extent={{-10,-10},{10,10}}))); + annotation ( + experiment( + StartTime=-1, + Tolerance=1e-6, + StopTime=1), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Sources/Validation/CivilTime.mos" "Simulate and plot"), + Documentation( + info=" +

+This model tests the implementation of the block that outputs the +civil time. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end CivilTime; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Sources/Validation/Constant.mo b/IBPSA/Controls/OBC/CDL/Reals/Sources/Validation/Constant.mo new file mode 100644 index 0000000000..ab692e8100 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Sources/Validation/Constant.mo @@ -0,0 +1,44 @@ +within IBPSA.Controls.OBC.CDL.Reals.Sources.Validation; +model Constant + "Validate the Constant block" + IBPSA.Controls.OBC.CDL.Reals.Sources.Constant con( + k=2.5) + "Block output real constant value" + annotation (Placement(transformation(extent={{-10,-10},{10,10}}))); + annotation ( + experiment( + StopTime=1.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Sources/Validation/Constant.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Reals.Sources.Constant. +

+ +", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end Constant; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Sources/Validation/Pulse.mo b/IBPSA/Controls/OBC/CDL/Reals/Sources/Validation/Pulse.mo new file mode 100644 index 0000000000..45e165d61f --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Sources/Validation/Pulse.mo @@ -0,0 +1,47 @@ +within IBPSA.Controls.OBC.CDL.Reals.Sources.Validation; +model Pulse + "Validation model for the Pulse block" + IBPSA.Controls.OBC.CDL.Reals.Sources.Pulse pulse( + amplitude=2.0, + width=0.5, + offset=0.2, + period=1) + "Block that generates pulse signal of type Real" + annotation (Placement(transformation(extent={{-10,-10},{10,10}}))); + annotation ( + experiment( + StopTime=5.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Sources/Validation/Pulse.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Reals.Sources.Pulse. +

+ +", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end Pulse; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Sources/Validation/Ramp.mo b/IBPSA/Controls/OBC/CDL/Reals/Sources/Validation/Ramp.mo new file mode 100644 index 0000000000..440bd89ff0 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Sources/Validation/Ramp.mo @@ -0,0 +1,46 @@ +within IBPSA.Controls.OBC.CDL.Reals.Sources.Validation; +model Ramp + "Validation model for the Ramp" + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ram( + height=2, + duration=3, + offset=0.5, + startTime=1.0) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-10,-10},{10,10}}))); + annotation ( + experiment( + StopTime=5.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Sources/Validation/Ramp.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end Ramp; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Sources/Validation/Sin.mo b/IBPSA/Controls/OBC/CDL/Reals/Sources/Validation/Sin.mo new file mode 100644 index 0000000000..310b6032cb --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Sources/Validation/Sin.mo @@ -0,0 +1,47 @@ +within IBPSA.Controls.OBC.CDL.Reals.Sources.Validation; +model Sin + "Validation model for Sin" + IBPSA.Controls.OBC.CDL.Reals.Sources.Sin sin( + amplitude=5, + freqHz=1/60, + phase=0, + offset=10, + startTime=10) + "Sine source block" + annotation (Placement(transformation(extent={{-12,-10},{8,10}}))); + annotation ( + experiment( + StopTime=130.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Sources/Validation/Sin.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end Sin; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Sources/Validation/TimeTable.mo b/IBPSA/Controls/OBC/CDL/Reals/Sources/Validation/TimeTable.mo new file mode 100644 index 0000000000..a1a2e1e337 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Sources/Validation/TimeTable.mo @@ -0,0 +1,123 @@ +within IBPSA.Controls.OBC.CDL.Reals.Sources.Validation; +model TimeTable + "Validation model for TimeTable block" + IBPSA.Controls.OBC.CDL.Reals.Sources.TimeTable timTabLin( + smoothness=IBPSA.Controls.OBC.CDL.Types.Smoothness.LinearSegments, + table=[ + 0,0; + 6*3600,1; + 18*3600,0.5; + 24*3600,0]) + "Time table with smoothness method of linear segments" + annotation (Placement(transformation(extent={{-80,10},{-60,30}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.TimeTable timTabLinHol( + smoothness=IBPSA.Controls.OBC.CDL.Types.Smoothness.LinearSegments, + extrapolation=IBPSA.Controls.OBC.CDL.Types.Extrapolation.HoldLastPoint, + table=[ + 0,0; + 6*3600,1; + 18*3600,0.5; + 24*3600,0]) + "Time table with smoothness method of linear segments, hold first and last value" + annotation (Placement(transformation(extent={{-10,10},{10,30}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.TimeTable timTabLinDer( + smoothness=IBPSA.Controls.OBC.CDL.Types.Smoothness.LinearSegments, + extrapolation=IBPSA.Controls.OBC.CDL.Types.Extrapolation.LastTwoPoints, + table=[ + 0,0; + 6*3600,1; + 18*3600,0.5; + 24*3600,0]) + "Time table with smoothness method of linear segments, extrapolate with der" + annotation (Placement(transformation(extent={{50,10},{70,30}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.TimeTable timTabCon( + smoothness=IBPSA.Controls.OBC.CDL.Types.Smoothness.ConstantSegments, + table=[ + 0,0; + 6*3600,1; + 18*3600,0.5; + 24*3600,0]) + "Time table with smoothness method of constant segments" + annotation (Placement(transformation(extent={{-80,-30},{-60,-10}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.TimeTable timTabLinCon( + smoothness=IBPSA.Controls.OBC.CDL.Types.Smoothness.LinearSegments, + table=[ + 0,0; + 6*3600,0; + 6*3600,1; + 18*3600,0.5; + 24*3600,0]) + "Time table with smoothness method of linear segments" + annotation (Placement(transformation(extent={{-10,-30},{10,-10}}))); + annotation ( + experiment( + Tolerance=1e-6, + StopTime=172800), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Sources/Validation/TimeTable.mos" "Simulate and plot"), + Documentation( + info=" +

+This model validates the TimeTable block. It takes as a parameter a time table of +the format +

+
+table = [ 0*3600, 0;
+          6*3600, 1;
+         18*3600, 0.5;
+         24*3600, 0];
+
+

+The block timTabLin applies smoothness method of linear segments +between table points, periodically repeat the table scope. +

+

+The block timTabLinHol applies smoothness method of linear segments +between table points, hold the last table points when it becomes outside of +table scope. +

+

+The block timTabLinDer applies smoothness method of linear segments +between table points, extrapolate by using the derivative at the last table +points to find points outside the table scope. +

+

+The block timTabCon applies smoothness method of constant segments +between table points, periodically repeat the table scope. +

+

+The block timTabLinCon applies smoothness method of linear segments +between table points, periodically repeat the table scope. Table points is +different so to ensure constant zero during time range of +(0*3600, 6*36000). +

+
+table = [ 0*3600, 0;
+          6*3600, 0;
+          6*3600, 1;
+         18*3600, 0.5;
+         24*3600, 0];
+
+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end TimeTable; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Sources/Validation/TimeTableNegativeStartTime.mo b/IBPSA/Controls/OBC/CDL/Reals/Sources/Validation/TimeTableNegativeStartTime.mo new file mode 100644 index 0000000000..fa0c2d642f --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Sources/Validation/TimeTableNegativeStartTime.mo @@ -0,0 +1,91 @@ +within IBPSA.Controls.OBC.CDL.Reals.Sources.Validation; +model TimeTableNegativeStartTime + "Validation model for TimeTable block with negative start time" + IBPSA.Controls.OBC.CDL.Reals.Sources.TimeTable timTabLin( + smoothness=IBPSA.Controls.OBC.CDL.Types.Smoothness.LinearSegments, + table=[ + 0,0; + 6*3600,1; + 18*3600,0.5; + 24*3600,0]) + "Time table with smoothness method of linear segments" + annotation (Placement(transformation(extent={{-80,10},{-60,30}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.TimeTable timTabLinHol( + smoothness=IBPSA.Controls.OBC.CDL.Types.Smoothness.LinearSegments, + extrapolation=IBPSA.Controls.OBC.CDL.Types.Extrapolation.HoldLastPoint, + table=[ + 0,0; + 6*3600,1; + 18*3600,0.5; + 24*3600,0]) + "Time table with smoothness method of linear segments, hold first and last value" + annotation (Placement(transformation(extent={{-10,10},{10,30}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.TimeTable timTabLinDer( + smoothness=IBPSA.Controls.OBC.CDL.Types.Smoothness.LinearSegments, + extrapolation=IBPSA.Controls.OBC.CDL.Types.Extrapolation.LastTwoPoints, + table=[ + 0,0; + 6*3600,1; + 18*3600,0.5; + 24*3600,0]) + "Time table with smoothness method of linear segments, extrapolate with der" + annotation (Placement(transformation(extent={{50,10},{70,30}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.TimeTable timTabCon( + smoothness=IBPSA.Controls.OBC.CDL.Types.Smoothness.ConstantSegments, + table=[ + 0,0; + 6*3600,1; + 18*3600,0.5; + 24*3600,0]) + "Time table with smoothness method of constant segments" + annotation (Placement(transformation(extent={{-80,-30},{-60,-10}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.TimeTable timTabLinCon( + smoothness=IBPSA.Controls.OBC.CDL.Types.Smoothness.LinearSegments, + table=[ + 0,0; + 6*3600,0; + 6*3600,1; + 18*3600,0.5; + 24*3600,0]) + "Time table with smoothness method of linear segments" + annotation (Placement(transformation(extent={{-10,-30},{10,-10}}))); + annotation ( + experiment( + Tolerance=1e-6, + StartTime=-129600.0, + StopTime=172800), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Sources/Validation/TimeTableNegativeStartTime.mos" "Simulate and plot"), + Documentation( + info=" +

+This model validates the block + +IBPSA.Controls.OBC.CDL.Reals.Sources.TimeTable. +The model is identical to + +IBPSA.Controls.OBC.CDL.Reals.Sources.Validation.TimeTable +except that the start time is negative, and not a multiple of a full day. +", + revisions=" +

+"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end TimeTableNegativeStartTime; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Sources/Validation/package.mo b/IBPSA/Controls/OBC/CDL/Reals/Sources/Validation/package.mo new file mode 100644 index 0000000000..13e6b5a2f7 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Sources/Validation/package.mo @@ -0,0 +1,37 @@ +within IBPSA.Controls.OBC.CDL.Reals.Sources; +package Validation "Collection of models that validate the continuous sources blocks of the CDL" + annotation ( + preferredView="info", + Documentation( + info=" +

+This package contains models that validate the blocks in + +IBPSA.Controls.OBC.CDL.Reals.Sources. +

+

+The examples plot various outputs, which have been verified against +analytical solutions. These model outputs are stored as reference data to +allow continuous validation whenever models in the library change. +

+"), + Icon( + graphics={ + Rectangle( + lineColor={200,200,200}, + fillColor={248,248,248}, + fillPattern=FillPattern.HorizontalCylinder, + extent={{-100.0,-100.0},{100.0,100.0}}, + radius=25.0), + Polygon( + origin={8.0,14.0}, + lineColor={78,138,73}, + fillColor={78,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-58.0,46.0},{42.0,-14.0},{-58.0,-74.0},{-58.0,46.0}}), + Rectangle( + lineColor={128,128,128}, + extent={{-100.0,-100.0},{100.0,100.0}}, + radius=25.0)})); +end Validation; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Sources/Validation/package.order b/IBPSA/Controls/OBC/CDL/Reals/Sources/Validation/package.order new file mode 100644 index 0000000000..44b8c845d0 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Sources/Validation/package.order @@ -0,0 +1,10 @@ +CalendarTimeMonths +CalendarTimeMonthsMinus +CalendarTimeMonthsPlus +CivilTime +Constant +Pulse +Ramp +Sin +TimeTable +TimeTableNegativeStartTime diff --git a/IBPSA/Controls/OBC/CDL/Reals/Sources/package.mo b/IBPSA/Controls/OBC/CDL/Reals/Sources/package.mo new file mode 100644 index 0000000000..0b4acd7fcd --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Sources/package.mo @@ -0,0 +1,33 @@ +within IBPSA.Controls.OBC.CDL.Reals; +package Sources "Package with blocks that generate source signals" + annotation ( + Documentation( + info=" +

+Package with blocks that generate signals. +

+"), + Icon( + graphics={ + Rectangle( + lineColor={200,200,200}, + fillColor={248,248,248}, + fillPattern=FillPattern.HorizontalCylinder, + extent={{-100.0,-100.0},{100.0,100.0}}, + radius=25.0), + Rectangle( + fillColor={128,128,128}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + extent={{-70,-4.5},{0,4.5}}), + Polygon( + origin={23.3333,0.0}, + fillColor={128,128,128}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-23.333,30.0},{46.667,0.0},{-23.333,-30.0}}), + Rectangle( + lineColor={128,128,128}, + extent={{-100.0,-100.0},{100.0,100.0}}, + radius=25.0)})); +end Sources; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Sources/package.order b/IBPSA/Controls/OBC/CDL/Reals/Sources/package.order new file mode 100644 index 0000000000..95a5483879 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Sources/package.order @@ -0,0 +1,8 @@ +CalendarTime +CivilTime +Constant +Pulse +Ramp +Sin +TimeTable +Validation diff --git a/IBPSA/Controls/OBC/CDL/Reals/Sqrt.mo b/IBPSA/Controls/OBC/CDL/Reals/Sqrt.mo new file mode 100644 index 0000000000..bf9bb433e1 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Sqrt.mo @@ -0,0 +1,83 @@ +within IBPSA.Controls.OBC.CDL.Reals; +block Sqrt + "Output the square root of the input (input >= 0 required)" + IBPSA.Controls.OBC.CDL.Interfaces.RealInput u + "Input to square root function" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealOutput y + "Output with square root of the input" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +equation + y=sqrt(u); + + annotation ( + defaultComponentName="sqr", + Icon( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100,-100},{100,100}}), + graphics={ + Rectangle( + extent={{-100,-100},{100,100}}, + lineColor={0,0,127}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Line( + points={{-90,-80},{68,-80}}, + color={192,192,192}), + Polygon( + points={{90,-80},{68,-72},{68,-88},{90,-80}}, + lineColor={192,192,192}, + fillColor={192,192,192}, + fillPattern=FillPattern.Solid), + Line( + points={{-80,-80},{-79.2,-68.7},{-78.4,-64},{-76.8,-57.3},{-73.6,-47.9},{-67.9,-36.1},{-59.1,-22.2},{-46.2,-6.49},{-28.5,10.7},{-4.42,30},{27.7,51.3},{69.5,74.7},{80,80}}, + smooth=Smooth.Bezier), + Polygon( + points={{-80,90},{-88,68},{-72,68},{-80,90}}, + lineColor={192,192,192}, + fillColor={192,192,192}, + fillPattern=FillPattern.Solid), + Line( + points={{-80,-88},{-80,68}}, + color={192,192,192}), + Text( + extent={{-8,-4},{64,-52}}, + textColor={192,192,192}, + textString="sqrt"), + Text( + extent={{-150,150},{150,110}}, + textString="%name", + textColor={0,0,255}), + Text( + extent={{226,60},{106,10}}, + textColor={0,0,0}, + textString=DynamicSelect("",String(y, + leftJustified=false, + significantDigits=3)))}), + Documentation( + info=" +

+Block that outputs square root of the input y = sqrt(u), +where u is an input. The input u must be non-negative. +

+", + revisions=" + +")); +end Sqrt; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Subtract.mo b/IBPSA/Controls/OBC/CDL/Reals/Subtract.mo new file mode 100644 index 0000000000..a5e7e1c190 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Subtract.mo @@ -0,0 +1,73 @@ +within IBPSA.Controls.OBC.CDL.Reals; +block Subtract "Output the difference of the two inputs" + IBPSA.Controls.OBC.CDL.Interfaces.RealInput u1 + "Input with minuend" + annotation (Placement(transformation(extent={{-140,40},{-100,80}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealInput u2 + "Input with subtrahend" + annotation (Placement(transformation(extent={{-140,-80},{-100,-40}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealOutput y + "Output with difference" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +equation + y=u1-u2; + annotation ( + defaultComponentName="sub", + Documentation( + info=" +

+Block that outputs y as the difference of the +two input signals u1 and u2, +

+
+    y = u1 - u2
+
+", +revisions=" + +"), + Icon( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100,-100},{100,100}}), + graphics={ + Rectangle( + extent={{-100,-100},{100,100}}, + lineColor={0,0,127}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Ellipse( + lineColor={0,0,127}, + extent={{-50,-50},{50,50}}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Text( + extent={{-150,150},{150,110}}, + textString="%name", + textColor={0,0,255}), + Line( + points={{-100,60},{-74,24},{-44,24}}, + color={0,0,127}), + Line( + points={{-100,-60},{-74,-28},{-42,-28}}, + color={0,0,127}), + Line( + points={{50,0},{100,0}}, + color={0,0,127}), + Text( + extent={{-38,-28},{38,40}}, + textString="-", + textColor={0,0,0}), + Text( + extent={{226,60},{106,10}}, + textColor={0,0,0}, + textString=DynamicSelect("",String(y, + leftJustified=false, + significantDigits=3)))})); +end Subtract; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Switch.mo b/IBPSA/Controls/OBC/CDL/Reals/Switch.mo new file mode 100644 index 0000000000..dfaf50be50 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Switch.mo @@ -0,0 +1,124 @@ +within IBPSA.Controls.OBC.CDL.Reals; +block Switch + "Switch between two Real signals" + IBPSA.Controls.OBC.CDL.Interfaces.RealInput u1 + "Input u1" + annotation (Placement(transformation(extent={{-140,60},{-100,100}}))); + IBPSA.Controls.OBC.CDL.Interfaces.BooleanInput u2 + "Boolean switch input signal, if true, y=u1, else y=u3" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealInput u3 + "Input u3" + annotation (Placement(transformation(extent={{-140,-100},{-100,-60}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealOutput y + "Output with u1 if u2 is true, else u3" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +equation + y=smooth(0, if u2 then u1 else u3); + annotation ( + defaultComponentName="swi", + Documentation( + info=" +

+Block that outputs one of two real input signals based on a boolean input signal. +

+

+If the input signal u2 is true, +the block outputs y = u1. +Otherwise, it outputs y = u3. +

+", + revisions=" + +"), + Icon( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100,-100},{100,100}}), + graphics={ + Rectangle( + extent={{-100,100},{100,-100}}, + fillColor={210,210,210}, + lineThickness=5.0, + fillPattern=FillPattern.Solid, + borderPattern=BorderPattern.Raised), + Line( + points={{12.0,0.0},{100.0,0.0}}, + color={0,0,127}), + Line( + points={{-100.0,0.0},{-40.0,0.0}}, + color={255,0,255}), + Line( + points={{-100.0,-80.0},{-40.0,-80.0},{-40.0,-80.0}}, + color={0,0,127}), + Line( + points={{-40.0,12.0},{-40.0,-12.0}}, + color={255,0,255}), + Line( + points={{-100.0,80.0},{-40.0,80.0}}, + color={0,0,127}), + Line( + points=DynamicSelect({{10,0},{-40,80}},{{10,0}, + if u2 then + {-40,80} + else + {-40,-80}}), + color={0,0,127}, + thickness=1.0), + Ellipse( + lineColor={0,0,255}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + extent={{2.0,-8.0},{18.0,8.0}}), + Ellipse( + extent={{-71,7},{-85,-7}}, + lineColor=DynamicSelect({235,235,235}, + if u2 then + {0,255,0} + else + {235,235,235}), + fillColor=DynamicSelect({235,235,235}, + if u2 then + {0,255,0} + else + {235,235,235}), + fillPattern=FillPattern.Solid), + Text( + extent={{-90,80},{-46,54}}, + textColor=DynamicSelect({0,0,0}, + if u2 then + {0,0,0} + else + {235,235,235}), + textString="true"), + Text( + extent={{-90,-46},{-38,-76}}, + textColor=DynamicSelect({0,0,0}, + if u2 then + {235,235,235} + else + {0,0,0}), + textString="false"), + Text( + extent={{-150,150},{150,110}}, + textColor={0,0,255}, + textString="%name")})); +end Switch; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Tan.mo b/IBPSA/Controls/OBC/CDL/Reals/Tan.mo new file mode 100644 index 0000000000..bce583559a --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Tan.mo @@ -0,0 +1,97 @@ +within IBPSA.Controls.OBC.CDL.Reals; +block Tan "Output the tangent of the input" + IBPSA.Controls.OBC.CDL.Interfaces.RealInput u( + final unit="rad", + displayUnit="deg") + "Input for the tangent function" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealOutput y + "Tangent of the input" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +equation + y=Modelica.Math.tan(u); + annotation ( + defaultComponentName="tan", + Icon( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100,-100},{100,100}}), + graphics={ + Rectangle( + extent={{-100,-100},{100,100}}, + lineColor={0,0,127}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Text( + textColor={0,0,255}, + extent={{-150,110},{150,150}}, + textString="%name"), + Text( + extent={{-90,72},{-18,24}}, + textColor={192,192,192}, + textString="tan"), + Line( + points={{0,-80},{0,68}}, + color={192,192,192}), + Polygon( + points={{0,90},{-8,68},{8,68},{0,90}}, + lineColor={192,192,192}, + fillColor={192,192,192}, + fillPattern=FillPattern.Solid), + Polygon( + points={{90,0},{68,8},{68,-8},{90,0}}, + lineColor={192,192,192}, + fillColor={192,192,192}, + fillPattern=FillPattern.Solid), + Line( + points={{-90,0},{68,0}}, + color={192,192,192}), + Line( + points={{-80,-80},{-78.4,-68.4},{-76.8,-59.7},{-74.4,-50},{-71.2,-40.9},{-67.1,-33},{-60.7,-24.8},{-51.1,-17.2},{-35.8,-9.98},{-4.42,-1.07},{33.4,9.12},{49.4,16.2},{59.1,23.2},{65.5,30.6},{70.4,39.1},{73.6,47.4},{76,56.1},{77.6,63.8},{80,80}}, + smooth=Smooth.Bezier), + Text( + extent={{226,60},{106,10}}, + textColor={0,0,0}, + textString=DynamicSelect("",String(y, + leftJustified=false, + significantDigits=3)))}), + Documentation( + info=" +

+Block that outputs y = tan(u), +where +u is an input. +

+ +

+\"tan.png\" +

+ +", + revisions=" + +")); +end Tan; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Validation/Abs.mo b/IBPSA/Controls/OBC/CDL/Reals/Validation/Abs.mo new file mode 100644 index 0000000000..ed7bda692b --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Validation/Abs.mo @@ -0,0 +1,60 @@ +within IBPSA.Controls.OBC.CDL.Reals.Validation; +model Abs + "Validation model for the absolute block" + IBPSA.Controls.OBC.CDL.Reals.Abs abs1 + "Block that outputs the absolute value of the input" + annotation (Placement(transformation(extent={{-10,-10},{10,10}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp( + height=2, + duration=1, + offset=-1) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-60,-10},{-40,10}}))); + +equation + connect(ramp.y,abs1.u) + annotation (Line(points={{-38,0},{-38,0},{-12,0}},color={0,0,127})); + annotation ( + experiment( + StopTime=1.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Abs.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Reals.Abs. +The input varies from -1 to +1. +

+", + revisions=" + + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end Abs; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Validation/Acos.mo b/IBPSA/Controls/OBC/CDL/Reals/Validation/Acos.mo new file mode 100644 index 0000000000..20690cd640 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Validation/Acos.mo @@ -0,0 +1,52 @@ +within IBPSA.Controls.OBC.CDL.Reals.Validation; +model Acos "Validation model for the Acos block" + IBPSA.Controls.OBC.CDL.Reals.Acos arcCos + "Block that outputs the arc tangent of the input" + annotation (Placement(transformation(extent={{-10,-10},{10,10}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp1( + duration=1, + offset=-1, + height=2) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-60,-10},{-40,10}}))); + +equation + connect(ramp1.y, arcCos.u) + annotation (Line(points={{-38,0},{-12,0},{-12,0}}, color={0,0,127})); + +annotation ( + experiment(StopTime=1.0, Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Acos.mos" "Simulate and plot"), +Documentation(info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Reals.Acos. +

+

+The input u varies from -1 to +1. +

+", +revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end Acos; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Validation/Add.mo b/IBPSA/Controls/OBC/CDL/Reals/Validation/Add.mo new file mode 100644 index 0000000000..822bbcadeb --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Validation/Add.mo @@ -0,0 +1,63 @@ +within IBPSA.Controls.OBC.CDL.Reals.Validation; +model Add + "Validation model for the add block" + IBPSA.Controls.OBC.CDL.Reals.Add add1 + "Block that outputs the sum of the two inputs" + annotation (Placement(transformation(extent={{-10,-10},{10,10}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp1( + duration=1, + offset=-2, + height=4) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-60,10},{-40,30}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp2( + height=2, + duration=1, + offset=-1) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-60,-30},{-40,-10}}))); + +equation + connect(ramp1.y,add1.u1) + annotation (Line(points={{-38,20},{-26,20},{-26,6},{-12,6}},color={0,0,127})); + connect(ramp2.y,add1.u2) + annotation (Line(points={{-38,-20},{-26,-20},{-26,-6},{-12,-6}},color={0,0,127})); + annotation ( + experiment( + StopTime=1.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Add.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Reals.Add. +

+

+The input u1 varies from -2 to +2, input u2 varies from -1 to +1. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end Add; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Validation/AddParameter.mo b/IBPSA/Controls/OBC/CDL/Reals/Validation/AddParameter.mo new file mode 100644 index 0000000000..ae436a8d60 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Validation/AddParameter.mo @@ -0,0 +1,56 @@ +within IBPSA.Controls.OBC.CDL.Reals.Validation; +model AddParameter + "Validation model for the AddParameter block" + IBPSA.Controls.OBC.CDL.Reals.AddParameter addPar( + p=0.5) + "Block that outputs the sum of an input plus a parameter" + annotation (Placement(transformation(extent={{-10,-10},{10,10}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp1( + duration=1, + offset=-2, + height=4) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-60,-10},{-40,10}}))); + +equation + connect(ramp1.y,addPar.u) + annotation (Line(points={{-38,0},{-38,0},{-12,0}},color={0,0,127})); + annotation ( + experiment( + StopTime=1.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/AddParameter.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Reals.AddParameter. +

+

+The input u varies from -2 to +2. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end AddParameter; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Validation/Asin.mo b/IBPSA/Controls/OBC/CDL/Reals/Validation/Asin.mo new file mode 100644 index 0000000000..2f02e6a55f --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Validation/Asin.mo @@ -0,0 +1,52 @@ +within IBPSA.Controls.OBC.CDL.Reals.Validation; +model Asin "Validation model for the Asin block" + IBPSA.Controls.OBC.CDL.Reals.Asin arcSin + "Block that outputs the arc tangent of the input" + annotation (Placement(transformation(extent={{-10,-10},{10,10}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp1( + duration=1, + offset=-1, + height=2) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-60,-10},{-40,10}}))); + +equation + connect(ramp1.y, arcSin.u) + annotation (Line(points={{-38,0},{-12,0},{-12,0}}, color={0,0,127})); + +annotation ( + experiment(StopTime=1.0, Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Asin.mos" "Simulate and plot"), +Documentation(info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Reals.Asin. +

+

+The input u varies from -1 to +1. +

+", +revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end Asin; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Validation/Atan.mo b/IBPSA/Controls/OBC/CDL/Reals/Validation/Atan.mo new file mode 100644 index 0000000000..2eb745c746 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Validation/Atan.mo @@ -0,0 +1,55 @@ +within IBPSA.Controls.OBC.CDL.Reals.Validation; +model Atan + "Validation model for the Atan block" + IBPSA.Controls.OBC.CDL.Reals.Atan atan1 + "Block that outputs the arc tangent of the input" + annotation (Placement(transformation(extent={{-10,-10},{10,10}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp1( + duration=1, + offset=-2, + height=4) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-60,-10},{-40,10}}))); + +equation + connect(ramp1.y,atan1.u) + annotation (Line(points={{-38,0},{-12,0},{-12,0}},color={0,0,127})); + annotation ( + experiment( + StopTime=1.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Atan.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Reals.Atan. +

+

+The input u varies from -2 to +2. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end Atan; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Validation/Atan2.mo b/IBPSA/Controls/OBC/CDL/Reals/Validation/Atan2.mo new file mode 100644 index 0000000000..be7cf20a00 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Validation/Atan2.mo @@ -0,0 +1,64 @@ +within IBPSA.Controls.OBC.CDL.Reals.Validation; +model Atan2 + "Validation model for the Atan2 block" + IBPSA.Controls.OBC.CDL.Reals.Atan2 atan2_1 + "Block that outputs atan(u1/u2) of the inputs u1 and u2" + annotation (Placement(transformation(extent={{-10,-10},{10,10}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp1( + duration=1, + offset=-2, + height=4) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-60,10},{-40,30}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp2( + duration=1, + offset=1, + height=2) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-60,-30},{-40,-10}}))); + +equation + connect(ramp1.y,atan2_1.u1) + annotation (Line(points={{-38,20},{-26,20},{-26,6},{-12,6}},color={0,0,127})); + connect(ramp2.y,atan2_1.u2) + annotation (Line(points={{-38,-20},{-26,-20},{-26,-6},{-12,-6}},color={0,0,127})); + annotation ( + experiment( + StopTime=1.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Atan2.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Reals.Atan2. +

+

+The input u1 varies from -2 to +2, +The input u2 varies from +1 to +3. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end Atan2; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Validation/Average.mo b/IBPSA/Controls/OBC/CDL/Reals/Validation/Average.mo new file mode 100644 index 0000000000..3aa70eaf76 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Validation/Average.mo @@ -0,0 +1,63 @@ +within IBPSA.Controls.OBC.CDL.Reals.Validation; +model Average + "Validation model for the Average block" + IBPSA.Controls.OBC.CDL.Reals.Average avg1 + "Block that outputs the average of its two inputs" + annotation (Placement(transformation(extent={{-10,-10},{10,10}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp1( + duration=1, + offset=-2, + height=6) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-60,10},{-40,30}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp2( + duration=1, + offset=1.5, + height=3.0) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-60,-30},{-40,-10}}))); + +equation + connect(ramp1.y,avg1.u1) + annotation (Line(points={{-39,20},{-26,20},{-26,6},{-12,6}},color={0,0,127})); + connect(ramp2.y,avg1.u2) + annotation (Line(points={{-39,-20},{-26,-20},{-26,-6},{-12,-6}},color={0,0,127})); + annotation ( + experiment( + StopTime=1.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Average.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Reals.Average. +

+

+The input u1 varies from -2.0 to +6.0, input u2 varies from +1.5 to +4.5 +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end Average; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Validation/Cos.mo b/IBPSA/Controls/OBC/CDL/Reals/Validation/Cos.mo new file mode 100644 index 0000000000..50d1253aec --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Validation/Cos.mo @@ -0,0 +1,55 @@ +within IBPSA.Controls.OBC.CDL.Reals.Validation; +model Cos + "Validation model for the Cos block" + IBPSA.Controls.OBC.CDL.Reals.Cos cos1 + "Block that outputs the cosine of the input" + annotation (Placement(transformation(extent={{-10,-10},{10,10}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp1( + duration=1, + offset=0, + height=6.283) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-60,-10},{-40,10}}))); + +equation + connect(ramp1.y,cos1.u) + annotation (Line(points={{-39,0},{-12,0}},color={0,0,127})); + annotation ( + experiment( + StopTime=1.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Cos.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Reals.Cos. +

+

+The input u varies from 0.0 to +6.283. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end Cos; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Validation/Derivative.mo b/IBPSA/Controls/OBC/CDL/Reals/Validation/Derivative.mo new file mode 100644 index 0000000000..3401139851 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Validation/Derivative.mo @@ -0,0 +1,130 @@ +within IBPSA.Controls.OBC.CDL.Reals.Validation; +model Derivative + "Test model for the derivative block" + IBPSA.Controls.OBC.CDL.Reals.Derivative der1(y_start=1) + "Derivative block with input gains" + annotation (Placement(transformation(extent={{40,40},{60,60}}))); + Reals.Sources.Constant con(k=1) "Outputs 1" + annotation (Placement(transformation(extent={{-80,70},{-60,90}}))); + Reals.Sources.Ramp ram( + height=0.09, + duration=10, + offset=0.01, + startTime=5) "Ramp for time constant used in approximating derivative" + annotation (Placement(transformation(extent={{-80,40},{-60,60}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.CivilTime modTim + "Civil time" + annotation (Placement(transformation(extent={{-110,0},{-90,20}}))); + IBPSA.Controls.OBC.CDL.Reals.IntegratorWithReset intWitRes(y_start=1) + "Integration of input" + annotation (Placement(transformation(extent={{0,0},{20,20}}))); + Logical.Sources.Constant booSig(k=false) "Contant boolean signal" + annotation (Placement(transformation(extent={{-40,-30},{-20,-10}}))); + IBPSA.Controls.OBC.CDL.Reals.Cos cos "Cosine of model time" + annotation (Placement(transformation(extent={{-40,0},{-20,20}}))); + IBPSA.Controls.OBC.CDL.Reals.Derivative der2(y_start=0) + "Derivative block with input gains" + annotation (Placement(transformation(extent={{40,-80},{60,-60}}))); + Reals.Sources.Constant con2(k=2) "Outputs 2" + annotation (Placement(transformation(extent={{-40,-72},{-20,-52}}))); + Reals.Sources.Constant T(k=0.1) "Time constant for derivative approximation" + annotation (Placement(transformation(extent={{0,-90},{20,-70}}))); + Utilities.Assert assMes(message="Differentiated value differs more than threshold") + "Issue an error if results differ more than a threshold" + annotation (Placement(transformation(extent={{170,26},{190,46}}))); + IBPSA.Controls.OBC.CDL.Reals.Subtract sub + "Difference between original signal, and differentiated integral of that signal" + annotation (Placement(transformation(extent={{80,26},{100,46}}))); + IBPSA.Controls.OBC.CDL.Reals.Abs abs "Absolute difference" + annotation (Placement(transformation(extent={{110,26},{130,46}}))); + IBPSA.Controls.OBC.CDL.Reals.LessThreshold lesThr(t=0.1, h=0.01) + "Output true if difference is within expected accuracy" + annotation (Placement(transformation(extent={{140,26},{160,46}}))); + IBPSA.Controls.OBC.CDL.Reals.MultiplyByParameter gai(final k=1) + "Dummy gain to avoid unit difference error" + annotation (Placement(transformation(extent={{-80,0},{-60,20}}))); +equation + connect(con.y, der1.k) annotation (Line(points={{-58,80},{-10,80},{-10,58},{38, + 58}}, color={0,0,127})); + connect(ram.y, der1.T) annotation (Line(points={{-58,50},{-20,50},{-20,54},{38, + 54}}, color={0,0,127})); + connect(intWitRes.y, der1.u) annotation (Line(points={{22,10},{30,10},{30,50}, + {38,50}}, color={0,0,127})); + connect(booSig.y, intWitRes.trigger) + annotation (Line(points={{-18,-20},{10,-20},{10,-2}}, color={255,0,255})); + connect(intWitRes.u, cos.y) + annotation (Line(points={{-2,10},{-18,10}}, color={0,0,127})); + connect(intWitRes.y_reset_in, cos.y) annotation (Line(points={{-2,2},{-10,2},{ + -10,10},{-18,10}}, color={0,0,127})); + connect(intWitRes.y, der2.u) annotation (Line(points={{22,10},{30,10},{30,-70}, + {38,-70}}, color={0,0,127})); + connect(con2.y, der2.k) annotation (Line(points={{-18,-62},{38,-62}}, + color={0,0,127})); + connect(T.y, der2.T) annotation (Line(points={{22,-80},{34,-80},{34,-66},{38,-66}}, + color={0,0,127})); + connect(der1.y, sub.u1) annotation (Line(points={{62,50},{70,50},{70,42},{78,42}}, + color={0,0,127})); + connect(cos.y, sub.u2) annotation (Line(points={{-18,10},{-10,10},{-10,30},{78, + 30}}, color={0,0,127})); + connect(sub.y, abs.u) + annotation (Line(points={{102,36},{108,36}}, color={0,0,127})); + connect(abs.y, lesThr.u) + annotation (Line(points={{132,36},{138,36}}, color={0,0,127})); + connect(lesThr.y, assMes.u) + annotation (Line(points={{162,36},{168,36}}, color={255,0,255})); + connect(modTim.y, gai.u) + annotation (Line(points={{-88,10},{-82,10}}, color={0,0,127})); + connect(gai.y, cos.u) + annotation (Line(points={{-58,10},{-42,10}}, color={0,0,127})); + annotation ( + experiment( + StopTime=10.0, + Tolerance=1e-07), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Derivative.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Reals.Derivative. +The model integrates a time varying signal, and the differentiates this integrated signal. +Hence, the output der1.y matches the non-integrated signal intWitRes.u, +within a small approximation tolerance. +

+

+The instance der1 uses a varying input for T which controls the accuracy of +the derivative approximation. At the start of the simulation, T is small and hence +the output der1.y matches the signal intWitRes.u well. +As expected, the approximation error increases with increasing der1.T. +

+

+The instance der2 uses a gain of 2, and it initializes the output to 0. +Hence, there is a fast transient at the beginning, and afterwards the output matches der1.y = der2.y / 2. +

+", + revisions=" + +"), + Icon(coordinateSystem(extent={{-100,-100},{100,100}}), + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})}), + Diagram(coordinateSystem(extent={{-120,-100},{200,100}}))); +end Derivative; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Validation/Divide.mo b/IBPSA/Controls/OBC/CDL/Reals/Validation/Divide.mo new file mode 100644 index 0000000000..39e79ca46b --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Validation/Divide.mo @@ -0,0 +1,67 @@ +within IBPSA.Controls.OBC.CDL.Reals.Validation; +model Divide "Validation model for the Divide block" + IBPSA.Controls.OBC.CDL.Reals.Divide div1 + "Block that outputs first input divided by second input: u1/u2" + annotation (Placement(transformation(extent={{-10,-10},{10,10}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp1( + duration=1, + offset=-2, + height=4) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-60,10},{-40,30}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp2( + height=2, + duration=1, + offset=1) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-60,-30},{-40,-10}}))); + +equation + connect(ramp1.y,div1.u1) + annotation (Line(points={{-38,20},{-26,20},{-26,6},{-12,6}},color={0,0,127})); + connect(ramp2.y,div1.u2) + annotation (Line(points={{-38,-20},{-26,-20},{-26,-6},{-12,-6}},color={0,0,127})); + annotation ( + experiment( + StopTime=1.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Divide.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Reals.Divide. +

+

+The input u1 varies from -2 to +2, input u2 varies from +1 to +3. +

+", +revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end Divide; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Validation/Exp.mo b/IBPSA/Controls/OBC/CDL/Reals/Validation/Exp.mo new file mode 100644 index 0000000000..d2d001865f --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Validation/Exp.mo @@ -0,0 +1,55 @@ +within IBPSA.Controls.OBC.CDL.Reals.Validation; +model Exp + "Validation model for the Exp block" + IBPSA.Controls.OBC.CDL.Reals.Exp Exp1 + "Block that outputs the exponential (base e) of the input" + annotation (Placement(transformation(extent={{-10,-10},{10,10}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp1( + duration=1, + offset=0, + height=2) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-60,-10},{-40,10}}))); + +equation + connect(ramp1.y,Exp1.u) + annotation (Line(points={{-39,0},{-12,0}},color={0,0,127})); + annotation ( + experiment( + StopTime=1.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Exp.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Reals.Exp. +

+

+The input u varies from 0.0 to +2. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end Exp; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Validation/Greater.mo b/IBPSA/Controls/OBC/CDL/Reals/Validation/Greater.mo new file mode 100644 index 0000000000..07a5550c46 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Validation/Greater.mo @@ -0,0 +1,79 @@ +within IBPSA.Controls.OBC.CDL.Reals.Validation; +model Greater + "Validation model for the Greater block" + IBPSA.Controls.OBC.CDL.Reals.Greater gre + "Greater block, without hysteresis" + annotation (Placement(transformation(extent={{40,20},{60,40}}))); + IBPSA.Controls.OBC.CDL.Reals.Greater greHys(h=1) + "Greater block, with hysteresis" + annotation (Placement(transformation(extent={{40,-40},{60,-20}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ram1( + height=5, + duration=10, + offset=-1.5) "Ramp source" + annotation (Placement(transformation(extent={{-40,-40},{-20,-20}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Sin sin( + amplitude=3, + freqHz=1/10, + offset=-2, + startTime=1) + "Sine source" + annotation (Placement(transformation(extent={{-40,20},{-20,40}}))); +equation + connect(ram1.y, gre.u2) annotation (Line(points={{-18,-30},{20,-30},{20,22},{38, + 22}}, color={0,0,127})); + connect(ram1.y, greHys.u2) annotation (Line(points={{-18,-30},{20,-30},{20,-38}, + {38,-38}}, color={0,0,127})); + connect(sin.y, gre.u1) + annotation (Line(points={{-18,30},{38,30}}, color={0,0,127})); + connect(sin.y, greHys.u1) annotation (Line(points={{-18,30},{30,30},{30,-30},{ + 38,-30}}, color={0,0,127})); + annotation ( + experiment( + StopTime=10.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Greater.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Reals.Greater. +The instance gre has no hysteresis, and the +instance greHys has a hysteresis. +

+", +revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end Greater; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Validation/GreaterThreshold.mo b/IBPSA/Controls/OBC/CDL/Reals/Validation/GreaterThreshold.mo new file mode 100644 index 0000000000..2d013ed070 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Validation/GreaterThreshold.mo @@ -0,0 +1,70 @@ +within IBPSA.Controls.OBC.CDL.Reals.Validation; +model GreaterThreshold + "Validation model for the GreaterThreshold block" + IBPSA.Controls.OBC.CDL.Reals.GreaterThreshold gre(t=2) + "Greater block, without hysteresis" + annotation (Placement(transformation(extent={{40,20},{60,40}}))); + IBPSA.Controls.OBC.CDL.Reals.GreaterThreshold greHys(t=2, h=1) + "Greater block, with hysteresis" + annotation (Placement(transformation(extent={{40,-30},{60,-10}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Sin sin( + amplitude=8, + freqHz=1/10, + offset=-2, + startTime=1) + "Sine source" + annotation (Placement(transformation(extent={{-40,20},{-20,40}}))); +equation + connect(sin.y, gre.u) + annotation (Line(points={{-18,30},{38,30}}, color={0,0,127})); + connect(sin.y, greHys.u) annotation (Line(points={{-18,30},{20,30},{20,-20},{38, + -20}}, color={0,0,127})); + annotation ( + experiment( + StopTime=10.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/GreaterThreshold.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Reals.GreaterThreshold. +The instance gre has no hysteresis, and the +instance greHys has a hysteresis. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end GreaterThreshold; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Validation/Hysteresis.mo b/IBPSA/Controls/OBC/CDL/Reals/Validation/Hysteresis.mo new file mode 100644 index 0000000000..8dce075b65 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Validation/Hysteresis.mo @@ -0,0 +1,99 @@ +within IBPSA.Controls.OBC.CDL.Reals.Validation; +model Hysteresis + "Validation model for the Hysteresis block" + IBPSA.Controls.OBC.CDL.Reals.Hysteresis hysteresis( + final uLow=0, + final uHigh=1) + "Transform Real to Boolean signal with Hysteresis" + annotation (Placement(transformation(extent={{50,30},{70,50}}))); + IBPSA.Controls.OBC.CDL.Reals.Hysteresis hysteresis1( + final uLow=0, + final uHigh=1, + final pre_y_start=true) + "Transform Real to Boolean signal with Hysteresis" + annotation (Placement(transformation(extent={{20,-10},{40,10}}))); + IBPSA.Controls.OBC.CDL.Reals.Hysteresis hysteresis2( + final uLow=0+0.01, + final uHigh=1-0.01) + "Transform Real to Boolean signal with Hysteresis" + annotation (Placement(transformation(extent={{20,-50},{40,-30}}))); + +protected + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp1( + final duration=1, + final offset=0, + final height=6.2831852) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-74,30},{-54,50}}))); + IBPSA.Controls.OBC.CDL.Reals.Sin sin1 + "Block that outputs the sine of the input" + annotation (Placement(transformation(extent={{-30,30},{-10,50}}))); + IBPSA.Controls.OBC.CDL.Reals.MultiplyByParameter gain1( + final k=2.5) + "Block that outputs the product of a gain value with the input signal" + annotation (Placement(transformation(extent={{10,30},{30,50}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Sin sin( + final amplitude=1, + final freqHz=10) + "Sine signal" + annotation (Placement(transformation(extent={{-40,-10},{-20,10}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Sin sin2( + final amplitude=1, + final freqHz=5) + "Sine signal" + annotation (Placement(transformation(extent={{-40,-50},{-20,-30}}))); + +equation + connect(ramp1.y,sin1.u) + annotation (Line(points={{-52,40},{-32,40}},color={0,0,127})); + connect(sin1.y,gain1.u) + annotation (Line(points={{-8,40},{8,40}},color={0,0,127})); + connect(gain1.y,hysteresis.u) + annotation (Line(points={{32,40},{48,40}},color={0,0,127})); + connect(hysteresis2.u,sin2.y) + annotation (Line(points={{18,-40},{-18,-40}},color={0,0,127})); + connect(sin.y,hysteresis1.u) + annotation (Line(points={{-18,0},{18,0}},color={0,0,127})); + annotation ( + experiment( + StopTime=1.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Hysteresis.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Reals.Hysteresis. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end Hysteresis; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Validation/IntegratorWithReset.mo b/IBPSA/Controls/OBC/CDL/Reals/Validation/IntegratorWithReset.mo new file mode 100644 index 0000000000..335df90b42 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Validation/IntegratorWithReset.mo @@ -0,0 +1,101 @@ +within IBPSA.Controls.OBC.CDL.Reals.Validation; +model IntegratorWithReset + "Test model for integrator with reset" + IBPSA.Controls.OBC.CDL.Reals.IntegratorWithReset intDef(final + y_start=-2) + "Integrator with default values" + annotation (Placement(transformation(extent={{0,60},{20,80}}))); + IBPSA.Controls.OBC.CDL.Reals.IntegratorWithReset intWitRes1(final + y_start=-2, + final k=0.5) + "Integrator with reset" + annotation (Placement(transformation(extent={{0,20},{20,40}}))); + IBPSA.Controls.OBC.CDL.Reals.IntegratorWithReset intWitRes2( + final y_start=-5, + final k=0.5) + "Integrator with reset and y_reset = 2" + annotation (Placement(transformation(extent={{0,-20},{20,0}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Constant cons( + final k=10) + "Constant as source term" + annotation (Placement(transformation(extent={{-60,60},{-40,80}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booleanPulse( + final width=0.5, + final period=0.2) + "Boolean pulse" + annotation (Placement(transformation(extent={{-60,-80},{-40,-60}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.SampleTrigger sampleTrigger( + final period=0.2) + "Sample trigger" + annotation (Placement(transformation(extent={{-60,0},{-40,20}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp( + final height=-1, + final duration=1, + final offset=-2) + "Ramp as a source term" + annotation (Placement(transformation(extent={{-60,-40},{-40,-20}}))); + +equation + connect(cons.y,intWitRes1.u) + annotation (Line(points={{-38,70},{-20,70},{-20,30},{-2,30}},color={0,0,127})); + connect(cons.y,intWitRes2.u) + annotation (Line(points={{-38,70},{-20,70},{-20,-10},{-2,-10}},color={0,0,127})); + connect(sampleTrigger.y,intWitRes1.trigger) + annotation (Line(points={{-38,10},{10,10},{10,18}},color={255,0,255})); + connect(booleanPulse.y,intWitRes2.trigger) + annotation (Line(points={{-38,-70},{10,-70},{10,-22}},color={255,0,255})); + connect(ramp.y,intWitRes2.y_reset_in) + annotation (Line(points={{-38,-30},{-14,-30},{-14,-18},{-2,-18}},color={0,0,127})); + connect(cons.y,intDef.u) + annotation (Line(points={{-38,70},{-2,70}},color={0,0,127})); + connect(ramp.y,intWitRes1.y_reset_in) + annotation (Line(points={{-38,-30},{-14,-30},{-14,22},{-2,22}},color={0,0,127})); + connect(ramp.y,intDef.y_reset_in) + annotation (Line(points={{-38,-30},{-14,-30},{-14,62},{-2,62}},color={0,0,127})); + connect(sampleTrigger.y,intDef.trigger) + annotation (Line(points={{-38,10},{-26,10},{-26,52},{10,52},{10,58}},color={255,0,255})); + annotation ( + experiment( + StopTime=1.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/IntegratorWithReset.mos" "Simulate and plot"), + Documentation( + info=" +

+This model tests the implementation of + +IBPSA.Controls.OBC.CDL.Reals.IntegratorWithReset +with and without reset, and with different start values +and reset values. +

+

+The integrator intWitRes1 is triggered by a sample trigger +which becomes true at t=0, while intWitRes2 is triggered +by a boolean pulse with is true at t=0. +Hence, intWitRes1 starts with y(0)=y_reset while +intWitRes2 starts with y(0)=y_start. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end IntegratorWithReset; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Validation/Less.mo b/IBPSA/Controls/OBC/CDL/Reals/Validation/Less.mo new file mode 100644 index 0000000000..6736c4b131 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Validation/Less.mo @@ -0,0 +1,81 @@ +within IBPSA.Controls.OBC.CDL.Reals.Validation; +model Less + "Validation model for the Less block" + IBPSA.Controls.OBC.CDL.Reals.Less les + "Less block, without hysteresis" + annotation (Placement(transformation(extent={{20,30},{40,50}}))); + IBPSA.Controls.OBC.CDL.Reals.Less lesHys( + h=1) + "Less block, with hysteresis" + annotation (Placement(transformation(extent={{20,-30},{40,-10}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Sin sin( + amplitude=3, + freqHz=1/10, + offset=-2, + startTime=1) + "Sine source" + annotation (Placement(transformation(extent={{-40,30},{-20,50}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ram1( + height=5, + duration=10, + offset=-2) + "Ramp source" + annotation (Placement(transformation(extent={{-40,-30},{-20,-10}}))); +equation + connect(sin.y, les.u1) + annotation (Line(points={{-18,40},{18,40}}, color={0,0,127})); + connect(sin.y, lesHys.u1) annotation (Line(points={{-18,40},{0,40},{0,-20},{18, + -20}}, color={0,0,127})); + connect(ram1.y, les.u2) annotation (Line(points={{-18,-20},{-10,-20},{-10,32}, + {18,32}}, color={0,0,127})); + connect(ram1.y, lesHys.u2) annotation (Line(points={{-18,-20},{-10,-20},{-10,-28}, + {18,-28}}, color={0,0,127})); + annotation ( + experiment( + StopTime=10.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Less.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Reals.Less. +The instance les has no hysteresis, and the +instance lesHys has a hysteresis. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end Less; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Validation/LessThreshold.mo b/IBPSA/Controls/OBC/CDL/Reals/Validation/LessThreshold.mo new file mode 100644 index 0000000000..6637c59322 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Validation/LessThreshold.mo @@ -0,0 +1,70 @@ +within IBPSA.Controls.OBC.CDL.Reals.Validation; +model LessThreshold + "Validation model for the LessThreshold block" + IBPSA.Controls.OBC.CDL.Reals.LessThreshold les(t=2) + "Less block, without hysteresis" + annotation (Placement(transformation(extent={{20,20},{40,40}}))); + IBPSA.Controls.OBC.CDL.Reals.LessThreshold lesHys(t=2, h=1) + "Less block, with hysteresis" + annotation (Placement(transformation(extent={{20,-30},{40,-10}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Sin sin( + amplitude=8, + freqHz=1/10, + offset=-2, + startTime=1) + "Sine source" + annotation (Placement(transformation(extent={{-40,20},{-20,40}}))); +equation + connect(sin.y, les.u) + annotation (Line(points={{-18,30},{18,30}}, color={0,0,127})); + connect(sin.y, lesHys.u) annotation (Line(points={{-18,30},{0,30},{0,-20},{18, + -20}}, color={0,0,127})); + annotation ( + experiment( + StopTime=10.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/LessThreshold.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Reals.LessThreshold. +The instance les has no hysteresis, and the +instance lesHys has a hysteresis. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end LessThreshold; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Validation/LimitSlewRate.mo b/IBPSA/Controls/OBC/CDL/Reals/Validation/LimitSlewRate.mo new file mode 100644 index 0000000000..f3e253f17d --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Validation/LimitSlewRate.mo @@ -0,0 +1,166 @@ +within IBPSA.Controls.OBC.CDL.Reals.Validation; +model LimitSlewRate "Validation model for the LimitSlewRate block" + IBPSA.Controls.OBC.CDL.Reals.LimitSlewRate sleRatLim( + raisingSlewRate=1/30) + "Block that limit the increase or decrease rate of input" + annotation (Placement(transformation(extent={{70,-10},{90,10}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp1( + offset=0, + height=1.5, + duration=20, + startTime=10) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-80,100},{-60,120}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp2( + offset=0, + height=-1.5, + startTime=60, + duration=20) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-80,70},{-60,90}}))); + IBPSA.Controls.OBC.CDL.Reals.Add add + "Signal adder" + annotation (Placement(transformation(extent={{-40,80},{-20,100}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp3( + offset=0, + height=-1.5, + duration=30, + startTime=120+60) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-80,10},{-60,30}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp4( + offset=0, + height=1.5, + duration=30, + startTime=120) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-80,40},{-60,60}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp5( + offset=0, + height=-1.5, + startTime=240+60, + duration=40) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-80,-60},{-60,-40}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp6( + offset=0, + height=1.5, + startTime=240, + duration=40) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-80,-30},{-60,-10}}))); + IBPSA.Controls.OBC.CDL.Reals.Add add1 + "Signal adder" + annotation (Placement(transformation(extent={{-40,20},{-20,40}}))); + IBPSA.Controls.OBC.CDL.Reals.Add add2 + "Signal adder" + annotation (Placement(transformation(extent={{-40,-48},{-20,-28}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp7( + offset=0, + height=-1.5, + duration=50, + startTime=360+60) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-80,-130},{-60,-110}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp8( + offset=0, + height=1.5, + duration=50, + startTime=360) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-80,-100},{-60,-80}}))); + IBPSA.Controls.OBC.CDL.Reals.Add add3 + "Signal adder" + annotation (Placement(transformation(extent={{-40,-120},{-20,-100}}))); + IBPSA.Controls.OBC.CDL.Reals.Add add4 + "Signal adder" + annotation (Placement(transformation(extent={{0,50},{20,70}}))); + IBPSA.Controls.OBC.CDL.Reals.Add add5 + "Signal adder" + annotation (Placement(transformation(extent={{0,-80},{20,-60}}))); + IBPSA.Controls.OBC.CDL.Reals.Add add6 + "Signal adder" + annotation (Placement(transformation(extent={{40,-10},{60,10}}))); + +equation + connect(ramp1.y,add.u1) + annotation (Line(points={{-58,110},{-46,110},{-46,96},{-42,96}},color={0,0,127})); + connect(ramp2.y,add.u2) + annotation (Line(points={{-58,80},{-52,80},{-52,84},{-42,84}},color={0,0,127})); + connect(ramp4.y,add1.u1) + annotation (Line(points={{-58,50},{-50,50},{-50,36},{-42,36}},color={0,0,127})); + connect(ramp3.y,add1.u2) + annotation (Line(points={{-58,20},{-50,20},{-50,24},{-42,24}},color={0,0,127})); + connect(ramp6.y,add2.u1) + annotation (Line(points={{-58,-20},{-50,-20},{-50,-32},{-42,-32}},color={0,0,127})); + connect(ramp5.y,add2.u2) + annotation (Line(points={{-58,-50},{-50,-50},{-50,-44},{-42,-44}},color={0,0,127})); + connect(ramp8.y,add3.u1) + annotation (Line(points={{-58,-90},{-50,-90},{-50,-104},{-42,-104}},color={0,0,127})); + connect(ramp7.y,add3.u2) + annotation (Line(points={{-58,-120},{-50,-120},{-50,-116},{-42,-116}},color={0,0,127})); + connect(add.y,add4.u1) + annotation (Line(points={{-18,90},{-12,90},{-12,66},{-2,66}},color={0,0,127})); + connect(add1.y,add4.u2) + annotation (Line(points={{-18,30},{-10,30},{-10,54},{-2,54}},color={0,0,127})); + connect(add2.y,add5.u1) + annotation (Line(points={{-18,-38},{-10,-38},{-10,-64},{-2,-64}},color={0,0,127})); + connect(add3.y,add5.u2) + annotation (Line(points={{-18,-110},{-12,-110},{-12,-76},{-2,-76}},color={0,0,127})); + connect(add4.y,add6.u1) + annotation (Line(points={{22,60},{24,60},{24,6},{38,6}},color={0,0,127})); + connect(add5.y,add6.u2) + annotation (Line(points={{22,-70},{24,-70},{24,-6},{38,-6}},color={0,0,127})); + connect(sleRatLim.u,add6.y) + annotation (Line(points={{68,0},{68,0},{62,0}},color={0,0,127})); + annotation ( + experiment( + StopTime=480, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/LimitSlewRate.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Reals.LimitSlewRate. +

+

+The input ramp1.u varies from 0 to +1.5, +in 1 s. +

+

+The increase and decrease rate limits are [increase/incDt, -decrease/decDt] , which is [1, -1] here. +

+", +revisions=" + +"), + Diagram( + coordinateSystem( + extent={{-100,-140},{100,140}})), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end LimitSlewRate; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Validation/Limiter.mo b/IBPSA/Controls/OBC/CDL/Reals/Validation/Limiter.mo new file mode 100644 index 0000000000..a4ce6c979a --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Validation/Limiter.mo @@ -0,0 +1,57 @@ +within IBPSA.Controls.OBC.CDL.Reals.Validation; +model Limiter + "Validation model for the Limiter block" + IBPSA.Controls.OBC.CDL.Reals.Limiter limiter1( + uMax=2.5, + uMin=1.2) + "Block that limit the range of a signal" + annotation (Placement(transformation(extent={{-10,-10},{10,10}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp1( + duration=1, + offset=0, + height=4) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-60,-10},{-40,10}}))); + +equation + connect(ramp1.y,limiter1.u) + annotation (Line(points={{-39,0},{-12,0}},color={0,0,127})); + annotation ( + experiment( + StopTime=1.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Limiter.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Reals.Limiter. +

+

+The input u varies from 0.0 to +2. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end Limiter; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Validation/Line.mo b/IBPSA/Controls/OBC/CDL/Reals/Validation/Line.mo new file mode 100644 index 0000000000..57be9565b4 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Validation/Line.mo @@ -0,0 +1,128 @@ +within IBPSA.Controls.OBC.CDL.Reals.Validation; +model Line + "Validation model for the Line block" + IBPSA.Controls.OBC.CDL.Reals.Line line1 + "Block that out the value of the input x along a line specified by two points" + annotation (Placement(transformation(extent={{-10,-10},{10,10}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Constant x1( + k=1.0) + "Block that generate x1" + annotation (Placement(transformation(extent={{-60,52},{-40,72}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Constant f1( + k=0.5) + "Block that generate f(x1)" + annotation (Placement(transformation(extent={{-60,20},{-40,40}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Constant x2( + k=2.0) + "Block that generate x2" + annotation (Placement(transformation(extent={{-60,-40},{-40,-20}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Constant f2( + k=1.5) + "Block that generate f(x2)" + annotation (Placement(transformation(extent={{-60,-70},{-40,-50}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp1( + offset=0, + duration=0.5, + startTime=0.25, + height=3) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-60,-10},{-40,10}}))); + IBPSA.Controls.OBC.CDL.Reals.Line line2( + limitAbove=true, + limitBelow=false) + "Block that out the value of the input x along a line specified by two points" + annotation (Placement(transformation(extent={{-10,-40},{10,-20}}))); + IBPSA.Controls.OBC.CDL.Reals.Line line3( + limitBelow=true, + limitAbove=false) + "Block that out the value of the input x along a line specified by two points" + annotation (Placement(transformation(extent={{-10,-70},{10,-50}}))); + +equation + connect(ramp1.y,line1.u) + annotation (Line(points={{-39,0},{-12,0}},color={0,0,127})); + connect(f1.y,line1.f1) + annotation (Line(points={{-39,30},{-24,30},{-24,4},{-12,4}},color={0,0,127})); + connect(x1.y,line1.x1) + annotation (Line(points={{-39,62},{-26,62},{-26,8},{-12,8}},color={0,0,127})); + connect(x2.y,line1.x2) + annotation (Line(points={{-39,-30},{-24,-30},{-24,-4},{-12,-4}},color={0,0,127})); + connect(f2.y,line1.f2) + annotation (Line(points={{-39,-60},{-26,-60},{-26,-8},{-12,-8}},color={0,0,127})); + connect(ramp1.y,line2.u) + annotation (Line(points={{-39,0},{-36,0},{-36,-30},{-12,-30}},color={0,0,127})); + connect(f1.y,line2.f1) + annotation (Line(points={{-39,30},{-24,30},{-24,-26},{-12,-26}},color={0,0,127})); + connect(x1.y,line2.x1) + annotation (Line(points={{-39,62},{-26,62},{-26,-22},{-12,-22}},color={0,0,127})); + connect(x2.y,line2.x2) + annotation (Line(points={{-39,-30},{-24,-30},{-24,-34},{-12,-34}},color={0,0,127})); + connect(f2.y,line2.f2) + annotation (Line(points={{-39,-60},{-26,-60},{-26,-38},{-12,-38}},color={0,0,127})); + connect(ramp1.y,line3.u) + annotation (Line(points={{-39,0},{-36,0},{-36,-60},{-12,-60}},color={0,0,127})); + connect(f1.y,line3.f1) + annotation (Line(points={{-39,30},{-24,30},{-24,-56},{-12,-56}},color={0,0,127})); + connect(x1.y,line3.x1) + annotation (Line(points={{-39,62},{-26,62},{-26,-52},{-12,-52}},color={0,0,127})); + connect(x2.y,line3.x2) + annotation (Line(points={{-39,-30},{-24,-30},{-24,-64},{-12,-64}},color={0,0,127})); + connect(f2.y,line3.f2) + annotation (Line(points={{-39,-60},{-26,-60},{-26,-68},{-12,-68}},color={0,0,127})); + annotation ( + experiment( + StopTime=1.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Line.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Reals.Line. +

+

+The input u varies from 0.0 to +2. +

+

+The block outputs y = a + b u, +where +u is an input +and the coefficients a and b +are determined so that the line intercepts the two input points +specified by the two points x1 and f1, +and x2 and f2. +

+

+The parameters limitBelow and limitAbove +determine whether x1 and x2 are also used +to limit the input u. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end Line; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Validation/Log.mo b/IBPSA/Controls/OBC/CDL/Reals/Validation/Log.mo new file mode 100644 index 0000000000..52b138963a --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Validation/Log.mo @@ -0,0 +1,55 @@ +within IBPSA.Controls.OBC.CDL.Reals.Validation; +model Log + "Validation model for the Log block" + IBPSA.Controls.OBC.CDL.Reals.Log log1 + "Block that outputs the natural (base e) logarithm of the input (input > 0 required)" + annotation (Placement(transformation(extent={{-10,-10},{10,10}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp1( + duration=1, + offset=1, + height=5) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-60,-10},{-40,10}}))); + +equation + connect(ramp1.y,log1.u) + annotation (Line(points={{-39,0},{-12,0}},color={0,0,127})); + annotation ( + experiment( + StopTime=1.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Log.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Reals.Log. +

+

+The input u varies from +1 to +6. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end Log; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Validation/Log10.mo b/IBPSA/Controls/OBC/CDL/Reals/Validation/Log10.mo new file mode 100644 index 0000000000..9a844dc8a0 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Validation/Log10.mo @@ -0,0 +1,55 @@ +within IBPSA.Controls.OBC.CDL.Reals.Validation; +model Log10 + "Validation model for the Log10 block" + IBPSA.Controls.OBC.CDL.Reals.Log10 log10_1 + "Block that outputs the base 10 logarithm of the input (input > 0 required)" + annotation (Placement(transformation(extent={{-10,-10},{10,10}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp1( + duration=1, + offset=1, + height=9) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-60,-10},{-40,10}}))); + +equation + connect(ramp1.y,log10_1.u) + annotation (Line(points={{-39,0},{-12,0}},color={0,0,127})); + annotation ( + experiment( + StopTime=1.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Log10.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Reals.Log10. +

+

+The input u varies from +1 to +10. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end Log10; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Validation/MatrixGain.mo b/IBPSA/Controls/OBC/CDL/Reals/Validation/MatrixGain.mo new file mode 100644 index 0000000000..322ffab0a3 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Validation/MatrixGain.mo @@ -0,0 +1,84 @@ +within IBPSA.Controls.OBC.CDL.Reals.Validation; +model MatrixGain + "Validation model for the MatrixGain block" + IBPSA.Controls.OBC.CDL.Reals.MatrixGain matGai( + K=[ + 1,0; + 1,1; + 1,2]) + "Block that outputs the product of a matrix gain value with the input signal" + annotation (Placement(transformation(extent={{20,30},{40,50}}))); + IBPSA.Controls.OBC.CDL.Reals.MatrixGain matGai1( + K=[ + 1,2; + 3,4]) + "Block that outputs the product of a matrix gain value with the input signal" + annotation (Placement(transformation(extent={{20,-50},{40,-30}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp( + duration=1, + offset=0, + height=2) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-40,30},{-20,50}}))); + Reals.Sources.Ramp ramp1( + duration=1, + offset=0, + height=1) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-40,-30},{-20,-10}}))); + Reals.Sources.Ramp ramp2( + duration=1, + offset=0, + height=2) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-40,-70},{-20,-50}}))); + +equation + connect(ramp2.y,matGai1.u[2]) + annotation (Line(points={{-19,-60},{0,-60},{0,-40},{18,-40}},color={0,0,127})); + connect(ramp1.y,matGai1.u[1]) + annotation (Line(points={{-19,-20},{0,-20},{0,-40},{18,-40}},color={0,0,127})); + connect(ramp.y,matGai.u[1]) + annotation (Line(points={{-19,40},{18,40}},color={0,0,127})); + connect(ramp.y,matGai.u[2]) + annotation (Line(points={{-19,40},{18,40}},color={0,0,127})); + annotation ( + experiment( + StopTime=1.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/MatrixGain.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Reals.MatrixGain. +

+

+The input vector output two identical values u[1] and +u[2] that vary from 0.0 to +2. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end MatrixGain; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Validation/MatrixMax.mo b/IBPSA/Controls/OBC/CDL/Reals/Validation/MatrixMax.mo new file mode 100644 index 0000000000..43d5ad8d6f --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Validation/MatrixMax.mo @@ -0,0 +1,75 @@ +within IBPSA.Controls.OBC.CDL.Reals.Validation; +model MatrixMax + "Validation model for the MatrixMax block" + Reals.Sources.Constant con[3,3]( + k={{1,2,3},{6,4,2},{3,9,6}}) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-40,50},{-20,70}}))); + Reals.Sources.Constant con1[2,3]( + k={{1,4,3},{2,2,6}}) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-40,-10},{-20,10}}))); + Reals.Sources.Constant con2[2,3]( + k={{1,2,3},{6,4,2}}) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-40,-70},{-20,-50}}))); + IBPSA.Controls.OBC.CDL.Reals.MatrixMax matMax( + rowMax=false, + nRow=3, + nCol=3) + "Matrix maximum" + annotation (Placement(transformation(extent={{0,50},{20,70}}))); + IBPSA.Controls.OBC.CDL.Reals.MatrixMax matMax1( + nCol=3, + nRow=2) + "Matrix maximum" + annotation (Placement(transformation(extent={{0,-10},{20,10}}))); + IBPSA.Controls.OBC.CDL.Reals.MatrixMax matMax2( + nCol=3, + nRow=2) + "Matrix maximum" + annotation (Placement(transformation(extent={{0,-70},{20,-50}}))); + +equation + connect(con.y,matMax.u) + annotation (Line(points={{-19,60},{-2,60}},color={0,0,127})); + connect(con1.y,matMax1.u) + annotation (Line(points={{-19,0},{-2,0}},color={0,0,127})); + connect(con2.y,matMax2.u) + annotation (Line(points={{-19,-60},{-2,-60}},color={0,0,127})); + annotation ( + experiment( + StopTime=1.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/MatrixMax.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Reals.MatrixMax. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end MatrixMax; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Validation/MatrixMin.mo b/IBPSA/Controls/OBC/CDL/Reals/Validation/MatrixMin.mo new file mode 100644 index 0000000000..66a71fe46e --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Validation/MatrixMin.mo @@ -0,0 +1,77 @@ +within IBPSA.Controls.OBC.CDL.Reals.Validation; +model MatrixMin + "Validation model for the MatrixMin block" + Reals.Sources.Constant con[3,3]( + k={{-1,-2,-3},{-6,-4,-2},{-3,-9,-6}}) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-40,50},{-20,70}}))); + Reals.Sources.Constant con1[2,3]( + k={{-1,-4,-3},{-2,-2,-6}}) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-40,-10},{-20,10}}))); + Reals.Sources.Constant con2[2,3]( + k={{-1,-2,-3},{-6,-4,-2}}) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-40,-70},{-20,-50}}))); + IBPSA.Controls.OBC.CDL.Reals.MatrixMin matMin( + nRow=3, + nCol=3, + rowMin=false) + "Matrix minimum" + annotation (Placement(transformation(extent={{0,50},{20,70}}))); + IBPSA.Controls.OBC.CDL.Reals.MatrixMin matMin1( + nCol=3, + rowMin=false, + nRow=2) + "Matrix minimum" + annotation (Placement(transformation(extent={{0,-10},{20,10}}))); + IBPSA.Controls.OBC.CDL.Reals.MatrixMin matMin2( + nCol=3, + rowMin=true, + nRow=2) + "Matrix minimum" + annotation (Placement(transformation(extent={{0,-70},{20,-50}}))); + +equation + connect(con.y,matMin.u) + annotation (Line(points={{-19,60},{-2,60}},color={0,0,127})); + connect(con1.y,matMin1.u) + annotation (Line(points={{-19,0},{-2,0}},color={0,0,127})); + connect(con2.y,matMin2.u) + annotation (Line(points={{-19,-60},{-2,-60}},color={0,0,127})); + annotation ( + experiment( + StopTime=1.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/MatrixMin.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Reals.MatrixMin. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end MatrixMin; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Validation/Max.mo b/IBPSA/Controls/OBC/CDL/Reals/Validation/Max.mo new file mode 100644 index 0000000000..82660df86d --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Validation/Max.mo @@ -0,0 +1,63 @@ +within IBPSA.Controls.OBC.CDL.Reals.Validation; +model Max + "Validation model for the Max block" + IBPSA.Controls.OBC.CDL.Reals.Max max1 + "Block that pass through the largest signal" + annotation (Placement(transformation(extent={{-10,-10},{10,10}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp1( + duration=1, + offset=-2, + height=4) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-60,10},{-40,30}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp2( + duration=1, + offset=-1, + height=2) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-60,-30},{-40,-10}}))); + +equation + connect(ramp1.y,max1.u1) + annotation (Line(points={{-39,20},{-26,20},{-26,6},{-12,6}},color={0,0,127})); + connect(ramp2.y,max1.u2) + annotation (Line(points={{-39,-20},{-26,-20},{-26,-6},{-12,-6}},color={0,0,127})); + annotation ( + experiment( + StopTime=1.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Max.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Reals.Max. +

+

+The input u1 varies from -2 to +2, input u2 varies from -1 to +1. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end Max; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Validation/Min.mo b/IBPSA/Controls/OBC/CDL/Reals/Validation/Min.mo new file mode 100644 index 0000000000..7ff7169fc0 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Validation/Min.mo @@ -0,0 +1,63 @@ +within IBPSA.Controls.OBC.CDL.Reals.Validation; +model Min + "Validation model for the Min block" + IBPSA.Controls.OBC.CDL.Reals.Min min1 + "Block that pass through the smallest signal" + annotation (Placement(transformation(extent={{-10,-10},{10,10}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp1( + duration=1, + offset=-2, + height=4) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-60,10},{-40,30}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp2( + duration=1, + offset=-1, + height=2) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-60,-30},{-40,-10}}))); + +equation + connect(ramp1.y,min1.u1) + annotation (Line(points={{-39,20},{-26,20},{-26,6},{-12,6}},color={0,0,127})); + connect(ramp2.y,min1.u2) + annotation (Line(points={{-39,-20},{-26,-20},{-26,-6},{-12,-6}},color={0,0,127})); + annotation ( + experiment( + StopTime=1.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Min.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Reals.Min. +

+

+The input u1 varies from -2 to +2, input u2 varies from -1 to +1. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end Min; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Validation/Modulo.mo b/IBPSA/Controls/OBC/CDL/Reals/Validation/Modulo.mo new file mode 100644 index 0000000000..23a527bc88 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Validation/Modulo.mo @@ -0,0 +1,63 @@ +within IBPSA.Controls.OBC.CDL.Reals.Validation; +model Modulo + "Validation model for the Modulo block" + IBPSA.Controls.OBC.CDL.Reals.Modulo mod1 + "Block that outputs the remainder of first input divided by second input (~=0)" + annotation (Placement(transformation(extent={{-10,-10},{10,10}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp1( + duration=1, + offset=-2, + height=6) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-60,10},{-40,30}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp2( + duration=1, + offset=1.5, + height=3.0) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-60,-30},{-40,-10}}))); + +equation + connect(ramp1.y,mod1.u1) + annotation (Line(points={{-39,20},{-26,20},{-26,6},{-12,6}},color={0,0,127})); + connect(ramp2.y,mod1.u2) + annotation (Line(points={{-39,-20},{-26,-20},{-26,-6},{-12,-6}},color={0,0,127})); + annotation ( + experiment( + StopTime=1.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Modulo.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Reals.Modulo. +

+

+The input u1 varies from -2.0 to +6.0, input u2 varies from +1.5 to +4.5 +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end Modulo; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Validation/MovingAverage.mo b/IBPSA/Controls/OBC/CDL/Reals/Validation/MovingAverage.mo new file mode 100644 index 0000000000..1f7d2a7f8a --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Validation/MovingAverage.mo @@ -0,0 +1,113 @@ +within IBPSA.Controls.OBC.CDL.Reals.Validation; +model MovingAverage "Validation model for the MovingAverage block" + IBPSA.Controls.OBC.CDL.Reals.Sources.Sin sinInpNoDel( + freqHz=1/80) "Start from zero second" + annotation (Placement(transformation(extent={{-90,50},{-70,70}}))); + IBPSA.Controls.OBC.CDL.Reals.MovingAverage movAve1(delta=100) + "Moving average with 100 s sliding window" + annotation (Placement(transformation(extent={{-40,50},{-20,70}}))); + IBPSA.Controls.OBC.CDL.Reals.MovingAverage movAve2(delta=200) + "Moving average with 200 s sliding window" + annotation (Placement(transformation(extent={{-40,20},{-20,40}}))); + IBPSA.Controls.OBC.CDL.Reals.MovingAverage movAve3(delta=300) + "Moving average with 300 s sliding window" + annotation (Placement(transformation(extent={{-40,-10},{-20,10}}))); + IBPSA.Controls.OBC.CDL.Reals.MovingAverage movAve4(delta=400) + "Moving average with 400 s sliding window" + annotation (Placement(transformation(extent={{-40,-40},{-20,-20}}))); + IBPSA.Controls.OBC.CDL.Reals.MovingAverage movAve5(delta=500) + "Moving average with 500 s sliding window" + annotation (Placement(transformation(extent={{-40,-70},{-20,-50}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Sin sinInp50sDel( + freqHz=1/80, + startTime=50) + "Start from 50 seconds" + annotation (Placement(transformation(extent={{0,50},{20,70}}))); + IBPSA.Controls.OBC.CDL.Reals.MovingAverage movAve6(delta=100) + "Moving average with 100 s sliding window" + annotation (Placement(transformation(extent={{60,50},{80,70}}))); + IBPSA.Controls.OBC.CDL.Reals.MovingAverage movAve7(delta=200) + "Moving average with 200 s sliding window" + annotation (Placement(transformation(extent={{60,20},{80,40}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Sin sinInp100sDel( + freqHz=1/80, + startTime=100) + "Start from 100 seconds" + annotation (Placement(transformation(extent={{0,-30},{20,-10}}))); + IBPSA.Controls.OBC.CDL.Reals.MovingAverage movAve8(delta=100) + "Moving average with 100 s sliding window" + annotation (Placement(transformation(extent={{60,-30},{80,-10}}))); + IBPSA.Controls.OBC.CDL.Reals.MovingAverage movAve9(delta=200) + "Moving average with 200 s sliding window" + annotation (Placement(transformation(extent={{60,-60},{80,-40}}))); + +equation + connect(sinInpNoDel.y,movAve3.u) + annotation (Line(points={{-69,60},{-60,60},{-60,0},{-42,0}},color={0,0,127})); + connect(sinInpNoDel.y,movAve1.u) + annotation (Line(points={{-69,60},{-42,60}},color={0,0,127})); + connect(sinInpNoDel.y,movAve2.u) + annotation (Line(points={{-69,60},{-60,60},{-60,30},{-42,30}},color={0,0,127})); + connect(sinInpNoDel.y,movAve5.u) + annotation (Line(points={{-69,60},{-60,60},{-60,-60},{-42,-60}},color={0,0,127})); + connect(sinInpNoDel.y,movAve4.u) + annotation (Line(points={{-69,60},{-60,60},{-60,-30},{-42,-30}},color={0,0,127})); + connect(sinInp50sDel.y,movAve6.u) + annotation (Line(points={{21,60},{21,60},{58,60}},color={0,0,127})); + connect(sinInp50sDel.y,movAve7.u) + annotation (Line(points={{21,60},{21,60},{40,60},{40,30},{58,30}},color={0,0,127})); + connect(sinInp100sDel.y,movAve9.u) + annotation (Line(points={{21,-20},{21,-20},{40,-20},{40,-50},{58,-50}},color={0,0,127})); + connect(sinInp100sDel.y,movAve8.u) + annotation (Line(points={{21,-20},{58,-20}},color={0,0,127})); + annotation ( + experiment( + StopTime=900.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/MovingAverage.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Reals.MovingAverage. +

+

+The input sinInpNoDel, sinInp50sDel, +sinInp100sDel, generate sine outputs with same frequency of +1/80 Hz, but different start times of 0 second, +50 second, 100 second. +

+", +revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end MovingAverage; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Validation/MovingAverage_nonZeroStart.mo b/IBPSA/Controls/OBC/CDL/Reals/Validation/MovingAverage_nonZeroStart.mo new file mode 100644 index 0000000000..245206c99b --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Validation/MovingAverage_nonZeroStart.mo @@ -0,0 +1,106 @@ +within IBPSA.Controls.OBC.CDL.Reals.Validation; +model MovingAverage_nonZeroStart + "Validation model for the MovingAverage block" + Modelica.Blocks.Sources.Sine sinInpNoDel(f=1/80) "Start from zero second" + annotation (Placement(transformation(extent={{-90,50},{-70,70}}))); + IBPSA.Controls.OBC.CDL.Reals.MovingAverage movAve1(delta=100) + "Moving average with 100 s sliding window" + annotation (Placement(transformation(extent={{-40,50},{-20,70}}))); + IBPSA.Controls.OBC.CDL.Reals.MovingAverage movAve2(delta=200) + "Moving average with 200 s sliding window" + annotation (Placement(transformation(extent={{-40,20},{-20,40}}))); + IBPSA.Controls.OBC.CDL.Reals.MovingAverage movAve3(delta=300) + "Moving average with 300 s sliding window" + annotation (Placement(transformation(extent={{-40,-10},{-20,10}}))); + IBPSA.Controls.OBC.CDL.Reals.MovingAverage movAve4(delta=400) + "Moving average with 400 s sliding window" + annotation (Placement(transformation(extent={{-40,-40},{-20,-20}}))); + IBPSA.Controls.OBC.CDL.Reals.MovingAverage movAve5(delta=500) + "Moving average with 500 s sliding window" + annotation (Placement(transformation(extent={{-40,-70},{-20,-50}}))); + Modelica.Blocks.Sources.Sine sinInp50sDel(f=1/80, startTime=50) + "Start from 50 seconds" + annotation (Placement(transformation(extent={{0,50},{20,70}}))); + IBPSA.Controls.OBC.CDL.Reals.MovingAverage movAve6(delta=100) + "Moving average with 100 s sliding window" + annotation (Placement(transformation(extent={{60,50},{80,70}}))); + IBPSA.Controls.OBC.CDL.Reals.MovingAverage movAve7(delta=200) + "Moving average with 200 s sliding window" + annotation (Placement(transformation(extent={{60,20},{80,40}}))); + Modelica.Blocks.Sources.Sine sinInp100sDel(f=1/80, startTime=100) + "Start from 100 seconds" + annotation (Placement(transformation(extent={{0,-30},{20,-10}}))); + IBPSA.Controls.OBC.CDL.Reals.MovingAverage movAve8(delta=100) + "Moving average with 100 s sliding window" + annotation (Placement(transformation(extent={{60,-30},{80,-10}}))); + IBPSA.Controls.OBC.CDL.Reals.MovingAverage movAve9(delta=200) + "Moving average with 200 s sliding window" + annotation (Placement(transformation(extent={{60,-60},{80,-40}}))); + +equation + connect(sinInpNoDel.y,movAve3.u) + annotation (Line(points={{-69,60},{-60,60},{-60,0},{-42,0}},color={0,0,127})); + connect(sinInpNoDel.y,movAve1.u) + annotation (Line(points={{-69,60},{-42,60}},color={0,0,127})); + connect(sinInpNoDel.y,movAve2.u) + annotation (Line(points={{-69,60},{-60,60},{-60,30},{-42,30}},color={0,0,127})); + connect(sinInpNoDel.y,movAve5.u) + annotation (Line(points={{-69,60},{-60,60},{-60,-60},{-42,-60}},color={0,0,127})); + connect(sinInpNoDel.y,movAve4.u) + annotation (Line(points={{-69,60},{-60,60},{-60,-30},{-42,-30}},color={0,0,127})); + connect(sinInp50sDel.y,movAve6.u) + annotation (Line(points={{21,60},{21,60},{58,60}},color={0,0,127})); + connect(sinInp50sDel.y,movAve7.u) + annotation (Line(points={{21,60},{21,60},{40,60},{40,30},{58,30}},color={0,0,127})); + connect(sinInp100sDel.y,movAve9.u) + annotation (Line(points={{21,-20},{21,-20},{40,-20},{40,-50},{58,-50}},color={0,0,127})); + connect(sinInp100sDel.y,movAve8.u) + annotation (Line(points={{21,-20},{58,-20}},color={0,0,127})); + annotation ( + experiment( + StartTime=100, + StopTime=900.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/MovingAverage_nonZeroStart.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Reals.MovingAverage. +

+

+The inputs sinInpNoDel, sinInp50sDel and +sinInp100sDel generate sine outputs with the same frequency of +1/80 Hertz, but different start times of 0 seconds, +50 seconds and 100 seconds. +

+", +revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end MovingAverage_nonZeroStart; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Validation/MultiMax.mo b/IBPSA/Controls/OBC/CDL/Reals/Validation/MultiMax.mo new file mode 100644 index 0000000000..14327a02f7 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Validation/MultiMax.mo @@ -0,0 +1,56 @@ +within IBPSA.Controls.OBC.CDL.Reals.Validation; +model MultiMax + "Validation model for the MultiMax block" + parameter Integer sizOfVec=5 + "Size of the input vector"; + IBPSA.Controls.OBC.CDL.Reals.MultiMax maxVal( + nin=sizOfVec) + "Block that outputs the maximum element of the input vector" + annotation (Placement(transformation(extent={{-10,-10},{10,10}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Constant con[sizOfVec]( + k={1,2,3,4,5}) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-58,-10},{-38,10}}))); + +equation + connect(con.y,maxVal.u) + annotation (Line(points={{-37,0},{-24.5,0},{-12,0}},color={0,0,127})); + annotation ( + experiment( + StopTime=1.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/MultiMax.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Reals.MultiMax. +

+

+The input vectorcon has size 5 and its element values are {1,2,3,4,5}. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end MultiMax; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Validation/MultiMin.mo b/IBPSA/Controls/OBC/CDL/Reals/Validation/MultiMin.mo new file mode 100644 index 0000000000..a03a49f5bd --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Validation/MultiMin.mo @@ -0,0 +1,58 @@ +within IBPSA.Controls.OBC.CDL.Reals.Validation; +model MultiMin + "Validation model for the MultiMin block" + parameter Integer sizOfVec=5 + "Size of the input vector"; + IBPSA.Controls.OBC.CDL.Reals.MultiMin minVal( + nin=sizOfVec) + "Block that outputs the minimum element of the input vector" + annotation (Placement(transformation(extent={{-10,-10},{10,10}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Constant con[sizOfVec]( + k={1,2,3,4,5}) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-58,-10},{-38,10}}))); + +equation + for i in 1:sizOfVec loop + connect(con[i].y,minVal.u[i]) + annotation (Line(points={{-37,0},{-24.5,0},{-12,0}},color={0,0,127})); + end for; + annotation ( + experiment( + StopTime=1.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/MultiMin.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Reals.MultiMin. +

+

+The input vectorcon has size 5 and its element values are {1,2,3,4,5}. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end MultiMin; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Validation/MultiSum.mo b/IBPSA/Controls/OBC/CDL/Reals/Validation/MultiSum.mo new file mode 100644 index 0000000000..eebdba0895 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Validation/MultiSum.mo @@ -0,0 +1,137 @@ +within IBPSA.Controls.OBC.CDL.Reals.Validation; +model MultiSum + "Model to validate the application of MultiSum block" + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp1( + duration=1, + offset=-2, + height=4) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-60,50},{-40,70}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp2( + height=2, + duration=1, + offset=-1) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-60,20},{-40,40}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp3( + height=3, + duration=1, + offset=-1) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-60,-10},{-40,10}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp4( + height=3, + duration=1, + offset=-2) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-60,-40},{-40,-20}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp5( + height=3, + duration=1, + offset=-3) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-60,-70},{-40,-50}}))); + IBPSA.Controls.OBC.CDL.Reals.MultiSum mulSum_5( + nin=5, + k={1,0.5,0.1,1,2}) + "Sum of Reals, y = k[1]*u[1] + k[2]*u[2] + ... + k[5]*u[5]" + annotation (Placement(transformation(extent={{40,-40},{60,-20}}))); + IBPSA.Controls.OBC.CDL.Reals.MultiSum mulSum_2( + nin=2, + k={1,0.5}) + "Sum of Reals, y = k[1]*u[1] + k[2]*u[2]" + annotation (Placement(transformation(extent={{40,0},{60,20}}))); + IBPSA.Controls.OBC.CDL.Reals.MultiSum mulSum_1( + nin=1, + k={1}) + "Sum of Reals, y = k[1]*u[1]" + annotation (Placement(transformation(extent={{40,40},{60,60}}))); + IBPSA.Controls.OBC.CDL.Reals.MultiSum mulSum_3( + nin=3) + "Sum of Reals, y = k[1]*u[1] + k[2]*u[2]" + annotation (Placement(transformation(extent={{40,-92},{60,-72}}))); + +equation + connect(ramp1.y,mulSum_5.u[1]) + annotation (Line(points={{-39,60},{-39,60},{20,60},{20,-28.4},{38,-28.4}},color={0,0,127})); + connect(ramp2.y,mulSum_5.u[2]) + annotation (Line(points={{-39,30},{-39,30},{10,30},{10,-29.2},{38,-29.2}},color={0,0,127})); + connect(ramp3.y,mulSum_5.u[3]) + annotation (Line(points={{-39,0},{0,0},{0,-30},{38,-30}},color={0,0,127})); + connect(ramp4.y,mulSum_5.u[4]) + annotation (Line(points={{-39,-30},{-20,-30},{-20,-32},{10,-32},{10,-30.8},{38,-30.8}},color={0,0,127})); + connect(ramp5.y,mulSum_5.u[5]) + annotation (Line(points={{-39,-60},{20,-60},{20,-31.6},{38,-31.6}},color={0,0,127})); + connect(ramp1.y,mulSum_1.u[1]) + annotation (Line(points={{-39,60},{20,60},{20,50},{38,50}},color={0,0,127})); + connect(ramp1.y,mulSum_2.u[1]) + annotation (Line(points={{-39,60},{20,60},{20,11},{38,11}},color={0,0,127})); + connect(ramp2.y,mulSum_2.u[2]) + annotation (Line(points={{-39,30},{10,30},{10,9},{38,9}},color={0,0,127})); + connect(ramp4.y,mulSum_3.u[1]) + annotation (Line(points={{-39,-30},{-0.5,-30},{-0.5,-80.6667},{38,-80.6667}},color={0,0,127})); + connect(ramp5.y,mulSum_3.u[2]) + annotation (Line(points={{-39,-60},{0,-60},{0,-82},{38,-82}},color={0,0,127})); + connect(ramp5.y,mulSum_3.u[3]) + annotation (Line(points={{-39,-60},{0,-60},{0,-83.3333},{38,-83.3333}},color={0,0,127})); + annotation ( + experiment( + StopTime=1.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/MultiSum.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Reals.MultiSum. +

+

+The inputs and gains are configured as follows: +

+ +", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end MultiSum; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Validation/Multiply.mo b/IBPSA/Controls/OBC/CDL/Reals/Validation/Multiply.mo new file mode 100644 index 0000000000..2616dd9f62 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Validation/Multiply.mo @@ -0,0 +1,67 @@ +within IBPSA.Controls.OBC.CDL.Reals.Validation; +model Multiply "Validation model for the Multiply block" + IBPSA.Controls.OBC.CDL.Reals.Multiply product1 + "Block that outputs product of the two inputs" + annotation (Placement(transformation(extent={{-10,-10},{10,10}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp1( + duration=1, + offset=-2, + height=4) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-60,10},{-40,30}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp2( + duration=1, + offset=-1, + height=3) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-60,-30},{-40,-10}}))); + +equation + connect(ramp1.y,product1.u1) + annotation (Line(points={{-38,20},{-26,20},{-26,6},{-12,6}},color={0,0,127})); + connect(ramp2.y,product1.u2) + annotation (Line(points={{-38,-20},{-26,-20},{-26,-6},{-12,-6}},color={0,0,127})); + annotation ( + experiment( + StopTime=1.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Multiply.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Reals.Multiply. +

+

+The input u1 varies from -2 to +2, input u2 varies from -1 to +2. +

+", +revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end Multiply; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Validation/MultiplyByParameter.mo b/IBPSA/Controls/OBC/CDL/Reals/Validation/MultiplyByParameter.mo new file mode 100644 index 0000000000..692e9f4d0a --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Validation/MultiplyByParameter.mo @@ -0,0 +1,59 @@ +within IBPSA.Controls.OBC.CDL.Reals.Validation; +model MultiplyByParameter "Validation model for the Gain block" + IBPSA.Controls.OBC.CDL.Reals.MultiplyByParameter gain1(k=2.5) + "Block that outputs the product of a gain value with the input signal" + annotation (Placement(transformation(extent={{-10,-10},{10,10}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp1( + duration=1, + offset=0, + height=2) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-60,-10},{-40,10}}))); + +equation + connect(ramp1.y,gain1.u) + annotation (Line(points={{-38,0},{-12,0}},color={0,0,127})); + annotation ( + experiment( + StopTime=1.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/MultiplyByParameter.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Reals.MultiplyByParameter. +

+

+The input u varies from 0.0 to +2. +

+", +revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end MultiplyByParameter; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Validation/PID.mo b/IBPSA/Controls/OBC/CDL/Reals/Validation/PID.mo new file mode 100644 index 0000000000..6cdfe5ccca --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Validation/PID.mo @@ -0,0 +1,122 @@ +within IBPSA.Controls.OBC.CDL.Reals.Validation; +model PID + "Test model for PID controller" + IBPSA.Controls.OBC.CDL.Reals.Sources.Pulse pulse( + period=0.25) + "Setpoint" + annotation (Placement(transformation(extent={{-90,14},{-70,34}}))); + IBPSA.Controls.OBC.CDL.Reals.PID limPID( + controllerType=IBPSA.Controls.OBC.CDL.Types.SimpleController.PID, + Ti=1, + Td=1, + yMin=-1) + "PID controller" + annotation (Placement(transformation(extent={{-30,40},{-10,60}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Constant const( + k=0.5) + "Measurement data" + annotation (Placement(transformation(extent={{-90,-22},{-70,-2}}))); + IBPSA.Controls.OBC.CDL.Reals.PID limPI( + Ti=1, + Td=1, + yMin=-1, + controllerType=IBPSA.Controls.OBC.CDL.Types.SimpleController.PI) + "PI controller" + annotation (Placement(transformation(extent={{-30,2},{-10,22}}))); + IBPSA.Controls.OBC.CDL.Reals.PID limPD( + Ti=1, + Td=1, + yMin=-1, + controllerType=IBPSA.Controls.OBC.CDL.Types.SimpleController.PD) + "PD controller" + annotation (Placement(transformation(extent={{-30,-30},{-10,-10}}))); + IBPSA.Controls.OBC.CDL.Reals.PID limP( + Ti=1, + Td=1, + yMin=-1, + controllerType=IBPSA.Controls.OBC.CDL.Types.SimpleController.P) + "P controller" + annotation (Placement(transformation(extent={{-30,-60},{-10,-40}}))); + IBPSA.Controls.OBC.CDL.Reals.PID noLimPID( + Ti=1, + Td=1, + yMax=1e15, + yMin=-1e15, + controllerType=IBPSA.Controls.OBC.CDL.Types.SimpleController.PID) + "PID controller with no output limit" + annotation (Placement(transformation(extent={{-30,-90},{-10,-70}}))); + +equation + connect(pulse.y,limPID.u_s) + annotation (Line(points={{-68,24},{-54,24},{-54,50},{-32,50}},color={0,0,127})); + connect(const.y,limPID.u_m) + annotation (Line(points={{-68,-12},{-62,-12},{-62,30},{-20,30},{-20,38}},color={0,0,127})); + connect(const.y,limPI.u_m) + annotation (Line(points={{-68,-12},{-62,-12},{-62,-2},{-20,-2},{-20,0}},color={0,0,127})); + connect(const.y,limPD.u_m) + annotation (Line(points={{-68,-12},{-62,-12},{-62,-34},{-20,-34},{-20,-32}},color={0,0,127})); + connect(pulse.y,limPI.u_s) + annotation (Line(points={{-68,24},{-54,24},{-54,12},{-32,12}},color={0,0,127})); + connect(pulse.y,limPD.u_s) + annotation (Line(points={{-68,24},{-54,24},{-54,-20},{-32,-20}},color={0,0,127})); + connect(pulse.y,limP.u_s) + annotation (Line(points={{-68,24},{-54,24},{-54,-50},{-32,-50}},color={0,0,127})); + connect(pulse.y,noLimPID.u_s) + annotation (Line(points={{-68,24},{-54,24},{-54,-80},{-32,-80}},color={0,0,127})); + connect(const.y,limP.u_m) + annotation (Line(points={{-68,-12},{-62,-12},{-62,-64},{-20,-64},{-20,-62}},color={0,0,127})); + connect(const.y,noLimPID.u_m) + annotation (Line(points={{-68,-12},{-62,-12},{-62,-96},{-20,-96},{-20,-92}},color={0,0,127})); + annotation ( + experiment( + StopTime=1.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/PID.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Reals.PID. +This tests the different settings for the controller types. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end PID; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Validation/PIDInitialDerivativeOutput.mo b/IBPSA/Controls/OBC/CDL/Reals/Validation/PIDInitialDerivativeOutput.mo new file mode 100644 index 0000000000..a2c17ea4cf --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Validation/PIDInitialDerivativeOutput.mo @@ -0,0 +1,81 @@ +within IBPSA.Controls.OBC.CDL.Reals.Validation; +model PIDInitialDerivativeOutput + "Test model for LimPID controller with initial output of the derivative term specified" + IBPSA.Controls.OBC.CDL.Reals.Sources.Constant ySet( + k=0.75) + "Set point" + annotation (Placement(transformation(extent={{-40,30},{-20,50}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Constant yMea( + k=0.75) + "Measured value" + annotation (Placement(transformation(extent={{-40,0},{-20,20}}))); + IBPSA.Controls.OBC.CDL.Reals.PID limPID( + controllerType=IBPSA.Controls.OBC.CDL.Types.SimpleController.PID, + k=3, + yd_start=0.2) + "PID controller" + annotation (Placement(transformation(extent={{20,20},{40,40}}))); + IBPSA.Controls.OBC.CDL.Reals.PID limPD( + controllerType=IBPSA.Controls.OBC.CDL.Types.SimpleController.PD, + k=3, + yd_start=0.2) + "PD controller" + annotation (Placement(transformation(extent={{20,-40},{40,-20}}))); + +equation + connect(ySet.y,limPID.u_s) + annotation (Line(points={{-18,40},{0,40},{0,30},{18,30}},color={0,0,127})); + connect(ySet.y,limPD.u_s) + annotation (Line(points={{-18,40},{0,40},{0,-30},{18,-30}},color={0,0,127})); + connect(yMea.y,limPID.u_m) + annotation (Line(points={{-18,10},{30,10},{30,18}},color={0,0,127})); + connect(yMea.y,limPD.u_m) + annotation (Line(points={{-18,10},{-4,10},{-4,-50},{30,-50},{30,-42}},color={0,0,127})); + annotation ( + experiment( + StopTime=0.2, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/PIDInitialDerivativeOutput.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Reals.PID. +

+

+This model validates setting the initial output of the controller to a specified value. +Note that the control error must be zero for the initial output to be at the specified value. +See the description of + +IBPSA.Controls.OBC.CDL.Reals.PID. +

+", + revisions=" + +"), + Icon( + coordinateSystem( + extent={{-100,-100},{100,100}}), + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})}), + Diagram( + coordinateSystem( + extent={{-100,-100},{100,100}}))); +end PIDInitialDerivativeOutput; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Validation/PIDInitialState.mo b/IBPSA/Controls/OBC/CDL/Reals/Validation/PIDInitialState.mo new file mode 100644 index 0000000000..b2c1ea38e4 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Validation/PIDInitialState.mo @@ -0,0 +1,88 @@ +within IBPSA.Controls.OBC.CDL.Reals.Validation; +model PIDInitialState + "Test model for LimPID controller with initial state specified" + IBPSA.Controls.OBC.CDL.Reals.Sources.Constant ySet( + k=0.75) + "Set point" + annotation (Placement(transformation(extent={{-40,30},{-20,50}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Constant yMea( + k=0.5) + "Measured value" + annotation (Placement(transformation(extent={{-40,0},{-20,20}}))); + IBPSA.Controls.OBC.CDL.Reals.PID limPID( + controllerType=IBPSA.Controls.OBC.CDL.Types.SimpleController.PID, + k=3, + xi_start=0.25) + "PID controller" + annotation (Placement(transformation(extent={{20,20},{40,40}}))); + IBPSA.Controls.OBC.CDL.Reals.PID limPI( + controllerType=IBPSA.Controls.OBC.CDL.Types.SimpleController.PI, + k=3, + xi_start=0.25) + "PI controller" + annotation (Placement(transformation(extent={{20,-40},{40,-20}}))); + +equation + connect(ySet.y,limPID.u_s) + annotation (Line(points={{-18,40},{0,40},{0,30},{18,30}},color={0,0,127})); + connect(ySet.y,limPI.u_s) + annotation (Line(points={{-18,40},{0,40},{0,-30},{18,-30}},color={0,0,127})); + connect(yMea.y,limPID.u_m) + annotation (Line(points={{-18,10},{30,10},{30,18}},color={0,0,127})); + connect(yMea.y,limPI.u_m) + annotation (Line(points={{-18,10},{-4,10},{-4,-50},{30,-50},{30,-42}},color={0,0,127})); + annotation ( + experiment( + StopTime=1, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/PIDInitialState.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Reals.PID. +

+

+This model validates setting the initial state of the controller to a specified value. +

+

+The model sets the initial values xi_start=0.25 +of the integrator for both instances of the controller. +For the instance limPID, it also sets the initial value of the state of the +derivative block xd_start=-0.5. +The derivative block obtains as an input signal the value +u=-0.5 because the set point weight for the derivative action is wd=0. +Therefore, an initial state of x(t0)=-0.5 causes the state of the derivative +block to be at steady-state, because +dx(t)/dt = (u - x)/T. +

+", + revisions=" + +"), + Icon( + coordinateSystem( + extent={{-100,-100},{100,100}}), + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})}), + Diagram( + coordinateSystem( + extent={{-100,-100},{100,100}}))); +end PIDInitialState; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Validation/PIDScale.mo b/IBPSA/Controls/OBC/CDL/Reals/Validation/PIDScale.mo new file mode 100644 index 0000000000..781841e085 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Validation/PIDScale.mo @@ -0,0 +1,120 @@ +within IBPSA.Controls.OBC.CDL.Reals.Validation; +model PIDScale + "Test model for PID controller with scaling of the control error" + IBPSA.Controls.OBC.CDL.Reals.Sources.Pulse pulse( + amplitude=1000, + period=50) + "Setpoint" + annotation (Placement(transformation(extent={{-80,40},{-60,60}}))); + IBPSA.Controls.OBC.CDL.Reals.PID pidSca( + controllerType=IBPSA.Controls.OBC.CDL.Types.SimpleController.PID, + k=2, + Ti=1, + Td=2, + r=1000, + yMin=-1) + "PID controller with scaling of control input" + annotation (Placement(transformation(extent={{0,40},{20,60}}))); + IBPSA.Controls.OBC.CDL.Reals.IntegratorWithReset pla1( + k=1000) + "Plant model" + annotation (Placement(transformation(extent={{40,40},{60,60}}))); + Reals.Sources.Constant resVal( + k=0) + "Reset value" + annotation (Placement(transformation(extent={{-80,0},{-60,20}}))); + Logical.Sources.Constant resSig( + k=false) + "Reset signal" + annotation (Placement(transformation(extent={{-80,-40},{-60,-20}}))); + IBPSA.Controls.OBC.CDL.Reals.PID pidNoSca( + controllerType=IBPSA.Controls.OBC.CDL.Types.SimpleController.PID, + k=2, + Ti=1, + Td=2, + yMin=-1) + "PID controller without scaling of control input" + annotation (Placement(transformation(extent={{0,-60},{20,-40}}))); + IBPSA.Controls.OBC.CDL.Reals.MultiplyByParameter gai(k=1/1000) + "Gain to scale setpoint" + annotation (Placement(transformation(extent={{-40,-60},{-20,-40}}))); + IBPSA.Controls.OBC.CDL.Reals.MultiplyByParameter gai1(k=1/1000) + "Gain to scale measured value" + annotation (Placement(transformation(extent={{52,-90},{32,-70}}))); + IBPSA.Controls.OBC.CDL.Reals.IntegratorWithReset pla2( + k=1000) + "Plant model" + annotation (Placement(transformation(extent={{40,-60},{60,-40}}))); + +equation + connect(pulse.y,pidSca.u_s) + annotation (Line(points={{-58,50},{-2,50}},color={0,0,127})); + connect(pla1.u,pidSca.y) + annotation (Line(points={{38,50},{22,50}},color={0,0,127})); + connect(pla1.y,pidSca.u_m) + annotation (Line(points={{62,50},{82,50},{82,0},{10,0},{10,38}},color={0,0,127})); + connect(resVal.y,pla1.y_reset_in) + annotation (Line(points={{-58,10},{30,10},{30,42},{38,42}},color={0,0,127})); + connect(resSig.y,pla1.trigger) + annotation (Line(points={{-58,-30},{50,-30},{50,38}},color={255,0,255})); + connect(gai.y,pidNoSca.u_s) + annotation (Line(points={{-18,-50},{-2,-50}},color={0,0,127})); + connect(gai.u,pulse.y) + annotation (Line(points={{-42,-50},{-50,-50},{-50,50},{-60,50}},color={0,0,127})); + connect(pidNoSca.y,pla2.u) + annotation (Line(points={{22,-50},{38,-50}},color={0,0,127})); + connect(pla2.y,gai1.u) + annotation (Line(points={{62,-50},{70,-50},{70,-80},{54,-80}},color={0,0,127})); + connect(gai1.y,pidNoSca.u_m) + annotation (Line(points={{30,-80},{10,-80},{10,-60}},color={0,0,127})); + connect(pla2.y_reset_in,resVal.y) + annotation (Line(points={{38,-58},{30,-58},{30,10},{-60,10}},color={0,0,127})); + connect(resSig.y,pla2.trigger) + annotation (Line(points={{-58,-30},{26,-30},{26,-64},{50,-64},{50,-62}},color={255,0,255})); + annotation ( + experiment( + StopTime=100.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/PIDScale.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Reals.PID +with and without setting of the parameter that scales the control error. +

+

+The test has two combinations of a PID controller and a plant. +In PIDSca, the control error is scaled inside the controller, whereas +in the configuration that has PIDNoSca, the setpoint signal and the +measurement signal is scaled outside of the controller. +Both controllers and plants have the same trajectory, thereby validating that +the scaling is implemented correctly. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end PIDScale; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Validation/PIDWithReset.mo b/IBPSA/Controls/OBC/CDL/Reals/Validation/PIDWithReset.mo new file mode 100644 index 0000000000..12186226f9 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Validation/PIDWithReset.mo @@ -0,0 +1,167 @@ +within IBPSA.Controls.OBC.CDL.Reals.Validation; +model PIDWithReset + "Test model for LimPID controller with reset trigger" + IBPSA.Controls.OBC.CDL.Conversions.BooleanToReal setPoi + "Set point" + annotation (Placement(transformation(extent={{-20,-40},{0,-20}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.CivilTime modTim + "Civil time" + annotation (Placement(transformation(extent={{-80,-70},{-60,-50}}))); + IBPSA.Controls.OBC.CDL.Reals.GreaterThreshold greEquThr( + t=1) + "Outputs true after t=1" + annotation (Placement(transformation(extent={{-52,-70},{-32,-50}}))); + IBPSA.Controls.OBC.CDL.Reals.PIDWithReset limPIDPar( + controllerType=IBPSA.Controls.OBC.CDL.Types.SimpleController.PID, + k=1, + Ti=1, + Td=1, + yMin=-1, + y_reset=0.5) + "Controller, reset to parameter value" + annotation (Placement(transformation(extent={{20,60},{40,80}}))); + IBPSA.Controls.OBC.CDL.Reals.IntegratorWithReset intWitRes1 + "Integrator whose output should be brought to the set point" + annotation (Placement(transformation(extent={{60,60},{80,80}}))); + IBPSA.Controls.OBC.CDL.Reals.PIDWithReset limPIDInp( + controllerType=IBPSA.Controls.OBC.CDL.Types.SimpleController.PID, + k=1, + Ti=1, + Td=1, + yMin=-1, + y_reset=0.75) + "Controller, reset to input value" + annotation (Placement(transformation(extent={{20,20},{40,40}}))); + IBPSA.Controls.OBC.CDL.Reals.IntegratorWithReset intWitRes2 + "Integrator whose output should be brought to the set point" + annotation (Placement(transformation(extent={{60,20},{80,40}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Constant resVal( + k=0) + "Reset value" + annotation (Placement(transformation(extent={{-80,-10},{-60,10}}))); + IBPSA.Controls.OBC.CDL.Reals.PIDWithReset limPIPar( + controllerType=IBPSA.Controls.OBC.CDL.Types.SimpleController.PI, + k=1, + Ti=1, + Td=1, + yMin=-1, + y_reset=0.5) + "Controller, reset to parameter value" + annotation (Placement(transformation(extent={{20,-40},{40,-20}}))); + IBPSA.Controls.OBC.CDL.Reals.IntegratorWithReset intWitRes3 + "Integrator whose output should be brought to the set point" + annotation (Placement(transformation(extent={{60,-40},{80,-20}}))); + IBPSA.Controls.OBC.CDL.Reals.PIDWithReset limPIInp( + controllerType=IBPSA.Controls.OBC.CDL.Types.SimpleController.PI, + k=1, + Ti=1, + Td=1, + yMin=-1, + y_reset=0.75) + "Controller, reset to input value" + annotation (Placement(transformation(extent={{20,-80},{40,-60}}))); + IBPSA.Controls.OBC.CDL.Reals.IntegratorWithReset intWitRes4 + "Integrator whose output should be brought to the set point" + annotation (Placement(transformation(extent={{60,-80},{80,-60}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Constant con( + final k=false) + "Constant false" + annotation (Placement(transformation(extent={{-80,30},{-60,50}}))); + +equation + connect(limPIDPar.u_s,setPoi.y) + annotation (Line(points={{18,70},{6,70},{6,-30},{2,-30}},color={0,0,127})); + connect(intWitRes1.u,limPIDPar.y) + annotation (Line(points={{58,70},{42,70}},color={0,0,127})); + connect(intWitRes1.y,limPIDPar.u_m) + annotation (Line(points={{82,70},{90,70},{90,50},{30,50},{30,58}},color={0,0,127})); + connect(modTim.y,greEquThr.u) + annotation (Line(points={{-58,-60},{-54,-60}},color={0,0,127})); + connect(greEquThr.y,setPoi.u) + annotation (Line(points={{-30,-60},{-26,-60},{-26,-30},{-22,-30}},color={255,0,255})); + connect(greEquThr.y,limPIDPar.trigger) + annotation (Line(points={{-30,-60},{12,-60},{12,50},{24,50},{24,58}},color={255,0,255})); + connect(intWitRes2.u,limPIDInp.y) + annotation (Line(points={{58,30},{42,30}},color={0,0,127})); + connect(intWitRes2.y,limPIDInp.u_m) + annotation (Line(points={{82,30},{90,30},{90,10},{30,10},{30,18}},color={0,0,127})); + connect(limPIDInp.u_s,setPoi.y) + annotation (Line(points={{18,30},{6,30},{6,-30},{2,-30}},color={0,0,127})); + connect(limPIPar.u_s,setPoi.y) + annotation (Line(points={{18,-30},{2,-30}},color={0,0,127})); + connect(intWitRes3.u,limPIPar.y) + annotation (Line(points={{58,-30},{42,-30}},color={0,0,127})); + connect(intWitRes3.y,limPIPar.u_m) + annotation (Line(points={{82,-30},{90,-30},{90,-50},{30,-50},{30,-42}},color={0,0,127})); + connect(greEquThr.y,limPIPar.trigger) + annotation (Line(points={{-30,-60},{12,-60},{12,-50},{24,-50},{24,-42}},color={255,0,255})); + connect(intWitRes4.u,limPIInp.y) + annotation (Line(points={{58,-70},{42,-70}},color={0,0,127})); + connect(intWitRes4.y,limPIInp.u_m) + annotation (Line(points={{82,-70},{90,-70},{90,-90},{30,-90},{30,-82}},color={0,0,127})); + connect(limPIInp.u_s,setPoi.y) + annotation (Line(points={{18,-70},{6,-70},{6,-30},{2,-30}},color={0,0,127})); + connect(greEquThr.y,limPIInp.trigger) + annotation (Line(points={{-30,-60},{12,-60},{12,-90},{24,-90},{24,-82}},color={255,0,255})); + connect(limPIDInp.trigger,greEquThr.y) + annotation (Line(points={{24,18},{24,10},{12,10},{12,-60},{-30,-60}},color={255,0,255})); + connect(resVal.y,intWitRes1.y_reset_in) + annotation (Line(points={{-58,0},{48,0},{48,62},{58,62}},color={0,0,127})); + connect(resVal.y,intWitRes2.y_reset_in) + annotation (Line(points={{-58,0},{48,0},{48,22},{58,22}},color={0,0,127})); + connect(resVal.y,intWitRes3.y_reset_in) + annotation (Line(points={{-58,0},{48,0},{48,-38},{58,-38}},color={0,0,127})); + connect(resVal.y,intWitRes4.y_reset_in) + annotation (Line(points={{-58,0},{48,0},{48,-78},{58,-78}},color={0,0,127})); + connect(con.y,intWitRes1.trigger) + annotation (Line(points={{-58,40},{-20,40},{-20,-6},{54,-6},{54,54},{70,54},{70,58}},color={255,0,255})); + connect(con.y,intWitRes2.trigger) + annotation (Line(points={{-58,40},{-20,40},{-20,-6},{70,-6},{70,18}},color={255,0,255})); + connect(con.y,intWitRes3.trigger) + annotation (Line(points={{-58,40},{-20,40},{-20,-6},{54,-6},{54,-46},{70,-46},{70,-42}},color={255,0,255})); + connect(con.y,intWitRes4.trigger) + annotation (Line(points={{-58,40},{-20,40},{-20,-6},{54,-6},{54,-86},{70,-86},{70,-82}},color={255,0,255})); + annotation ( + experiment( + StopTime=10, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/PIDWithReset.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Reals.PID. +

+

+This model validates the controller for different settings of the control output reset. +

+", + revisions=" + +"), + Icon( + coordinateSystem( + extent={{-100,-100},{100,100}}), + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})}), + Diagram( + coordinateSystem( + extent={{-100,-100},{100,100}}))); +end PIDWithReset; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Validation/PIDWithResetScale.mo b/IBPSA/Controls/OBC/CDL/Reals/Validation/PIDWithResetScale.mo new file mode 100644 index 0000000000..06eac2deb7 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Validation/PIDWithResetScale.mo @@ -0,0 +1,130 @@ +within IBPSA.Controls.OBC.CDL.Reals.Validation; +model PIDWithResetScale + "Test model for PID controller with reset and scaling of the control error" + IBPSA.Controls.OBC.CDL.Reals.Sources.Pulse pulse( + amplitude=1000, + period=50) + "Setpoint" + annotation (Placement(transformation(extent={{-80,60},{-60,80}}))); + IBPSA.Controls.OBC.CDL.Reals.PIDWithReset pidSca( + controllerType=IBPSA.Controls.OBC.CDL.Types.SimpleController.PID, + k=2, + Ti=1, + Td=2, + r=1000, + yMin=-1, + y_reset=0) + "PID controller with scaling of control input" + annotation (Placement(transformation(extent={{0,40},{20,60}}))); + IBPSA.Controls.OBC.CDL.Reals.IntegratorWithReset pla1( + k=1000) + "Plant model" + annotation (Placement(transformation(extent={{40,40},{60,60}}))); + Reals.Sources.Constant resVal( + k=0) + "Reset value" + annotation (Placement(transformation(extent={{-80,-10},{-60,10}}))); + Logical.Sources.Constant resSig( + k=false) + "Reset signal" + annotation (Placement(transformation(extent={{-80,-40},{-60,-20}}))); + IBPSA.Controls.OBC.CDL.Reals.PIDWithReset pidNoSca( + controllerType=IBPSA.Controls.OBC.CDL.Types.SimpleController.PID, + k=2, + Ti=1, + Td=2, + yMin=-1, + y_reset=0) + "PID controller without scaling of control input" + annotation (Placement(transformation(extent={{0,-60},{20,-40}}))); + IBPSA.Controls.OBC.CDL.Reals.MultiplyByParameter gai(k=1/1000) + "Gain to scale setpoint" + annotation (Placement(transformation(extent={{-40,-60},{-20,-40}}))); + IBPSA.Controls.OBC.CDL.Reals.MultiplyByParameter gai1(k=1/1000) + "Gain to scale measured value" + annotation (Placement(transformation(extent={{52,-90},{32,-70}}))); + IBPSA.Controls.OBC.CDL.Reals.IntegratorWithReset pla2( + k=1000) + "Plant model" + annotation (Placement(transformation(extent={{40,-60},{60,-40}}))); + Logical.Sources.Pulse booPul( + period=30) + "Pulse for controller reset" + annotation (Placement(transformation(extent={{-80,20},{-60,40}}))); + +equation + connect(pulse.y,pidSca.u_s) + annotation (Line(points={{-58,70},{-30,70},{-30,50},{-2,50}},color={0,0,127})); + connect(pla1.u,pidSca.y) + annotation (Line(points={{38,50},{22,50}},color={0,0,127})); + connect(pla1.y,pidSca.u_m) + annotation (Line(points={{62,50},{82,50},{82,0},{10,0},{10,38}},color={0,0,127})); + connect(resVal.y,pla1.y_reset_in) + annotation (Line(points={{-58,0},{30,0},{30,42},{38,42}},color={0,0,127})); + connect(resSig.y,pla1.trigger) + annotation (Line(points={{-58,-30},{50,-30},{50,38}},color={255,0,255})); + connect(gai.y,pidNoSca.u_s) + annotation (Line(points={{-18,-50},{-2,-50}},color={0,0,127})); + connect(gai.u,pulse.y) + annotation (Line(points={{-42,-50},{-50,-50},{-50,70},{-58,70}},color={0,0,127})); + connect(pidNoSca.y,pla2.u) + annotation (Line(points={{22,-50},{38,-50}},color={0,0,127})); + connect(pla2.y,gai1.u) + annotation (Line(points={{62,-50},{70,-50},{70,-80},{54,-80}},color={0,0,127})); + connect(gai1.y,pidNoSca.u_m) + annotation (Line(points={{30,-80},{10,-80},{10,-60}},color={0,0,127})); + connect(pla2.y_reset_in,resVal.y) + annotation (Line(points={{38,-58},{30,-58},{30,0},{-58,0}},color={0,0,127})); + connect(resSig.y,pla2.trigger) + annotation (Line(points={{-58,-30},{26,-30},{26,-64},{50,-64},{50,-62}},color={255,0,255})); + connect(booPul.y,pidSca.trigger) + annotation (Line(points={{-58,30},{4,30},{4,38}},color={255,0,255})); + connect(booPul.y,pidNoSca.trigger) + annotation (Line(points={{-58,30},{-10,30},{-10,-72},{4,-72},{4,-62}},color={255,0,255})); + annotation ( + experiment( + StopTime=100.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/PIDWithResetScale.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Reals.PIDWithReset +with and without setting of the parameter that scales the control error. +

+

+The test has two combinations of a PID controller and a plant. +In PIDSca, the control error is scaled inside the controller, whereas +in the configuration that has PIDNoSca, the setpoint signal and the +measurement signal is scaled outside of the controller. +Both controllers and plants have the same trajectory, thereby validating that +the scaling is implemented correctly. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end PIDWithResetScale; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Validation/Ramp.mo b/IBPSA/Controls/OBC/CDL/Reals/Validation/Ramp.mo new file mode 100644 index 0000000000..e51c1e8ea6 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Validation/Ramp.mo @@ -0,0 +1,127 @@ +within IBPSA.Controls.OBC.CDL.Reals.Validation; +model Ramp "Validation model for the Ramp block" + + IBPSA.Controls.OBC.CDL.Reals.Ramp ramUp( + final raisingSlewRate=1/20) + "Ramp the input increasing" + annotation (Placement(transformation(extent={{-40,70},{-20,90}}))); + IBPSA.Controls.OBC.CDL.Reals.Ramp ramUp1( + final raisingSlewRate=1/10) + "Ramp the input increasing in different speed" + annotation (Placement(transformation(extent={{-40,10},{-20,30}}))); + IBPSA.Controls.OBC.CDL.Reals.Ramp ramUpDow( + final raisingSlewRate=1/5) + "Limit the increase and decrease of the input if the active is true" + annotation (Placement(transformation(extent={{-40,-70},{-20,-50}}))); + IBPSA.Controls.OBC.CDL.Reals.Ramp ramUpDow1( + final raisingSlewRate=1/5, + final fallingSlewRate=-1/2) + "Different increase and decrease slew rate limits" + annotation (Placement(transformation(extent={{80,-10},{100,10}}))); + + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul1( + final width=0.9, + final period=12, + final shift=1) + "Boolean pulse" + annotation (Placement(transformation(extent={{-100,20},{-80,40}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Pulse pul( + final width=0.8, + final period=12.0, + final shift=2.0) + "Boolean pulse" + annotation (Placement(transformation(extent={{-100,70},{-80,90}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul2( + final width=0.9, + final period=12, + final shift=2) + "Boolean pulse" + annotation (Placement(transformation(extent={{-100,-100},{-80,-80}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Pulse pul1( + final width=0.2, + final period=12.0, + final shift=1.5) + "Boolean pulse" + annotation (Placement(transformation(extent={{-100,-40},{-80,-20}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Pulse pul2( + final width=0.3, + final period=12.0, + final shift=3.0) + "Boolean pulse" + annotation (Placement(transformation(extent={{20,20},{40,40}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul5( + final width=0.9, + final period=12, + final shift=1) + "Boolean pulse" + annotation (Placement(transformation(extent={{20,-40},{40,-20}}))); +equation + connect(booPul2.y, ramUpDow.active) annotation (Line(points={{-78,-90},{-60,-90}, + {-60,-68},{-42,-68}}, color={255,0,255})); + connect(booPul5.y, ramUpDow1.active) annotation (Line(points={{42,-30},{70, + -30},{70,-8},{78,-8}}, + color={255,0,255})); + connect(pul.y, ramUp.u) annotation (Line(points={{-78,80},{-60,80},{-60,80},{-42, + 80}}, color={0,0,127})); + connect(pul.y, ramUp1.u) annotation (Line(points={{-78,80},{-60,80},{-60,20},{ + -42,20}}, color={0,0,127})); + connect(booPul1.y, ramUp.active) annotation (Line(points={{-78,30},{-70,30},{-70, + 72},{-42,72}}, color={255,0,255})); + connect(booPul1.y, ramUp1.active) annotation (Line(points={{-78,30},{-70,30},{ + -70,12},{-42,12}}, color={255,0,255})); + connect(pul1.y, ramUpDow.u) annotation (Line(points={{-78,-30},{-60,-30},{-60, + -60},{-42,-60}}, color={0,0,127})); + connect(pul2.y, ramUpDow1.u) + annotation (Line(points={{42,30},{70,30},{70,0},{78,0}}, color={0,0,127})); + annotation ( + experiment( + StopTime=10.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Ramp.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Reals.Ramp. +

+ +", +revisions=" + +"), + Icon(coordinateSystem(extent={{-100,-100},{100,100}}), + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})}), + Diagram(coordinateSystem(extent={{-120,-140},{120,140}}))); +end Ramp; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Validation/Round.mo b/IBPSA/Controls/OBC/CDL/Reals/Validation/Round.mo new file mode 100644 index 0000000000..12a6ff7f1d --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Validation/Round.mo @@ -0,0 +1,76 @@ +within IBPSA.Controls.OBC.CDL.Reals.Validation; +model Round + "Validation model for the Round block" + IBPSA.Controls.OBC.CDL.Reals.Round round1( + n=0) + "Round real number to given digits" + annotation (Placement(transformation(extent={{40,40},{60,60}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp1( + duration=1, + offset=-3.5, + height=7.0) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-60,-10},{-40,10}}))); + IBPSA.Controls.OBC.CDL.Reals.Round round2( + n=1) + "Round real number to given digits" + annotation (Placement(transformation(extent={{40,-10},{60,10}}))); + IBPSA.Controls.OBC.CDL.Reals.Round round3( + n=-1) + "Round real number to given digits" + annotation (Placement(transformation(extent={{40,-60},{60,-40}}))); + IBPSA.Controls.OBC.CDL.Reals.MultiplyByParameter gai(k=0.1) "Gain" + annotation (Placement(transformation(extent={{0,-10},{20,10}}))); + IBPSA.Controls.OBC.CDL.Reals.MultiplyByParameter gai1(k=10) "Gain" + annotation (Placement(transformation(extent={{0,-60},{20,-40}}))); + +equation + connect(ramp1.y,round1.u) + annotation (Line(points={{-39,0},{-20,0},{-20,50},{38,50}},color={0,0,127})); + connect(ramp1.y,gai.u) + annotation (Line(points={{-39,0},{-20,0},{-2,0}},color={0,0,127})); + connect(round2.u,gai.y) + annotation (Line(points={{38,0},{21,0}},color={0,0,127})); + connect(ramp1.y,gai1.u) + annotation (Line(points={{-39,0},{-20,0},{-20,-50},{-2,-50}},color={0,0,127})); + connect(round3.u,gai1.y) + annotation (Line(points={{38,-50},{30,-50},{21,-50}},color={0,0,127})); + annotation ( + experiment( + StopTime=1.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Round.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Reals.Round. +

+

+The input u varies from -3.5 to +3.5. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end Round; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Validation/Sin.mo b/IBPSA/Controls/OBC/CDL/Reals/Validation/Sin.mo new file mode 100644 index 0000000000..e6a3d40070 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Validation/Sin.mo @@ -0,0 +1,55 @@ +within IBPSA.Controls.OBC.CDL.Reals.Validation; +model Sin + "Validation model for the Sin block" + IBPSA.Controls.OBC.CDL.Reals.Sin sin1 + "Block that outputs the sine of the input" + annotation (Placement(transformation(extent={{-10,-10},{10,10}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp1( + duration=1, + offset=0, + height=6.2831852) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-60,-10},{-40,10}}))); + +equation + connect(ramp1.y,sin1.u) + annotation (Line(points={{-39,0},{-12,0}},color={0,0,127})); + annotation ( + experiment( + StopTime=1.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Sin.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Reals.Sin. +

+

+The input u varies from 0.0 to +2π. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end Sin; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Validation/Sort.mo b/IBPSA/Controls/OBC/CDL/Reals/Validation/Sort.mo new file mode 100644 index 0000000000..b405676561 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Validation/Sort.mo @@ -0,0 +1,109 @@ +within IBPSA.Controls.OBC.CDL.Reals.Validation; +model Sort + "Validation model for the Sort block" + IBPSA.Controls.OBC.CDL.Reals.Sort sorAsc( + nin=5) + "Block that sorts signals in ascending order" + annotation (Placement(transformation(extent={{0,20},{20,40}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp1( + duration=1, + offset=-2, + height=4) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-60,56},{-40,76}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp2( + duration=1, + offset=-1, + height=3) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-60,22},{-40,42}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp3( + duration=1, + offset=2, + height=-4) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-60,-10},{-40,10}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp4( + duration=1, + offset=3, + height=-1) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-60,-42},{-40,-22}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp5( + duration=1, + offset=0, + height=4) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-60,-74},{-40,-54}}))); + IBPSA.Controls.OBC.CDL.Reals.Sort sorDes( + nin=5, + ascending=false) + "Block that sorts signals in ascending order" + annotation (Placement(transformation(extent={{0,-40},{20,-20}}))); + +equation + connect(ramp1.y,sorAsc.u[1]) + annotation (Line(points={{-39,66},{-22,66},{-22,28.4},{-2,28.4}},color={0,0,127})); + connect(ramp2.y,sorAsc.u[2]) + annotation (Line(points={{-39,32},{-20,32},{-20,29.2},{-2,29.2}},color={0,0,127})); + connect(ramp3.y,sorAsc.u[3]) + annotation (Line(points={{-39,0},{-22,0},{-22,30},{-2,30}},color={0,0,127})); + connect(ramp4.y,sorAsc.u[4]) + annotation (Line(points={{-39,-32},{-22,-32},{-22,30.8},{-2,30.8}},color={0,0,127})); + connect(ramp5.y,sorAsc.u[5]) + annotation (Line(points={{-39,-64},{-20,-64},{-20,31.6},{-2,31.6}},color={0,0,127})); + connect(ramp1.y,sorDes.u[1]) + annotation (Line(points={{-39,66},{-22,66},{-22,-31.6},{-2,-31.6}},color={0,0,127})); + connect(ramp2.y,sorDes.u[2]) + annotation (Line(points={{-39,32},{-20,32},{-20,-30.8},{-2,-30.8}},color={0,0,127})); + connect(ramp3.y,sorDes.u[3]) + annotation (Line(points={{-39,0},{-22,0},{-22,-30},{-2,-30}},color={0,0,127})); + connect(ramp4.y,sorDes.u[4]) + annotation (Line(points={{-39,-32},{-22,-32},{-22,-29.2},{-2,-29.2}},color={0,0,127})); + connect(ramp5.y,sorDes.u[5]) + annotation (Line(points={{-39,-64},{-20,-64},{-20,-28.4},{-2,-28.4}},color={0,0,127})); + annotation ( + experiment( + StopTime=1.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Sort.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Reals.Sort. +

+

+The input u1 varies from -2 to +2, input u2 varies from -1 to +2, +input u3 varies from +2 to -2, input u4 varies from +3 to +2, +input u5 varies from 0 to +4, +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end Sort; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Validation/Sqrt.mo b/IBPSA/Controls/OBC/CDL/Reals/Validation/Sqrt.mo new file mode 100644 index 0000000000..0b476f6938 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Validation/Sqrt.mo @@ -0,0 +1,55 @@ +within IBPSA.Controls.OBC.CDL.Reals.Validation; +model Sqrt + "Validation model for the Sqrt block" + IBPSA.Controls.OBC.CDL.Reals.Sqrt sqrt1 + "Block that outputs the square root of the input (input >= 0 required)" + annotation (Placement(transformation(extent={{-10,-10},{10,10}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp1( + duration=1, + offset=0, + height=9) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-60,-10},{-40,10}}))); + +equation + connect(ramp1.y,sqrt1.u) + annotation (Line(points={{-39,0},{-12,0}},color={0,0,127})); + annotation ( + experiment( + StopTime=1.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Sqrt.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Reals.Sqrt. +

+

+The input u varies from 0.0 to +9.0. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end Sqrt; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Validation/Subtract.mo b/IBPSA/Controls/OBC/CDL/Reals/Validation/Subtract.mo new file mode 100644 index 0000000000..8fc615897e --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Validation/Subtract.mo @@ -0,0 +1,62 @@ +within IBPSA.Controls.OBC.CDL.Reals.Validation; +model Subtract "Validation model for the Subtract block" + IBPSA.Controls.OBC.CDL.Reals.Subtract sub + "Block that outputs the difference of the two inputs" + annotation (Placement(transformation(extent={{-10,-10},{10,10}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp1( + duration=1, + offset=-2, + height=4) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-60,10},{-40,30}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp2( + height=2, + duration=1, + offset=-0.5) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-60,-30},{-40,-10}}))); + +equation + connect(ramp1.y, sub.u1) annotation (Line(points={{-38,20},{-26,20},{-26,6},{-12, + 6}}, color={0,0,127})); + connect(ramp2.y, sub.u2) annotation (Line(points={{-38,-20},{-26,-20},{-26,-6}, + {-12,-6}}, color={0,0,127})); + annotation ( + experiment( + StopTime=1.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Subtract.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Reals.Subtract. +

+

+The input u1 varies from -2 to +2, input u2 varies from -1 to +1. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end Subtract; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Validation/Switch.mo b/IBPSA/Controls/OBC/CDL/Reals/Validation/Switch.mo new file mode 100644 index 0000000000..ca772c6b80 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Validation/Switch.mo @@ -0,0 +1,66 @@ +within IBPSA.Controls.OBC.CDL.Reals.Validation; +model Switch "Validation model for the Switch block" + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp1( + duration=5, + offset=-1, + height=6) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-26,22},{-6,42}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp2( + duration=5, + offset=-1, + height=2) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-26,-42},{-6,-22}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul( + width=0.5, + period=2) + "Block that outputs cyclic on and off" + annotation (Placement(transformation(extent={{-26,-10},{-6,10}}))); + IBPSA.Controls.OBC.CDL.Reals.Switch switch1 + "Switch between two real inputs" + annotation (Placement(transformation(extent={{26,-10},{46,10}}))); + +equation + connect(booPul.y,switch1.u2) + annotation (Line(points={{-4,0},{-4,0},{24,0}},color={255,0,255})); + connect(ramp2.y,switch1.u3) + annotation (Line(points={{-4,-32},{8,-32},{8,-8},{24,-8}},color={0,0,127})); + connect(ramp1.y,switch1.u1) + annotation (Line(points={{-4,32},{8,32},{8,8},{24,8}},color={0,0,127})); + annotation ( + experiment( + StopTime=5.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Switch.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Reals.Switch. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end Switch; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Validation/Tan.mo b/IBPSA/Controls/OBC/CDL/Reals/Validation/Tan.mo new file mode 100644 index 0000000000..8b5f1c40eb --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Validation/Tan.mo @@ -0,0 +1,55 @@ +within IBPSA.Controls.OBC.CDL.Reals.Validation; +model Tan + "Validation model for the Tan block" + IBPSA.Controls.OBC.CDL.Reals.Tan tan1 + "Block that outputs the sine of the input" + annotation (Placement(transformation(extent={{-10,-10},{10,10}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ramp1( + duration=1, + offset=-1.5, + height=3.0) + "Block that generates ramp signal" + annotation (Placement(transformation(extent={{-60,-10},{-40,10}}))); + +equation + connect(ramp1.y,tan1.u) + annotation (Line(points={{-39,0},{-12,0}},color={0,0,127})); + annotation ( + experiment( + StopTime=1.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Tan.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Reals.Tan. +

+

+The input u varies from -1.5 to +1.5. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end Tan; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Validation/package.mo b/IBPSA/Controls/OBC/CDL/Reals/Validation/package.mo new file mode 100644 index 0000000000..34615e147b --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Validation/package.mo @@ -0,0 +1,37 @@ +within IBPSA.Controls.OBC.CDL.Reals; +package Validation "Collection of models that validate the continuous blocks of the CDL" + annotation ( + preferredView="info", + Documentation( + info=" +

+This package contains models that validate the blocks in + +IBPSA.Controls.OBC.CDL.Reals. +

+

+The examples plot various outputs, which have been verified against +analytical solutions. These model outputs are stored as reference data to +allow continuous validation whenever models in the library change. +

+"), + Icon( + graphics={ + Rectangle( + lineColor={200,200,200}, + fillColor={248,248,248}, + fillPattern=FillPattern.HorizontalCylinder, + extent={{-100.0,-100.0},{100.0,100.0}}, + radius=25.0), + Polygon( + origin={8.0,14.0}, + lineColor={78,138,73}, + fillColor={78,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-58.0,46.0},{42.0,-14.0},{-58.0,-74.0},{-58.0,46.0}}), + Rectangle( + lineColor={128,128,128}, + extent={{-100.0,-100.0},{100.0,100.0}}, + radius=25.0)})); +end Validation; diff --git a/IBPSA/Controls/OBC/CDL/Reals/Validation/package.order b/IBPSA/Controls/OBC/CDL/Reals/Validation/package.order new file mode 100644 index 0000000000..a3a46092e0 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/Validation/package.order @@ -0,0 +1,50 @@ +Abs +Acos +Add +AddParameter +Asin +Atan +Atan2 +Average +Cos +Derivative +Divide +Exp +Greater +GreaterThreshold +Hysteresis +IntegratorWithReset +Less +LessThreshold +LimitSlewRate +Limiter +Line +Log +Log10 +MatrixGain +MatrixMax +MatrixMin +Max +Min +Modulo +MovingAverage +MovingAverage_nonZeroStart +MultiMax +MultiMin +MultiSum +Multiply +MultiplyByParameter +PID +PIDInitialDerivativeOutput +PIDInitialState +PIDScale +PIDWithReset +PIDWithResetScale +Ramp +Round +Sin +Sort +Sqrt +Subtract +Switch +Tan diff --git a/IBPSA/Controls/OBC/CDL/Reals/package.mo b/IBPSA/Controls/OBC/CDL/Reals/package.mo new file mode 100644 index 0000000000..2666a2b1b2 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/package.mo @@ -0,0 +1,37 @@ +within IBPSA.Controls.OBC.CDL; +package Reals "Package with blocks for continuous variables" + annotation ( + Documentation( + info=" +

+Package with blocks for elementary mathematical functions +for continuous variables. +

+", + revisions=" + +"), + Icon( + graphics={ + Rectangle( + lineColor={200,200,200}, + fillColor={248,248,248}, + fillPattern=FillPattern.HorizontalCylinder, + extent={{-100.0,-100.0},{100.0,100.0}}, + radius=25.0), + Text( + extent={{-52,86},{52,-92}}, + textColor={0,0,0}, + fillColor={0,0,0}, + fillPattern=FillPattern.Solid, + textString="R"), + Rectangle( + lineColor={128,128,128}, + extent={{-100.0,-100.0},{100.0,100.0}}, + radius=25.0)})); +end Reals; diff --git a/IBPSA/Controls/OBC/CDL/Reals/package.order b/IBPSA/Controls/OBC/CDL/Reals/package.order new file mode 100644 index 0000000000..29bdf47966 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Reals/package.order @@ -0,0 +1,47 @@ +Abs +Acos +Add +AddParameter +Asin +Atan +Atan2 +Average +Cos +Derivative +Divide +Exp +Greater +GreaterThreshold +Hysteresis +IntegratorWithReset +Less +LessThreshold +LimitSlewRate +Limiter +Line +Log +Log10 +MatrixGain +MatrixMax +MatrixMin +Max +Min +Modulo +MovingAverage +MultiMax +MultiMin +MultiSum +Multiply +MultiplyByParameter +PID +PIDWithReset +Ramp +Round +Sin +Sort +Sqrt +Subtract +Switch +Tan +Sources +Validation diff --git a/IBPSA/Controls/OBC/CDL/Routing/BooleanExtractSignal.mo b/IBPSA/Controls/OBC/CDL/Routing/BooleanExtractSignal.mo new file mode 100644 index 0000000000..13bc1e3149 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Routing/BooleanExtractSignal.mo @@ -0,0 +1,178 @@ +within IBPSA.Controls.OBC.CDL.Routing; +block BooleanExtractSignal + "Extract signals from a boolean input signal vector" + parameter Integer nin=1 + "Number of inputs"; + parameter Integer nout=1 + "Number of outputs"; + parameter Integer extract[nout]=1:nout + "Extracting vector"; + IBPSA.Controls.OBC.CDL.Interfaces.BooleanInput u[nin] + "Boolean input signals" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.BooleanOutput y[nout] + "Boolean signals extracted from the input vector with the extraction scheme specified by the integer vector" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +initial equation + assert( + Modelica.Math.BooleanVectors.andTrue({(extract[i] > 0 and extract[i] <= nin) for i in 1:nout}), + "In " + getInstanceName() + ": The element of the extracting vector has out of range value.", + AssertionLevel.error); + +equation + for i in 1:nout loop + y[i]=u[extract[i]]; + end for; + annotation ( + defaultComponentName="extBooSig", + Icon( + graphics={ + Rectangle( + extent={{-100,-100},{100,100}}, + lineColor={255,0,255}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Rectangle( + extent={{-90,51},{-50,-49}}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + lineColor={255,0,255}), + Rectangle( + extent={{50,50},{90,-50}}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + lineColor={255,0,255}), + Polygon( + points={{-94.4104,1.90792},{-94.4104,-2.09208},{-90.4104,-0.0920762},{-94.4104,1.90792}}, + fillColor={255,0,255}, + fillPattern=FillPattern.Solid, + lineColor={255,0,255}), + Line( + points={{-72,2},{-60.1395,12.907},{-49.1395,12.907}}, + color={255,0,255}), + Line( + points={{-73,4},{-59,40},{-49,40}}, + color={255,0,255}), + Line( + points={{-113,0},{-76.0373,-0.0180176}}, + color={255,0,255}), + Ellipse( + extent={{-81.0437,4.59255},{-71.0437,-4.90745}}, + fillColor={255,0,255}, + fillPattern=FillPattern.Solid, + lineColor={255,0,255}), + Line( + points={{-73,-5},{-60,-40},{-49,-40}}, + color={255,0,255}), + Line( + points={{-72,-2},{-60.0698,-12.907},{-49.0698,-12.907}}, + color={255,0,255}), + Polygon( + points={{-48.8808,-11},{-48.8808,-15},{-44.8808,-13},{-48.8808,-11}}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + lineColor={255,0,255}), + Line( + points={{-46,13},{-35,13},{35,-30},{45,-30}}, + color={255,0,255}), + Line( + points={{-45,40},{-35,40},{35,0},{44,0}}, + color={255,0,255}), + Line( + points={{-45,-40},{-34,-40},{35,30},{44,30}}, + color={255,0,255}), + Polygon( + points={{-49,42},{-49,38},{-45,40},{-49,42}}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + lineColor={255,0,255}), + Polygon( + points={{-48.8728,-38.0295},{-48.8728,-42.0295},{-44.8728,-40.0295},{-48.8728,-38.0295}}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + lineColor={255,0,255}), + Polygon( + points={{-48.9983,14.8801},{-48.9983,10.8801},{-44.9983,12.8801},{-48.9983,14.8801}}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + lineColor={255,0,255}), + Ellipse( + extent={{69.3052,4.12743},{79.3052,-5.37257}}, + fillColor={255,0,255}, + fillPattern=FillPattern.Solid, + lineColor={255,0,255}), + Line( + points={{80,0},{100,0}}, + color={255,0,255}), + Polygon( + points={{43.1618,32.3085},{43.1618,28.3085},{47.1618,30.3085},{43.1618,32.3085}}, + fillColor={255,0,255}, + fillPattern=FillPattern.Solid, + lineColor={255,0,255}), + Polygon( + points={{43.2575,1.80443},{43.2575,-2.19557},{47.2575,-0.195573},{43.2575,1.80443}}, + fillColor={255,0,255}, + fillPattern=FillPattern.Solid, + lineColor={255,0,255}), + Polygon( + points={{43.8805,-28.1745},{43.8805,-32.1745},{47.8805,-30.1745},{43.8805,-28.1745}}, + fillColor={255,0,255}, + fillPattern=FillPattern.Solid, + lineColor={255,0,255}), + Line( + points={{48,0},{70,0}}, + color={255,0,255}), + Line( + points={{47,30},{60,30},{73,3}}, + color={255,0,255}), + Line( + points={{49,-30},{60,-30},{74,-4}}, + color={255,0,255}), + Text( + extent={{-150,-150},{150,-110}}, + textColor={0,0,0}, + textString="extract=%extract"), + Text( + textColor={0,0,255}, + extent={{-100,100},{100,140}}, + textString="%name")}), + Documentation( + info=" +

+Extract signals from the vector-valued boolean input signal and transfer them +to the vector-valued boolean output signal. +

+

+The extraction scheme is specified by the integer vector extract. +This vector specifies which input signals are taken and in which +order they are transferred to the output vector. Note that the +dimension of extract has to match the number of outputs and the elements +of extract has to be in the range of [1, nin]. +Additionally, the dimensions of the input connector signals and +the output connector signals have to be explicitly defined via the +parameters nin and nout. +

+

Example

+

+The specification +

+
     nin = 7 \"Number of inputs\";
+     nout = 4 \"Number of outputs\";
+     extract[nout] = {6,3,3,2} \"Extracting vector\";
+
+

extracts four output signals (nout=4) +from the seven elements of the +input vector (nin=7):

+
   y[1, 2, 3, 4] = u[6, 3, 3, 2];
+
+", +revisions=" + +")); +end BooleanExtractSignal; diff --git a/IBPSA/Controls/OBC/CDL/Routing/BooleanExtractor.mo b/IBPSA/Controls/OBC/CDL/Routing/BooleanExtractor.mo new file mode 100644 index 0000000000..c12f2aaadb --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Routing/BooleanExtractor.mo @@ -0,0 +1,148 @@ +within IBPSA.Controls.OBC.CDL.Routing; +block BooleanExtractor + "Extract scalar signal out of boolean signal vector dependent on integer input index" + parameter Integer nin=1 + "Number of inputs"; + IBPSA.Controls.OBC.CDL.Interfaces.IntegerInput index + "Index of input vector element to be extracted out" + annotation (Placement(transformation(origin={0,-120},extent={{-20,-20},{20,20}},rotation=90))); + IBPSA.Controls.OBC.CDL.Interfaces.BooleanInput u[nin] + "Boolean input signals" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.BooleanOutput y + "Boolean signal extracted from input vector, u[index]" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +equation + assert( + index > 0 and index <= nin, + "In " + getInstanceName() + ": The extract index is out of the range.", + AssertionLevel.warning); + y = u[min(nin, max(1, index))]; + +annotation (defaultComponentName="extIndBoo", + Icon( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100,-100},{100,100}}), + graphics={ + Rectangle( + extent={{-100,-100},{100,100}}, + lineColor={255,0,255}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Rectangle( + extent={{-80,50},{-40,-50}}, + lineColor={0,0,127}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Polygon( + points={{-84.4104,1.9079},{-84.4104,-2.09208},{-80.4104,-0.09208},{-84.4104,1.9079}}, + lineColor={255,0,255}, + fillColor={255,0,255}, + fillPattern=FillPattern.Solid), + Line( + points={{-62,2},{-50.1395,12.907},{-39.1395,12.907}}, + color={255,0,255}), + Line( + points={{-63,4},{-49,40},{-39,40}}, + color={255,0,255}), + Line( + points={{-102,0},{-65.0373,-0.01802}}, + color={255,0,255}), + Ellipse( + extent={{-70.0437,4.5925},{-60.0437,-4.90745}}, + lineColor={0,0,127}, + fillColor={255,0,255}, + fillPattern=FillPattern.Solid), + Line( + points={{-63,-5},{-50,-40},{-39,-40}}, + color={255,0,255}), + Line( + points={{-62,-2},{-50.0698,-12.907},{-39.0698,-12.907}}, + color={255,0,255}), + Polygon( + points={{-38.8808,-11},{-38.8808,-15},{-34.8808,-13},{-38.8808,-11}}, + lineColor={255,0,255}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Polygon( + points={{-39,42},{-39,38},{-35,40},{-39,42}}, + lineColor={255,0,255}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Polygon( + points={{-38.8728,-38.0295},{-38.8728,-42.0295},{-34.8728,-40.0295},{-38.8728,-38.0295}}, + lineColor={255,0,255}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Polygon( + points={{-38.9983,14.8801},{-38.9983,10.8801},{-34.9983,12.8801},{-38.9983,14.8801}}, + lineColor={255,0,255}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Rectangle( + extent={{-30,50},{30,-50}}, + fillColor={235,235,235}, + fillPattern=FillPattern.Solid, + lineColor={0,0,127}), + Line( + points={{100,0},{0,0}}, + color={255,0,255}), + Line( + points={{0,2},{0,-104}}, + color={255,128,0}), + Line( + points={{-35,40},{-20,40}}, + color={255,0,255}), + Line( + points={{-35,13},{-20,13}}, + color={255,0,255}), + Line( + points={{-35,-13},{-20,-13}}, + color={255,0,255}), + Line( + points={{-35,-40},{-20,-40}}, + color={255,0,255}), + Polygon( + points={{0,0},{-20,13},{-20,13},{0,0},{0,0}}, + lineColor={255,0,255}), + Ellipse( + extent={{-6,6},{6,-6}}, + lineColor={255,128,0}, + fillColor={255,128,0}, + fillPattern=FillPattern.Solid), + Text( + textColor={0,0,255}, + extent={{-100,100},{100,140}}, + textString="%name")}), + Documentation( + info=" +

+Block that returns +

+
    y = u[index];
+
+

+where u is a vector-valued Boolean input signal and +index is an Integer input signal. When the index +is out of range, +

+ +", +revisions=" + +")); +end BooleanExtractor; diff --git a/IBPSA/Controls/OBC/CDL/Routing/BooleanScalarReplicator.mo b/IBPSA/Controls/OBC/CDL/Routing/BooleanScalarReplicator.mo new file mode 100644 index 0000000000..ada7fb5678 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Routing/BooleanScalarReplicator.mo @@ -0,0 +1,64 @@ +within IBPSA.Controls.OBC.CDL.Routing; +block BooleanScalarReplicator "Boolean signal replicator" + parameter Integer nout=1 + "Number of outputs"; + IBPSA.Controls.OBC.CDL.Interfaces.BooleanInput u + "Input signal to be replicated" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.BooleanOutput y[nout] + "Output with replicated input signal" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +equation + y=fill(u, nout); + annotation ( + defaultComponentName="booScaRep", + Icon( + graphics={ + Rectangle( + extent={{-100,-100},{100,100}}, + lineColor={255,0,255}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Line( + points={{-100,0},{-6,0}}, + color={255,0,255}), + Line( + points={{100,0},{10,0}}, + color={255,0,255}), + Line( + points={{0,0},{100,10}}, + color={255,0,255}), + Line( + points={{0,0},{100,-10}}, + color={255,0,255}), + Ellipse( + extent={{-14,16},{16,-14}}, + lineColor={0,0,0}, + fillColor={255,0,255}, + fillPattern=FillPattern.Solid), + Text( + textColor={0,0,255}, + extent={{-150,110},{150,150}}, + textString="%name")}), + Documentation( + info=" +

+This block replicates the Boolean input signal to an array of nout +identical Boolean output signals. +

+", + revisions=" + +")); +end BooleanScalarReplicator; diff --git a/IBPSA/Controls/OBC/CDL/Routing/BooleanVectorFilter.mo b/IBPSA/Controls/OBC/CDL/Routing/BooleanVectorFilter.mo new file mode 100644 index 0000000000..cde256c18d --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Routing/BooleanVectorFilter.mo @@ -0,0 +1,69 @@ +within IBPSA.Controls.OBC.CDL.Routing; +block BooleanVectorFilter "Filter a boolean vector based on a boolean mask" + + parameter Integer nin "Size of input vector"; + parameter Integer nout "Size of output vector"; + parameter Boolean msk[nin]=fill(true,nin) "Array mask"; + + IBPSA.Controls.OBC.CDL.Interfaces.BooleanInput u[nin] + "Input signals from which values are extracted" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.BooleanOutput y[nout] + "Output with extracted input signals" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +protected + parameter Integer mskId[nout] = Modelica.Math.BooleanVectors.index(msk) + "Indices of included element in input vector"; + +initial equation + assert(nout==sum({if msk[i] then 1 else 0 for i in 1:nin}), + "In " + getInstanceName() + ": The size of the output vector does not + match the size of included elements in the mask."); +equation + y = u[mskId]; + annotation ( + defaultComponentName="booVecFil", + Icon(coordinateSystem(preserveAspectRatio=false), graphics={ + Rectangle( + extent={{-100,-100},{100,100}}, + lineColor={255,0,255}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Line(points={{-102,0},{-60,0}}, color={255,0,255}), + Line(points={{70,0},{100,0}}, color={255,0,255}), + Text( + textColor={0,0,255}, + extent={{-150,110},{150,150}}, + textString="%name"), + Polygon( + points={{-60,80},{-60,-80},{20,-10},{60,-10},{80,10},{20,10},{-60,80}}, + lineColor={0,0,0}, + fillColor={255,0,255}, + fillPattern=FillPattern.Solid, + lineThickness=0.5)}), Diagram( + coordinateSystem(preserveAspectRatio=false)), + Documentation(revisions=" + +", info=" +

+This block filters a Boolean vector of size nin to +a vector of size nout given a Boolean mask +msk. +

+

+If an entry in msk is true, then the value +of this input will be sent to the output y, otherwise it +will be discarded. +

+

+The parameter msk must have exactly nout entries +set to true, otherwise an error message is issued. +

+")); +end BooleanVectorFilter; diff --git a/IBPSA/Controls/OBC/CDL/Routing/BooleanVectorReplicator.mo b/IBPSA/Controls/OBC/CDL/Routing/BooleanVectorReplicator.mo new file mode 100644 index 0000000000..fe9da2cfb7 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Routing/BooleanVectorReplicator.mo @@ -0,0 +1,67 @@ +within IBPSA.Controls.OBC.CDL.Routing; +block BooleanVectorReplicator "Boolean vector signal replicator" + + parameter Integer nin=1 "Size of input vector"; + parameter Integer nout=1 "Number of row in output"; + + IBPSA.Controls.OBC.CDL.Interfaces.BooleanInput u[nin] + "Input signal to be replicated" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.BooleanOutput y[nout, nin] + "Output with replicated input signal" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +equation + y=fill(u, nout); + annotation ( + defaultComponentName="booVecRep", + Documentation( + info=" +

+This block replicates a Boolean vector input signal of size nin, +to a matrix with nout rows and nin columns, +where each row is duplicating the input vector. +

+", + revisions=" + +"), + Icon(graphics={ + Rectangle( + extent={{-100,-100},{100,100}}, + lineColor={255,0,255}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Line( + points={{-100,0},{-6,0}}, + color={255,0,255}), + Line( + points={{100,0},{10,0}}, + color={255,0,255}), + Line( + points={{0,0},{100,10}}, + color={255,0,255}), + Line( + points={{0,0},{100,-10}}, + color={255,0,255}), + Ellipse( + extent={{-14,16},{16,-14}}, + lineColor={0,0,0}, + fillColor={255,0,255}, + fillPattern=FillPattern.Solid), + Text( + textColor={0,0,255}, + extent={{-150,110},{150,150}}, + textString="%name"), + Line( + points={{-100,-10},{0,0}}, + color={255,0,255}), + Line( + points={{-100,10},{0,0}}, + color={255,0,255})})); +end BooleanVectorReplicator; diff --git a/IBPSA/Controls/OBC/CDL/Routing/IntegerExtractSignal.mo b/IBPSA/Controls/OBC/CDL/Routing/IntegerExtractSignal.mo new file mode 100644 index 0000000000..3d9c57188e --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Routing/IntegerExtractSignal.mo @@ -0,0 +1,178 @@ +within IBPSA.Controls.OBC.CDL.Routing; +block IntegerExtractSignal + "Extract signals from an integer input signal vector" + parameter Integer nin=1 + "Number of inputs"; + parameter Integer nout=1 + "Number of outputs"; + parameter Integer extract[nout]=1:nout + "Extracting vector"; + IBPSA.Controls.OBC.CDL.Interfaces.IntegerInput u[nin] + "Integer input signals" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.IntegerOutput y[nout] + "Integer signals extracted from the input vector with the extraction scheme specified by the integer vector" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +initial equation + assert( + Modelica.Math.BooleanVectors.andTrue({(extract[i] > 0 and extract[i] <= nin) for i in 1:nout}), + "In " + getInstanceName() + ": The element of the extracting vector has out of range value.", + AssertionLevel.error); + +equation + for i in 1:nout loop + y[i]=u[extract[i]]; + end for; + annotation ( + defaultComponentName="extIntSig", + Icon( + graphics={ + Rectangle( + extent={{-100,-100},{100,100}}, + lineColor={255,127,0}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Rectangle( + extent={{-90,51},{-50,-49}}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + lineColor={255,127,0}), + Rectangle( + extent={{50,50},{90,-50}}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + lineColor={255,127,0}), + Polygon( + points={{-94.4104,1.90792},{-94.4104,-2.09208},{-90.4104,-0.0920762},{-94.4104,1.90792}}, + fillColor={255,127,0}, + fillPattern=FillPattern.Solid, + lineColor={255,127,0}), + Line( + points={{-72,2},{-60.1395,12.907},{-49.1395,12.907}}, + color={255,127,0}), + Line( + points={{-73,4},{-59,40},{-49,40}}, + color={255,127,0}), + Line( + points={{-113,0},{-76.0373,-0.0180176}}, + color={255,127,0}), + Ellipse( + extent={{-81.0437,4.59255},{-71.0437,-4.90745}}, + fillColor={255,127,0}, + fillPattern=FillPattern.Solid, + lineColor={255,127,0}), + Line( + points={{-73,-5},{-60,-40},{-49,-40}}, + color={255,127,0}), + Line( + points={{-72,-2},{-60.0698,-12.907},{-49.0698,-12.907}}, + color={255,127,0}), + Polygon( + points={{-48.8808,-11},{-48.8808,-15},{-44.8808,-13},{-48.8808,-11}}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + lineColor={255,127,0}), + Line( + points={{-46,13},{-35,13},{35,-30},{45,-30}}, + color={255,127,0}), + Line( + points={{-45,40},{-35,40},{35,0},{44,0}}, + color={255,127,0}), + Line( + points={{-45,-40},{-34,-40},{35,30},{44,30}}, + color={255,127,0}), + Polygon( + points={{-49,42},{-49,38},{-45,40},{-49,42}}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + lineColor={255,127,0}), + Polygon( + points={{-48.8728,-38.0295},{-48.8728,-42.0295},{-44.8728,-40.0295},{-48.8728,-38.0295}}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + lineColor={255,127,0}), + Polygon( + points={{-48.9983,14.8801},{-48.9983,10.8801},{-44.9983,12.8801},{-48.9983,14.8801}}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + lineColor={255,127,0}), + Ellipse( + extent={{69.3052,4.12743},{79.3052,-5.37257}}, + fillColor={255,127,0}, + fillPattern=FillPattern.Solid, + lineColor={255,127,0}), + Line( + points={{80,0},{100,0}}, + color={255,127,0}), + Polygon( + points={{43.1618,32.3085},{43.1618,28.3085},{47.1618,30.3085},{43.1618,32.3085}}, + fillColor={255,127,0}, + fillPattern=FillPattern.Solid, + lineColor={255,127,0}), + Polygon( + points={{43.2575,1.80443},{43.2575,-2.19557},{47.2575,-0.195573},{43.2575,1.80443}}, + fillColor={255,127,0}, + fillPattern=FillPattern.Solid, + lineColor={255,127,0}), + Polygon( + points={{43.8805,-28.1745},{43.8805,-32.1745},{47.8805,-30.1745},{43.8805,-28.1745}}, + fillColor={255,127,0}, + fillPattern=FillPattern.Solid, + lineColor={255,127,0}), + Line( + points={{48,0},{70,0}}, + color={255,127,0}), + Line( + points={{47,30},{60,30},{73,3}}, + color={255,127,0}), + Line( + points={{49,-30},{60,-30},{74,-4}}, + color={255,127,0}), + Text( + extent={{-150,-150},{150,-110}}, + textColor={0,0,0}, + textString="extract=%extract"), + Text( + textColor={0,0,255}, + extent={{-100,100},{100,140}}, + textString="%name")}), + Documentation( + info=" +

+Extract signals from the vector-valued integer input signal and transfer them +to the vector-valued integer output signal. +

+

+The extraction scheme is specified by the integer vector extract. +This vector specifies which input signals are taken and in which +order they are transferred to the output vector. Note that the +dimension of extract has to match the number of outputs and +the elements of extract has to be in the range of [1, nin]. +Additionally, the dimensions of the input connector signals and +the output connector signals have to be explicitly defined via the +parameters nin and nout. +

+

Example

+

+The specification +

+
     nin = 7 \"Number of inputs\";
+     nout = 4 \"Number of outputs\";
+     extract[nout] = {6,3,3,2} \"Extracting vector\";
+
+

extracts four output signals (nout=4) +from the seven elements of the +input vector (nin=7):

+
   y[1, 2, 3, 4] = u[6, 3, 3, 2];
+
+", +revisions=" + +")); +end IntegerExtractSignal; diff --git a/IBPSA/Controls/OBC/CDL/Routing/IntegerExtractor.mo b/IBPSA/Controls/OBC/CDL/Routing/IntegerExtractor.mo new file mode 100644 index 0000000000..4a957ddf10 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Routing/IntegerExtractor.mo @@ -0,0 +1,148 @@ +within IBPSA.Controls.OBC.CDL.Routing; +block IntegerExtractor + "Extract scalar signal out of integer signal vector dependent on integer input index" + parameter Integer nin=1 + "Number of inputs"; + IBPSA.Controls.OBC.CDL.Interfaces.IntegerInput index + "Index of input vector element to be extracted out" + annotation (Placement(transformation(origin={0,-120},extent={{-20,-20},{20,20}},rotation=90))); + IBPSA.Controls.OBC.CDL.Interfaces.IntegerInput u[nin] + "Integer input signals" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.IntegerOutput y + "Integer signal extracted from input vector, u[index]" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +equation + assert( + index > 0 and index <= nin, + "In " + getInstanceName() + ": The extract index is out of the range.", + AssertionLevel.warning); + y = u[min(nin, max(1, index))]; + +annotation (defaultComponentName="extIndInt", + Icon( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100,-100},{100,100}}), + graphics={ + Rectangle( + extent={{-100,-100},{100,100}}, + lineColor={255,127,0}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Rectangle( + extent={{-80,50},{-40,-50}}, + lineColor={255,127,0}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Polygon( + points={{-84.4104,1.9079},{-84.4104,-2.09208},{-80.4104,-0.09208},{-84.4104,1.9079}}, + lineColor={255,127,0}, + fillColor={255,127,0}, + fillPattern=FillPattern.Solid), + Line( + points={{-62,2},{-50.1395,12.907},{-39.1395,12.907}}, + color={255,127,0}), + Line( + points={{-63,4},{-49,40},{-39,40}}, + color={255,127,0}), + Line( + points={{-102,0},{-65.0373,-0.01802}}, + color={255,127,0}), + Ellipse( + extent={{-70.0437,4.5925},{-60.0437,-4.90745}}, + lineColor={255,127,0}, + fillColor={255,127,0}, + fillPattern=FillPattern.Solid), + Line( + points={{-63,-5},{-50,-40},{-39,-40}}, + color={255,127,0}), + Line( + points={{-62,-2},{-50.0698,-12.907},{-39.0698,-12.907}}, + color={255,127,0}), + Polygon( + points={{-38.8808,-11},{-38.8808,-15},{-34.8808,-13},{-38.8808,-11}}, + lineColor={255,127,0}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Polygon( + points={{-39,42},{-39,38},{-35,40},{-39,42}}, + lineColor={255,127,0}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Polygon( + points={{-38.8728,-38.0295},{-38.8728,-42.0295},{-34.8728,-40.0295},{-38.8728,-38.0295}}, + lineColor={255,127,0}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Polygon( + points={{-38.9983,14.8801},{-38.9983,10.8801},{-34.9983,12.8801},{-38.9983,14.8801}}, + lineColor={255,127,0}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Rectangle( + extent={{-30,50},{30,-50}}, + fillColor={235,235,235}, + fillPattern=FillPattern.Solid, + lineColor={255,127,0}), + Line( + points={{100,0},{0,0}}, + color={255,127,0}), + Line( + points={{0,2},{0,-104}}, + color={255,127,0}), + Line( + points={{-35,40},{-20,40}}, + color={255,127,0}), + Line( + points={{-35,13},{-20,13}}, + color={255,127,0}), + Line( + points={{-35,-13},{-20,-13}}, + color={255,127,0}), + Line( + points={{-35,-40},{-20,-40}}, + color={255,127,0}), + Polygon( + points={{0,0},{-20,13},{-20,13},{0,0},{0,0}}, + lineColor={255,127,0}), + Ellipse( + extent={{-6,6},{6,-6}}, + lineColor={255,127,0}, + fillColor={255,128,0}, + fillPattern=FillPattern.Solid), + Text( + textColor={0,0,255}, + extent={{-100,100},{100,140}}, + textString="%name")}), + Documentation( + info=" +

+Block that returns +

+
    y = u[index];
+
+

+where u is a vector-valued Integer input signal and +index is an Integer input signal. When the index +is out of range, +

+ +", +revisions=" + +")); +end IntegerExtractor; diff --git a/IBPSA/Controls/OBC/CDL/Routing/IntegerScalarReplicator.mo b/IBPSA/Controls/OBC/CDL/Routing/IntegerScalarReplicator.mo new file mode 100644 index 0000000000..e4864ac5b0 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Routing/IntegerScalarReplicator.mo @@ -0,0 +1,64 @@ +within IBPSA.Controls.OBC.CDL.Routing; +block IntegerScalarReplicator "Integer signal replicator" + parameter Integer nout=1 + "Number of outputs"; + IBPSA.Controls.OBC.CDL.Interfaces.IntegerInput u + "Input signal to be replicated" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.IntegerOutput y[nout] + "Output with replicated input signal" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +equation + y=fill(u, nout); + annotation ( + defaultComponentName="intScaRep", + Icon( + graphics={ + Rectangle( + extent={{-100,-100},{100,100}}, + lineColor={255,127,0}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Line( + points={{-100,0},{-6,0}}, + color={255,127,0}), + Line( + points={{100,0},{10,0}}, + color={255,127,0}), + Line( + points={{0,0},{100,10}}, + color={255,127,0}), + Line( + points={{0,0},{100,-10}}, + color={255,127,0}), + Ellipse( + extent={{-14,16},{16,-14}}, + lineColor={0,0,0}, + fillColor={255,127,0}, + fillPattern=FillPattern.Solid), + Text( + textColor={0,0,255}, + extent={{-150,110},{150,150}}, + textString="%name")}), + Documentation( + info=" +

+This block replicates the Integer input signal to an array of nout +identical Integer output signals. +

+", + revisions=" + +")); +end IntegerScalarReplicator; diff --git a/IBPSA/Controls/OBC/CDL/Routing/IntegerVectorFilter.mo b/IBPSA/Controls/OBC/CDL/Routing/IntegerVectorFilter.mo new file mode 100644 index 0000000000..29ff14c6a6 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Routing/IntegerVectorFilter.mo @@ -0,0 +1,69 @@ +within IBPSA.Controls.OBC.CDL.Routing; +block IntegerVectorFilter "Filter an integer vector based on a boolean mask" + + parameter Integer nin "Size of input vector"; + parameter Integer nout "Size of output vector"; + parameter Boolean msk[nin]=fill(true,nin) "Array mask"; + + IBPSA.Controls.OBC.CDL.Interfaces.IntegerInput u[nin] + "Input signals from which values are extracted" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.IntegerOutput y[nout] + "Output with extracted input signals" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +protected + parameter Integer mskId[nout] = Modelica.Math.BooleanVectors.index(msk) + "Indices of included element in input vector"; + +initial equation + assert(nout==sum({if msk[i] then 1 else 0 for i in 1:nin}), + "In " + getInstanceName() + ": The size of the output vector does not + match the size of included elements in the mask."); +equation + y = u[mskId]; + annotation ( + defaultComponentName="intVecFil", + Icon(coordinateSystem(preserveAspectRatio=false), graphics={ + Rectangle( + extent={{-100,-100},{100,100}}, + lineColor={255,127,0}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Text( + textColor={0,0,255}, + extent={{-150,110},{150,150}}, + textString="%name"), + Polygon( + points={{-60,80},{-60,-80},{20,-10},{60,-10},{80,10},{20,10},{-60,80}}, + lineColor={0,0,0}, + fillColor={255,127,0}, + fillPattern=FillPattern.Solid, + lineThickness=0.5), + Line(points={{-100,0},{-60,0}}, color={255,127,0}), + Line(points={{70,0},{100,0}}, color={255,127,0})}), Diagram( + coordinateSystem(preserveAspectRatio=false)), + Documentation(revisions=" + +", info=" +

+This block filters a Integer vector of size nin to +a vector of size nout given a Boolean mask +msk. +

+

+If an entry in msk is true, then the value +of this input will be sent to the output y, otherwise it +will be discarded. +

+

+The parameter msk must have exactly nout entries +set to true, otherwise an error message is issued. +

+")); +end IntegerVectorFilter; diff --git a/IBPSA/Controls/OBC/CDL/Routing/IntegerVectorReplicator.mo b/IBPSA/Controls/OBC/CDL/Routing/IntegerVectorReplicator.mo new file mode 100644 index 0000000000..e0a73dd33d --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Routing/IntegerVectorReplicator.mo @@ -0,0 +1,64 @@ +within IBPSA.Controls.OBC.CDL.Routing; +block IntegerVectorReplicator "Integer vector signal replicator" + + parameter Integer nin=1 "Size of input vector"; + parameter Integer nout=1 "Number of row in output"; + + IBPSA.Controls.OBC.CDL.Interfaces.IntegerInput u[nin] + "Input signal to be replicated" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.IntegerOutput y[nout, nin] + "Output with replicated input signal" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +equation + y=fill(u, nout); + annotation ( + defaultComponentName="intVecRep", + Icon( + graphics={ + Rectangle( + extent={{-100,-100},{100,100}}, + lineColor={255,127,0}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Line( + points={{-100,0},{-6,0}}, + color={255,127,0}), + Line( + points={{100,0},{10,0}}, + color={255,127,0}), + Line( + points={{0,0},{100,10}}, + color={255,127,0}), + Line( + points={{0,0},{100,-10}}, + color={255,127,0}), + Ellipse( + extent={{-14,16},{16,-14}}, + lineColor={0,0,0}, + fillColor={255,127,0}, + fillPattern=FillPattern.Solid), + Text( + textColor={0,0,255}, + extent={{-150,110},{150,150}}, + textString="%name"), + Line(points={{-100,-10},{0,0}}, color={255,127,0}), + Line(points={{-100,10},{0,0}}, color={255,127,0})}), + Documentation( + info=" +

+This block replicates an Integer vector input signal of size nin, +to a matrix with nout rows and nin columns, +where each row is duplicating the input vector. +

+", + revisions=" + +")); +end IntegerVectorReplicator; diff --git a/IBPSA/Controls/OBC/CDL/Routing/RealExtractSignal.mo b/IBPSA/Controls/OBC/CDL/Routing/RealExtractSignal.mo new file mode 100644 index 0000000000..da171e5e1a --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Routing/RealExtractSignal.mo @@ -0,0 +1,187 @@ +within IBPSA.Controls.OBC.CDL.Routing; +block RealExtractSignal + "Extract signals from a real input signal vector" + parameter Integer nin=1 + "Number of inputs"; + parameter Integer nout=1 + "Number of outputs"; + parameter Integer extract[nout]=1:nout + "Extracting vector"; + IBPSA.Controls.OBC.CDL.Interfaces.RealInput u[nin] + "Real input signals" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealOutput y[nout] + "Real signals extracted from the input vector with the extraction scheme specified by the integer vector" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +initial equation + assert( + Modelica.Math.BooleanVectors.andTrue({(extract[i] > 0 and extract[i] <= nin) for i in 1:nout}), + "In " + getInstanceName() + ": The element of the extracting vector has out of range value.", + AssertionLevel.error); + +equation + for i in 1:nout loop + y[i]=u[extract[i]]; + end for; + annotation ( + defaultComponentName="extReaSig", + Icon( + graphics={ + Rectangle( + extent={{-100,-100},{100,100}}, + lineColor={0,0,127}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Rectangle( + extent={{-90,51},{-50,-49}}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + lineColor={0,0,127}), + Rectangle( + extent={{50,50},{90,-50}}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + lineColor={0,0,127}), + Polygon( + points={{-94.4104,1.90792},{-94.4104,-2.09208},{-90.4104,-0.0920762},{-94.4104,1.90792}}, + fillColor={0,0,127}, + fillPattern=FillPattern.Solid, + lineColor={0,0,127}), + Line( + points={{-72,2},{-60.1395,12.907},{-49.1395,12.907}}, + color={0,0,127}), + Line( + points={{-73,4},{-59,40},{-49,40}}, + color={0,0,127}), + Line( + points={{-113,0},{-76.0373,-0.0180176}}, + color={0,0,127}), + Ellipse( + extent={{-81.0437,4.59255},{-71.0437,-4.90745}}, + fillColor={0,0,127}, + fillPattern=FillPattern.Solid, + lineColor={0,0,127}), + Line( + points={{-73,-5},{-60,-40},{-49,-40}}, + color={0,0,127}), + Line( + points={{-72,-2},{-60.0698,-12.907},{-49.0698,-12.907}}, + color={0,0,127}), + Polygon( + points={{-48.8808,-11},{-48.8808,-15},{-44.8808,-13},{-48.8808,-11}}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + lineColor={0,0,127}), + Line( + points={{-46,13},{-35,13},{35,-30},{45,-30}}, + color={0,0,127}), + Line( + points={{-45,40},{-35,40},{35,0},{44,0}}, + color={0,0,127}), + Line( + points={{-45,-40},{-34,-40},{35,30},{44,30}}, + color={0,0,127}), + Polygon( + points={{-49,42},{-49,38},{-45,40},{-49,42}}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + lineColor={0,0,127}), + Polygon( + points={{-48.8728,-38.0295},{-48.8728,-42.0295},{-44.8728,-40.0295},{-48.8728,-38.0295}}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + lineColor={0,0,127}), + Polygon( + points={{-48.9983,14.8801},{-48.9983,10.8801},{-44.9983,12.8801},{-48.9983,14.8801}}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + lineColor={0,0,127}), + Ellipse( + extent={{69.3052,4.12743},{79.3052,-5.37257}}, + fillColor={0,0,127}, + fillPattern=FillPattern.Solid, + lineColor={0,0,127}), + Line( + points={{80,0},{100,0}}, + color={0,0,127}), + Polygon( + points={{43.1618,32.3085},{43.1618,28.3085},{47.1618,30.3085},{43.1618,32.3085}}, + fillColor={0,0,127}, + fillPattern=FillPattern.Solid, + lineColor={0,0,127}), + Polygon( + points={{43.2575,1.80443},{43.2575,-2.19557},{47.2575,-0.195573},{43.2575,1.80443}}, + fillColor={0,0,127}, + fillPattern=FillPattern.Solid, + lineColor={0,0,127}), + Polygon( + points={{43.8805,-28.1745},{43.8805,-32.1745},{47.8805,-30.1745},{43.8805,-28.1745}}, + fillColor={0,0,127}, + fillPattern=FillPattern.Solid, + lineColor={0,0,127}), + Line( + points={{48,0},{70,0}}, + color={0,0,127}), + Line( + points={{47,30},{60,30},{73,3}}, + color={0,0,127}), + Line( + points={{49,-30},{60,-30},{74,-4}}, + color={0,0,127}), + Text( + extent={{-150,-150},{150,-110}}, + textColor={0,0,0}, + textString="extract=%extract"), + Text( + textColor={0,0,255}, + extent={{-100,100},{100,140}}, + textString="%name")}), + Documentation( + info=" +

+Extract signals from the vector-valued real input signal and transfer them +to the vector-valued real output signal. +

+

+The extraction scheme is specified by the integer vector extract. +This vector specifies which input signals are taken and in which +order they are transferred to the output vector. Note that the +dimension of extract has to match the number of outputs and the elements +of extract has to be in the range of [1, nin]. +Additionally, the dimensions of the input connector signals and +the output connector signals have to be explicitly defined via the +parameters nin and nout. +

+

Example

+

+The specification +

+
     nin = 7 \"Number of inputs\";
+     nout = 4 \"Number of outputs\";
+     extract[nout] = {6,3,3,2} \"Extracting vector\";
+
+

extracts four output signals (nout=4) +from the seven elements of the +input vector (nin=7):

+
   y[1, 2, 3, 4] = u[6, 3, 3, 2];
+
+", +revisions=" + +")); +end RealExtractSignal; diff --git a/IBPSA/Controls/OBC/CDL/Routing/RealExtractor.mo b/IBPSA/Controls/OBC/CDL/Routing/RealExtractor.mo new file mode 100644 index 0000000000..c0b723c1c6 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Routing/RealExtractor.mo @@ -0,0 +1,159 @@ +within IBPSA.Controls.OBC.CDL.Routing; +block RealExtractor + "Extract scalar signal out of real signal vector dependent on integer input index" + parameter Integer nin=1 + "Number of inputs"; + IBPSA.Controls.OBC.CDL.Interfaces.IntegerInput index + "Index of input vector element to be extracted out" + annotation (Placement(transformation(origin={0,-120},extent={{-20,-20},{20,20}},rotation=90))); + IBPSA.Controls.OBC.CDL.Interfaces.RealInput u[nin] + "Real input signals" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealOutput y + "Real signal extracted from input vector, u[index]" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +algorithm + assert( + index > 0 and index <= nin, + "In " + getInstanceName() + ": The extract index is out of the range.", + AssertionLevel.warning); + y := u[min(nin, max(1, index))]; + +annotation (defaultComponentName="extIndRea", + Icon( + coordinateSystem( + preserveAspectRatio=true, + extent={{-100,-100},{100,100}}), + graphics={ + Rectangle( + extent={{-100,-100},{100,100}}, + lineColor={0,0,127}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Rectangle( + extent={{-80,50},{-40,-50}}, + lineColor={0,0,127}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Polygon( + points={{-84.4104,1.9079},{-84.4104,-2.09208},{-80.4104,-0.09208},{-84.4104,1.9079}}, + lineColor={0,0,127}, + fillColor={0,0,0}, + fillPattern=FillPattern.Solid), + Line( + points={{-62,2},{-50.1395,12.907},{-39.1395,12.907}}, + color={0,0,127}), + Line( + points={{-63,4},{-49,40},{-39,40}}, + color={0,0,127}), + Line( + points={{-102,0},{-65.0373,-0.01802}}, + color={0,0,127}), + Ellipse( + extent={{-70.0437,4.5925},{-60.0437,-4.90745}}, + lineColor={0,0,127}, + fillColor={0,0,127}, + fillPattern=FillPattern.Solid), + Line( + points={{-63,-5},{-50,-40},{-39,-40}}, + color={0,0,127}), + Line( + points={{-62,-2},{-50.0698,-12.907},{-39.0698,-12.907}}, + color={0,0,127}), + Polygon( + points={{-38.8808,-11},{-38.8808,-15},{-34.8808,-13},{-38.8808,-11}}, + lineColor={0,0,127}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Polygon( + points={{-39,42},{-39,38},{-35,40},{-39,42}}, + lineColor={0,0,127}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Polygon( + points={{-38.8728,-38.0295},{-38.8728,-42.0295},{-34.8728,-40.0295},{-38.8728,-38.0295}}, + lineColor={0,0,127}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Polygon( + points={{-38.9983,14.8801},{-38.9983,10.8801},{-34.9983,12.8801},{-38.9983,14.8801}}, + lineColor={0,0,127}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Rectangle( + extent={{-30,50},{30,-50}}, + fillColor={235,235,235}, + fillPattern=FillPattern.Solid, + lineColor={0,0,127}), + Line( + points={{100,0},{0,0}}, + color={0,0,127}), + Line( + points={{0,2},{0,-104}}, + color={255,128,0}), + Line( + points={{-35,40},{-20,40}}, + color={0,0,127}), + Line( + points={{-35,13},{-20,13}}, + color={0,0,127}), + Line( + points={{-35,-13},{-20,-13}}, + color={0,0,127}), + Line( + points={{-35,-40},{-20,-40}}, + color={0,0,127}), + Polygon( + points={{0,0},{-20,13},{-20,13},{0,0},{0,0}}, + lineColor={0,0,127}), + Ellipse( + extent={{-6,6},{6,-6}}, + lineColor={255,128,0}, + fillColor={255,128,0}, + fillPattern=FillPattern.Solid), + Text( + textColor={0,0,255}, + extent={{-100,100},{100,140}}, + textString="%name")}), + Documentation( + info=" +

+Block that returns +

+
    y = u[index];
+
+

+where u is a vector-valued Real input signal and +index is an Integer input signal. When the index +is out of range, +

+ +", +revisions=" + +")); +end RealExtractor; diff --git a/IBPSA/Controls/OBC/CDL/Routing/RealScalarReplicator.mo b/IBPSA/Controls/OBC/CDL/Routing/RealScalarReplicator.mo new file mode 100644 index 0000000000..76375e611a --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Routing/RealScalarReplicator.mo @@ -0,0 +1,65 @@ +within IBPSA.Controls.OBC.CDL.Routing; +block RealScalarReplicator + "Real signal replicator" + parameter Integer nout=1 + "Number of outputs"; + IBPSA.Controls.OBC.CDL.Interfaces.RealInput u + "Input signal to be replicated" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealOutput y[nout] + "Output with replicated input signal" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +equation + y=fill(u, nout); + annotation ( + defaultComponentName="reaScaRep", + Icon( + graphics={ + Rectangle( + extent={{-100,-100},{100,100}}, + lineColor={0,0,127}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Line( + points={{-100,0},{-6,0}}, + color={0,0,127}), + Line( + points={{100,0},{10,0}}, + color={0,0,127}), + Line( + points={{0,0},{100,10}}, + color={0,0,127}), + Line( + points={{0,0},{100,-10}}, + color={0,0,127}), + Ellipse( + extent={{-14,16},{16,-14}}, + lineColor={0,0,0}, + fillColor={0,0,127}, + fillPattern=FillPattern.Solid), + Text( + textColor={0,0,255}, + extent={{-150,110},{150,150}}, + textString="%name")}), + Documentation( + info=" +

+This block replicates the Real input signal to an array of nout +identical Real output signals. +

+", + revisions=" + +")); +end RealScalarReplicator; diff --git a/IBPSA/Controls/OBC/CDL/Routing/RealVectorFilter.mo b/IBPSA/Controls/OBC/CDL/Routing/RealVectorFilter.mo new file mode 100644 index 0000000000..e1f32071af --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Routing/RealVectorFilter.mo @@ -0,0 +1,70 @@ +within IBPSA.Controls.OBC.CDL.Routing; +block RealVectorFilter "Filter a real vector of based on a boolean mask" + + parameter Integer nin "Size of input vector"; + parameter Integer nout "Size of output vector"; + parameter Boolean msk[nin]=fill(true,nin) "Array mask"; + + IBPSA.Controls.OBC.CDL.Interfaces.RealInput u[nin] + "Input signals from which values are extracted" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealOutput y[nout] + "Output with extracted input signals" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +protected + parameter Integer mskId[nout] = Modelica.Math.BooleanVectors.index(msk) + "Indices of included element in input vector"; + +initial equation + assert(nout==sum({if msk[i] then 1 else 0 for i in 1:nin}), + "In " + getInstanceName() + ": The size of the output vector does not + match the size of included elements in the mask."); +equation + y = u[mskId]; + annotation ( + defaultComponentName="reaVecFil", + Icon(coordinateSystem(preserveAspectRatio=false), graphics={ + Rectangle( + extent={{-100,-100},{100,100}}, + lineColor={0,0,127}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Text( + textColor={0,0,255}, + extent={{-150,110},{150,150}}, + textString="%name"), + Polygon( + points={{-60,80},{-60,-80},{20,-10},{60,-10},{80,10},{20,10},{-60,80}}, + lineColor={0,0,0}, + fillColor={0,0,127}, + fillPattern=FillPattern.Solid, + lineThickness=0.5), + Line(points={{-100,0},{-60,0}}, color={0,0,127}), + Line(points={{70,0},{100,0}}, color={0,0,127})}), + Diagram( + coordinateSystem(preserveAspectRatio=false)), + Documentation(revisions=" + +", info=" +

+This block filters a Real vector of size nin to +a vector of size nout given a boolean mask +msk. +

+

+If an entry in msk is true, then the value +of this input will be sent to the output y, otherwise it +will be discarded. +

+

+The parameter msk must have exactly nout entries +set to true, otherwise an error message is issued. +

+")); +end RealVectorFilter; diff --git a/IBPSA/Controls/OBC/CDL/Routing/RealVectorReplicator.mo b/IBPSA/Controls/OBC/CDL/Routing/RealVectorReplicator.mo new file mode 100644 index 0000000000..1ed80049dc --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Routing/RealVectorReplicator.mo @@ -0,0 +1,63 @@ +within IBPSA.Controls.OBC.CDL.Routing; +block RealVectorReplicator "Real vector signal replicator" + + parameter Integer nin=1 "Size of input vector"; + parameter Integer nout=1 "Number of row in output"; + + IBPSA.Controls.OBC.CDL.Interfaces.RealInput u[nin] + "Input signal to be replicated" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealOutput y[nout, nin] + "Output with replicated input signal" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + +equation + y=fill(u, nout); + annotation ( + defaultComponentName="reaVecRep", + Documentation( + info=" +

+This block replicates an Real vector input signal of size nin, +to a matrix with nout rows and nin columns, +where each row is duplicating the input vector. +

+", + revisions=" + +"), + Icon(graphics={ + Rectangle( + extent={{-100,-100},{100,100}}, + lineColor={0,0,127}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Line( + points={{-100,0},{-6,0}}, + color={0,0,127}), + Line( + points={{100,0},{10,0}}, + color={0,0,127}), + Line( + points={{0,0},{100,10}}, + color={0,0,127}), + Line( + points={{0,0},{100,-10}}, + color={0,0,127}), + Ellipse( + extent={{-14,16},{16,-14}}, + lineColor={0,0,0}, + fillColor={0,0,127}, + fillPattern=FillPattern.Solid), + Text( + textColor={0,0,255}, + extent={{-150,110},{150,150}}, + textString="%name"), + Line(points={{-100,-10},{0,0}}, color={0,0,127}), + Line(points={{-100,10},{0,0}}, color={0,0,127})})); +end RealVectorReplicator; diff --git a/IBPSA/Controls/OBC/CDL/Routing/Validation/BooleanExtractSignal.mo b/IBPSA/Controls/OBC/CDL/Routing/Validation/BooleanExtractSignal.mo new file mode 100644 index 0000000000..87d38a5c92 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Routing/Validation/BooleanExtractSignal.mo @@ -0,0 +1,94 @@ +within IBPSA.Controls.OBC.CDL.Routing.Validation; +model BooleanExtractSignal + "Validation model for extracting boolean signals" + IBPSA.Controls.OBC.CDL.Routing.BooleanExtractSignal extBooSig( + final nin=4, + final nout=3, + final extract={3,2,4}) + "Block that extracts signal from a boolean input signal vector" + annotation (Placement(transformation(extent={{40,20},{60,40}}))); + IBPSA.Controls.OBC.CDL.Routing.BooleanExtractSignal extBooSig1( + final nin=4, + final nout=5, + final extract={3,2,4,1,1}) + "Block that extracts signal from a boolean input signal vector" + annotation (Placement(transformation(extent={{40,-40},{60,-20}}))); + + IBPSA.Controls.OBC.CDL.Logical.Sources.Constant con1( + final k=true) + "Block that outputs true signal" + annotation (Placement(transformation(extent={{-80,50},{-60,70}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Constant con( + final k=false) + "Block that outputs false signal" + annotation (Placement(transformation(extent={{-80,-78},{-60,-58}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul( + final period=0.2) "Generate pulse signal of type boolean" + annotation (Placement(transformation(extent={{-80,20},{-60,40}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul1( + final period=0.3) + "Generate pulse signal of type boolean" + annotation (Placement(transformation(extent={{-80,-40},{-60,-20}}))); + +equation + connect(con1.y, extBooSig.u[1]) annotation (Line(points={{-58,60},{-10,60},{-10, + 29.25},{38,29.25}}, color={255,0,255})); + connect(booPul.y, extBooSig.u[2]) annotation (Line(points={{-58,30},{-20,30},{ + -20,29.75},{38,29.75}}, color={255,0,255})); + connect(booPul1.y, extBooSig.u[3]) annotation (Line(points={{-58,-30},{10,-30}, + {10,30.25},{38,30.25}}, color={255,0,255})); + connect(con.y, extBooSig.u[4]) annotation (Line(points={{-58,-68},{20,-68},{20, + 30.75},{38,30.75}}, color={255,0,255})); + connect(con1.y, extBooSig1.u[1]) annotation (Line(points={{-58,60},{-10,60},{-10, + -30.75},{38,-30.75}}, color={255,0,255})); + connect(booPul.y, extBooSig1.u[2]) annotation (Line(points={{-58,30},{-20,30}, + {-20,-30.25},{38,-30.25}}, color={255,0,255})); + connect(booPul1.y, extBooSig1.u[3]) annotation (Line(points={{-58,-30},{10,-30}, + {10,-29.75},{38,-29.75}}, color={255,0,255})); + connect(con.y, extBooSig1.u[4]) annotation (Line(points={{-58,-68},{20,-68},{20, + -29.25},{38,-29.25}}, color={255,0,255})); +annotation ( + experiment(StopTime=1.0,Tolerance=1e-06), + __Dymola_Commands(file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Routing/Validation/BooleanExtractSignal.mos" "Simulate and plot"), + Documentation(info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Routing.BooleanExtractSignal. +

+

+The instance extBooSig has the input vector with dimension of 4 and +the extracting vector is [3, 2, 4]. Thus the output vectors is [u[3], u[2], u[4]]. +

+

+The instance extBooSig1 has the input vector with dimension of 4 and +the extracting vector is [3, 2, 4, 1, 1]. Thus the output vectors is [u[3], u[2], u[4], u[1], u[1]]. +

+

+Note that when the extracting vector extract has any element with the value that +is out of range [1, nin], e.g. [1, 4] for instance in extBooSig. +It will issue error and the model will not translate. +

+", +revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end BooleanExtractSignal; diff --git a/IBPSA/Controls/OBC/CDL/Routing/Validation/BooleanExtractor.mo b/IBPSA/Controls/OBC/CDL/Routing/Validation/BooleanExtractor.mo new file mode 100644 index 0000000000..66dc1022fc --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Routing/Validation/BooleanExtractor.mo @@ -0,0 +1,177 @@ +within IBPSA.Controls.OBC.CDL.Routing.Validation; +model BooleanExtractor + "Validation model for the boolean extractor block" + IBPSA.Controls.OBC.CDL.Routing.BooleanExtractor extIndBoo( + final nin=4) "Extracts signal from an input signal vector" + annotation (Placement(transformation(extent={{40,80},{60,100}}))); + IBPSA.Controls.OBC.CDL.Routing.BooleanExtractor extIndBoo1( + final nin=4) + "Extracts signal from an input signal vector when the extract index is out of the upper range" + annotation (Placement(transformation(extent={{40,40},{60,60}}))); + IBPSA.Controls.OBC.CDL.Routing.BooleanExtractor extIndBoo2( + final nin=4) + "Extracts signal from an input signal vector when the extract index is out of the lower range" + annotation (Placement(transformation(extent={{40,0},{60,20}}))); + IBPSA.Controls.OBC.CDL.Routing.BooleanExtractor extIndBoo3( + final nin=4) + "Extracts signal from an input signal vector when the extract index changes from within range to out of range" + annotation (Placement(transformation(extent={{40,-40},{60,-20}}))); + IBPSA.Controls.OBC.CDL.Routing.BooleanExtractor extIndBoo4( + final nin=4) + "Extracts signal from an input signal vector when the extract index changes from out of range to within range" + annotation (Placement(transformation(extent={{40,-80},{60,-60}}))); + + IBPSA.Controls.OBC.CDL.Logical.Sources.Constant con1( + final k=true) + "Block that outputs true signal" + annotation (Placement(transformation(extent={{-80,70},{-60,90}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Constant con( + final k=false) + "Block that outputs false signal" + annotation (Placement(transformation(extent={{-80,-80},{-60,-60}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul( + final period=0.2) "Generate pulse signal of type boolean" + annotation (Placement(transformation(extent={{-80,20},{-60,40}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul1( + final period=0.3) + "Generate pulse signal of type boolean" + annotation (Placement(transformation(extent={{-80,-30},{-60,-10}}))); + IBPSA.Controls.OBC.CDL.Integers.Sources.Constant conInt( + final k=2) + "Index to extract input signal" + annotation (Placement(transformation(extent={{0,60},{20,80}}))); + IBPSA.Controls.OBC.CDL.Integers.Sources.Constant conInt1( + k=6) + "Index to extract input signal" + annotation (Placement(transformation(extent={{0,20},{20,40}}))); + IBPSA.Controls.OBC.CDL.Integers.Sources.Constant conInt2( + k=0) + "Index to extract input signal" + annotation (Placement(transformation(extent={{0,-20},{20,0}}))); + IBPSA.Controls.OBC.CDL.Integers.Sources.Pulse intPul( + final amplitude=3, + final period=1, + final offset=-1) + "Generate pulse signal of type Integer" + annotation (Placement(transformation(extent={{0,-60},{20,-40}}))); + IBPSA.Controls.OBC.CDL.Integers.Sources.Pulse intPul1( + final amplitude=-3, + final period=1, + final offset=3) + "Generate pulse signal of type Integer" + annotation (Placement(transformation(extent={{0,-100},{20,-80}}))); + +equation + connect(conInt.y, extIndBoo.index) + annotation (Line(points={{22,70},{50,70},{50,78}}, color={255,127,0})); + connect(conInt1.y, extIndBoo1.index) + annotation (Line(points={{22,30},{50,30},{50,38}}, color={255,127,0})); + connect(con1.y, extIndBoo.u[1]) annotation (Line(points={{-58,80},{-40,80},{-40, + 89.25},{38,89.25}}, color={255,0,255})); + connect(booPul.y, extIndBoo.u[2]) annotation (Line(points={{-58,30},{-30,30},{ + -30,89.75},{38,89.75}}, color={255,0,255})); + connect(booPul1.y, extIndBoo.u[3]) annotation (Line(points={{-58,-20},{-20,-20}, + {-20,90.25},{38,90.25}}, color={255,0,255})); + connect(con.y, extIndBoo.u[4]) annotation (Line(points={{-58,-70},{-10,-70},{-10, + 90.75},{38,90.75}}, color={255,0,255})); + connect(con1.y, extIndBoo1.u[1]) annotation (Line(points={{-58,80},{-40,80},{-40, + 49.25},{38,49.25}}, color={255,0,255})); + connect(booPul.y, extIndBoo1.u[2]) annotation (Line(points={{-58,30},{-30,30}, + {-30,49.75},{38,49.75}}, color={255,0,255})); + connect(booPul1.y, extIndBoo1.u[3]) annotation (Line(points={{-58,-20},{-20,-20}, + {-20,50.25},{38,50.25}}, color={255,0,255})); + connect(con.y, extIndBoo1.u[4]) annotation (Line(points={{-58,-70},{-10,-70},{ + -10,50.75},{38,50.75}}, color={255,0,255})); + connect(con1.y, extIndBoo2.u[1]) annotation (Line(points={{-58,80},{-40,80},{-40, + 9.25},{38,9.25}}, color={255,0,255})); + connect(booPul.y, extIndBoo2.u[2]) annotation (Line(points={{-58,30},{-30,30}, + {-30,9.75},{38,9.75}}, color={255,0,255})); + connect(booPul1.y, extIndBoo2.u[3]) annotation (Line(points={{-58,-20},{-10,-20}, + {-10,10.25},{38,10.25}}, color={255,0,255})); + connect(con.y, extIndBoo2.u[4]) annotation (Line(points={{-58,-70},{-10,-70},{ + -10,10.75},{38,10.75}}, color={255,0,255})); + connect(conInt2.y, extIndBoo2.index) + annotation (Line(points={{22,-10},{50,-10},{50,-2}}, color={255,127,0})); + connect(con1.y, extIndBoo3.u[1]) annotation (Line(points={{-58,80},{-40,80},{-40, + -30.75},{38,-30.75}}, color={255,0,255})); + connect(booPul.y, extIndBoo3.u[2]) annotation (Line(points={{-58,30},{-30,30}, + {-30,-30.25},{38,-30.25}}, color={255,0,255})); + connect(booPul1.y, extIndBoo3.u[3]) annotation (Line(points={{-58,-20},{-20,-20}, + {-20,-29.75},{38,-29.75}}, color={255,0,255})); + connect(con.y, extIndBoo3.u[4]) annotation (Line(points={{-58,-70},{-10,-70},{ + -10,-29.25},{38,-29.25}}, color={255,0,255})); + connect(intPul.y, extIndBoo3.index) annotation (Line(points={{22,-50},{50,-50}, + {50,-42}}, color={255,127,0})); + connect(intPul1.y, extIndBoo4.index) + annotation (Line(points={{22,-90},{50,-90},{50,-82}}, color={255,127,0})); + connect(con1.y, extIndBoo4.u[1]) annotation (Line(points={{-58,80},{-40,80},{-40, + -70.75},{38,-70.75}}, color={255,0,255})); + connect(booPul.y, extIndBoo4.u[2]) annotation (Line(points={{-58,30},{-30,30}, + {-30,-70.25},{38,-70.25}}, color={255,0,255})); + connect(booPul1.y, extIndBoo4.u[3]) annotation (Line(points={{-58,-20},{-20,-20}, + {-20,-69.75},{38,-69.75}}, color={255,0,255})); + connect(con.y, extIndBoo4.u[4]) annotation (Line(points={{-58,-70},{-10,-70},{ + -10,-69.25},{38,-69.25}}, color={255,0,255})); +annotation ( + experiment(StopTime=1.0,Tolerance=1e-06), + __Dymola_Commands(file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Routing/Validation/BooleanExtractor.mos" "Simulate and plot"), + Documentation(info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Routing.BooleanExtractor. +

+

+The instances extIndBoo, extIndBoo1, extIndBoo2, +extIndBoo3, and extIndBoo4 have the same input vector with +dimension of 4. However, they have different extract index and thus different output. +

+ +", +revisions=" + +"), + Icon(coordinateSystem(extent={{-100,-100},{100,100}}), + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})}), + Diagram(coordinateSystem(extent={{-100,-120},{100,120}}))); +end BooleanExtractor; diff --git a/IBPSA/Controls/OBC/CDL/Routing/Validation/BooleanScalarReplicator.mo b/IBPSA/Controls/OBC/CDL/Routing/Validation/BooleanScalarReplicator.mo new file mode 100644 index 0000000000..039b9e5040 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Routing/Validation/BooleanScalarReplicator.mo @@ -0,0 +1,55 @@ +within IBPSA.Controls.OBC.CDL.Routing.Validation; +model BooleanScalarReplicator + "Validation model for the BooleanScalarReplicator block" + IBPSA.Controls.OBC.CDL.Routing.BooleanScalarReplicator booRep( + nout=3) + "Block that outputs the array replicating input value" + annotation (Placement(transformation(extent={{20,-10},{40,10}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul( + period=0.2) + "Block that outputs boolean pulse" + annotation (Placement(transformation(extent={{-40,-10},{-20,10}}))); + +equation + connect(booPul.y,booRep.u) + annotation (Line(points={{-19,0},{18,0}},color={255,0,255})); + annotation ( + experiment( + StopTime=1.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Routing/Validation/BooleanScalarReplicator.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Routing.BooleanScalarReplicator. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end BooleanScalarReplicator; diff --git a/IBPSA/Controls/OBC/CDL/Routing/Validation/BooleanVectorFilter.mo b/IBPSA/Controls/OBC/CDL/Routing/Validation/BooleanVectorFilter.mo new file mode 100644 index 0000000000..7335948539 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Routing/Validation/BooleanVectorFilter.mo @@ -0,0 +1,49 @@ +within IBPSA.Controls.OBC.CDL.Routing.Validation; +model BooleanVectorFilter + "Validation model for the BooleanVectorFilter block" + IBPSA.Controls.OBC.CDL.Routing.BooleanVectorFilter + booFil(nin=3, nout=2, msk={true,false,true}) + "Block that filter the input vector" + annotation (Placement(transformation(extent={{20,-10},{40,10}}))); + + Logical.Sources.Constant booInp[3](k={true,true,false}) "Boolean inputs" + annotation (Placement(transformation(extent={{-40,-10},{-20,10}}))); +equation + connect(booInp.y, booFil.u) + annotation (Line(points={{-18,0},{18,0}}, color={255,0,255})); + annotation ( + experiment( + StopTime=1.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Routing/Validation/BooleanVectorFilter.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Routing.BooleanVectorFilter. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end BooleanVectorFilter; diff --git a/IBPSA/Controls/OBC/CDL/Routing/Validation/BooleanVectorReplicator.mo b/IBPSA/Controls/OBC/CDL/Routing/Validation/BooleanVectorReplicator.mo new file mode 100644 index 0000000000..10e973702a --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Routing/Validation/BooleanVectorReplicator.mo @@ -0,0 +1,49 @@ +within IBPSA.Controls.OBC.CDL.Routing.Validation; +model BooleanVectorReplicator + "Validation model for the BooleanVectorReplicator block" + IBPSA.Controls.OBC.CDL.Routing.BooleanVectorReplicator booRep(nin=2, nout=3) + "Block that outputs the vector replicating input value" + annotation (Placement(transformation(extent={{20,-10},{40,10}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul[2](period=fill(0.2,2)) + "Block that outputs boolean pulse" + annotation (Placement(transformation(extent={{-40,-10},{-20,10}}))); + +equation + connect(booPul.y, booRep.u) + annotation (Line(points={{-18,0},{18,0}}, color={255,0,255})); + annotation ( + experiment( + StopTime=1.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Routing/Validation/BooleanVectorReplicator.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Routing.BooleanVectorReplicator. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end BooleanVectorReplicator; diff --git a/IBPSA/Controls/OBC/CDL/Routing/Validation/IntegerExtractSignal.mo b/IBPSA/Controls/OBC/CDL/Routing/Validation/IntegerExtractSignal.mo new file mode 100644 index 0000000000..24ed9ed0f2 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Routing/Validation/IntegerExtractSignal.mo @@ -0,0 +1,99 @@ +within IBPSA.Controls.OBC.CDL.Routing.Validation; +model IntegerExtractSignal + "Validation model for extracting integer signals" + IBPSA.Controls.OBC.CDL.Routing.IntegerExtractSignal extIntSig( + final nin=4, + final nout=3, + final extract={3,2,4}) + "Block that extracts signal from an integer input signal vector" + annotation (Placement(transformation(extent={{40,20},{60,40}}))); + IBPSA.Controls.OBC.CDL.Routing.IntegerExtractSignal extIntSig1( + final nin=4, + final nout=5, + final extract={3,2,4,2,3}) + "Block that extracts signal from an integer input signal vector" + annotation (Placement(transformation(extent={{40,-40},{60,-20}}))); + + IBPSA.Controls.OBC.CDL.Integers.Sources.Constant conInt2( + final k=1) + "Block that outputs integer constant" + annotation (Placement(transformation(extent={{-80,50},{-60,70}}))); + IBPSA.Controls.OBC.CDL.Integers.Sources.Pulse intPul( + final amplitude=1, + final period=0.2) + "Generate pulse signal of type Integer" + annotation (Placement(transformation(extent={{-80,10},{-60,30}}))); + IBPSA.Controls.OBC.CDL.Integers.Sources.Pulse intPul1( + final period=0.3, + final amplitude=2, + final offset=-1) + "Generate pulse signal of type Integer" + annotation (Placement(transformation(extent={{-80,-30},{-60,-10}}))); + IBPSA.Controls.OBC.CDL.Integers.Sources.Constant conInt3( + final k=4) + "Block that outputs integer constant" + annotation (Placement(transformation(extent={{-80,-70},{-60,-50}}))); + +equation + connect(conInt2.y,extIntSig. u[1]) annotation (Line(points={{-58,60},{-20,60}, + {-20,29.25},{38,29.25}}, color={255,127,0})); + connect(intPul.y,extIntSig. u[2]) annotation (Line(points={{-58,20},{-10,20},{ + -10,29.75},{38,29.75}}, color={255,127,0})); + connect(intPul1.y,extIntSig. u[3]) annotation (Line(points={{-58,-20},{0,-20}, + {0,30.25},{38,30.25}}, color={255,127,0})); + connect(conInt3.y,extIntSig. u[4]) annotation (Line(points={{-58,-60},{10,-60}, + {10,30.75},{38,30.75}}, color={255,127,0})); + connect(conInt2.y, extIntSig1.u[1]) annotation (Line(points={{-58,60},{-20,60}, + {-20,-30.75},{38,-30.75}}, color={255,127,0})); + connect(intPul.y, extIntSig1.u[2]) annotation (Line(points={{-58,20},{-10,20}, + {-10,-30.25},{38,-30.25}}, color={255,127,0})); + connect(intPul1.y, extIntSig1.u[3]) annotation (Line(points={{-58,-20},{0,-20}, + {0,-29.75},{38,-29.75}}, color={255,127,0})); + connect(conInt3.y, extIntSig1.u[4]) annotation (Line(points={{-58,-60},{10,-60}, + {10,-29.25},{38,-29.25}}, color={255,127,0})); +annotation ( + experiment(StopTime=1.0,Tolerance=1e-06), + __Dymola_Commands(file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Routing/Validation/IntegerExtractSignal.mos" "Simulate and plot"), + Documentation(info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Routing.IntegerExtractSignal. +

+

+The instance extIntSig has the input vector with dimension of 4 and +the extracting vector is [3, 2, 4]. Thus the output vectors is [u[3], u[2], u[4]]. +

+

+The instance extIntSig1 has the input vector with dimension of 4 and +the extracting vector is [3, 2, 4, 2, 3]. +Thus the output vectors is [u[3], u[2], u[4], u[2], u[3]]. +

+

+Note that when the extracting vector extract has any element with the value that +is out of range [1, nin], e.g. [1, 4] for instance in extIntSig. +It will issue error and the model will not translate. +

+", +revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end IntegerExtractSignal; diff --git a/IBPSA/Controls/OBC/CDL/Routing/Validation/IntegerExtractor.mo b/IBPSA/Controls/OBC/CDL/Routing/Validation/IntegerExtractor.mo new file mode 100644 index 0000000000..3685a4c29f --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Routing/Validation/IntegerExtractor.mo @@ -0,0 +1,177 @@ +within IBPSA.Controls.OBC.CDL.Routing.Validation; +model IntegerExtractor + "Validation model for the integer extractor block" + IBPSA.Controls.OBC.CDL.Routing.IntegerExtractor extIndInt( + final nin=4) "Extracts signal from an input signal vector" + annotation (Placement(transformation(extent={{40,80},{60,100}}))); + IBPSA.Controls.OBC.CDL.Routing.IntegerExtractor extIndInt1( + final nin=4) + "Extracts signal from an input signal vector when the extract index is out of the upper range" + annotation (Placement(transformation(extent={{40,40},{60,60}}))); + IBPSA.Controls.OBC.CDL.Routing.IntegerExtractor extIndInt2( + final nin=4) + "Extracts signal from an input signal vector when the extract index is out of the lower range" + annotation (Placement(transformation(extent={{40,0},{60,20}}))); + IBPSA.Controls.OBC.CDL.Routing.IntegerExtractor extIndInt3( + final nin=4) + "Extracts signal from an input signal vector when the extract index changes from within range to out of range" + annotation (Placement(transformation(extent={{40,-40},{60,-20}}))); + IBPSA.Controls.OBC.CDL.Routing.IntegerExtractor extIndInt4( + final nin=4) + "Extracts signal from an input signal vector when the extract index changes from out of range to within range" + annotation (Placement(transformation(extent={{40,-80},{60,-60}}))); + + IBPSA.Controls.OBC.CDL.Integers.Sources.Constant conInt2( + final k=0) + "Block that outputs integer constant" + annotation (Placement(transformation(extent={{-80,70},{-60,90}}))); + IBPSA.Controls.OBC.CDL.Integers.Sources.Constant conInt3( + final k=4) + "Block that outputs integer constant" + annotation (Placement(transformation(extent={{-80,-90},{-60,-70}}))); + IBPSA.Controls.OBC.CDL.Integers.Sources.Pulse intPul( + final amplitude=1, + final period=0.2) "Generate pulse signal of type Integer" + annotation (Placement(transformation(extent={{-80,20},{-60,40}}))); + IBPSA.Controls.OBC.CDL.Integers.Sources.Pulse intPul1( + final period=0.3, + final amplitude=2, + final offset=-1) "Generate pulse signal of type Integer" + annotation (Placement(transformation(extent={{-80,-40},{-60,-20}}))); + IBPSA.Controls.OBC.CDL.Integers.Sources.Constant conInt( + final k=2) + "Index to extract input signal" + annotation (Placement(transformation(extent={{0,60},{20,80}}))); + IBPSA.Controls.OBC.CDL.Integers.Sources.Constant conInt1(k=6) + "Index to extract input signal" + annotation (Placement(transformation(extent={{0,20},{20,40}}))); + IBPSA.Controls.OBC.CDL.Integers.Sources.Constant conInt4(k=0) + "Index to extract input signal" + annotation (Placement(transformation(extent={{0,-20},{20,0}}))); + IBPSA.Controls.OBC.CDL.Integers.Sources.Pulse intPul2( + final period=1, + final amplitude=3, + final offset=-1) + "Generate pulse signal of type Integer" + annotation (Placement(transformation(extent={{0,-60},{20,-40}}))); + IBPSA.Controls.OBC.CDL.Integers.Sources.Pulse intPul3( + final period=1, + final amplitude=-3, + final offset=3) + "Generate pulse signal of type Integer" + annotation (Placement(transformation(extent={{0,-100},{20,-80}}))); + +equation + connect(conInt1.y, extIndInt1.index) + annotation (Line(points={{22,30},{50,30},{50,38}}, color={255,127,0})); + connect(conInt2.y, extIndInt.u[1]) annotation (Line(points={{-58,80},{-40,80}, + {-40,89.25},{38,89.25}}, color={255,127,0})); + connect(intPul.y, extIndInt.u[2]) annotation (Line(points={{-58,30},{-30,30},{ + -30,89.75},{38,89.75}}, color={255,127,0})); + connect(intPul1.y, extIndInt.u[3]) annotation (Line(points={{-58,-30},{-20,-30}, + {-20,90.25},{38,90.25}}, color={255,127,0})); + connect(conInt3.y, extIndInt.u[4]) annotation (Line(points={{-58,-80},{-10,-80}, + {-10,90.75},{38,90.75}}, color={255,127,0})); + connect(conInt2.y, extIndInt1.u[1]) annotation (Line(points={{-58,80},{-40,80}, + {-40,49.25},{38,49.25}}, color={255,127,0})); + connect(intPul.y, extIndInt1.u[2]) annotation (Line(points={{-58,30},{-30,30}, + {-30,49.75},{38,49.75}}, color={255,127,0})); + connect(intPul1.y, extIndInt1.u[3]) annotation (Line(points={{-58,-30},{-20,-30}, + {-20,50.25},{38,50.25}}, color={255,127,0})); + connect(conInt3.y, extIndInt1.u[4]) annotation (Line(points={{-58,-80},{-10,-80}, + {-10,50.75},{38,50.75}}, color={255,127,0})); + connect(conInt.y, extIndInt.index) + annotation (Line(points={{22,70},{50,70},{50,78}}, color={255,127,0})); + connect(conInt4.y, extIndInt2.index) + annotation (Line(points={{22,-10},{50,-10},{50,-2}}, color={255,127,0})); + connect(conInt2.y, extIndInt2.u[1]) annotation (Line(points={{-58,80},{-40,80}, + {-40,9.25},{38,9.25}}, color={255,127,0})); + connect(intPul.y, extIndInt2.u[2]) annotation (Line(points={{-58,30},{-30,30}, + {-30,9.75},{38,9.75}}, color={255,127,0})); + connect(intPul1.y, extIndInt2.u[3]) annotation (Line(points={{-58,-30},{-20,-30}, + {-20,10.25},{38,10.25}}, color={255,127,0})); + connect(conInt3.y, extIndInt2.u[4]) annotation (Line(points={{-58,-80},{-10,-80}, + {-10,10.75},{38,10.75}}, color={255,127,0})); + connect(conInt2.y, extIndInt3.u[1]) annotation (Line(points={{-58,80},{-40,80}, + {-40,-30.75},{38,-30.75}}, color={255,127,0})); + connect(intPul.y, extIndInt3.u[2]) annotation (Line(points={{-58,30},{-30,30}, + {-30,-30.25},{38,-30.25}}, color={255,127,0})); + connect(intPul1.y, extIndInt3.u[3]) annotation (Line(points={{-58,-30},{-20,-30}, + {-20,-29.75},{38,-29.75}}, color={255,127,0})); + connect(conInt3.y, extIndInt3.u[4]) annotation (Line(points={{-58,-80},{-10,-80}, + {-10,-29.25},{38,-29.25}}, color={255,127,0})); + connect(intPul2.y, extIndInt3.index) annotation (Line(points={{22,-50},{50,-50}, + {50,-42}}, color={255,127,0})); + connect(intPul3.y, extIndInt4.index) + annotation (Line(points={{22,-90},{50,-90},{50,-82}}, color={255,127,0})); + connect(conInt2.y, extIndInt4.u[1]) annotation (Line(points={{-58,80},{-40,80}, + {-40,-70.75},{38,-70.75}}, color={255,127,0})); + connect(intPul.y, extIndInt4.u[2]) annotation (Line(points={{-58,30},{-30,30}, + {-30,-70.25},{38,-70.25}}, color={255,127,0})); + connect(intPul1.y, extIndInt4.u[3]) annotation (Line(points={{-58,-30},{-20,-30}, + {-20,-69.75},{38,-69.75}}, color={255,127,0})); + connect(conInt3.y, extIndInt4.u[4]) annotation (Line(points={{-58,-80},{-10,-80}, + {-10,-69.25},{38,-69.25}}, color={255,127,0})); +annotation ( + experiment(StopTime=1.0, Tolerance=1e-06), + __Dymola_Commands(file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Routing/Validation/IntegerExtractor.mos" "Simulate and plot"), + Documentation(info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Routing.IntegerExtractor. +

+

+The instances extIndInt, extIndInt1, extIndInt2, +extIndInt3, and extIndInt4 have the same input vector with +dimension of 4. However, they have different extract index and thus different output. +

+ +", +revisions=" + +"), + Icon(coordinateSystem(extent={{-100,-100},{100,100}}), + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})}), + Diagram(coordinateSystem(extent={{-100,-120},{100,120}}))); +end IntegerExtractor; diff --git a/IBPSA/Controls/OBC/CDL/Routing/Validation/IntegerScalarReplicator.mo b/IBPSA/Controls/OBC/CDL/Routing/Validation/IntegerScalarReplicator.mo new file mode 100644 index 0000000000..1c500c9671 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Routing/Validation/IntegerScalarReplicator.mo @@ -0,0 +1,62 @@ +within IBPSA.Controls.OBC.CDL.Routing.Validation; +model IntegerScalarReplicator + "Validation model for the IntegerScalarReplicator block" + IBPSA.Controls.OBC.CDL.Routing.IntegerScalarReplicator intRep( + nout=3) + "Block that outputs the array replicating input value" + annotation (Placement(transformation(extent={{40,-10},{60,10}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ram( + height=5, + duration=1, + offset=-2) + "Block that outputs ramp signal" + annotation (Placement(transformation(extent={{-60,-10},{-40,10}}))); + IBPSA.Controls.OBC.CDL.Conversions.RealToInteger reaToInt + "Convert Real input to Integer output" + annotation (Placement(transformation(extent={{-10,-10},{10,10}}))); + +equation + connect(ram.y,reaToInt.u) + annotation (Line(points={{-39,0},{-12,0}},color={0,0,127})); + connect(reaToInt.y,intRep.u) + annotation (Line(points={{11,0},{38,0}},color={255,127,0})); + annotation ( + experiment( + StopTime=1.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Routing/Validation/IntegerScalarReplicator.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Routing.IntegerScalarReplicator. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end IntegerScalarReplicator; diff --git a/IBPSA/Controls/OBC/CDL/Routing/Validation/IntegerVectorFilter.mo b/IBPSA/Controls/OBC/CDL/Routing/Validation/IntegerVectorFilter.mo new file mode 100644 index 0000000000..28f221403c --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Routing/Validation/IntegerVectorFilter.mo @@ -0,0 +1,49 @@ +within IBPSA.Controls.OBC.CDL.Routing.Validation; +model IntegerVectorFilter + "Validation model for the IntegerVectorFilter block" + IBPSA.Controls.OBC.CDL.Routing.IntegerVectorFilter + intFil(nin=3, nout=2, msk={true,false,true}) + "Block that filter the input vector" + annotation (Placement(transformation(extent={{20,-10},{40,10}}))); + + Integers.Sources.Constant IntInp[3](k={1,2,3}) "Integer inputs" + annotation (Placement(transformation(extent={{-40,-10},{-20,10}}))); +equation + connect(IntInp.y, intFil.u) + annotation (Line(points={{-18,0},{18,0}}, color={255,127,0})); + annotation ( + experiment( + StopTime=1.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Routing/Validation/IntegerVectorFilter.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Routing.IntegerVectorFilter. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end IntegerVectorFilter; diff --git a/IBPSA/Controls/OBC/CDL/Routing/Validation/IntegerVectorReplicator.mo b/IBPSA/Controls/OBC/CDL/Routing/Validation/IntegerVectorReplicator.mo new file mode 100644 index 0000000000..95c3b9336e --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Routing/Validation/IntegerVectorReplicator.mo @@ -0,0 +1,57 @@ +within IBPSA.Controls.OBC.CDL.Routing.Validation; +model IntegerVectorReplicator + "Validation model for the IntegerVectorReplicator block" + IBPSA.Controls.OBC.CDL.Routing.IntegerVectorReplicator + intRep(nin=2, nout=3) + "Block that outputs the vector replicating input value" + annotation (Placement(transformation(extent={{40,-10},{60,10}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ram[2]( + height=fill(5,2), + duration=fill(1,2), + offset=fill(-2,2)) "Block that outputs ramp signal" + annotation (Placement(transformation(extent={{-60,-10},{-40,10}}))); + IBPSA.Controls.OBC.CDL.Conversions.RealToInteger reaToInt[2] + "Convert Real input to Integer output" + annotation (Placement(transformation(extent={{-10,-10},{10,10}}))); + +equation + connect(ram.y,reaToInt.u) + annotation (Line(points={{-38,0},{-12,0}},color={0,0,127})); + connect(reaToInt.y,intRep.u) + annotation (Line(points={{12,0},{38,0}},color={255,127,0})); + annotation ( + experiment( + StopTime=1.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Routing/Validation/IntegerVectorReplicator.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Routing.IntegerVectorReplicator. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end IntegerVectorReplicator; diff --git a/IBPSA/Controls/OBC/CDL/Routing/Validation/RealExtractSignal.mo b/IBPSA/Controls/OBC/CDL/Routing/Validation/RealExtractSignal.mo new file mode 100644 index 0000000000..6626dd3443 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Routing/Validation/RealExtractSignal.mo @@ -0,0 +1,120 @@ +within IBPSA.Controls.OBC.CDL.Routing.Validation; +model RealExtractSignal + "Validation model for the extract signal block" + IBPSA.Controls.OBC.CDL.Routing.RealExtractSignal extSig( + final nin=5, + final nout=3, + final extract={1,2,5}) + "Block that extracts signals from an input signal vector" + annotation (Placement(transformation(extent={{20,30},{40,50}}))); + IBPSA.Controls.OBC.CDL.Routing.RealExtractSignal extSig1( + final nin=5, + final nout=6, + final extract={1,2,5,3,4,2}) + "Block that extracts signals from an input signal vector" + annotation (Placement(transformation(extent={{20,-50},{40,-30}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ram( + final height=5, + final duration=1, + final offset=-2) + "Block that outputs ramp signal" + annotation (Placement(transformation(extent={{-60,50},{-40,70}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ram1( + final duration=1, + final height=4, + final offset=-1) + "Block that outputs ramp signal" + annotation (Placement(transformation(extent={{-60,-40},{-40,-20}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ram2( + final duration=1, + final height=3, + final offset=-2) + "Block that outputs ramp signal" + annotation (Placement(transformation(extent={{-60,-70},{-40,-50}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Pulse pul( + final amplitude=0.5, + final period=0.2) + "Generate pulse signal of type Real" + annotation (Placement(transformation(extent={{-60,20},{-40,40}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Pulse pul1( + final period=0.2, + final amplitude=1.5, + final offset=-0.2) + "Generate pulse signal of type Real" + annotation (Placement(transformation(extent={{-60,-10},{-40,10}}))); + +equation + connect(ram.y,extSig.u[1]) + annotation (Line(points={{-38,60},{-20,60},{-20,39.2},{18,39.2}}, color={0,0,127})); + connect(pul.y,extSig.u[2]) + annotation (Line(points={{-38,30},{-16,30},{-16,39.6},{18,39.6}}, color={0,0,127})); + connect(pul1.y,extSig.u[3]) + annotation (Line(points={{-38,0},{-12,0},{-12,40},{18,40}}, color={0,0,127})); + connect(ram1.y,extSig.u[4]) + annotation (Line(points={{-38,-30},{-8,-30},{-8,40.4},{18,40.4}}, color={0,0,127})); + connect(ram2.y,extSig.u[5]) + annotation (Line(points={{-38,-60},{-4,-60},{-4,40.8},{18,40.8}},color={0,0,127})); + connect(ram.y, extSig1.u[1]) annotation (Line(points={{-38,60},{-20,60},{-20,-40.8}, + {18,-40.8}}, color={0,0,127})); + connect(pul.y, extSig1.u[2]) annotation (Line(points={{-38,30},{-16,30},{-16,-40.4}, + {18,-40.4}}, color={0,0,127})); + connect(pul1.y, extSig1.u[3]) annotation (Line(points={{-38,0},{-12,0},{-12,-40}, + {18,-40}}, color={0,0,127})); + connect(ram1.y, extSig1.u[4]) annotation (Line(points={{-38,-30},{-8,-30},{-8, + -39.6},{18,-39.6}}, color={0,0,127})); + connect(ram2.y, extSig1.u[5]) annotation (Line(points={{-38,-60},{-4,-60},{-4, + -39.2},{18,-39.2}}, color={0,0,127})); + annotation ( + experiment( + StopTime=1.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Routing/Validation/RealExtractSignal.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Routing.RealExtractSignal. +

+

+The instance extSig has the input vector with dimension of 4 and +the extracting vector is [1, 2, 5]. +Thus the output vectors is [u[1], u[2], u[5]]. +

+

+The instance extSig1 has the input vector with dimension of 4 and +the extracting vector is [1, 2, 5, 3, 4, 2]. Thus the output vectors is [u[1], u[2], u[5], u[3], u[4], u[2]]. +

+

+Note that when the extracting vector extract has any element with the value that +is out of range [1, nin], e.g. [1, 4] for instance in extSig. +It will issue error and the model will not translate. +

+", +revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end RealExtractSignal; diff --git a/IBPSA/Controls/OBC/CDL/Routing/Validation/RealExtractor.mo b/IBPSA/Controls/OBC/CDL/Routing/Validation/RealExtractor.mo new file mode 100644 index 0000000000..b720fd33f0 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Routing/Validation/RealExtractor.mo @@ -0,0 +1,206 @@ +within IBPSA.Controls.OBC.CDL.Routing.Validation; +model RealExtractor + "Validation model for the extractor block" + IBPSA.Controls.OBC.CDL.Routing.RealExtractor extIndSig( + final nin=5) "Extracts signal from an input signal vector" + annotation (Placement(transformation(extent={{40,80},{60,100}}))); + IBPSA.Controls.OBC.CDL.Routing.RealExtractor extIndSig1( + final nin=5) + "Extracts signal from an input signal vector when the extract index is out of the upper range" + annotation (Placement(transformation(extent={{40,40},{60,60}}))); + IBPSA.Controls.OBC.CDL.Routing.RealExtractor extIndSig2( + final nin=5) + "Extracts signal from an input signal vector when the extract index is out of the lower range" + annotation (Placement(transformation(extent={{40,0},{60,20}}))); + IBPSA.Controls.OBC.CDL.Routing.RealExtractor extIndSig3( + final nin=5) + "Extracts signal from an input signal vector when the extract index changes from within range to out of range" + annotation (Placement(transformation(extent={{40,-40},{60,-20}}))); + IBPSA.Controls.OBC.CDL.Routing.RealExtractor extIndSig4( + final nin=5) + "Extracts signal from an input signal vector when the extract index changes from out of range to within range" + annotation (Placement(transformation(extent={{40,-80},{60,-60}}))); + + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ram( + final height=5, + final duration=1, + final offset=-2) + "Block that outputs ramp signal" + annotation (Placement(transformation(extent={{-80,70},{-60,90}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ram1( + final duration=1, + final height=4, + final offset=-1) + "Block that outputs ramp signal" + annotation (Placement(transformation(extent={{-80,-20},{-60,0}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ram2( + final duration=1, + final height=3, + final offset=-2) + "Block that outputs ramp signal" + annotation (Placement(transformation(extent={{-80,-50},{-60,-30}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Pulse pul( + final amplitude=0.5, + final period=0.2) + "Generate pulse signal of type Real" + annotation (Placement(transformation(extent={{-80,40},{-60,60}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Pulse pul1( + final period=0.2, + final amplitude=1.5, + final offset=-0.2) + "Generate pulse signal of type Real" + annotation (Placement(transformation(extent={{-80,10},{-60,30}}))); + IBPSA.Controls.OBC.CDL.Integers.Sources.Constant conInt( + final k=2) + "Index to extract input signal" + annotation (Placement(transformation(extent={{0,60},{20,80}}))); + IBPSA.Controls.OBC.CDL.Integers.Sources.Constant conInt1(k=6) + "Index to extract input signal" + annotation (Placement(transformation(extent={{0,20},{20,40}}))); + IBPSA.Controls.OBC.CDL.Integers.Sources.Constant conInt2(k=0) + "Index to extract input signal" + annotation (Placement(transformation(extent={{0,-20},{20,0}}))); + IBPSA.Controls.OBC.CDL.Integers.Sources.Pulse intPul( + final amplitude=3, + final period=1, + final offset=-1) + "Generate pulse signal of type Integer" + annotation (Placement(transformation(extent={{0,-60},{20,-40}}))); + IBPSA.Controls.OBC.CDL.Integers.Sources.Pulse intPul1( + final amplitude=-3, + final period=1, + final offset=3) + "Generate pulse signal of type Integer" + annotation (Placement(transformation(extent={{0,-100},{20,-80}}))); +equation + connect(ram.y,extIndSig.u[1]) + annotation (Line(points={{-58,80},{-40,80},{-40,89.2},{38,89.2}}, color={0,0,127})); + connect(pul.y,extIndSig.u[2]) + annotation (Line(points={{-58,50},{-34,50},{-34,89.6},{38,89.6}}, color={0,0,127})); + connect(pul1.y,extIndSig.u[3]) + annotation (Line(points={{-58,20},{-28,20},{-28,90},{38,90}},color={0,0,127})); + connect(ram1.y,extIndSig.u[4]) + annotation (Line(points={{-58,-10},{-22,-10},{-22,90.4},{38,90.4}}, color={0,0,127})); + connect(ram2.y,extIndSig.u[5]) + annotation (Line(points={{-58,-40},{-16,-40},{-16,90.8},{38,90.8}}, color={0,0,127})); + connect(conInt.y,extIndSig.index) + annotation (Line(points={{22,70},{50,70},{50,78}},color={255,127,0})); + connect(conInt1.y,extIndSig1.index) + annotation (Line(points={{22,30},{50,30},{50,38}}, color={255,127,0})); + connect(ram.y,extIndSig1.u[1]) + annotation (Line(points={{-58,80},{-40,80},{-40,49.2},{38,49.2}}, color={0,0,127})); + connect(pul.y,extIndSig1.u[2]) + annotation (Line(points={{-58,50},{-34,50},{-34,49.6},{38,49.6}}, color={0,0,127})); + connect(pul1.y,extIndSig1.u[3]) + annotation (Line(points={{-58,20},{-28,20},{-28,50},{38,50}}, color={0,0,127})); + connect(ram1.y,extIndSig1.u[4]) + annotation (Line(points={{-58,-10},{-22,-10},{-22,50.4},{38,50.4}}, color={0,0,127})); + connect(ram2.y,extIndSig1.u[5]) + annotation (Line(points={{-58,-40},{-16,-40},{-16,50.8},{38,50.8}},color={0,0,127})); + connect(conInt2.y, extIndSig2.index) + annotation (Line(points={{22,-10},{50,-10},{50,-2}}, color={255,127,0})); + connect(ram.y, extIndSig2.u[1]) annotation (Line(points={{-58,80},{-40,80},{-40, + 9.2},{38,9.2}}, color={0,0,127})); + connect(pul.y, extIndSig2.u[2]) annotation (Line(points={{-58,50},{-34,50},{-34, + 9.6},{38,9.6}}, color={0,0,127})); + connect(pul1.y, extIndSig2.u[3]) annotation (Line(points={{-58,20},{-28,20},{-28, + 10},{38,10}}, color={0,0,127})); + connect(ram1.y, extIndSig2.u[4]) annotation (Line(points={{-58,-10},{-22,-10}, + {-22,10.4},{38,10.4}}, color={0,0,127})); + connect(ram2.y, extIndSig2.u[5]) annotation (Line(points={{-58,-40},{-16,-40}, + {-16,10.8},{38,10.8}}, color={0,0,127})); + connect(ram.y, extIndSig3.u[1]) annotation (Line(points={{-58,80},{-40,80},{-40, + -30.8},{38,-30.8}}, color={0,0,127})); + connect(pul.y, extIndSig3.u[2]) annotation (Line(points={{-58,50},{-34,50},{-34, + -30.4},{38,-30.4}}, color={0,0,127})); + connect(pul1.y, extIndSig3.u[3]) annotation (Line(points={{-58,20},{-28,20},{-28, + -30},{38,-30}}, color={0,0,127})); + connect(ram1.y, extIndSig3.u[4]) annotation (Line(points={{-58,-10},{-22,-10}, + {-22,-29.6},{38,-29.6}}, color={0,0,127})); + connect(ram2.y, extIndSig3.u[5]) annotation (Line(points={{-58,-40},{-16,-40}, + {-16,-29.2},{38,-29.2}}, color={0,0,127})); + connect(ram.y, extIndSig4.u[1]) annotation (Line(points={{-58,80},{-40,80},{-40, + -70.8},{38,-70.8}}, color={0,0,127})); + connect(pul.y, extIndSig4.u[2]) annotation (Line(points={{-58,50},{-34,50},{-34, + -70.4},{38,-70.4}}, color={0,0,127})); + connect(pul1.y, extIndSig4.u[3]) annotation (Line(points={{-58,20},{-28,20},{-28, + -70},{38,-70}}, color={0,0,127})); + connect(ram1.y, extIndSig4.u[4]) annotation (Line(points={{-58,-10},{-22,-10}, + {-22,-69.6},{38,-69.6}}, color={0,0,127})); + connect(ram2.y, extIndSig4.u[5]) annotation (Line(points={{-58,-40},{-16,-40}, + {-16,-69.2},{38,-69.2}}, color={0,0,127})); + connect(intPul.y, extIndSig3.index) + annotation (Line(points={{22,-50},{50,-50},{50,-42}}, color={255,127,0})); + connect(intPul1.y, extIndSig4.index) + annotation (Line(points={{22,-90},{50,-90},{50,-82}}, color={255,127,0})); + annotation ( + experiment( + StopTime=1.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Routing/Validation/RealExtractor.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Routing.RealExtractor. +

+

+The instances extIndSig, extIndSig1, extIndSig2, +extIndSig3, and extIndSig4 have the same input vector with +dimension of 5. However, they have different extract index and thus different output. +

+ +", +revisions=" + +"), + Icon(coordinateSystem(extent={{-100,-100},{100,100}}), + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})}), + Diagram(coordinateSystem(extent={{-100,-120},{100,120}}))); +end RealExtractor; diff --git a/IBPSA/Controls/OBC/CDL/Routing/Validation/RealScalarReplicator.mo b/IBPSA/Controls/OBC/CDL/Routing/Validation/RealScalarReplicator.mo new file mode 100644 index 0000000000..33b2b18eac --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Routing/Validation/RealScalarReplicator.mo @@ -0,0 +1,57 @@ +within IBPSA.Controls.OBC.CDL.Routing.Validation; +model RealScalarReplicator + "Validation model for the RealScalarReplicator block" + IBPSA.Controls.OBC.CDL.Routing.RealScalarReplicator reaRep( + nout=3) + "Block that outputs the array replicating input value" + annotation (Placement(transformation(extent={{-10,-10},{10,10}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ram( + height=5, + duration=1, + offset=-2) + "Block that outputs ramp signal" + annotation (Placement(transformation(extent={{-60,-10},{-40,10}}))); + +equation + connect(ram.y,reaRep.u) + annotation (Line(points={{-39,0},{-12,0}},color={0,0,127})); + annotation ( + experiment( + StopTime=1.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Routing/Validation/RealScalarReplicator.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Routing.RealScalarReplicator. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end RealScalarReplicator; diff --git a/IBPSA/Controls/OBC/CDL/Routing/Validation/RealVectorFilter.mo b/IBPSA/Controls/OBC/CDL/Routing/Validation/RealVectorFilter.mo new file mode 100644 index 0000000000..7c29b49995 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Routing/Validation/RealVectorFilter.mo @@ -0,0 +1,49 @@ +within IBPSA.Controls.OBC.CDL.Routing.Validation; +model RealVectorFilter + "Validation model for the RealVectorFilter block" + IBPSA.Controls.OBC.CDL.Routing.RealVectorFilter + reaFil(nin=3, nout=2, msk={true,false,true}) + "Block that filter the input vector" + annotation (Placement(transformation(extent={{20,-10},{40,10}}))); + + Reals.Sources.Constant ReaInp[3](k={1,2,3}) "Real inputs" + annotation (Placement(transformation(extent={{-40,-10},{-20,10}}))); +equation + connect(ReaInp.y, reaFil.u) + annotation (Line(points={{-18,0},{18,0}}, color={0,0,127})); + annotation ( + experiment( + StopTime=1.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Routing/Validation/RealVectorFilter.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Routing.RealVectorFilter. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end RealVectorFilter; diff --git a/IBPSA/Controls/OBC/CDL/Routing/Validation/RealVectorReplicator.mo b/IBPSA/Controls/OBC/CDL/Routing/Validation/RealVectorReplicator.mo new file mode 100644 index 0000000000..0247bf813d --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Routing/Validation/RealVectorReplicator.mo @@ -0,0 +1,52 @@ +within IBPSA.Controls.OBC.CDL.Routing.Validation; +model RealVectorReplicator + "Validation model for the RealVectorReplicator block" + IBPSA.Controls.OBC.CDL.Routing.RealVectorReplicator + reaRep(nin=2, nout=3) + "Block that outputs the vector replicating input value" + annotation (Placement(transformation(extent={{-10,-10},{10,10}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp ram[2]( + height=fill(5,2), + duration=fill(1,2), + offset=fill(-2,2)) "Block that outputs ramp signal" + annotation (Placement(transformation(extent={{-60,-10},{-40,10}}))); + +equation + connect(ram.y,reaRep.u) + annotation (Line(points={{-38,0},{-12,0}},color={0,0,127})); + annotation ( + experiment( + StopTime=1.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Routing/Validation/RealVectorReplicator.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Routing.RealVectorReplicator. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end RealVectorReplicator; diff --git a/IBPSA/Controls/OBC/CDL/Routing/Validation/package.mo b/IBPSA/Controls/OBC/CDL/Routing/Validation/package.mo new file mode 100644 index 0000000000..982dccc2aa --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Routing/Validation/package.mo @@ -0,0 +1,37 @@ +within IBPSA.Controls.OBC.CDL.Routing; +package Validation "Collection of models that validate the routing blocks of the CDL" + annotation ( + preferredView="info", + Documentation( + info=" +

+This package contains models that validate the blocks in + +IBPSA.Controls.OBC.CDL.Routing. +

+

+The examples plot various outputs, which have been verified against +analytical solutions. These model outputs are stored as reference data to +allow continuous validation whenever models in the library change. +

+"), + Icon( + graphics={ + Rectangle( + lineColor={200,200,200}, + fillColor={248,248,248}, + fillPattern=FillPattern.HorizontalCylinder, + extent={{-100.0,-100.0},{100.0,100.0}}, + radius=25.0), + Rectangle( + lineColor={128,128,128}, + extent={{-100.0,-100.0},{100.0,100.0}}, + radius=25.0), + Polygon( + origin={8.0,14.0}, + lineColor={78,138,73}, + fillColor={78,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-58.0,46.0},{42.0,-14.0},{-58.0,-74.0},{-58.0,46.0}})})); +end Validation; diff --git a/IBPSA/Controls/OBC/CDL/Routing/Validation/package.order b/IBPSA/Controls/OBC/CDL/Routing/Validation/package.order new file mode 100644 index 0000000000..c5606d9843 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Routing/Validation/package.order @@ -0,0 +1,15 @@ +BooleanExtractSignal +BooleanExtractor +BooleanScalarReplicator +BooleanVectorFilter +BooleanVectorReplicator +IntegerExtractSignal +IntegerExtractor +IntegerScalarReplicator +IntegerVectorFilter +IntegerVectorReplicator +RealExtractSignal +RealExtractor +RealScalarReplicator +RealVectorFilter +RealVectorReplicator diff --git a/IBPSA/Controls/OBC/CDL/Routing/package.mo b/IBPSA/Controls/OBC/CDL/Routing/package.mo new file mode 100644 index 0000000000..e2ac3a28cc --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Routing/package.mo @@ -0,0 +1,34 @@ +within IBPSA.Controls.OBC.CDL; +package Routing "Package with blocks that combine and extract signals" + annotation ( + Documentation( + info=" +

+This package contains blocks to combine and extract signals. +

+"), + Icon( + graphics={ + Rectangle( + lineColor={200,200,200}, + fillColor={248,248,248}, + fillPattern=FillPattern.HorizontalCylinder, + extent={{-100.0,-100.0},{100.0,100.0}}, + radius=25.0), + Rectangle( + lineColor={128,128,128}, + extent={{-100.0,-100.0},{100.0,100.0}}, + radius=25.0), + Line( + points={{-90,0},{4,0}}, + color={95,95,95}), + Line( + points={{88,65},{48,65},{-8,0}}, + color={95,95,95}), + Line( + points={{-8,0},{93,0}}, + color={95,95,95}), + Line( + points={{87,-65},{48,-65},{-8,0}}, + color={95,95,95})})); +end Routing; diff --git a/IBPSA/Controls/OBC/CDL/Routing/package.order b/IBPSA/Controls/OBC/CDL/Routing/package.order new file mode 100644 index 0000000000..99919894d5 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Routing/package.order @@ -0,0 +1,16 @@ +BooleanExtractSignal +BooleanExtractor +BooleanScalarReplicator +BooleanVectorFilter +BooleanVectorReplicator +IntegerExtractSignal +IntegerExtractor +IntegerScalarReplicator +IntegerVectorFilter +IntegerVectorReplicator +RealExtractSignal +RealExtractor +RealScalarReplicator +RealVectorFilter +RealVectorReplicator +Validation diff --git a/IBPSA/Controls/OBC/CDL/Types/Extrapolation.mo b/IBPSA/Controls/OBC/CDL/Types/Extrapolation.mo new file mode 100644 index 0000000000..556ac9fb3a --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Types/Extrapolation.mo @@ -0,0 +1,33 @@ +within IBPSA.Controls.OBC.CDL.Types; +type Extrapolation = enumeration( + HoldLastPoint + "Hold the first/last table point outside of the table scope", + LastTwoPoints + "Extrapolate by using the derivative at the first/last table points outside of the table scope", + Periodic + "Repeat the table scope periodically") + "Enumeration defining the extrapolation of time table interpolation" + annotation (Documentation(info=" +

+Enumeration for the type of extrapolation that is used when reading data from a table. +The possible values are: +

+ + + + + + + + + + + +
EnumerationDescription
HoldLastPoint +Hold the first or last point outside of the table scope. +
LastTwoPoints +Extrapolate by using the derivative at the first or last table points outside of the table scope. +
Periodic +Repeat the table scope periodically. +
+")); diff --git a/IBPSA/Controls/OBC/CDL/Types/SimpleController.mo b/IBPSA/Controls/OBC/CDL/Types/SimpleController.mo new file mode 100644 index 0000000000..bf712562b2 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Types/SimpleController.mo @@ -0,0 +1,41 @@ +within IBPSA.Controls.OBC.CDL.Types; +type SimpleController = enumeration( + P "P controller", + PI "PI controller", + PD "PD controller", + PID "PID controller") + "Enumeration defining P, PI, PD, or PID simple controller type" + annotation (Evaluate=true,Documentation(info=" +

+Enumeration to define the type of the controller. +Possible values are: +

+ + + + + + + + + + + + +
EnumerationDescription
P +Controller with proportional term. +
PI +Controller with proportional and integral terms. +
PD +Controller with proportional and derivative term. +
PID +Controller with proportional, integral and derivative terms. +
+",revisions=" + +")); diff --git a/IBPSA/Controls/OBC/CDL/Types/Smoothness.mo b/IBPSA/Controls/OBC/CDL/Types/Smoothness.mo new file mode 100644 index 0000000000..54eb898037 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Types/Smoothness.mo @@ -0,0 +1,25 @@ +within IBPSA.Controls.OBC.CDL.Types; +type Smoothness = enumeration( + LinearSegments "Table points are linearly interpolated", + ConstantSegments "Table points are not interpolated, but the previous tabulated value is returned") + "Enumeration defining the smoothness of table interpolation" + annotation (Documentation(info=" +

+Enumeration for the type of smoothness that is used when interpolating data from a table. +The possible values are: +

+ + + + + + + + + +
EnumerationDescription
LinearSegments +Linearly interpolate table points. +
ConstantSegments +Do not interpolate, but rather use the previously tabulated value. +
+")); diff --git a/IBPSA/Controls/OBC/CDL/Types/ZeroTime.mo b/IBPSA/Controls/OBC/CDL/Types/ZeroTime.mo new file mode 100644 index 0000000000..6ce41ba621 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Types/ZeroTime.mo @@ -0,0 +1,86 @@ +within IBPSA.Controls.OBC.CDL.Types; +type ZeroTime = enumeration( + UnixTimeStamp "Thu, 01 Jan 1970 00:00:00 local time", + UnixTimeStampGMT "Thu, 01 Jan 1970 00:00:00 GMT", + Custom "User specified local time", + NY2010 "New year 2010, 00:00:00 local time", + NY2011 "New year 2011, 00:00:00 local time", + NY2012 "New year 2012, 00:00:00 local time", + NY2013 "New year 2013, 00:00:00 local time", + NY2014 "New year 2014, 00:00:00 local time", + NY2015 "New year 2015, 00:00:00 local time", + NY2016 "New year 2016, 00:00:00 local time", + NY2017 "New year 2017, 00:00:00 local time", + NY2018 "New year 2018, 00:00:00 local time", + NY2019 "New year 2019, 00:00:00 local time", + NY2020 "New year 2020, 00:00:00 local time", + NY2021 "New year 2021, 00:00:00 local time", + NY2022 "New year 2022, 00:00:00 local time", + NY2023 "New year 2023, 00:00:00 local time", + NY2024 "New year 2024, 00:00:00 local time", + NY2025 "New year 2025, 00:00:00 local time", + NY2026 "New year 2026, 00:00:00 local time", + NY2027 "New year 2027, 00:00:00 local time", + NY2028 "New year 2028, 00:00:00 local time", + NY2029 "New year 2029, 00:00:00 local time", + NY2030 "New year 2030, 00:00:00 local time", + NY2031 "New year 2031, 00:00:00 local time", + NY2032 "New year 2032, 00:00:00 local time", + NY2033 "New year 2033, 00:00:00 local time", + NY2034 "New year 2034, 00:00:00 local time", + NY2035 "New year 2035, 00:00:00 local time", + NY2036 "New year 2036, 00:00:00 local time", + NY2037 "New year 2037, 00:00:00 local time", + NY2038 "New year 2038, 00:00:00 local time", + NY2039 "New year 2039, 00:00:00 local time", + NY2040 "New year 2040, 00:00:00 local time", + NY2041 "New year 2041, 00:00:00 local time", + NY2042 "New year 2042, 00:00:00 local time", + NY2043 "New year 2043, 00:00:00 local time", + NY2044 "New year 2044, 00:00:00 local time", + NY2045 "New year 2045, 00:00:00 local time", + NY2046 "New year 2046, 00:00:00 local time", + NY2047 "New year 2047, 00:00:00 local time", + NY2048 "New year 2048, 00:00:00 local time", + NY2049 "New year 2049, 00:00:00 local time", + NY2050 "New year 2050, 00:00:00 local time") + "Use this to set the date corresponding to time = 0" + annotation (Documentation(info=" +

+Type for choosing how to set the reference time in + +IBPSA.Controls.OBC.CDL.Reals.Sources.CalendarTime. +

+

+For example, CDL.Types.TimeReference.NY2016 +means that if model time is 0, it is +January 1, 2016, 0:00:00 local time. +

+",revisions=" + +")); diff --git a/IBPSA/Controls/OBC/CDL/Types/package.mo b/IBPSA/Controls/OBC/CDL/Types/package.mo new file mode 100644 index 0000000000..98d27ea8ce --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Types/package.mo @@ -0,0 +1,37 @@ +within IBPSA.Controls.OBC.CDL; +package Types "Package with type definitions" + annotation ( + Documentation( + info=" +

+This package contains type definitions. +

+"), + Icon( + graphics={ + Rectangle( + lineColor={200,200,200}, + fillColor={248,248,248}, + fillPattern=FillPattern.HorizontalCylinder, + extent={{-100.0,-100.0},{100.0,100.0}}, + radius=25.0), + Rectangle( + lineColor={128,128,128}, + extent={{-100.0,-100.0},{100.0,100.0}}, + radius=25.0), + Polygon( + origin={-12.167,-23}, + fillColor={128,128,128}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{12.167,65},{14.167,93},{36.167,89},{24.167,20},{4.167,-30},{14.167,-30},{24.167,-30},{24.167,-40},{-5.833,-50},{-15.833,-30},{4.167,20},{12.167,65}}, + smooth=Smooth.Bezier, + lineColor={0,0,0}), + Polygon( + origin={2.7403,1.6673}, + fillColor={128,128,128}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{49.2597,22.3327},{31.2597,24.3327},{7.2597,18.3327},{-26.7403,10.3327},{-46.7403,14.3327},{-48.7403,6.3327},{-32.7403,0.3327},{-6.7403,4.3327},{33.2597,14.3327},{49.2597,14.3327},{49.2597,22.3327}}, + smooth=Smooth.Bezier)})); +end Types; diff --git a/IBPSA/Controls/OBC/CDL/Types/package.order b/IBPSA/Controls/OBC/CDL/Types/package.order new file mode 100644 index 0000000000..5b39c19665 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Types/package.order @@ -0,0 +1,4 @@ +Extrapolation +SimpleController +Smoothness +ZeroTime diff --git a/IBPSA/Controls/OBC/CDL/Utilities/Assert.mo b/IBPSA/Controls/OBC/CDL/Utilities/Assert.mo new file mode 100644 index 0000000000..6c361a89c5 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Utilities/Assert.mo @@ -0,0 +1,68 @@ +within IBPSA.Controls.OBC.CDL.Utilities; +block Assert + "Print a warning message when input becomes false" + parameter String message + "Message written when u becomes false"; + IBPSA.Controls.OBC.CDL.Interfaces.BooleanInput u + "Boolean input that triggers assert when it becomes false" + annotation (Placement(transformation(extent={{-140,-20},{-100,20}}))); + +equation + assert(u, message, AssertionLevel.warning); + annotation ( + defaultComponentName="assMes", + Icon( + graphics={ + Rectangle( + extent={{-100,-100},{100,100}}, + lineColor={0,0,127}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Polygon( + points={{0,80},{-80,-60},{80,-60},{0,80}}, + fillColor={0,0,0}, + fillPattern=FillPattern.Solid, + pattern=LinePattern.None, + lineColor={0,0,0}), + Text( + extent={{-100,160},{100,106}}, + textColor={0,0,255}, + textString="%name"), + Polygon( + points={{0,72},{-72,-56},{72,-56},{0,72}}, + lineColor={0,0,0}, + fillColor={255,255,170}, + fillPattern=FillPattern.Solid), + Rectangle( + extent={{-4,38},{2,-24}}, + fillColor={0,0,0}, + fillPattern=FillPattern.Solid, + pattern=LinePattern.None), + Ellipse( + extent={{-6,-32},{4,-42}}, + pattern=LinePattern.None, + fillColor={0,0,0}, + fillPattern=FillPattern.Solid)}), + Documentation( + info=" +

+Block that writes a warning if the input becomes false. +

+

+Tools or control systems are expected to write message together +with a time stamp to an output device and/or a log file. +

+", + revisions=" + +")); +end Assert; diff --git a/IBPSA/Controls/OBC/CDL/Utilities/SunRiseSet.mo b/IBPSA/Controls/OBC/CDL/Utilities/SunRiseSet.mo new file mode 100644 index 0000000000..8d162683ae --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Utilities/SunRiseSet.mo @@ -0,0 +1,391 @@ +within IBPSA.Controls.OBC.CDL.Utilities; +block SunRiseSet + "Next sunrise and sunset time" + parameter Real lat( + final quantity="Angle", + final unit="rad", + displayUnit="deg") + "Latitude"; + parameter Real lon( + final quantity="Angle", + final unit="rad", + displayUnit="deg") + "Longitude"; + parameter Real timZon( + final quantity="Time", + final unit="s", + displayUnit="h") + "Time zone"; + IBPSA.Controls.OBC.CDL.Interfaces.RealOutput nextSunRise( + final quantity="Time", + final unit="s", + displayUnit="h") + "Time of next sunrise" + annotation (Placement(transformation(extent={{100,40},{140,80}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealOutput nextSunSet( + final quantity="Time", + final unit="s", + displayUnit="h") + "Time of next sunset" + annotation (Placement(transformation(extent={{100,-20},{140,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.BooleanOutput sunUp + "Output with true if the sun is up" + annotation (Placement(transformation(extent={{100,-80},{140,-40}}))); + +protected + constant Real k1=sin( + 23.45*2*Modelica.Constants.pi/360) + "Intermediate constant"; + constant Real k2=2*Modelica.Constants.pi/365.25 + "Intermediate constant"; + parameter Real staTim( + final quantity="Time", + final unit="s", + fixed=false) + "Simulation start time"; + parameter Real timDifLocCiv( + final quantity="Time", + final unit="s", + fixed=false) + "Time difference between local and civil time"; + + Real eqnTim( + final quantity="Time", + final unit="s") + "Equation of time"; + Real timCor( + final quantity="Time", + final unit="s") + "Time correction"; + Real decAng( + final quantity="Angle", + final unit="rad", + displayUnit="deg") + "Declination angle"; + Real Bt + "Intermediate variable to calculate equation of time"; + Real cosHou + "Cosine of hour angle"; + + + function nextHourAngle + "Calculate the hour angle when the sun rises or sets next time" + input Real t( + final quantity="Time", + final unit="s") + "Current simulation time"; + input Real timDifLocCiv( + final quantity="Time", + final unit="s") + "Time difference between local and civil time"; + input Real lat( + final quantity="Angle", + final unit="rad", + displayUnit="deg") + "Latitude"; + output Real houAng( + final quantity="Angle", + final unit="rad", + displayUnit="deg") + "Solar hour angle"; + output Real tNext( + final quantity="Time", + final unit="s") + "Timesnap when sun rises or sets next time"; + output Real timCor( + final quantity="Time", + final unit="s") + "Time correction"; + + protected + Integer iDay; + Boolean compute + "Flag, set to false when the sun rise or sets "; + Real Bt + "Intermediate variable to calculate equation of time"; + Real eqnTim( + final quantity="Time", + final unit="s") + "Equation of time"; + Real decAng( + final quantity="Angle", + final unit="rad", + displayUnit="deg") + "Declination angle"; + Real cosHou + "Cosine of hour angle"; + + algorithm + iDay := 1; + compute := true; + while compute loop + tNext := t+iDay*86400; + Bt := Modelica.Constants.pi*((tNext+86400)/86400-81)/182; + eqnTim := 60*(9.87*Modelica.Math.sin( + 2*Bt)-7.53*Modelica.Math.cos(Bt)-1.5*Modelica.Math.sin(Bt)); + timCor := eqnTim+timDifLocCiv; + decAng := Modelica.Math.asin( + -k1*Modelica.Math.cos( + (tNext/86400+10)*k2)); + cosHou :=-Modelica.Math.tan(lat)*Modelica.Math.tan(decAng); + compute := abs(cosHou) > 1; + iDay := iDay+1; + end while; + houAng := Modelica.Math.acos(cosHou); + end nextHourAngle; + + function computeSunRise + "Output the next sunrise time" + input Real t( + final quantity="Time", + final unit="s") + "Current simulation time"; + input Real staTim( + final quantity="Time", + final unit="s") + "Simulation start time"; + input Real timDifLocCiv( + final quantity="Time", + final unit="s") + "Time difference between local and civil time"; + input Real lat( + final quantity="Angle", + final unit="rad", + displayUnit="deg") + "Latitude"; + output Real nextSunRise( + final quantity="Time", + final unit="s"); + + protected + Real houAng( + final quantity="Angle", + final unit="rad", + displayUnit="deg") + "Solar hour angle"; + Real tNext( + final quantity="Time", + final unit="s") + "Timesnap when sun rises next time"; + Real timCor( + final quantity="Time", + final unit="s") + "Time correction"; + Real sunRis( + final quantity="Time", + final unit="s") + "Sunrise of the same day as input time"; + Real cosHou( + final quantity="Time", + final unit="s") + "Cosine of hour angle"; + + algorithm + (houAng,tNext,timCor) := nextHourAngle( + t=t, + timDifLocCiv=timDifLocCiv, + lat=lat); + sunRis :=(12-houAng*24/(2*Modelica.Constants.pi)-timCor/3600)*3600+floor( + tNext/86400)*86400; + //If simulation start time has passed the sunrise of the initial day, output + //the sunrise of the next day. + if staTim > sunRis then + nextSunRise := sunRis+86400; + else + nextSunRise := sunRis; + end if; + end computeSunRise; + + function computeSunSet + "Output the next sunset time" + input Real t( + final quantity="Time", + final unit="s") + "Current simulation time"; + input Real staTim( + final quantity="Time", + final unit="s") + "Simulation start time"; + input Real timDifLocCiv( + final quantity="Time", + final unit="s") + "Time difference between local and civil time"; + input Real lat( + final quantity="Angle", + final unit="rad", + displayUnit="deg") + "Latitude"; + output Real nextSunSet( + final quantity="Time", + final unit="s"); + + protected + Real houAng( + final quantity="Angle", + final unit="rad", + displayUnit="deg") + "Solar hour angle"; + Real tNext( + final quantity="Time", + final unit="s") + "Timesnap when sun sets next time"; + Real timCor( + final quantity="Time", + final unit="s") + "Time correction"; + Real sunSet( + final quantity="Time", + final unit="s") + "Sunset of the same day as input time"; + Real cosHou( + final quantity="Time", + final unit="s") + "Cosine of hour angle"; + + algorithm + (houAng,tNext,timCor) := nextHourAngle( + t=t, + timDifLocCiv=timDifLocCiv, + lat=lat); + sunSet :=(12+houAng*24/(2*Modelica.Constants.pi)-timCor/3600)*3600+floor( + tNext/86400)*86400; + //If simulation start time has passed the sunset of the initial day, output + //the sunset of the next day. + if staTim > sunSet then + nextSunSet := sunSet+86400; + else + nextSunSet := sunSet; + end if; + end computeSunSet; + +initial equation + staTim=time; + timDifLocCiv=lon*43200/Modelica.Constants.pi-timZon; + nextSunRise=computeSunRise( + t=time-86400, + staTim=staTim, + timDifLocCiv=timDifLocCiv, + lat=lat); + + //In the polar cases where the sun is up during initialization, the next sunset + //actually occurs before the next sunrise + if cosHou <-1 then + nextSunSet=computeSunSet( + t=time-86400, + staTim=staTim, + timDifLocCiv=timDifLocCiv, + lat=lat)-86400; + else + nextSunSet=computeSunSet( + t=time-86400, + staTim=staTim, + timDifLocCiv=timDifLocCiv, + lat=lat); + end if; + +equation + Bt=Modelica.Constants.pi*((time+86400)/86400-81)/182; + eqnTim=60*(9.87*Modelica.Math.sin( + 2*Bt)-7.53*Modelica.Math.cos(Bt)-1.5*Modelica.Math.sin(Bt)); + timCor=eqnTim+timDifLocCiv; + decAng=Modelica.Math.asin( + -k1*Modelica.Math.cos( + (time/86400+10)*k2)); + cosHou=-Modelica.Math.tan(lat)*Modelica.Math.tan(decAng); + //When time passes the current sunrise/sunset, output the next sunrise/sunset + when time >= pre(nextSunRise) then + nextSunRise=computeSunRise( + t=time, + staTim=staTim, + timDifLocCiv=timDifLocCiv, + lat=lat); + end when; + when time >= pre(nextSunSet) then + nextSunSet=computeSunSet( + t=time, + staTim=staTim, + timDifLocCiv=timDifLocCiv, + lat=lat); + end when; + sunUp=nextSunSet < nextSunRise; + annotation ( + defaultComponentName="sunRiseSet", + Documentation( + info=" +

+This block outputs the next sunrise and sunset time. +The sunrise time keeps constant until the model time reaches the next sunrise, +at which time the output gets updated. +Similarly, the output for the next sunset is updated at each sunset. +

+

+The time zone parameter is based on UTC time; for instance, Eastern Standard Time is -5h. +Note that daylight savings time is not considered in this component. +

+

Validation

+

+A validation can be found at + +IBPSA.Controls.OBC.CDL.Utilities.Validation.SunRiseSet. +

+", + revisions=" + +"), + Icon( + graphics={ + Rectangle( + extent={{-100,-100},{100,100}}, + lineColor={0,0,127}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Text( + extent={{-100,160},{100,106}}, + textColor={0,0,255}, + textString="%name"), + Ellipse( + extent={{70,-100},{-70,20}}, + lineColor={238,46,47}, + startAngle=0, + endAngle=180), + Line( + points={{-94,-40},{92,-40},{92,-40}}, + color={28,108,200}, + thickness=0.5), + Line( + points={{0,60},{0,32}}, + color={238,46,47}), + Line( + points={{60,40},{40,20}}, + color={238,46,47}), + Line( + points={{94,-6},{70,-6}}, + color={238,46,47}), + Line( + points={{10,10},{-10,-10}}, + color={238,46,47}, + origin={-50,30}, + rotation=90), + Line( + points={{-70,-6},{-94,-6}}, + color={238,46,47})})); +end SunRiseSet; diff --git a/IBPSA/Controls/OBC/CDL/Utilities/Validation/Assert.mo b/IBPSA/Controls/OBC/CDL/Utilities/Validation/Assert.mo new file mode 100644 index 0000000000..c3b9e8705e --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Utilities/Validation/Assert.mo @@ -0,0 +1,51 @@ +within IBPSA.Controls.OBC.CDL.Utilities.Validation; +model Assert + "Validate the Assert block" + IBPSA.Controls.OBC.CDL.Utilities.Assert assert( + message="input became false") + "Trigger warning and print warning message" + annotation (Placement(transformation(extent={{20,-10},{40,10}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse booPul( + period=0.5) + "Output boolean pulse" + annotation (Placement(transformation(extent={{-40,-10},{-20,10}}))); + +equation + connect(booPul.y,assert.u) + annotation (Line(points={{-19,0},{18,0}},color={255,0,255})); + annotation ( + experiment( + StopTime=1.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Utilities/Validation/Assert.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.CDL.Utilities.Assert. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end Assert; diff --git a/IBPSA/Controls/OBC/CDL/Utilities/Validation/SunRiseSet.mo b/IBPSA/Controls/OBC/CDL/Utilities/Validation/SunRiseSet.mo new file mode 100644 index 0000000000..7b4b05ad2a --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Utilities/Validation/SunRiseSet.mo @@ -0,0 +1,77 @@ +within IBPSA.Controls.OBC.CDL.Utilities.Validation; +model SunRiseSet + "Test model for the block SunRiseSet" + + IBPSA.Controls.OBC.CDL.Utilities.SunRiseSet sunRiseSetArctic( + lat=1.2566370614359, + lon=-1.2566370614359, + timZon=-18000) + "Arctic circle case" + annotation (Placement(transformation(extent={{-10,50},{10,70}}))); + IBPSA.Controls.OBC.CDL.Utilities.SunRiseSet sunRiseSetSf( + lat=0.6457718232379, + lon=-2.1293016874331, + timZon=-28800) + "San Francisco as an example in the northen hemisphere" + annotation (Placement(transformation(extent={{-10,-30},{10,-10}}))); + IBPSA.Controls.OBC.CDL.Utilities.SunRiseSet sunRiseSetAntarctic( + lat=-1.3089969389957, + lon=0.99483767363677, + timZon=14400) + "Antarctic circle case" + annotation (Placement(transformation(extent={{-10,10},{10,30}}))); + IBPSA.Controls.OBC.CDL.Utilities.SunRiseSet sunRiseSetSyd( + lat=-0.59341194567807, + lon=2.6354471705114, + timZon=36000) + "Sydney as an example in the southern hemisphere" + annotation (Placement(transformation(extent={{-10,-70},{10,-50}}))); + annotation ( + experiment( + StopTime=31536000, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Utilities/Validation/SunRiseSet.mos" "Simulate and plot"), + Documentation( + info=" +

+This example includes four instances of the + +IBPSA.Controls.OBC.CDL.Utilities.SunRiseSet block: +Two normal cases, an arctic and antarctic case. +The normal cases are represented by San Francisco and Sydney, +where there is a sunrise and sunset every day. +

+

+Above the arctic circle and below the antarctic circle, +in winter and summer there is a period in which there is no sunset and sunrise +for a few days. +Hence, the output signals of the block remain constant. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end SunRiseSet; diff --git a/IBPSA/Controls/OBC/CDL/Utilities/Validation/SunRiseSetNegativeStartTime.mo b/IBPSA/Controls/OBC/CDL/Utilities/Validation/SunRiseSetNegativeStartTime.mo new file mode 100644 index 0000000000..d17a95c0ed --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Utilities/Validation/SunRiseSetNegativeStartTime.mo @@ -0,0 +1,68 @@ +within IBPSA.Controls.OBC.CDL.Utilities.Validation; +model SunRiseSetNegativeStartTime + "Test model for the block SunRiseSet with negative start time" + + IBPSA.Controls.OBC.CDL.Utilities.SunRiseSet sunRiseSetArctic( + lat=1.2566370614359, + lon=-1.2566370614359, + timZon=-18000) + "Arctic circle case" + annotation (Placement(transformation(extent={{-10,50},{10,70}}))); + IBPSA.Controls.OBC.CDL.Utilities.SunRiseSet sunRiseSetSf( + lat=0.6457718232379, + lon=-2.1293016874331, + timZon=-28800) + "San Francisco as a test example in the northen hemisphere" + annotation (Placement(transformation(extent={{-10,-30},{10,-10}}))); + IBPSA.Controls.OBC.CDL.Utilities.SunRiseSet sunRiseSetAntarctic( + lat=-1.3089969389957, + lon=0.99483767363677, + timZon=14400) + "Antarctic circle case" + annotation (Placement(transformation(extent={{-10,10},{10,30}}))); + IBPSA.Controls.OBC.CDL.Utilities.SunRiseSet sunRiseSetSyd( + lat=-0.59341194567807, + lon=2.6354471705114, + timZon=36000) + "Sydney as a test example in the southern hemisphere" + annotation (Placement(transformation(extent={{-10,-70},{10,-50}}))); + annotation ( + experiment( + StartTime=-43200, + StopTime=259200, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Utilities/Validation/SunRiseSetNegativeStartTime.mos" "Simulate and plot"), + Documentation( + info=" +

This example includes 4 tests for the +IBPSA.Controls.OBC.CDL.Utilities.SunRiseSet block: 2 normal cases, an arctic and antarctic case. +The normal cases are represented by San Francisco and Sydney, where there is a sunrise and sunset every day.

+

This model starts the simulation from -12 hour instead of 0.

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end SunRiseSetNegativeStartTime; diff --git a/IBPSA/Controls/OBC/CDL/Utilities/Validation/SunRiseSetPositiveStartTime.mo b/IBPSA/Controls/OBC/CDL/Utilities/Validation/SunRiseSetPositiveStartTime.mo new file mode 100644 index 0000000000..21fcd54b80 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Utilities/Validation/SunRiseSetPositiveStartTime.mo @@ -0,0 +1,68 @@ +within IBPSA.Controls.OBC.CDL.Utilities.Validation; +model SunRiseSetPositiveStartTime + "Test model for the block SunRiseSet with positive start time" + + IBPSA.Controls.OBC.CDL.Utilities.SunRiseSet sunRiseSetArctic( + lat=1.2566370614359, + lon=-1.2566370614359, + timZon=-18000) + "Arctic circle case" + annotation (Placement(transformation(extent={{-10,50},{10,70}}))); + IBPSA.Controls.OBC.CDL.Utilities.SunRiseSet sunRiseSetSf( + lat=0.6457718232379, + lon=-2.1293016874331, + timZon=-28800) + "San Francisco as a test example in the northen hemisphere" + annotation (Placement(transformation(extent={{-10,-30},{10,-10}}))); + IBPSA.Controls.OBC.CDL.Utilities.SunRiseSet sunRiseSetAntarctic( + lat=-1.3089969389957, + lon=0.99483767363677, + timZon=14400) + "Antarctic circle case" + annotation (Placement(transformation(extent={{-10,10},{10,30}}))); + IBPSA.Controls.OBC.CDL.Utilities.SunRiseSet sunRiseSetSyd( + lat=-0.59341194567807, + lon=2.6354471705114, + timZon=36000) + "Sydney as a test example in the southern hemisphere" + annotation (Placement(transformation(extent={{-10,-70},{10,-50}}))); + annotation ( + experiment( + StartTime=43200, + StopTime=345600, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Utilities/Validation/SunRiseSetPositiveStartTime.mos" "Simulate and plot"), + Documentation( + info=" +

This example includes 4 tests for the +IBPSA.Controls.OBC.CDL.Utilities.SunRiseSet block: 2 normal cases, an arctic and antarctic case. +The normal cases are represented by San Francisco and Sydney, where there is a sunrise and sunset every day.

+

This model starts the simulation from 12 hour instead of 0.

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end SunRiseSetPositiveStartTime; diff --git a/IBPSA/Controls/OBC/CDL/Utilities/Validation/package.mo b/IBPSA/Controls/OBC/CDL/Utilities/Validation/package.mo new file mode 100644 index 0000000000..fe00591499 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Utilities/Validation/package.mo @@ -0,0 +1,37 @@ +within IBPSA.Controls.OBC.CDL.Utilities; +package Validation "Collection of models that validate the utilities blocks of the CDL" + annotation ( + preferredView="info", + Documentation( + info=" +

+This package contains models that validate the blocks in + +IBPSA.Controls.OBC.CDL.Utilities. +

+

+The examples plot various outputs, which have been verified against +analytical solutions. These model outputs are stored as reference data to +allow continuous validation whenever models in the library change. +

+"), + Icon( + graphics={ + Rectangle( + lineColor={200,200,200}, + fillColor={248,248,248}, + fillPattern=FillPattern.HorizontalCylinder, + extent={{-100.0,-100.0},{100.0,100.0}}, + radius=25.0), + Rectangle( + lineColor={128,128,128}, + extent={{-100.0,-100.0},{100.0,100.0}}, + radius=25.0), + Polygon( + origin={8.0,14.0}, + lineColor={78,138,73}, + fillColor={78,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-58.0,46.0},{42.0,-14.0},{-58.0,-74.0},{-58.0,46.0}})})); +end Validation; diff --git a/IBPSA/Controls/OBC/CDL/Utilities/Validation/package.order b/IBPSA/Controls/OBC/CDL/Utilities/Validation/package.order new file mode 100644 index 0000000000..1b5a39d88f --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Utilities/Validation/package.order @@ -0,0 +1,4 @@ +Assert +SunRiseSet +SunRiseSetNegativeStartTime +SunRiseSetPositiveStartTime diff --git a/IBPSA/Controls/OBC/CDL/Utilities/package.mo b/IBPSA/Controls/OBC/CDL/Utilities/package.mo new file mode 100644 index 0000000000..b0f113f019 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Utilities/package.mo @@ -0,0 +1,39 @@ +within IBPSA.Controls.OBC.CDL; +package Utilities "Package with utility functions" + annotation ( + preferredView="info", + Documentation( + info=" +

+This package contains utility models +that are used throughout the library. +

+"), + Icon( + coordinateSystem( + extent={{-100.0,-100.0},{100.0,100.0}}), + graphics={ + Rectangle( + lineColor={200,200,200}, + fillColor={248,248,248}, + fillPattern=FillPattern.HorizontalCylinder, + extent={{-100.0,-100.0},{100.0,100.0}}, + radius=25.0), + Rectangle( + lineColor={128,128,128}, + extent={{-100.0,-100.0},{100.0,100.0}}, + radius=25.0), + Polygon( + origin={1.3835,-4.1418}, + rotation=45.0, + fillColor={64,64,64}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-15.0,93.333},{-15.0,68.333},{0.0,58.333},{15.0,68.333},{15.0,93.333},{20.0,93.333},{25.0,83.333},{25.0,58.333},{10.0,43.333},{10.0,-41.667},{25.0,-56.667},{25.0,-76.667},{10.0,-91.667},{0.0,-91.667},{0.0,-81.667},{5.0,-81.667},{15.0,-71.667},{15.0,-61.667},{5.0,-51.667},{-5.0,-51.667},{-15.0,-61.667},{-15.0,-71.667},{-5.0,-81.667},{0.0,-81.667},{0.0,-91.667},{-10.0,-91.667},{-25.0,-76.667},{-25.0,-56.667},{-10.0,-41.667},{-10.0,43.333},{-25.0,58.333},{-25.0,83.333},{-20.0,93.333}}), + Polygon( + origin={10.1018,5.218}, + rotation=-45.0, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + points={{-15.0,87.273},{15.0,87.273},{20.0,82.273},{20.0,27.273},{10.0,17.273},{10.0,7.273},{20.0,2.273},{20.0,-2.727},{5.0,-2.727},{5.0,-77.727},{10.0,-87.727},{5.0,-112.727},{-5.0,-112.727},{-10.0,-87.727},{-5.0,-77.727},{-5.0,-2.727},{-20.0,-2.727},{-20.0,2.273},{-10.0,7.273},{-10.0,17.273},{-20.0,27.273},{-20.0,82.273}})})); +end Utilities; diff --git a/IBPSA/Controls/OBC/CDL/Utilities/package.order b/IBPSA/Controls/OBC/CDL/Utilities/package.order new file mode 100644 index 0000000000..e7322e50f3 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/Utilities/package.order @@ -0,0 +1,3 @@ +Assert +SunRiseSet +Validation diff --git a/IBPSA/Controls/OBC/CDL/package.mo b/IBPSA/Controls/OBC/CDL/package.mo new file mode 100644 index 0000000000..54ae177284 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/package.mo @@ -0,0 +1,64 @@ +within IBPSA.Controls.OBC; +package CDL "Package with blocks, examples and validation tests for control description language" + annotation ( + Documentation( + info=" +

+Package that has Elementary Blocks +that form the Control Description Language (CDL). +

+

+The implementation is structured into sub-packages. +The packages Validation +contain validation models. +These are not part of the CDL specification, but rather +implemented to provide reference responses computed by the CDL blocks. +For a specification of CDL, see + +https://obc.lbl.gov/specification/cdl.html. +

+", + revisions=" + +"), + Icon( + graphics={ + Rectangle( + lineColor={200,200,200}, + fillColor={248,248,248}, + fillPattern=FillPattern.HorizontalCylinder, + extent={{-100.0,-100.0},{100.0,100.0}}, + radius=25.0), + Rectangle( + lineColor={128,128,128}, + extent={{-100.0,-100.0},{100.0,100.0}}, + radius=25.0), + Ellipse( + origin={10.0,10.0}, + fillColor={76,76,76}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + extent={{-80.0,-80.0},{-20.0,-20.0}}), + Ellipse( + origin={10.0,10.0}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + extent={{0.0,-80.0},{60.0,-20.0}}), + Ellipse( + origin={10.0,10.0}, + fillColor={128,128,128}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + extent={{0.0,0.0},{60.0,60.0}}), + Ellipse( + origin={10.0,10.0}, + lineColor={128,128,128}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-80.0,0.0},{-20.0,60.0}})})); +end CDL; diff --git a/IBPSA/Controls/OBC/CDL/package.order b/IBPSA/Controls/OBC/CDL/package.order new file mode 100644 index 0000000000..2a8aa44364 --- /dev/null +++ b/IBPSA/Controls/OBC/CDL/package.order @@ -0,0 +1,11 @@ +Constants +Conversions +Discrete +Integers +Logical +Psychrometrics +Reals +Routing +Utilities +Types +Interfaces diff --git a/IBPSA/Controls/OBC/Utilities/BaseClasses/OptimalStartCalculation.mo b/IBPSA/Controls/OBC/Utilities/BaseClasses/OptimalStartCalculation.mo new file mode 100644 index 0000000000..21200ac458 --- /dev/null +++ b/IBPSA/Controls/OBC/Utilities/BaseClasses/OptimalStartCalculation.mo @@ -0,0 +1,316 @@ +within IBPSA.Controls.OBC.Utilities.BaseClasses; +block OptimalStartCalculation + "Base class for the block OptimalStart" + parameter Real tOptMax( + final quantity="Time", + final unit="s") + "Maximum optimal start time"; + parameter Real thrOptOn( + final quantity="Time", + final unit="s") + "Threshold time for the output optOn to become true"; + parameter Integer nDay + "Number of previous days for averaging the temperature slope"; + parameter Real uLow( + final quantity="TemperatureDifference", + final unit="K") + "Threshold to determine if the zone temperature reaches the occupied setpoint, + should be a non-negative number"; + parameter Real uHigh( + final quantity="TemperatureDifference", + final unit="K") + "Threshold to determine the need to start the HVAC system before occupancy, + should be greater than uLow"; + IBPSA.Controls.OBC.CDL.Interfaces.RealInput TDif( + final quantity="TemperatureDifference", + final unit="K") + "Difference between zone setpoint and measured temperature, must be bigger than zero for heating and cooling if setpoint is not yet reached" + annotation (Placement(transformation(extent={{-320,100},{-280,140}}), + iconTransformation(extent={{-140,60},{-100,100}}))); + IBPSA.Controls.OBC.CDL.Interfaces.BooleanInput staCal + "Start calculation" + annotation (Placement(transformation(extent={{-320,20},{-280,60}}), + iconTransformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealInput tNexOcc( + final quantity="Time", + final unit="s", + displayUnit="h") + "Time until next occupancy" + annotation (Placement(transformation(extent={{-320,-160},{-280,-120}}), + iconTransformation(extent={{-140,-100},{-100,-60}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealOutput tOpt( + final quantity="Time", + final unit="s", + displayUnit="h") + "Optimal start time of HVAC system" + annotation (Placement(transformation(extent={{440,40},{480,80}}), + iconTransformation(extent={{100,20},{140,60}}))); + IBPSA.Controls.OBC.CDL.Interfaces.BooleanOutput optOn + "Optimal start boolean output" + annotation (Placement(transformation(extent={{440,-80},{480,-40}}), + iconTransformation(extent={{100,-60},{140,-20}}))); + +protected + constant Real tReaMin( + final quantity="Time", + final unit="s", + displayUnit="h")=120 + "Minimum value for optimal start time if the system reached the set point almost immediately (used to avoid division by zero)"; + constant Real temSloDef( + final quantity="TemperatureSlope", + final unit="K/s")=1/3600 + "Minimum value for temperature slope (used to avoid division by zero)"; + IBPSA.Controls.OBC.CDL.Logical.Sources.SampleTrigger samTri( + final period=86400, + final shift=0) + "Trigger that triggers each midnight" + annotation (Placement(transformation(extent={{0,-50},{20,-30}}))); + IBPSA.Controls.OBC.CDL.Discrete.TriggeredMovingMean samTemSloAve( + final n=nDay) + "Calculate the averaged temperature slope over the past n days" + annotation (Placement(transformation(extent={{60,-10},{80,10}}))); + IBPSA.Controls.OBC.CDL.Discrete.TriggeredSampler dTCalOn + "Get the sampled temperature difference at the same time each day" + annotation (Placement(transformation(extent={{-40,70},{-20,90}}))); + IBPSA.Controls.OBC.CDL.Discrete.TriggeredSampler dTHVACOn + "Get the temperature difference when the HVAC system starts" + annotation (Placement(transformation(extent={{-40,110},{-20,130}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Constant con( + final k=0) + "Deadband case" + annotation (Placement(transformation(extent={{40,50},{60,70}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Constant timReaMin( + final k=tReaMin) + "Minimum time to reach set point (used to avoid division by zero)" + annotation (Placement(transformation(extent={{-80,-42},{-60,-22}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Constant defTemSlo( + final k=temSloDef) + "Default temperature slope in case of zero division" + annotation (Placement(transformation(extent={{88,-40},{108,-20}}))); + IBPSA.Controls.OBC.CDL.Logical.Edge edg + "HVAC start time" + annotation (Placement(transformation(extent={{-148,-90},{-128,-70}}))); + IBPSA.Controls.OBC.CDL.Logical.FallingEdge falEdg + "The instant when the zone temperature reaches setpoint" + annotation (Placement(transformation(extent={{-148,-30},{-128,-10}}))); + IBPSA.Controls.OBC.CDL.Reals.Hysteresis hys( + final uLow=uLow, + final uHigh=uHigh) + "Comparing zone temperature with zone setpoint" + annotation (Placement(transformation(extent={{-260,64},{-240,84}}))); + IBPSA.Controls.OBC.CDL.Reals.Hysteresis hysOpt( + final pre_y_start=false, + final uHigh=0, + final uLow=-60) + "Hysteresis to activate the optimal start" + annotation (Placement(transformation(extent={{320,-90},{340,-70}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Constant maxStaTim( + final k=tOptMax) + "Maximum optimal start time" + annotation (Placement(transformation(extent={{210,-40},{230,-20}}))); + IBPSA.Controls.OBC.CDL.Logical.TrueFalseHold truHol( + final falseHoldDuration=0, + final trueHoldDuration=tOptMax + 11*3600) + "Hold the start time for timer" + annotation (Placement(transformation(extent={{-240,0},{-220,20}}))); + IBPSA.Controls.OBC.CDL.Reals.Divide temSlo + "Calculate temperature slope" + annotation (Placement(transformation(extent={{0,-10},{20,10}}))); + IBPSA.Controls.OBC.CDL.Logical.Pre pre + "Break algebraic loops" + annotation (Placement(transformation(extent={{390,-16},{410,4}}))); + IBPSA.Controls.OBC.CDL.Reals.Subtract sub1 + "Calculate the time duration to reach the setpoint" + annotation (Placement(transformation(extent={{-88,-10},{-68,10}}))); + IBPSA.Controls.OBC.CDL.Reals.Subtract sub2 + "Calculate differential between time-to-next-occupancy and the cool-down time" + annotation (Placement(transformation(extent={{280,-90},{300,-70}}))); + IBPSA.Controls.OBC.CDL.Reals.Min min + "Get the final optimal start time" + annotation (Placement(transformation(extent={{240,-16},{260,4}}))); + IBPSA.Controls.OBC.CDL.Discrete.TriggeredSampler triSam + "The instant when the zone temperature reaches setpoint with maximum time cutoff" + annotation (Placement(transformation(extent={{-130,0},{-110,20}}))); + IBPSA.Controls.OBC.CDL.Discrete.TriggeredSampler triSam1 + "Record the start time when the HVAC system is turned on" + annotation (Placement(transformation(extent={{-130,-60},{-110,-40}}))); + IBPSA.Controls.OBC.CDL.Logical.Latch lat + "Stop calculation when the zone temperature reaches setpoint" + annotation (Placement(transformation(extent={{-188,70},{-168,90}}))); + IBPSA.Controls.OBC.CDL.Logical.Timer tim + "Record time duration for the zone temperature to reach setpoint" + annotation (Placement(transformation(extent={{-210,0},{-190,20}}))); + IBPSA.Controls.OBC.CDL.Logical.Not not1 + "Becomes true when the setpoint is reached" + annotation (Placement(transformation(extent={{-220,64},{-200,84}}))); + IBPSA.Controls.OBC.CDL.Reals.Divide tOptCal + "Calculate optimal start time using the averaged previous temperature slope" + annotation (Placement(transformation(extent={{160,-10},{180,10}}))); + IBPSA.Controls.OBC.CDL.Discrete.TriggeredSampler samTimOpt + "Get the sampled optimal start time at the same time each day" + annotation (Placement(transformation(extent={{190,-10},{210,10}}))); + IBPSA.Controls.OBC.CDL.Reals.GreaterThreshold greThr( + final t=thrOptOn) + "The threshold for optOn signal becomes true" + annotation (Placement(transformation(extent={{320,-16},{340,4}}))); + IBPSA.Controls.OBC.CDL.Logical.And and2 + "Logical and" + annotation (Placement(transformation(extent={{360,-16},{380,4}}))); + IBPSA.Controls.OBC.CDL.Reals.Max timRea + "Time required to reach the set point" + annotation (Placement(transformation(extent={{-40,-16},{-20,4}}))); + IBPSA.Controls.OBC.CDL.Reals.Max temSloAve + "Temperature slope during heat up or cool down over the past sampled days" + annotation (Placement(transformation(extent={{120,-16},{140,4}}))); + IBPSA.Controls.OBC.CDL.Reals.Switch dTUse + "dT used in the calculations (to avoid negative dT)" + annotation (Placement(transformation(extent={{80,70},{100,90}}))); + IBPSA.Controls.OBC.CDL.Reals.GreaterThreshold reqStaUp( + final t=0, + final h=0) + "Output true if optimal startup is needed" + annotation (Placement(transformation(extent={{10,70},{30,90}}))); + IBPSA.Controls.OBC.CDL.Logical.And triAve + "Trigger sampling but only if optimal start up is needed" + annotation (Placement(transformation(extent={{40,-42},{60,-22}}))); + +equation + connect(tim.y,triSam.u) + annotation (Line(points={{-188,10},{-132,10}},color={0,0,127})); + connect(falEdg.y,triSam.trigger) + annotation (Line(points={{-126,-20},{-120,-20},{-120,-1.8}},color={255,0,255})); + connect(not1.y,lat.clr) + annotation (Line(points={{-198,74},{-190,74}},color={255,0,255})); + connect(temSlo.y,samTemSloAve.u) + annotation (Line(points={{22,0},{58,0}},color={0,0,127})); + connect(TDif,hys.u) + annotation (Line(points={{-300,120},{-272,120},{-272,74},{-262,74}},color={0,0,127})); + connect(staCal,dTCalOn.trigger) + annotation (Line(points={{-300,40},{-30,40},{-30,68.2}},color={255,0,255})); + connect(TDif,dTHVACOn.u) + annotation (Line(points={{-300,120},{-42,120}},color={0,0,127})); + connect(pre.y,dTHVACOn.trigger) + annotation (Line(points={{412,-6},{420,-6},{420,104},{-30,104},{-30,108.2}},color={255,0,255})); + connect(pre.y,lat.u) + annotation (Line(points={{412,-6},{420,-6},{420,150},{-190,150},{-190,80}},color={255,0,255})); + connect(edg.y,triSam1.trigger) + annotation (Line(points={{-126,-80},{-120,-80},{-120,-61.8}},color={255,0,255})); + connect(triSam1.y,sub1.u2) + annotation (Line(points={{-108,-50},{-100,-50},{-100,-6},{-90,-6}},color={0,0,127})); + connect(triSam.y,sub1.u1) + annotation (Line(points={{-108,10},{-100,10},{-100,6},{-90,6}},color={0,0,127})); + connect(TDif,dTCalOn.u) + annotation (Line(points={{-300,120},{-140,120},{-140,80},{-42,80}},color={0,0,127})); + connect(tNexOcc,sub2.u2) + annotation (Line(points={{-300,-140},{272,-140},{272,-86},{278,-86}},color={0,0,127})); + connect(sub2.y,hysOpt.u) + annotation (Line(points={{302,-80},{318,-80}},color={0,0,127})); + connect(min.y,sub2.u1) + annotation (Line(points={{262,-6},{270,-6},{270,-74},{278,-74}},color={0,0,127})); + connect(staCal,truHol.u) + annotation (Line(points={{-300,40},{-260,40},{-260,10},{-242,10}},color={255,0,255})); + connect(truHol.y,tim.u) + annotation (Line(points={{-218,10},{-212,10}},color={255,0,255})); + connect(tim.y,triSam1.u) + annotation (Line(points={{-188,10},{-168,10},{-168,-50},{-132,-50}},color={0,0,127})); + connect(min.y,tOpt) + annotation (Line(points={{262,-6},{270,-6},{270,60},{460,60}},color={0,0,127})); + connect(not1.u,hys.y) + annotation (Line(points={{-222,74},{-238,74}},color={255,0,255})); + connect(lat.y,edg.u) + annotation (Line(points={{-166,80},{-162,80},{-162,-80},{-150,-80}},color={255,0,255})); + connect(lat.y,falEdg.u) + annotation (Line(points={{-166,80},{-162,80},{-162,-20},{-150,-20}},color={255,0,255})); + connect(tOptCal.y,samTimOpt.u) + annotation (Line(points={{182,0},{188,0}},color={0,0,127})); + connect(staCal,samTimOpt.trigger) + annotation (Line(points={{-300,40},{146,40},{146,-20},{200,-20},{200,-11.8}},color={255,0,255})); + connect(dTHVACOn.y,temSlo.u1) + annotation (Line(points={{-18,120},{-10,120},{-10,6},{-2,6}},color={0,0,127})); + connect(min.y,greThr.u) + annotation (Line(points={{262,-6},{318,-6}},color={0,0,127})); + connect(hysOpt.y,and2.u2) + annotation (Line(points={{342,-80},{350,-80},{350,-14},{358,-14}},color={255,0,255})); + connect(greThr.y,and2.u1) + annotation (Line(points={{342,-6},{358,-6}},color={255,0,255})); + connect(and2.y,pre.u) + annotation (Line(points={{382,-6},{388,-6}},color={255,0,255})); + connect(pre.y,optOn) + annotation (Line(points={{412,-6},{420,-6},{420,-60},{460,-60}},color={255,0,255})); + connect(timRea.y,temSlo.u2) + annotation (Line(points={{-18,-6},{-2,-6}},color={0,0,127})); + connect(timRea.u1,sub1.y) + annotation (Line(points={{-42,0},{-66,0}},color={0,0,127})); + connect(temSloAve.y,tOptCal.u2) + annotation (Line(points={{142,-6},{158,-6}},color={0,0,127})); + connect(temSloAve.u1,samTemSloAve.y) + annotation (Line(points={{118,0},{82,0}},color={0,0,127})); + connect(defTemSlo.y,temSloAve.u2) + annotation (Line(points={{110,-30},{112,-30},{112,-12},{118,-12}},color={0,0,127})); + connect(min.u1,samTimOpt.y) + annotation (Line(points={{238,0},{212,0}},color={0,0,127})); + connect(maxStaTim.y,min.u2) + annotation (Line(points={{232,-30},{234,-30},{234,-12},{238,-12}},color={0,0,127})); + connect(reqStaUp.u,dTCalOn.y) + annotation (Line(points={{8,80},{-18,80}},color={0,0,127})); + connect(dTUse.u2,reqStaUp.y) + annotation (Line(points={{78,80},{32,80}},color={255,0,255})); + connect(dTCalOn.y,dTUse.u1) + annotation (Line(points={{-18,80},{2,80},{2,100},{52,100},{52,88},{78,88}},color={0,0,127})); + connect(con.y,dTUse.u3) + annotation (Line(points={{62,60},{72,60},{72,72},{78,72}},color={0,0,127})); + connect(dTUse.y,tOptCal.u1) + annotation (Line(points={{102,80},{150,80},{150,6},{158,6}},color={0,0,127})); + connect(triAve.u2,samTri.y) + annotation (Line(points={{38,-40},{22,-40}},color={255,0,255})); + connect(reqStaUp.y,triAve.u1) + annotation (Line(points={{32,80},{36,80},{36,-32},{38,-32}},color={255,0,255})); + connect(triAve.y,samTemSloAve.trigger) + annotation (Line(points={{62,-32},{70,-32},{70,-12}},color={255,0,255})); + connect(timReaMin.y, timRea.u2) annotation (Line(points={{-58,-32},{-50,-32}, + {-50,-12},{-42,-12}}, color={0,0,127})); + annotation ( + defaultComponentName="optStaCal", + Documentation( + info=" +

+This base class contains the algorithm for the optimal start calculation. For the +description of the algorithm, please refer to the documentation for the block + +IBPSA.Controls.OBC.Utilities.OptimalStart. +

+", + revisions=" + +"), + Diagram( + coordinateSystem( + extent={{-280,-160},{440,160}})), + Icon( + graphics={ + Rectangle( + extent={{-100,-100},{100,100}}, + lineColor={0,0,127}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Text( + textColor={0,0,255}, + extent={{-150,110},{150,150}}, + textString="%name")})); +end OptimalStartCalculation; diff --git a/IBPSA/Controls/OBC/Utilities/BaseClasses/package.mo b/IBPSA/Controls/OBC/Utilities/BaseClasses/package.mo new file mode 100644 index 0000000000..876a6f3908 --- /dev/null +++ b/IBPSA/Controls/OBC/Utilities/BaseClasses/package.mo @@ -0,0 +1,29 @@ +within IBPSA.Controls.OBC.Utilities; +package BaseClasses "Package with base classes" + annotation ( + preferredView="info", + Documentation( + info=" +

+This package contains base classes to construct blocks in +IBPSA.Controls.OBC.Utilities. +

+"), + Icon( + graphics={ + Rectangle( + lineColor={200,200,200}, + fillColor={248,248,248}, + fillPattern=FillPattern.HorizontalCylinder, + extent={{-100,-100},{100,100}}, + radius=25.0), + Rectangle( + lineColor={128,128,128}, + extent={{-100,-100},{100,100}}, + radius=25.0), + Ellipse( + extent={{-30,-30},{30,30}}, + lineColor={128,128,128}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid)})); +end BaseClasses; diff --git a/IBPSA/Controls/OBC/Utilities/BaseClasses/package.order b/IBPSA/Controls/OBC/Utilities/BaseClasses/package.order new file mode 100644 index 0000000000..8b68ab4181 --- /dev/null +++ b/IBPSA/Controls/OBC/Utilities/BaseClasses/package.order @@ -0,0 +1 @@ +OptimalStartCalculation diff --git a/IBPSA/Controls/OBC/Utilities/OptimalStart.mo b/IBPSA/Controls/OBC/Utilities/OptimalStart.mo new file mode 100644 index 0000000000..5846edbc08 --- /dev/null +++ b/IBPSA/Controls/OBC/Utilities/OptimalStart.mo @@ -0,0 +1,383 @@ +within IBPSA.Controls.OBC.Utilities; +block OptimalStart + "Block that outputs the optimal start time for an HVAC system before occupancy" + parameter Real tOptMax( + final quantity="Time", + final unit="s", + displayUnit="h", + final min=0, + max=21600)=10800 + "Maximum optimal start time"; + parameter Integer nDay( + min=1)=3 + "Number of previous days used to compute the optimal start up time"; + parameter Boolean computeHeating=false + "Set to true to compute optimal start for heating"; + parameter Boolean computeCooling=false + "Set to true to compute optimal start for cooling"; + parameter Real uLow( + final quantity="TemperatureDifference", + final unit="K", + final min=0)=0 + "Threshold to determine if the zone temperature reaches the occupied setpoint, + must be a non-negative number"; + parameter Real uHigh( + final quantity="TemperatureDifference", + final unit="K", + final min=0)=0.5 + "Threshold to determine the need to start the HVAC system before occupancy, + must be greater than uLow"; + parameter Real thrOptOn( + final quantity="Time", + final unit="s", + displayUnit="h", + final min=0, + max=10800)=60 + "Threshold time, optimal start on signal becomes true when tOpt larger than thrOptOn"; + IBPSA.Controls.OBC.CDL.Interfaces.RealInput TSetZonHea( + final quantity="ThermodynamicTemperature", + final unit="K", + displayUnit="degC", + min=200) if computeHeating + "Zone heating setpoint temperature during occupancy" + annotation (Placement(transformation(extent={{-180,60},{-140,100}}), + iconTransformation(extent={{-140,60},{-100,100}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealInput TZon( + final quantity="ThermodynamicTemperature", + final unit="K", + displayUnit="degC", + min=200) + "Zone temperature" + annotation (Placement(transformation(extent={{-180,-60},{-140,-20}}), + iconTransformation(extent={{-140,-60},{-100,-20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealInput TSetZonCoo( + final quantity="ThermodynamicTemperature", + final unit="K", + displayUnit="degC", + min=200) if computeCooling + "Zone cooling setpoint temperature during occupancy" + annotation (Placement(transformation(extent={{-180,20},{-140,60}}), + iconTransformation(extent={{-140,20},{-100,60}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealInput tNexOcc( + final quantity="Time", + final unit="s", + displayUnit="h") + "Time until next occupancy" + annotation (Placement(transformation(extent={{-180,-100},{-140,-60}}), + iconTransformation(extent={{-140,-100},{-100,-60}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealOutput tOpt( + final quantity="Time", + final unit="s", + displayUnit="h") + "Optimal start time duration of HVAC system" + annotation (Placement(transformation(extent={{140,20},{180,60}}), + iconTransformation(extent={{100,20},{140,60}}))); + IBPSA.Controls.OBC.CDL.Interfaces.BooleanOutput optOn + "Outputs true if the HVAC system remains in the optimal start period" + annotation (Placement(transformation(extent={{140,-60},{180,-20}}), + iconTransformation(extent={{100,-60},{140,-20}}))); + IBPSA.Controls.OBC.Utilities.BaseClasses.OptimalStartCalculation optHea( + final tOptMax=tOptMax, + final thrOptOn=thrOptOn, + final nDay=nDay, + final uLow=uLow, + final uHigh=uHigh) if computeHeating + "Optimal start time for heating system" + annotation (Placement(transformation(extent={{20,60},{40,80}}))); + IBPSA.Controls.OBC.Utilities.BaseClasses.OptimalStartCalculation optCoo( + final tOptMax=tOptMax, + final thrOptOn=thrOptOn, + final nDay=nDay, + final uLow=uLow, + final uHigh=uHigh) if computeCooling + "Optimal start time for cooling system" + annotation (Placement(transformation(extent={{20,-80},{40,-60}}))); + IBPSA.Controls.OBC.CDL.Reals.GreaterThreshold hysSta( + t=60, + h=60) + "Hysteresis to activate the optimal start boolean output" + annotation (Placement(transformation(extent={{-70,-10},{-50,10}}))); + +protected + IBPSA.Controls.OBC.CDL.Reals.Max max + "Get the maximum optimal start time " + annotation (Placement(transformation(extent={{100,30},{120,50}}))); + IBPSA.Controls.OBC.CDL.Reals.AddParameter addPar( + p=-tOptMax) + "Maximum optimal start time" + annotation (Placement(transformation(extent={{-100,-10},{-80,10}}))); + IBPSA.Controls.OBC.CDL.Logical.Or or2 + "Get the optimal start boolean output" + annotation (Placement(transformation(extent={{100,-50},{120,-30}}))); + IBPSA.Controls.OBC.CDL.Reals.Subtract dTHea if computeHeating + "Temperature difference between heating setpoint and zone temperature" + annotation (Placement(transformation(extent={{-80,70},{-60,90}}))); + IBPSA.Controls.OBC.CDL.Reals.Subtract dTCoo if computeCooling + "Temperature difference between zone temperature and cooling setpoint" + annotation (Placement(transformation(extent={{-80,-60},{-60,-40}}))); + IBPSA.Controls.OBC.CDL.Logical.FallingEdge falEdg + "Stop calculation" + annotation (Placement(transformation(extent={{-30,-10},{-10,10}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Constant con2( + final k=0) if not computeHeating + "Becomes effective when optimal start is only for heating" + annotation (Placement(transformation(extent={{60,40},{80,60}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Constant con1( + final k=0) if not computeCooling + "Becomes effective when optimal start is only for cooling" + annotation (Placement(transformation(extent={{60,10},{80,30}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Constant con( + final k=false) if not computeHeating + "Becomes effective when optimal start is only for heating" + annotation (Placement(transformation(extent={{60,-30},{80,-10}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Constant con3( + final k=false) if not computeCooling + "Becomes effective when optimal start is only for cooling" + annotation (Placement(transformation(extent={{60,-94},{80,-74}}))); + +equation + connect(TSetZonCoo,dTCoo.u2) + annotation (Line(points={{-160,40},{-132,40},{-132,-56},{-82,-56}},color={0,0,127})); + connect(TZon,dTCoo.u1) + annotation (Line(points={{-160,-40},{-90,-40},{-90,-44},{-82,-44}}, color={0,0,127})); + connect(TZon,dTHea.u2) + annotation (Line(points={{-160,-40},{-122,-40},{-122,74},{-82,74}},color={0,0,127})); + connect(TSetZonHea,dTHea.u1) + annotation (Line(points={{-160,80},{-126,80},{-126,86},{-82,86}},color={0,0,127})); + connect(max.y,tOpt) + annotation (Line(points={{122,40},{160,40}},color={0,0,127})); + connect(con2.y,max.u1) + annotation (Line(points={{82,50},{88,50},{88,46},{98,46}},color={0,0,127})); + connect(con1.y,max.u2) + annotation (Line(points={{82,20},{88,20},{88,34},{98,34}},color={0,0,127})); + connect(dTCoo.y,optCoo.TDif) + annotation (Line(points={{-58,-50},{-22,-50},{-22,-62},{18,-62}},color={0,0,127})); + connect(dTHea.y,optHea.TDif) + annotation (Line(points={{-58,80},{-8,80},{-8,78},{18,78}},color={0,0,127})); + connect(tNexOcc,addPar.u) + annotation (Line(points={{-160,-80},{-120,-80},{-120,0},{-102,0}},color={0,0,127})); + connect(tNexOcc,optHea.tNexOcc) + annotation (Line(points={{-160,-80},{-120,-80},{-120,62},{18,62}},color={0,0,127})); + connect(optCoo.tOpt,max.u2) + annotation (Line(points={{42,-66},{88,-66},{88,34},{98,34}},color={0,0,127})); + connect(optHea.tOpt,max.u1) + annotation (Line(points={{42,74},{88,74},{88,46},{98,46}},color={0,0,127})); + connect(tNexOcc,optCoo.tNexOcc) + annotation (Line(points={{-160,-80},{-68,-80},{-68,-78},{18,-78}},color={0,0,127})); + connect(falEdg.y,optHea.staCal) + annotation (Line(points={{-8,0},{0,0},{0,70},{18,70}},color={255,0,255})); + connect(falEdg.y,optCoo.staCal) + annotation (Line(points={{-8,0},{0,0},{0,-70},{18,-70}},color={255,0,255})); + connect(or2.y,optOn) + annotation (Line(points={{122,-40},{160,-40}},color={255,0,255})); + connect(con.y,or2.u1) + annotation (Line(points={{82,-20},{92,-20},{92,-40},{98,-40}},color={255,0,255})); + connect(con3.y,or2.u2) + annotation (Line(points={{82,-84},{92,-84},{92,-48},{98,-48}},color={255,0,255})); + connect(optCoo.optOn,or2.u2) + annotation (Line(points={{42,-74},{50,-74},{50,-48},{98,-48}},color={255,0,255})); + connect(optHea.optOn,or2.u1) + annotation (Line(points={{42,66},{92,66},{92,-40},{98,-40}},color={255,0,255})); + connect(falEdg.u,hysSta.y) + annotation (Line(points={{-32,0},{-48,0}},color={255,0,255})); + connect(addPar.y,hysSta.u) + annotation (Line(points={{-78,0},{-72,0}},color={0,0,127})); + annotation ( + defaultComponentName="optSta", + Documentation( + info=" +

+This block predicts the shortest time for an HVAC system to meet the occupied setpoint +prior to the scheduled occupancy. The block requires inputs of zone temperature, +occupied zone setpoint(s) and next occupancy. The two outputs are the optimal start +duration tOpt and the optimal start on signal optOn for +the HVAC system. +

+

+The block estimates the thermal mass of a zone using its measured air temperature gradient +with respect to time. Once the temperature slope of a zone is known, the optimal start +time can be calculated by the difference between the zone temperature +and the occupied setpoint divided by the temperature slope, assuming the zone responds +as if all thermal mass were concentrated in the room air. +

+

+The temperature slope is self-tuned based on past data. The moving +average of the temperature slope of the past nDay days +is calculated and used for +the prediction of the optimal start time in the current day. +

+

Parameters

+

+The parameter nDay is used to compute the moving average of the temperature +slope; the first n days of simulation is therefore used to +initialize the block. +

+

+The parameter +tOptMax is the maximum allowed optimal start time. +

+

+The block includes two hysteresis parameters uLow and uHigh. +The parameter +uLow is used to determine if the zone temperature reaches +the setpoint. The algorithm assumes that the zone temperature has reached the setpoint if +TSetZonHea-TZon ≤ uLow for a heating system, or +TZon-TSetZonCoo ≤ uLow for a cooling system, where +TSetZonHea +denotes the zone heating setpoint during occupancy, TSetZonCoo +denotes the zone cooling setpoint during occupancy, and TZon denotes the +zone temperature. +The parameter +uHigh is used by the algorithm to determine if there is a need to +start the HVAC system prior to occupancy. If +TSetZonHea-TZon ≤ uHigh for heating case or +TZon-TSetZonCoo ≤ uHigh for cooling case, +then there is no need for the system to start before the occupancy. +

+

+The optimal start is only active (i.e., the optimal start on signal optOn +becomes true) if the optimal start time is larger than the parameter +thrOptOn. +

+

Configuration for HVAC systems

+

+The block can be used for heating system only or cooling system only or for both +heating and cooling system. +The two parameters computeHeating and computeCooling are +used to configure the block for these three scenarios. +

+

+The block calculates the optimal start time separately for heating and cooling systems. +The base class + +IBPSA.Controls.OBC.Utilities.BaseClasses.OptimalStartCalculation is used +for the calculation. +

+

Algorithm

+

+The algorithm is as follows: +

+
Step 1: Calculate temeperature slope TSlo
+

+Once the HVAC system is started, a timer records the time duration +Δt for the zone temperature to reach the +setpoint. At the time when the timer starts, the zone temperature TSam1 is sampled. +The temperature slope is +approximated using the equation TSlo = |TSetZonOcc-TSam1|/Δt, +where TSetZonOcc is the occupied zone setpoint. Note that if +Δt is greater than the maximum optimal start time tOptMax, +then tOptMax is used instead of Δt. +This is to avoid corner cases where the setpoint is never reached, e.g., the HVAC +system is undersized, or there is a steady-state error associated with the HVAC control. +

+
Step 2: Calculate temperature slope moving average TSloMa
+

+After computing the temperature slope of each day, the moving average of the +temperature slope TSloMa during the previous nDay days +is calculated. Please refer to + +IBPSA.Controls.OBC.CDL.Discrete.TriggeredMovingMean for details about +the moving average algorithm. +

+
Step 3: Calculate optimal start time tOpt
+

+Each day at a certain time before the occupancy, the algorithm takes another +sample of the zone temperature, denoted as TSam2. The sample +takes place tOptMax prior to occupancy start time. +

+

+The optimal start time is then calculated as tOpt = |TSetZonOcc-TSam2|/TSloMa. +

+

Validation

+

+Validation models can be found in the package + +IBPSA.Controls.OBC.Utilities.Validation. +

+", + revisions=" + +"), + Diagram( + coordinateSystem( + extent={{-140,-100},{140,100}})), + Icon( + graphics={ + Rectangle( + extent={{-100,-100},{100,100}}, + lineColor={0,0,127}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Line( + points={{-70,40},{10,40},{10,-28},{70,-28}}, + color={28,108,200}), + Line( + points={{-34,40},{-20,32},{-12,22},{-6,2},{0,-16},{10,-28}}, + smooth=Smooth.Bezier, + color={238,46,47}), + Text( + extent={{-68,56},{-44,40}}, + textColor={28,108,200}, + textString="TSet"), + Polygon( + points={{-70,92},{-78,70},{-62,70},{-70,92}}, + lineColor={192,192,192}, + fillColor={192,192,192}, + fillPattern=FillPattern.Solid), + Line( + points={{-70,70},{-70,-78}}, + color={192,192,192}), + Line( + points={{-88,-60},{70,-60}}, + color={192,192,192}), + Polygon( + points={{92,-60},{70,-52},{70,-68},{92,-60}}, + lineColor={192,192,192}, + fillColor={192,192,192}, + fillPattern=FillPattern.Solid), + Line( + points={{10,40},{24,32},{32,22},{38,2},{44,-16},{54,-28}}, + smooth=Smooth.Bezier, + color={28,108,200}, + pattern=LinePattern.Dot), + Text( + textColor={0,0,255}, + extent={{-150,110},{150,150}}, + textString="%name"), + Ellipse( + extent={{79,-33},{93,-47}}, + lineColor=DynamicSelect({235,235,235}, + if optOn then + {0,255,0} + else + {235,235,235}), + fillColor=DynamicSelect({235,235,235}, + if optOn then + {0,255,0} + else + {235,235,235}), + fillPattern=FillPattern.Solid), + Text( + extent={{226,106},{106,56}}, + textColor={0,0,0}, + textString=DynamicSelect("",String(tOpt, + leftJustified=false, + significantDigits=3)))})); +end OptimalStart; diff --git a/IBPSA/Controls/OBC/Utilities/PIDWithInputGains.mo b/IBPSA/Controls/OBC/Utilities/PIDWithInputGains.mo new file mode 100644 index 0000000000..ae25b3a5eb --- /dev/null +++ b/IBPSA/Controls/OBC/Utilities/PIDWithInputGains.mo @@ -0,0 +1,565 @@ +within IBPSA.Controls.OBC.Utilities; +block PIDWithInputGains + "P, PI, PD, and PID controller with output reset and input gains" + parameter IBPSA.Controls.OBC.CDL.Types.SimpleController controllerType=IBPSA.Controls.OBC.CDL.Types.SimpleController.PI + "Type of controller"; + parameter Real r( + min=100*CDL.Constants.eps)=1 + "Typical range of control error, used for scaling the control error"; + parameter Real yMax=1 + "Upper limit of output" + annotation (Dialog(group="Limits")); + parameter Real yMin=0 + "Lower limit of output" + annotation (Dialog(group="Limits")); + parameter Real Ni( + min=100*CDL.Constants.eps)=0.9 + "Ni*Ti is time constant of anti-windup compensation" + annotation (Dialog(tab="Advanced",group="Integrator anti-windup",enable=controllerType == CDL.Types.SimpleController.PI or controllerType ==CDL.Types.SimpleController.PID)); + parameter Real Nd( + min=100*CDL.Constants.eps)=10 + "The higher Nd, the more ideal the derivative block" + annotation (Dialog(tab="Advanced",group="Derivative block",enable=controllerType == CDL.Types.SimpleController.PD or controllerType ==CDL.Types.SimpleController.PID)); + parameter Real xi_start=0 + "Initial value of integrator state" + annotation (Dialog(tab="Advanced",group="Initialization",enable=controllerType == CDL.Types.SimpleController.PI or controllerType == CDL.Types.SimpleController.PID)); + parameter Real yd_start=0 + "Initial value of derivative output" + annotation (Dialog(tab="Advanced",group="Initialization",enable=controllerType == CDL.Types.SimpleController.PD or controllerType == CDL.Types.SimpleController.PID)); + parameter Boolean reverseActing=true + "Set to true for reverse acting, or false for direct acting control action"; + parameter Real y_reset=xi_start + "Value to which the controller output is reset if the boolean trigger has a rising edge" + annotation (Dialog(enable=controllerType == CDL.Types.SimpleController.PI or controllerType == CDL.Types.SimpleController.PID,group="Integrator reset")); + IBPSA.Controls.OBC.CDL.Interfaces.RealInput u_s + "Connector for setpoint input signal" + annotation (Placement(transformation(extent={{-260,-20},{-220,20}}),iconTransformation(extent={{-140,-20},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealInput u_m + "Connector for measurement input signal" + annotation (Placement(transformation(origin={0,-220},extent={{20,-20},{-20,20}},rotation=270),iconTransformation(extent={{20,-20},{-20,20}},rotation=270,origin={0,-120}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealInput k( + min=100*IBPSA.Controls.OBC.CDL.Constants.eps) + "Connector for control gain signal" + annotation (Placement(transformation(extent={{-260,160},{-220,200}}),iconTransformation(extent={{-140,60},{-100,100}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealInput Ti( + quantity="Time", + unit="s", + min=100*IBPSA.Controls.OBC.CDL.Constants.eps) + if with_I + "Connector for time constant signal for the integral term" + annotation (Placement(transformation(extent={{-260,100},{-220,140}}), + iconTransformation(extent={{-140,20},{-100,60}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealInput Td( + quantity="Time", + unit="s", + min=100*IBPSA.Controls.OBC.CDL.Constants.eps) + if with_D + "Connector for time constant signal for the derivative term" + annotation (Placement(transformation(extent={{-260,40},{-220,80}}), iconTransformation(extent={{-140,-60},{-100,-20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.RealOutput y + "Connector for actuator output signal" + annotation (Placement(transformation(extent={{220,-20},{260,20}}),iconTransformation(extent={{100,-20},{140,20}}))); + IBPSA.Controls.OBC.CDL.Interfaces.BooleanInput trigger + "Resets the controller output when trigger becomes true" + annotation (Placement(transformation(extent={{-20,-20},{20,20}},rotation=90,origin={-160,-220}),iconTransformation(extent={{-20,-20},{20,20}},rotation=90,origin={-60,-120}))); + IBPSA.Controls.OBC.CDL.Reals.Subtract controlError + "Control error (set point - measurement)" + annotation (Placement(transformation(extent={{-200,-16},{-180,4}}))); + IBPSA.Controls.OBC.CDL.Reals.Multiply P + "Proportional action" + annotation (Placement(transformation(extent={{-50,130},{-30,150}}))); + IBPSA.Controls.OBC.CDL.Reals.IntegratorWithReset I( + final k=1, + final y_start=xi_start) if with_I + "Integral term" + annotation (Placement(transformation(extent={{-50,-10},{-30,10}}))); + IBPSA.Controls.OBC.CDL.Reals.Derivative D( + final y_start=yd_start) if with_D + "Derivative term" + annotation (Placement(transformation(extent={{-50,60},{-30,80}}))); + IBPSA.Controls.OBC.CDL.Reals.Subtract errP + "P error" + annotation (Placement(transformation(extent={{-140,130},{-120,150}}))); + IBPSA.Controls.OBC.CDL.Reals.Subtract errD if with_D + "D error" + annotation (Placement(transformation(extent={{-140,60},{-120,80}}))); + IBPSA.Controls.OBC.CDL.Reals.Subtract errI1 if with_I + "I error (before anti-windup compensation)" + annotation (Placement(transformation(extent={{-140,-4},{-120,16}}))); + IBPSA.Controls.OBC.CDL.Reals.Subtract errI2 if with_I + "I error (after anti-windup compensation)" + annotation (Placement(transformation(extent={{-100,-10},{-80,10}}))); + IBPSA.Controls.OBC.CDL.Reals.Limiter lim( + final uMax=yMax, + final uMin=yMin) + "Limiter" + annotation (Placement(transformation(extent={{120,80},{140,100}}))); + IBPSA.Controls.OBC.CDL.Reals.Divide antWinGai2 if with_I + "Outputs of anti-windup compensation" + annotation (Placement(transformation(extent={{100,-30},{80,-10}}))); + IBPSA.Controls.OBC.CDL.Reals.Divide gaiI if with_I "Gain of the integral term" + annotation (Placement(transformation(extent={{-200,116},{-180,136}}))); + IBPSA.Controls.OBC.CDL.Reals.Multiply errIWithGai if with_I + "I error (after multiplying with the gain of the integral term)" + annotation (Placement(transformation(extent={{-84,28},{-64,48}}))); + IBPSA.Controls.OBC.CDL.Reals.Multiply mulkTd if with_D + "Product of k and Td" + annotation (Placement(transformation(extent={{-200,150},{-180,170}}))); + IBPSA.Controls.OBC.CDL.Reals.GreaterThreshold greThrkTd( + t=1E-6, + h=1E-6/2) + if with_D + "Check if k*Td is larger than 0" + annotation (Placement(transformation(extent={{140,160},{160,180}}))); + +protected + final parameter Real revAct= + if reverseActing then + 1 + else + -1 + "Switch for sign for reverse or direct acting controller"; + final parameter Boolean with_I=controllerType == IBPSA.Controls.OBC.CDL.Types.SimpleController.PI or controllerType == IBPSA.Controls.OBC.CDL.Types.SimpleController.PID + "Boolean flag to enable integral action" + annotation (Evaluate=true,HideResult=true); + final parameter Boolean with_D=controllerType == IBPSA.Controls.OBC.CDL.Types.SimpleController.PD or controllerType == IBPSA.Controls.OBC.CDL.Types.SimpleController.PID + "Boolean flag to enable derivative action" + annotation (Evaluate=true,HideResult=true); + IBPSA.Controls.OBC.CDL.Reals.Sources.Constant Dzero( + final k=0) if not with_D + "Zero input signal" + annotation (Evaluate=true,HideResult=true,Placement(transformation(extent={{-50,90}, + {-30,110}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Constant Izero( + final k=0) if not with_I + "Zero input signal" + annotation (Placement(transformation(extent={{-50,20},{-30,40}}))); + IBPSA.Controls.OBC.CDL.Reals.MultiplyByParameter uS_revAct( + final k=revAct/r) "Set point multiplied by reverse action sign" + annotation (Placement(transformation(extent={{-200,30},{-180,50}}))); + IBPSA.Controls.OBC.CDL.Reals.MultiplyByParameter uMea_revAct( + final k=revAct/r) + "Set point multiplied by reverse action sign" + annotation (Placement(transformation(extent={{-200,-50},{-180,-30}}))); + IBPSA.Controls.OBC.CDL.Reals.Add addPD + "Outputs P and D gains added" + annotation (Placement(transformation(extent={{20,124},{40,144}}))); + IBPSA.Controls.OBC.CDL.Reals.Add addPID + "Outputs P, I and D gains added" + annotation (Placement(transformation(extent={{80,80},{100,100}}))); + IBPSA.Controls.OBC.CDL.Reals.Subtract antWinErr if with_I + "Error for anti-windup compensation" + annotation (Placement(transformation(extent={{160,50},{180,70}}))); + IBPSA.Controls.OBC.CDL.Reals.MultiplyByParameter antWinGai1(k=1/Ni) + if with_I "Gain for anti-windup compensation without the proportional gain" + annotation (Placement(transformation(extent={{180,-30},{160,-10}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Constant yResSig( + final k=y_reset) if with_I + "Signal for y_reset" + annotation (Placement(transformation(extent={{-140,-84},{-120,-64}}))); + IBPSA.Controls.OBC.CDL.Reals.Subtract addRes if with_I + "Adder for integrator reset" + annotation (Placement(transformation(extent={{-100,-90},{-80,-70}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Constant cheYMinMax( + final k=yMin < yMax) "Check for values of yMin and yMax" + annotation (Placement(transformation(extent={{140,120},{160,140}}))); + IBPSA.Controls.OBC.CDL.Utilities.Assert assMesYMinMax( + message="LimPID: Limits must be yMin < yMax") "Assertion on yMin and yMax" + annotation (Placement(transformation(extent={{180,120},{200,140}}))); + IBPSA.Controls.OBC.CDL.Utilities.Assert assMeskTd( + message="LimPIDWithInputGains: Limits must be k*Td > 0") + if with_D + "Assertion on k and Td" + annotation (Placement(transformation(extent={{180,160},{200,180}}))); + IBPSA.Controls.OBC.CDL.Reals.MultiplyByParameter gaiT(final k=1/Nd) if with_D + "Gain to compute time constant for derivative action" + annotation (Placement(transformation(extent={{-140,100},{-120,120}}))); + +equation + connect(trigger,I.trigger) + annotation (Line(points={{-160,-220},{-160,-140},{-40,-140},{-40,-12}},color={255,0,255})); + connect(u_s,uS_revAct.u) + annotation (Line(points={{-240,0},{-210,0},{-210,40},{-202,40}},color={0,0,127})); + connect(u_m,uMea_revAct.u) + annotation (Line(points={{0,-220},{0,-160},{-210,-160},{-210,-40},{-202,-40}},color={0,0,127})); + connect(errD.u2,uMea_revAct.y) + annotation (Line(points={{-142,64},{-150,64},{-150,-40},{-178,-40}}, color={0,0,127})); + connect(D.u,errD.y) + annotation (Line(points={{-52,70},{-118,70}}, color={0,0,127})); + connect(errI1.u1,uS_revAct.y) + annotation (Line(points={{-142,12},{-170,12},{-170,40},{-178,40}}, + color={0,0,127})); + connect(addPID.u1,addPD.y) + annotation (Line(points={{78,96},{50,96},{50,134},{42,134}},color={0,0,127})); + connect(lim.y,y) + annotation (Line(points={{142,90},{200,90},{200,0},{240,0}},color={0,0,127})); + connect(antWinErr.y, antWinGai1.u) + annotation (Line(points={{182,60},{190,60},{190,-20},{182,-20}}, color={0,0,127})); + connect(addPD.u2,Dzero.y) + annotation (Line(points={{18,128},{-10,128},{-10,100},{-28,100}}, + color={0,0,127})); + connect(D.y,addPD.u2) + annotation (Line(points={{-28,70},{-10,70},{-10,128},{18,128}},color={0,0,127})); + connect(addPID.u2,I.y) + annotation (Line(points={{78,84},{68,84},{68,0},{-28,0}},color={0,0,127})); + connect(addRes.y,I.y_reset_in) + annotation (Line(points={{-78,-80},{-60,-80},{-60,-8},{-52,-8}},color={0,0,127})); + connect(antWinErr.u2,lim.y) + annotation (Line(points={{158,54},{150,54},{150,90},{142,90}}, color={0,0,127})); + connect(errI1.y,errI2.u1) + annotation (Line(points={{-118,6},{-102,6}}, color={0,0,127})); + connect(controlError.u1,u_s) + annotation (Line(points={{-202,0},{-240,0}}, color={0,0,127})); + connect(cheYMinMax.y,assMesYMinMax.u) + annotation (Line(points={{162,130},{178,130}}, color={255,0,255})); + connect(Izero.y,addPID.u2) + annotation (Line(points={{-28,30},{58,30},{58,84},{78,84}}, + color={0,0,127})); + connect(errP.u1,uS_revAct.y) + annotation (Line(points={{-142,146},{-170,146},{-170,40},{-178,40}},color={0,0,127})); + connect(errD.u1,uS_revAct.y) + annotation (Line(points={{-142,76},{-170,76},{-170,40},{-178,40}},color={0,0,127})); + connect(addPD.u1, P.y) + annotation (Line(points={{18,140},{-28,140}}, color={0,0,127})); + connect(addPID.y, lim.u) + annotation (Line(points={{102,90},{118,90}},color={0,0,127})); + connect(addPID.y, antWinErr.u1) + annotation (Line(points={{102,90},{114,90},{114,66},{158,66}},color={0,0,127})); + connect(addRes.u1, yResSig.y) + annotation (Line(points={{-102,-74},{-118,-74}}, color={0,0,127})); + connect(u_m, controlError.u2) + annotation (Line(points={{0,-220},{0,-160},{-210,-160},{-210,-12},{-202,-12}}, + color={0,0,127})); + connect(uMea_revAct.y, errP.u2) + annotation (Line(points={{-178,-40},{-150,-40},{-150,134},{-142,134}}, color={0,0,127})); + connect(uMea_revAct.y, errI1.u2) + annotation (Line(points={{-178,-40},{-150,-40},{-150,0},{-142,0}}, color={0,0,127})); + connect(addPD.y, addRes.u2) + annotation (Line(points={{42,134},{50,134},{50,-100},{-110,-100},{-110,-86}, + {-102,-86}}, color={0,0,127})); + connect(errP.y, P.u2) + annotation (Line(points={{-118,140},{-74,140},{-74,134},{-52,134}}, color={0,0,127})); + connect(P.u1, k) + annotation (Line(points={{-52,146},{-70,146},{-70,188},{-212,188},{-212,180}, + {-240,180}}, color={0,0,127})); + connect(antWinGai1.y, antWinGai2.u1) + annotation (Line(points={{158,-20},{140,-20},{140,-14},{102,-14}}, + color={0,0,127})); + connect(antWinGai2.u2, k) + annotation (Line(points={{102,-26},{108,-26},{108,188},{-212,188},{-212,180}, + {-240,180}}, color={0,0,127})); + connect(antWinGai2.y, errI2.u2) + annotation (Line(points={{78,-20},{-110,-20},{-110,-6},{-102,-6}}, + color={0,0,127})); + connect(gaiI.u1, k) + annotation (Line(points={{-202,132},{-212,132},{-212,180},{-240,180}}, color={0,0,127})); + connect(gaiI.u2, Ti) + annotation (Line(points={{-202,120},{-240,120}}, color={0,0,127})); + connect(gaiI.y, errIWithGai.u1) + annotation (Line(points={{-178,126},{-100,126},{-100,44},{-86,44}},color={0,0,127})); + connect(errI2.y, errIWithGai.u2) + annotation (Line(points={{-78,0},{-70,0},{-70,20},{-100,20},{-100,32},{-86, + 32}}, color={0,0,127})); + connect(errIWithGai.y, I.u) + annotation (Line(points={{-62,38},{-60,38},{-60,0},{-52,0}}, color={0,0,127})); + connect(mulkTd.u1, k) + annotation (Line(points={{-202,166},{-212,166},{-212,180},{-240,180}},color={0,0,127})); + connect(greThrkTd.y, assMeskTd.u) + annotation (Line(points={{162,170},{178,170}}, color={255,0,255})); + connect(mulkTd.y, greThrkTd.u) + annotation (Line(points={{-178,160},{-168,160},{-168,184},{132,184},{132, + 170},{138,170}}, color={0,0,127})); + connect(mulkTd.u2, Td) + annotation (Line(points={{-202,154},{-206,154},{-206,60},{-240,60}},color={0,0,127})); + connect(Td, gaiT.u) + annotation (Line(points={{-240,60},{-180,60},{-180,110},{-142,110}}, color={0,0,127})); + connect(gaiT.y, D.T) + annotation (Line(points={{-118,110},{-84,110},{-84,74},{-52,74}}, color={0,0,127})); + connect(mulkTd.y, D.k) annotation (Line(points={{-178,160},{-168,160},{-168, + 184},{-80,184},{-80,78},{-52,78}}, color={0,0,127})); + annotation ( + defaultComponentName="conPID", + Icon( + coordinateSystem( + extent={{-100,-100},{100,100}}), + graphics={ + Rectangle( + extent={{-100,-100},{100,100}}, + lineColor={0,0,127}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Rectangle( + extent={{-6,-20},{66,-66}}, + lineColor={255,255,255}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Text( + visible=(controllerType == IBPSA.Controls.OBC.CDL.Types.SimpleController.P), + extent={{-32,-22},{68,-62}}, + textColor={0,0,0}, + textString="P", + fillPattern=FillPattern.Solid, + fillColor={175,175,175}), + Text( + visible=(controllerType == IBPSA.Controls.OBC.CDL.Types.SimpleController.PI), + extent={{-26,-22},{74,-62}}, + textColor={0,0,0}, + textString="PI", + fillPattern=FillPattern.Solid, + fillColor={175,175,175}), + Text( + visible=(controllerType == IBPSA.Controls.OBC.CDL.Types.SimpleController.PD), + extent={{-16,-22},{88,-62}}, + textColor={0,0,0}, + fillPattern=FillPattern.Solid, + fillColor={175,175,175}, + textString="P D"), + Text( + visible=(controllerType == IBPSA.Controls.OBC.CDL.Types.SimpleController.PID), + extent={{-14,-22},{86,-62}}, + textColor={0,0,0}, + textString="PID", + fillPattern=FillPattern.Solid, + fillColor={175,175,175}), + Polygon( + points={{-80,82},{-88,60},{-72,60},{-80,82}}, + lineColor={192,192,192}, + fillColor={192,192,192}, + fillPattern=FillPattern.Solid), + Line( + points={{-80,68},{-80,-100}}, + color={192,192,192}), + Line( + points={{-90,-80},{70,-80}}, + color={192,192,192}), + Polygon( + points={{74,-80},{52,-72},{52,-88},{74,-80}}, + lineColor={192,192,192}, + fillColor={192,192,192}, + fillPattern=FillPattern.Solid), + Text( + extent={{-150,150},{150,110}}, + textString="%name", + textColor={0,0,255}), + Line( + points={{-80,-80},{-80,-22}}, + color={0,0,0}), + Line( + points={{-80,-22},{6,56}}, + color={0,0,0}), + Line( + points={{6,56},{68,56}}, + color={0,0,0}), + Rectangle( + extent=DynamicSelect({{100,-100},{84,-100}},{{100,-100},{84,-100+(y-yMin)/(yMax-yMin)*200}}), + fillColor={175,175,175}, + fillPattern=FillPattern.Solid, + pattern=LinePattern.None, + lineColor={0,0,0})}), + Diagram( + coordinateSystem( + extent={{-220,-200},{220,200}}), graphics={Rectangle( + extent={{-56,180},{-24,-16}}, + fillColor={215,215,215}, + fillPattern=FillPattern.Solid, + pattern=LinePattern.None), Text( + extent={{-52,184},{-28,156}}, + pattern=LinePattern.None, + fillColor={215,215,215}, + fillPattern=FillPattern.Solid, + textColor={0,0,0}, + textString="PID")}), + Documentation( + info=" +

+PID controller in the standard form +

+

+yu = k/r   (e(t) + 1 ⁄ Ti   ∫ e(τ) dτ + Td d⁄dt e(t)), +

+

+with output reset, +where +yu is the control signal before output limitation, +e(t) = us(t) - um(t) is the control error, +with us being the set point and um being +the measured quantity, +k is the gain, +Ti is the time constant of the integral term, +Td is the time constant of the derivative term, +r is a scaling factor, with default r=1. +The scaling factor should be set to the typical order of magnitude of the range of the error e. +For example, you may set r=100 to r=1000 +if the control input is a pressure of a heating water circulation pump in units of Pascal, or +leave r=1 if the control input is a room temperature. +

+

+Note that the units of k are the inverse of the units of the control error, +while the units of Ti and Td are seconds. +

+

+The actual control output is +

+

+y = min( ymax, max( ymin, y)), +

+

+where ymin and ymax are limits for the control signal. +

+

+This block is identical to + +IBPSA.Controls.OBC.CDL.Reals.PIDWithReset, +except that the controller gains +k, Ti and Td are inputs rather than parameters. +

+

P, PI, PD, or PID action

+

+Through the parameter controllerType, the controller can be configured +as P, PI, PD or PID controller. The default configuration is PI. +

+

Reverse or direct action

+

+Through the parameter reverseActing, the controller can be configured to +be reverse or direct acting. +The above standard form is reverse acting, which is the default configuration. +For a reverse acting controller, for a constant set point, +an increase in measurement signal u_m decreases the control output signal y +(Montgomery and McDowall, 2008). +Thus, +

+ +

+If reverseAction=false, then the error e above is multiplied by -1. +

+

Anti-windup compensation

+

+The controller anti-windup compensation is as follows: +Instead of the above basic control law, the implementation is +

+

+yu = k   (e(t) ⁄ r + 1 ⁄ Ti   ∫ (-Δy + e(τ) ⁄ r) dτ + Td ⁄ r d⁄dt e(t)), +

+

+where the anti-windup compensation Δy is +

+

+Δy = (yu - y) ⁄ (k Ni), +

+

+where +Ni > 0 is the time constant for the anti-windup compensation. +To accelerate the anti-windup, decrease Ni. +

+

+Note that the anti-windup term (-Δy + e(τ) ⁄ r) shows that the range of +the typical control error r should be set to a reasonable value so that +

+

+e(τ) ⁄ r = (us(τ) - um(τ)) ⁄ r +

+

+has order of magnitude one, and hence the anti-windup compensation should work well. +

+

Reset of the controller output

+

+Whenever the value of boolean input signal trigger changes from +false to true, the controller output is reset by setting +y to the value of the parameter y_reset. +

+

Approximation of the derivative term

+

+The derivative of the control error d ⁄ dt e(t) is approximated using +

+

+d⁄dt x(t) = (e(t)-x(t)) Nd ⁄ Td, +

+

+and +

+

+d⁄dt e(t) ≈ Nd (e(t)-x(t)), +

+

+where x(t) is an internal state. +

+

Guidance for tuning the control gains

+

+The parameters of the controller can be manually adjusted by performing +closed loop tests (= controller + plant connected +together) and using the following strategy: +

+
    +
  1. Set very large limits, e.g., set ymax = 1000. +
  2. +
  3. +Select a P-controller and manually enlarge the parameter k +(the total gain of the controller) until the closed-loop response +cannot be improved any more. +
  4. +
  5. +Select a PI-controller and manually adjust the parameters +k and Ti (the time constant of the integrator). +The first value of Ti can be selected such that it is in the +order of the time constant of the oscillations occurring with +the P-controller. If, e.g., oscillations in the order of 100 seconds +occur in the previous step, start with Ti=1/100 seconds. +
  6. +
  7. +If you want to make the reaction of the control loop faster +(but probably less robust against disturbances and measurement noise) +select a PID-controller and manually adjust parameters +k, Ti, Td (time constant of derivative block). +
  8. +
  9. +Set the limits yMax and yMin according to your specification. +
  10. +
  11. +Perform simulations such that the output of the PID controller +goes in its limits. Tune Ni (Ni Ti is the time constant of +the anti-windup compensation) such that the input to the limiter +block (= lim.u) goes quickly enough back to its limits. +If Ni is decreased, this happens faster. If Ni is very large, the +anti-windup compensation is not effective and the controller works bad. +
  12. +
+

References

+

+R. Montgomery and R. McDowall (2008). +\"Fundamentals of HVAC Control Systems.\" +American Society of Heating Refrigerating and Air-Conditioning Engineers Inc. Atlanta, GA. +

+", +revisions=" + +")); +end PIDWithInputGains; diff --git a/IBPSA/Controls/OBC/Utilities/SetPoints/SupplyReturnTemperatureReset.mo b/IBPSA/Controls/OBC/Utilities/SetPoints/SupplyReturnTemperatureReset.mo new file mode 100644 index 0000000000..f0178cee30 --- /dev/null +++ b/IBPSA/Controls/OBC/Utilities/SetPoints/SupplyReturnTemperatureReset.mo @@ -0,0 +1,486 @@ +within IBPSA.Controls.OBC.Utilities.SetPoints; +block SupplyReturnTemperatureReset + "Block to compute the supply and return set point" + parameter Real m=1.3 + "Exponent for heat transfer"; + parameter Real TSup_nominal( + final quantity="ThermodynamicTemperature", + final unit="K", + displayUnit="degC") + "Supply temperature" + annotation (Dialog(group="Nominal conditions")); + parameter Real TRet_nominal( + final quantity="ThermodynamicTemperature", + final unit="K", + displayUnit="degC") + "Return temperature" + annotation (Dialog(group="Nominal conditions")); + parameter Real TZon_nominal( + final quantity="ThermodynamicTemperature", + final unit="K", + displayUnit="degC")=293.15 + "Zone temperature" + annotation (Dialog(group="Nominal conditions")); + parameter Real TOut_nominal( + final quantity="ThermodynamicTemperature", + final unit="K", + displayUnit="degC") + "Outside temperature" + annotation (Dialog(group="Nominal conditions")); + parameter Real dTOutHeaBal( + final quantity="TemperatureDifference", + final unit="K", + displayUnit="K")=8 + "Offset for heating curve"; + CDL.Interfaces.RealInput TSetZon( + final quantity="ThermodynamicTemperature", + final unit="K", + displayUnit="degC", + min=200) + "Zone setpoint temperature" + annotation (Placement(transformation(extent={{-140,-80},{-100,-40}}))); + CDL.Interfaces.RealInput TOut( + final quantity="ThermodynamicTemperature", + final unit="K", + displayUnit="degC", + min=200) + "Outside temperature" + annotation (Placement(transformation(extent={{-140,40},{-100,80}}))); + CDL.Interfaces.RealOutput TSup( + final quantity="ThermodynamicTemperature", + final unit="K", + displayUnit="degC", + min=200) + "Setpoint for supply temperature" + annotation (Placement(transformation(extent={{100,40},{140,80}}))); + CDL.Interfaces.RealOutput TRet( + final quantity="ThermodynamicTemperature", + final unit="K", + displayUnit="degC", + min=200) + "Setpoint for return temperature" + annotation (Placement(transformation(extent={{100,-80},{140,-40}}))); + +protected + CDL.Reals.Sources.Constant dTOutHeaBal_nominal( + final k=dTOutHeaBal, + y(final quantity="TemperatureDifference", + final unit="K")) + "Offset of outdoor temperature to take into account heat gain" + annotation (Placement(transformation(extent={{-80,-10},{-60,10}}))); + CDL.Reals.Sources.Constant TSup_nom( + final k=TSup_nominal, + y(final quantity="ThermodynamicTemperature", + final unit="K", + displayUnit="degC")) + "Heating supply water temperature at nominal condition" + annotation (Placement(transformation(extent={{-80,160},{-60,180}}))); + CDL.Reals.Sources.Constant TZon_nom( + final k=TZon_nominal, + y(final quantity="ThermodynamicTemperature", + final unit="K", + displayUnit="degC")) + "Zone temperature at design condition" + annotation (Placement(transformation(extent={{-80,80},{-60,100}}))); + CDL.Reals.Sources.Constant zer( + final k=1E-100) + "Small positive constant to avoid log(0)" + annotation (Placement(transformation(extent={{0,60},{20,80}}))); + CDL.Reals.Sources.Constant TRet_nom( + final k=TRet_nominal, + y(final quantity="ThermodynamicTemperature", + final unit="K", + displayUnit="degC")) + "Heating return water temperature at nominal condition" + annotation (Placement(transformation(extent={{-80,120},{-60,140}}))); + CDL.Reals.Sources.Constant TOut_nom( + final k=TOut_nominal, + y(final quantity="ThermodynamicTemperature", + final unit="K", + displayUnit="degC")) + "Outside temperature at design condition" + annotation (Placement(transformation(extent={{-80,38},{-60,58}}))); + CDL.Reals.Sources.Constant expM( + final k=m) + "Exponent of heat transfer" + annotation (Placement(transformation(extent={{-80,-180},{-60,-160}}))); + CDL.Reals.Sources.Constant one( + final k=1) + "Outputs 1" + annotation (Placement(transformation(extent={{-80,-140},{-60,-120}}))); + CDL.Reals.Add TOutOffSet( + y(final quantity="ThermodynamicTemperature", + final unit="K", + displayUnit="degC")) + "Effective outside temperature for heat transfer (takes into account zone heat gains)" + annotation (Placement(transformation(extent={{-80,-58},{-60,-38}}))); + CDL.Reals.Subtract qRelDen( + y(final quantity="ThermodynamicTemperature", + final unit="K", + displayUnit="degC")) + "Denominator for relative heating load calculation" + annotation (Placement(transformation(extent={{-40,74},{-20,94}}))); + CDL.Reals.Subtract qRelNum( + y(final quantity="ThermodynamicTemperature", + final unit="K", + displayUnit="degC")) + "Numerator for relative heating load calculation" + annotation (Placement(transformation(extent={{-40,-52},{-20,-32}}))); + CDL.Reals.Divide qRel "Relative heating load = Q_flow/Q_flow_nominal" + annotation (Placement(transformation(extent={{0,24},{20,44}}))); + CDL.Reals.Subtract dTFlu2_nom + "Heating supply minus return water temperature at nominal condition" + annotation (Placement(transformation(extent={{-40,150},{-20,170}}))); + CDL.Reals.Average TFluAve_nominal( + y(final quantity="ThermodynamicTemperature", + final unit="K", + displayUnit="degC")) + "Average heating water temperature at nominal condition" + annotation (Placement(transformation(extent={{-40,120},{-20,140}}))); + CDL.Reals.Subtract dTFluAve_nominal( + y(final quantity="TemperatureDifference", + final unit="K")) + "Average heating water temperature minus room temperature at nominal condition" + annotation (Placement(transformation(extent={{36,110},{56,130}}))); + CDL.Reals.Divide mInv "Inverse of heat transfer exponent, y = 1/m" + annotation (Placement(transformation(extent={{-40,-160},{-20,-140}}))); + CDL.Reals.Add TAve( + y(final quantity="ThermodynamicTemperature", + final unit="K", + displayUnit="degC")) + "Average of supply and return temperature" + annotation (Placement(transformation(extent={{-40,276},{-20,296}}))); + CDL.Reals.Add TSupCur( + y(final quantity="ThermodynamicTemperature", + final unit="K", + displayUnit="degC")) + "Current supply water temperature" + annotation (Placement(transformation(extent={{42,270},{62,290}}))); + CDL.Reals.Subtract TRetCur( + y(final quantity="ThermodynamicTemperature", + final unit="K", + displayUnit="degC")) + "Current return water temperature" + annotation (Placement(transformation(extent={{40,238},{60,258}}))); + CDL.Reals.Max qRel0 + "Relative heating load, but always non-zero value" + annotation (Placement(transformation(extent={{32,30},{52,50}}))); + CDL.Reals.Multiply pro "Product used to compute q^(1/m)" + annotation (Placement(transformation(extent={{-40,-110},{-20,-90}}))); + CDL.Reals.Exp qRaiInvM + "Outputs qRel^(1/m)" + annotation (Placement(transformation(extent={{0,-110},{20,-90}}))); + CDL.Reals.Log log1 + "Logarithm used for evaluation of qRel^(1/m)" + annotation (Placement(transformation(extent={{-80,-110},{-60,-90}}))); + CDL.Reals.Multiply dTQ(y( + final quantity="TemperatureDifference", + final unit="K")) "Temperature contribution due to qRel^(1/m)" + annotation (Placement(transformation(extent={{-80,220},{-60,240}}))); + CDL.Reals.Multiply dTFlu(y( + final quantity="TemperatureDifference", + final unit="K")) "Supply minus return water temperature" + annotation (Placement(transformation(extent={{0,220},{20,240}}))); + CDL.Reals.Add TOutOffSet_nominal( + y(final quantity="ThermodynamicTemperature", + final unit="K", + displayUnit="degC")) + "Effective outside temperature for heat transfer at nominal condition (takes into account zone heat gains)" + annotation (Placement(transformation(extent={{-44,32},{-24,52}}))); + CDL.Reals.MultiplyByParameter gai( + final k=0.5, + y(final quantity="TemperatureDifference", + final unit="K")) "Gain factor" + annotation (Placement(transformation(extent={{0,150},{20,170}}))); + +equation + connect(dTOutHeaBal_nominal.y,TOutOffSet.u1) + annotation (Line(points={{-58,0},{-52,0},{-52,-28},{-86,-28},{-86,-42},{-82,-42}},color={0,0,127})); + connect(TOut,TOutOffSet.u2) + annotation (Line(points={{-120,60},{-90,60},{-90,-54},{-82,-54}},color={0,0,127})); + connect(TZon_nom.y,qRelDen.u1) + annotation (Line(points={{-58,90},{-42,90}},color={0,0,127})); + connect(qRel.y,qRel0.u2) + annotation (Line(points={{22,34},{30,34}},color={0,0,127})); + connect(zer.y,qRel0.u1) + annotation (Line(points={{22,70},{26,70},{26,46},{30,46}},color={0,0,127})); + connect(dTFlu2_nom.u1,TSup_nom.y) + annotation (Line(points={{-42,166},{-48,166},{-48,170},{-58,170}},color={0,0,127})); + connect(dTFlu2_nom.u2,TRet_nom.y) + annotation (Line(points={{-42,154},{-52,154},{-52,130},{-58,130}},color={0,0,127})); + connect(TFluAve_nominal.u1,TSup_nom.y) + annotation (Line(points={{-42,136},{-48,136},{-48,170},{-58,170}},color={0,0,127})); + connect(TRet_nom.y,TFluAve_nominal.u2) + annotation (Line(points={{-58,130},{-52,130},{-52,124},{-42,124}},color={0,0,127})); + connect(dTFluAve_nominal.u2,TZon_nom.y) + annotation (Line(points={{34,114},{-50,114},{-50,90},{-58,90}},color={0,0,127})); + connect(qRel0.y,log1.u) + annotation (Line(points={{54,40},{64,40},{64,-80},{-90,-80},{-90,-100},{-82,-100}},color={0,0,127})); + connect(one.y,mInv.u1) + annotation (Line(points={{-58,-130},{-50,-130},{-50,-144},{-42,-144}},color={0,0,127})); + connect(expM.y,mInv.u2) + annotation (Line(points={{-58,-170},{-50,-170},{-50,-156},{-42,-156}},color={0,0,127})); + connect(log1.y,pro.u1) + annotation (Line(points={{-58,-100},{-50,-100},{-50,-94},{-42,-94}},color={0,0,127})); + connect(pro.u2,mInv.y) + annotation (Line(points={{-42,-106},{-48,-106},{-48,-120},{-10,-120},{-10,-150},{-18,-150}},color={0,0,127})); + connect(qRaiInvM.u,pro.y) + annotation (Line(points={{-2,-100},{-18,-100}},color={0,0,127})); + connect(dTQ.u1,dTFluAve_nominal.y) + annotation (Line(points={{-82,236},{-92,236},{-92,204},{60,204},{60,120},{58, + 120}}, color={0,0,127})); + connect(qRaiInvM.y,dTQ.u2) + annotation (Line(points={{22,-100},{46,-100},{46,-98},{70,-98},{70,206},{-90,206},{-90,224},{-82,224}},color={0,0,127})); + connect(TSetZon,TAve.u1) + annotation (Line(points={{-120,-60},{-94,-60},{-94,292},{-42,292}},color={0,0,127})); + connect(TAve.u2,dTQ.y) + annotation (Line(points={{-42,280},{-52,280},{-52,230},{-58,230}},color={0,0,127})); + connect(qRel0.y,dTFlu.u2) + annotation (Line(points={{54,40},{64,40},{64,216},{-6,216},{-6,224},{-2,224}},color={0,0,127})); + connect(TSupCur.u1,TAve.y) + annotation (Line(points={{40,286},{-18,286}},color={0,0,127})); + connect(dTFlu.y,TSupCur.u2) + annotation (Line(points={{22,230},{32,230},{32,274},{40,274}},color={0,0,127})); + connect(TSupCur.y,TSup) + annotation (Line(points={{64,280},{88,280},{88,60},{120,60}},color={0,0,127})); + connect(TRetCur.u1,TAve.y) + annotation (Line(points={{38,254},{12,254},{12,286},{-18,286}},color={0,0,127})); + connect(TRetCur.u2,dTFlu.y) + annotation (Line(points={{38,242},{32,242},{32,230},{22,230}},color={0,0,127})); + connect(TRetCur.y,TRet) + annotation (Line(points={{62,248},{80,248},{80,-60},{120,-60}},color={0,0,127})); + connect(qRel.u1,qRelNum.y) + annotation (Line(points={{-2,40},{-12,40},{-12,-42},{-18,-42}},color={0,0,127})); + connect(qRel.u2,qRelDen.y) + annotation (Line(points={{-2,28},{-6,28},{-6,84},{-18,84}},color={0,0,127})); + connect(TOutOffSet_nominal.u1,TOut_nom.y) + annotation (Line(points={{-46,48},{-58,48}},color={0,0,127})); + connect(dTOutHeaBal_nominal.y,TOutOffSet_nominal.u2) + annotation (Line(points={{-58,0},{-52,0},{-52,36},{-46,36}},color={0,0,127})); + connect(TOutOffSet_nominal.y,qRelDen.u2) + annotation (Line(points={{-22,42},{-20,42},{-20,66},{-50,66},{-50,78},{-42,78}},color={0,0,127})); + connect(TSetZon, qRelNum.u1) annotation (Line(points={{-120,-60},{-48,-60},{-48, + -36},{-42,-36}}, color={0,0,127})); + connect(TOutOffSet.y, qRelNum.u2) + annotation (Line(points={{-58,-48},{-42,-48}}, color={0,0,127})); + connect(dTFlu2_nom.y, gai.u) + annotation (Line(points={{-18,160},{-2,160}}, color={0,0,127})); + connect(gai.y, dTFlu.u1) annotation (Line(points={{22,160},{28,160},{28,180},{ + -10,180},{-10,236},{-2,236}}, color={0,0,127})); + connect(TFluAve_nominal.y, dTFluAve_nominal.u1) annotation (Line(points={{-18, + 130},{10,130},{10,126},{34,126}}, color={0,0,127})); + annotation ( + defaultComponentName="watRes", + Documentation( + info=" +

+This block computes the set point temperatures for the +supply and return water temperature. +The set point for the zone air temperature can be an input to the model. +It allows to use this model with systems that have night set back. +

+

+If used to reset the temperature in a heating system, +the parameter dTOutHeaBal can be used to shift the heating curve +to take into account that heat gains from solar, equipment and people +make up for some of the transmission losses. +For example, in energy efficient houses, the heating may not be switched on if +the outside air temperature is greater than +12°C, even if a zone temperature of 20°C is required. +In such a situation, set dTOutHeaBal=20-12=8 Kelvin to +shift the heating curve. +

+

Typical usage

+

+The figure below shows a typical usage for a hot water temperature reset +for a heating system. +The parameters of the block heaCur +are for a heating system with +60°C supply water temperature and +40°C return water temperature at +an outside temperature of +-10°C and a room temperature of +20°C. The offset for the temperature reset is +8 Kelvin, i.e., above +12°C outside temperature, there is no heating load. +The figure shows the computed supply and return water temperatures. +

+

+ +

+", + revisions=" + +"), + Icon( + coordinateSystem( + extent={{-100,-100},{100,100}}), + graphics={ + Rectangle( + extent={{-100,-100},{100,100}}, + lineColor={0,0,127}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Polygon( + points={{90,-82},{68,-74},{68,-90},{90,-82}}, + lineColor={192,192,192}, + fillColor={192,192,192}, + fillPattern=FillPattern.Solid), + Line( + points={{-90,-82},{82,-82}}, + color={192,192,192}), + Line( + points={{-80,76},{-80,-92}}, + color={192,192,192}), + Polygon( + points={{-80,88},{-88,66},{-72,66},{-80,86},{-80,88}}, + lineColor={192,192,192}, + fillColor={192,192,192}, + fillPattern=FillPattern.Solid), + Line( + points={{-80,-82},{60,32}}), + Line( + points={{-80,-82},{-42,-38},{4,2},{60,32}}, + smooth=Smooth.Bezier), + Line( + points={{-80,-82},{-58,-42},{-4,8},{60,32}}, + smooth=Smooth.Bezier), + Text( + extent={{-152,120},{-102,70}}, + textColor={0,0,127}, + textString="TOut"), + Text( + extent={{-152,-4},{-102,-54}}, + textColor={0,0,127}, + textString="TSetZon"), + Text( + extent={{40,86},{90,36}}, + textColor={0,0,127}, + textString="TSup"), + Text( + extent={{42,-30},{92,-80}}, + textColor={0,0,127}, + textString="TRet"), + Text( + extent={{-150,150},{150,110}}, + textString="%name", + textColor={0,0,255})}), + Diagram( + coordinateSystem( + extent={{-100,-200},{100,340}}), + graphics={ + Rectangle( + extent={{-84,320},{76,212}}, + lineColor={0,0,0}, + fillColor={215,215,215}, + fillPattern=FillPattern.Solid, + pattern=LinePattern.None), + Text( + extent={{-34,318},{66,306}}, + textColor={0,0,255}, + fillColor={215,215,215}, + fillPattern=FillPattern.Solid, + horizontalAlignment=TextAlignment.Left, + textString="Current fluid setpoint temperatures"), + Rectangle( + extent={{-84,-84},{76,-192}}, + lineColor={0,0,0}, + fillColor={215,215,215}, + fillPattern=FillPattern.Solid, + pattern=LinePattern.None), + Text( + extent={{-26,-178},{74,-190}}, + textColor={0,0,255}, + fillColor={215,215,215}, + fillPattern=FillPattern.Solid, + horizontalAlignment=TextAlignment.Left, + textString="Computation of qRel^(1/m)"), + Rectangle( + extent={{-86,200},{-16,-22}}, + lineColor={0,0,0}, + fillColor={215,215,215}, + fillPattern=FillPattern.Solid, + pattern=LinePattern.None), + Text( + extent={{-84,198},{-36,190}}, + textColor={0,0,255}, + fillColor={215,215,215}, + fillPattern=FillPattern.Solid, + horizontalAlignment=TextAlignment.Left, + textString="Nominal values"), + Rectangle( + extent={{-10,102},{58,-22}}, + lineColor={0,0,0}, + fillColor={215,215,215}, + fillPattern=FillPattern.Solid, + pattern=LinePattern.None), + Text( + extent={{-4,98},{56,90}}, + textColor={0,0,255}, + fillColor={215,215,215}, + fillPattern=FillPattern.Solid, + horizontalAlignment=TextAlignment.Left, + textString="Guard against 0^(1/m)"), + Rectangle( + extent={{-84,-28},{58,-76}}, + lineColor={0,0,0}, + fillColor={215,215,215}, + fillPattern=FillPattern.Solid, + pattern=LinePattern.None), + Text( + extent={{-6,-68},{60,-76}}, + textColor={0,0,255}, + fillColor={215,215,215}, + fillPattern=FillPattern.Solid, + horizontalAlignment=TextAlignment.Left, + textString="Numerator for qRel")})); +end SupplyReturnTemperatureReset; diff --git a/IBPSA/Controls/OBC/Utilities/SetPoints/Validation/SupplyReturnTemperatureReset.mo b/IBPSA/Controls/OBC/Utilities/SetPoints/Validation/SupplyReturnTemperatureReset.mo new file mode 100644 index 0000000000..9fb1d42a71 --- /dev/null +++ b/IBPSA/Controls/OBC/Utilities/SetPoints/Validation/SupplyReturnTemperatureReset.mo @@ -0,0 +1,103 @@ +within IBPSA.Controls.OBC.Utilities.SetPoints.Validation; +model SupplyReturnTemperatureReset + "Test model for the heating curve" + IBPSA.Controls.OBC.Utilities.SetPoints.SupplyReturnTemperatureReset heaCur( + m=1, + TSup_nominal=333.15, + TRet_nominal=313.15, + TOut_nominal=263.15) + "Compute the supply and return set point of heating systems with varying outdoor temperature" + annotation (Placement(transformation(extent={{20,30},{40,50}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp TOut( + height=40, + duration=1, + offset=263.15, + y(unit="K")) + "Outdoor temperature varying from -10 degC to 30 degC" + annotation (Placement(transformation(extent={{-60,50},{-40,70}}))); + IBPSA.Controls.OBC.Utilities.SetPoints.SupplyReturnTemperatureReset heaCur1( + m=1, + dTOutHeaBal=15, + TSup_nominal=333.15, + TRet_nominal=313.15, + TOut_nominal=263.15) + "Compute the supply and return set point of heating systems with changing room setpoint temperature" + annotation (Placement(transformation(extent={{20,-50},{40,-30}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Pulse TRoo1( + offset=273.15+20, + shift=0.5, + amplitude=-5, + period=1, + y(unit="K")) + "Night set back from 20 degC to 15 degC" + annotation (Placement(transformation(extent={{-60,-70},{-40,-50}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Constant TOut1( + k=273.15-10, + y(unit="K")) + "Constant outdoor air temperature" + annotation (Placement(transformation(extent={{-60,-30},{-40,-10}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Constant TRoo( + k=273.15+20, + y(unit="K")) + "Room temperature 20 degC" + annotation (Placement(transformation(extent={{-60,10},{-40,30}}))); + +equation + connect(TOut1.y,heaCur1.TOut) + annotation (Line(points={{-38,-20},{-38,-20},{0,-20},{0,-34},{18,-34}},color={0,0,127})); + connect(TOut.y,heaCur.TOut) + annotation (Line(points={{-38,60},{-38,60},{0,60},{0,46},{18,46}},color={0,0,127})); + connect(TRoo.y,heaCur.TSetZon) + annotation (Line(points={{-38,20},{0,20},{0,34},{18,34}},color={0,0,127})); + connect(TRoo1.y,heaCur1.TSetZon) + annotation (Line(points={{-38,-60},{0,-60},{0,-46},{18,-46}},color={0,0,127})); + annotation ( + experiment( + Tolerance=1e-6, + StopTime=1.0), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/Utilities/SetPoints/Validation/SupplyReturnTemperatureReset.mos" "Simulate and plot"), + Documentation( + info=" +

+Example that demonstrates the use of the hot water temperature reset +for a heating system. +The parameters of the block heaCur +are for a heating system with +60°C supply water temperature and +40°C return water temperature at +an outside temperature of +-10°C and a room temperature of +20°C. The offset for the temperature reset is +8 Kelvin, i.e., above +12°C outside temperature, there is no heating load. +The figure below shows the computed supply and return water temperatures. +

+

+ +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end SupplyReturnTemperatureReset; diff --git a/IBPSA/Controls/OBC/Utilities/SetPoints/Validation/SupplyReturnTemperatureResetExponent.mo b/IBPSA/Controls/OBC/Utilities/SetPoints/Validation/SupplyReturnTemperatureResetExponent.mo new file mode 100644 index 0000000000..b536e9207b --- /dev/null +++ b/IBPSA/Controls/OBC/Utilities/SetPoints/Validation/SupplyReturnTemperatureResetExponent.mo @@ -0,0 +1,75 @@ +within IBPSA.Controls.OBC.Utilities.SetPoints.Validation; +model SupplyReturnTemperatureResetExponent + "Test model for the heating curve with different exponent" + IBPSA.Controls.OBC.Utilities.SetPoints.SupplyReturnTemperatureReset heaCur( + m=1, + TSup_nominal=313.15, + TRet_nominal=308.15, + TOut_nominal=263.15) + "Compute the supply and return set point of heating systems with varying outdoor temperature and m=1" + annotation (Placement(transformation(extent={{20,30},{40,50}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Ramp TOut( + height=30, + duration=1, + offset=258.15, + y(unit="K")) + "Outdoor temperature varying from -10 degC to 30 degC" + annotation (Placement(transformation(extent={{-60,50},{-40,70}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Constant TRoo( + k=273.15+20, + y(unit="K")) + "Room temperature 20 degC" + annotation (Placement(transformation(extent={{-60,10},{-40,30}}))); + IBPSA.Controls.OBC.Utilities.SetPoints.SupplyReturnTemperatureReset heaCurM( + m=1.3, + TSup_nominal=313.15, + TRet_nominal=308.15, + TOut_nominal=263.15) + "Compute the supply and return set point of heating systems with varying outdoor temperature and m=1.3" + annotation (Placement(transformation(extent={{20,-20},{40,0}}))); + +equation + connect(TOut.y,heaCur.TOut) + annotation (Line(points={{-38,60},{-38,60},{0,60},{0,46},{18,46}},color={0,0,127})); + connect(TRoo.y,heaCur.TSetZon) + annotation (Line(points={{-38,20},{-10,20},{-10,34},{18,34}},color={0,0,127})); + connect(heaCurM.TOut,TOut.y) + annotation (Line(points={{18,-4},{0,-4},{0,60},{-38,60}},color={0,0,127})); + connect(TRoo.y,heaCurM.TSetZon) + annotation (Line(points={{-38,20},{-10,20},{-10,-16},{18,-16}},color={0,0,127})); + annotation ( + experiment( + Tolerance=1e-6, + StopTime=1.0), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/Utilities/SetPoints/Validation/SupplyReturnTemperatureResetExponent.mos" "Simulate and plot"), + Documentation( + info=" +

+Example that demonstrates the use of the hot water temperature reset +for a heating system. +Both instances are identical except that heaCurM sets m=1.3. +

+", + revisions=" + +"), + Icon( + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})})); +end SupplyReturnTemperatureResetExponent; diff --git a/IBPSA/Controls/OBC/Utilities/SetPoints/Validation/package.mo b/IBPSA/Controls/OBC/Utilities/SetPoints/Validation/package.mo new file mode 100644 index 0000000000..be8825a472 --- /dev/null +++ b/IBPSA/Controls/OBC/Utilities/SetPoints/Validation/package.mo @@ -0,0 +1,37 @@ +within IBPSA.Controls.OBC.Utilities.SetPoints; +package Validation "Collection of models that validate the SetPoints blocks of the CDL" + annotation ( + preferredView="info", + Documentation( + info=" +

+This package contains models that validate the blocks in + +IBPSA.Controls.OBC.Utilities.SetPoints. +

+

+The examples plot various outputs, which have been verified against +analytical solutions. These model outputs are stored as reference data to +allow continuous validation whenever models in the library change. +

+"), + Icon( + graphics={ + Rectangle( + lineColor={200,200,200}, + fillColor={248,248,248}, + fillPattern=FillPattern.HorizontalCylinder, + extent={{-100.0,-100.0},{100.0,100.0}}, + radius=25.0), + Rectangle( + lineColor={128,128,128}, + extent={{-100.0,-100.0},{100.0,100.0}}, + radius=25.0), + Polygon( + origin={8.0,14.0}, + lineColor={78,138,73}, + fillColor={78,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-58.0,46.0},{42.0,-14.0},{-58.0,-74.0},{-58.0,46.0}})})); +end Validation; diff --git a/IBPSA/Controls/OBC/Utilities/SetPoints/Validation/package.order b/IBPSA/Controls/OBC/Utilities/SetPoints/Validation/package.order new file mode 100644 index 0000000000..cf5551e9de --- /dev/null +++ b/IBPSA/Controls/OBC/Utilities/SetPoints/Validation/package.order @@ -0,0 +1,2 @@ +SupplyReturnTemperatureReset +SupplyReturnTemperatureResetExponent diff --git a/IBPSA/Controls/OBC/Utilities/SetPoints/package.mo b/IBPSA/Controls/OBC/Utilities/SetPoints/package.mo new file mode 100644 index 0000000000..1a7c371b65 --- /dev/null +++ b/IBPSA/Controls/OBC/Utilities/SetPoints/package.mo @@ -0,0 +1,46 @@ +within IBPSA.Controls.OBC.Utilities; +package SetPoints "Package with blocks for setpoint resets" + annotation ( + preferredView="info", + Documentation( + info=" +

+This package contains components models to compute set points for control systems. +

+"), + Icon( + graphics={ + Rectangle( + lineColor={200,200,200}, + fillColor={248,248,248}, + fillPattern=FillPattern.HorizontalCylinder, + extent={{-100.0,-100.0},{100.0,100.0}}, + radius=25.0), + Rectangle( + lineColor={128,128,128}, + extent={{-100.0,-100.0},{100.0,100.0}}, + radius=25.0), + Ellipse( + origin={10.0,10.0}, + fillColor={76,76,76}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + extent={{-80.0,-80.0},{-20.0,-20.0}}), + Ellipse( + origin={10.0,10.0}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + extent={{0.0,-80.0},{60.0,-20.0}}), + Ellipse( + origin={10.0,10.0}, + fillColor={128,128,128}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + extent={{0.0,0.0},{60.0,60.0}}), + Ellipse( + origin={10.0,10.0}, + lineColor={128,128,128}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-80.0,0.0},{-20.0,60.0}})})); +end SetPoints; diff --git a/IBPSA/Controls/OBC/Utilities/SetPoints/package.order b/IBPSA/Controls/OBC/Utilities/SetPoints/package.order new file mode 100644 index 0000000000..b51882f1ee --- /dev/null +++ b/IBPSA/Controls/OBC/Utilities/SetPoints/package.order @@ -0,0 +1,2 @@ +SupplyReturnTemperatureReset +Validation diff --git a/IBPSA/Controls/OBC/Utilities/Validation/OptimalStartCoolingNegativeStartTime.mo b/IBPSA/Controls/OBC/Utilities/Validation/OptimalStartCoolingNegativeStartTime.mo new file mode 100644 index 0000000000..dc4e71e72c --- /dev/null +++ b/IBPSA/Controls/OBC/Utilities/Validation/OptimalStartCoolingNegativeStartTime.mo @@ -0,0 +1,153 @@ +within IBPSA.Controls.OBC.Utilities.Validation; +model OptimalStartCoolingNegativeStartTime + "Validation model for the block OptimalStart for cooling system with a negative start time" + IBPSA.Controls.OBC.Utilities.OptimalStart optStaCoo( + computeHeating=false, + computeCooling=true) + "Optimal start for cooling system" + annotation (Placement(transformation(extent={{20,0},{40,20}}))); + Modelica.Blocks.Continuous.Integrator TRoo( + k=0.0000005, + y_start=24+273.15) + "Room air temperature" + annotation (Placement(transformation(extent={{-40,0},{-20,20}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Constant TSetCooOcc( + k=24+273.15) + "Zone cooling setpoint during occupancy" + annotation (Placement(transformation(extent={{-40,70},{-20,90}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Sin TOut( + amplitude=5, + freqHz=1/86400, + offset=28+273.15, + startTime( + displayUnit="s")=-691200) + "Outdoor dry bulb temperature to test cooling system" + annotation (Placement(transformation(extent={{-194,50},{-174,70}}))); + IBPSA.Controls.OBC.CDL.Reals.MultiplyByParameter UA(k=100) + "Overall heat loss coefficient" + annotation (Placement(transformation(extent={{-120,0},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Reals.Subtract dT + "Temperature difference between zone and outdoor" + annotation (Placement(transformation(extent={{-160,0},{-140,20}}))); + IBPSA.Controls.OBC.CDL.Reals.Add dTdt + "Temperature derivative" + annotation (Placement(transformation(extent={{-80,0},{-60,20}}))); + IBPSA.Controls.OBC.CDL.Reals.MultiplyByParameter QCoo(k=-2000) + "Heat extraction in the zone" + annotation (Placement(transformation(extent={{-120,-60},{-100,-40}}))); + IBPSA.Controls.OBC.CDL.Conversions.BooleanToReal booToRea( + realTrue=-6) + "Convert Boolean to Real signal" + annotation (Placement(transformation(extent={{60,0},{80,20}}))); + IBPSA.Controls.OBC.CDL.Reals.Add add + "Reset setpoint from unoccupied to occupied during optimal start period" + annotation (Placement(transformation(extent={{120,0},{140,20}}))); + IBPSA.Controls.OBC.CDL.Reals.PID conPID( + controllerType=IBPSA.Controls.OBC.CDL.Types.SimpleController.PI, + Ti=1, + reverseActing=false) + "PI control signal for the cooling power" + annotation (Placement(transformation(extent={{160,0},{180,20}}))); + IBPSA.Controls.SetPoints.OccupancySchedule occSch( + occupancy=3600*{7,19}, + period=24*3600) + "Daily schedule" + annotation (Placement(transformation(extent={{-40,-60},{-20,-40}}))); + IBPSA.Controls.OBC.CDL.Conversions.BooleanToReal TSetCoo( + realTrue=273.15+24, + realFalse=273.15+30, + y(final unit="K", + displayUnit="degC")) + "Room temperature set point for cooling" + annotation (Placement(transformation(extent={{60,-60},{80,-40}}))); + +equation + connect(dT.y,UA.u) + annotation (Line(points={{-138,10},{-122,10}},color={0,0,127})); + connect(dTdt.y,TRoo.u) + annotation (Line(points={{-58,10},{-42,10}},color={0,0,127})); + connect(QCoo.y,dTdt.u2) + annotation (Line(points={{-98,-50},{-88,-50},{-88,4},{-82,4}},color={0,0,127})); + connect(TRoo.y,optStaCoo.TZon) + annotation (Line(points={{-19,10},{-8,10},{-8,6},{18,6}},color={0,0,127})); + connect(TSetCooOcc.y,optStaCoo.TSetZonCoo) + annotation (Line(points={{-18,80},{0,80},{0,14},{18,14}},color={0,0,127})); + connect(UA.y,dTdt.u1) + annotation (Line(points={{-98,10},{-90,10},{-90,16},{-82,16}},color={0,0,127})); + connect(optStaCoo.optOn,booToRea.u) + annotation (Line(points={{42,6},{50,6},{50,10},{58,10}},color={255,0,255})); + connect(add.y,conPID.u_s) + annotation (Line(points={{142,10},{158,10}},color={0,0,127})); + connect(TRoo.y,conPID.u_m) + annotation (Line(points={{-19,10},{-14,10},{-14,-20},{170,-20},{170,-2}},color={0,0,127})); + connect(occSch.tNexOcc,optStaCoo.tNexOcc) + annotation (Line(points={{-19,-44},{0,-44},{0,2},{18,2}},color={0,0,127})); + connect(conPID.y,QCoo.u) + annotation (Line(points={{182,10},{188,10},{188,-80},{-130,-80},{-130,-50},{-122,-50}},color={0,0,127})); + connect(occSch.occupied,TSetCoo.u) + annotation (Line(points={{-19,-56},{10,-56},{10,-50},{58,-50}},color={255,0,255})); + connect(TSetCoo.y,add.u2) + annotation (Line(points={{82,-50},{110,-50},{110,4},{118,4}},color={0,0,127})); + connect(booToRea.y,add.u1) + annotation (Line(points={{82,10},{86,10},{86,16},{118,16}},color={0,0,127})); + connect(TRoo.y, dT.u2) + annotation (Line(points={{-19,10},{-14,10},{-14,-20},{-166,-20},{-166,4},{-162,4}}, + color={0,0,127})); + connect(TOut.y, dT.u1) + annotation (Line(points={{-172,60},{-166,60},{-166,16},{-162,16}}, color={0,0,127})); + + annotation ( + experiment( + StartTime=-660000, + StopTime=0, + Tolerance=1e-07), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/Utilities/Validation/OptimalStartCoolingNegativeStartTime.mos" "Simulate and plot"), + Documentation( + info=" +

+This model is to validate the block + +IBPSA.Controls.OBC.Utilities.OptimalStart for space cooling system with +a negative simulation start time. +

+

+The room is modeled as a simple differential equation with a time constant of +around 5.6 hours. The cooling power is relatively large compared to the heat gain from +the outdoor temperature. The outdoor temperature is repetitive each day; +the optimal start time converges to a small amount of time tOpt after a few days. +

+", + revisions=" + +"), + Icon( + coordinateSystem( + preserveAspectRatio=false, + extent={{-100,-100},{100,100}}), + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})}), + Diagram( + coordinateSystem( + preserveAspectRatio=false, + extent={{-200,-160},{200,160}}))); +end OptimalStartCoolingNegativeStartTime; diff --git a/IBPSA/Controls/OBC/Utilities/Validation/OptimalStartCoolingPositiveStartTime.mo b/IBPSA/Controls/OBC/Utilities/Validation/OptimalStartCoolingPositiveStartTime.mo new file mode 100644 index 0000000000..0b9a9ed6f1 --- /dev/null +++ b/IBPSA/Controls/OBC/Utilities/Validation/OptimalStartCoolingPositiveStartTime.mo @@ -0,0 +1,152 @@ +within IBPSA.Controls.OBC.Utilities.Validation; +model OptimalStartCoolingPositiveStartTime + "Validation model for the block OptimalStart for cooling system with a positive start time" + IBPSA.Controls.OBC.Utilities.OptimalStart optStaCoo( + computeHeating=false, + computeCooling=true) + "Optimal start for cooling system" + annotation (Placement(transformation(extent={{20,0},{40,20}}))); + Modelica.Blocks.Continuous.Integrator TRoo( + k=0.0000005, + y_start=24+273.15) + "Room air temperature" + annotation (Placement(transformation(extent={{-40,0},{-20,20}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Constant TSetCooOcc( + k=24+273.15) + "Zone cooling setpoint during occupancy" + annotation (Placement(transformation(extent={{-40,70},{-20,90}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Sin TOut( + amplitude=5, + freqHz=1/86400, + offset=28+273.15, + startTime( + displayUnit="s")=0) + "Outdoor dry bulb temperature to test cooling system" + annotation (Placement(transformation(extent={{-194,40},{-174,60}}))); + IBPSA.Controls.OBC.CDL.Reals.MultiplyByParameter UA(k=100) + "Overall heat loss coefficient" + annotation (Placement(transformation(extent={{-120,0},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Reals.Subtract dT + "Temperature difference between zone and outdoor" + annotation (Placement(transformation(extent={{-160,0},{-140,20}}))); + IBPSA.Controls.OBC.CDL.Reals.Add dTdt + "Temperature derivative" + annotation (Placement(transformation(extent={{-80,0},{-60,20}}))); + IBPSA.Controls.OBC.CDL.Reals.MultiplyByParameter QCoo(k=-2000) + "Heat extraction in the zone" + annotation (Placement(transformation(extent={{-120,-60},{-100,-40}}))); + IBPSA.Controls.OBC.CDL.Conversions.BooleanToReal booToRea( + realTrue=-6) + "Convert Boolean to Real signal" + annotation (Placement(transformation(extent={{60,0},{80,20}}))); + IBPSA.Controls.OBC.CDL.Reals.Add add + "Reset setpoint from unoccupied to occupied during optimal start period" + annotation (Placement(transformation(extent={{120,0},{140,20}}))); + IBPSA.Controls.OBC.CDL.Reals.PID conPID( + controllerType=IBPSA.Controls.OBC.CDL.Types.SimpleController.PI, + Ti=1, + reverseActing=false) + "PI control signal for the cooling power" + annotation (Placement(transformation(extent={{160,0},{180,20}}))); + IBPSA.Controls.SetPoints.OccupancySchedule occSch( + occupancy=3600*{7,19}, + period=24*3600) + "Daily schedule" + annotation (Placement(transformation(extent={{-40,-60},{-20,-40}}))); + IBPSA.Controls.OBC.CDL.Conversions.BooleanToReal TSetCoo( + realTrue=273.15+24, + realFalse=273.15+30, + y(final unit="K", + displayUnit="degC")) + "Room temperature set point for cooling" + annotation (Placement(transformation(extent={{60,-60},{80,-40}}))); + +equation + connect(dT.y,UA.u) + annotation (Line(points={{-138,10},{-122,10}},color={0,0,127})); + connect(dTdt.y,TRoo.u) + annotation (Line(points={{-58,10},{-42,10}},color={0,0,127})); + connect(QCoo.y,dTdt.u2) + annotation (Line(points={{-98,-50},{-88,-50},{-88,4},{-82,4}},color={0,0,127})); + connect(TRoo.y,optStaCoo.TZon) + annotation (Line(points={{-19,10},{-8,10},{-8,6},{18,6}},color={0,0,127})); + connect(TSetCooOcc.y,optStaCoo.TSetZonCoo) + annotation (Line(points={{-18,80},{0,80},{0,14},{18,14}},color={0,0,127})); + connect(UA.y,dTdt.u1) + annotation (Line(points={{-98,10},{-90,10},{-90,16},{-82,16}},color={0,0,127})); + connect(optStaCoo.optOn,booToRea.u) + annotation (Line(points={{42,6},{50,6},{50,10},{58,10}},color={255,0,255})); + connect(add.y,conPID.u_s) + annotation (Line(points={{142,10},{158,10}},color={0,0,127})); + connect(TRoo.y,conPID.u_m) + annotation (Line(points={{-19,10},{-14,10},{-14,-20},{170,-20},{170,-2}},color={0,0,127})); + connect(occSch.tNexOcc,optStaCoo.tNexOcc) + annotation (Line(points={{-19,-44},{0,-44},{0,2},{18,2}},color={0,0,127})); + connect(conPID.y,QCoo.u) + annotation (Line(points={{182,10},{188,10},{188,-80},{-130,-80},{-130,-50},{-122,-50}},color={0,0,127})); + connect(occSch.occupied,TSetCoo.u) + annotation (Line(points={{-19,-56},{10,-56},{10,-50},{58,-50}},color={255,0,255})); + connect(TSetCoo.y,add.u2) + annotation (Line(points={{82,-50},{100,-50},{100,4},{118,4}},color={0,0,127})); + connect(booToRea.y,add.u1) + annotation (Line(points={{82,10},{100,10},{100,16},{118,16}},color={0,0,127})); + connect(TRoo.y, dT.u2) annotation (Line(points={{-19,10},{-14,10},{-14,-20},{-166, + -20},{-166,4},{-162,4}}, color={0,0,127})); + connect(TOut.y, dT.u1) annotation (Line(points={{-172,50},{-166,50},{-166,16}, + {-162,16}}, color={0,0,127})); + + annotation ( + experiment( + StartTime=34000, + StopTime=864000, + Tolerance=1e-07), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/Utilities/Validation/OptimalStartCoolingPositiveStartTime.mos" "Simulate and plot"), + Documentation( + info=" +

+This model is to validate the block + +IBPSA.Controls.OBC.Utilities.OptimalStart for space cooling system +with a positive simulation start time. +

+

+The room is modeled as a simple differential equation with a time constant of +around 5.6 hours. The cooling power is relatively large compared to the heat gain from +the outdoor temperature. The outdoor temperature is repetitive each day; +the optimal start time converges to a small amount of time tOpt after a few days. +

+", + revisions=" + +"), + Icon( + coordinateSystem( + preserveAspectRatio=false, + extent={{-100,-100},{100,100}}), + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})}), + Diagram( + coordinateSystem( + preserveAspectRatio=false, + extent={{-200,-160},{200,160}}))); +end OptimalStartCoolingPositiveStartTime; diff --git a/IBPSA/Controls/OBC/Utilities/Validation/OptimalStartHeating.mo b/IBPSA/Controls/OBC/Utilities/Validation/OptimalStartHeating.mo new file mode 100644 index 0000000000..25a9e4ac57 --- /dev/null +++ b/IBPSA/Controls/OBC/Utilities/Validation/OptimalStartHeating.mo @@ -0,0 +1,150 @@ +within IBPSA.Controls.OBC.Utilities.Validation; +model OptimalStartHeating + "Validation model for the block OptimalStart for heating system" + IBPSA.Controls.OBC.Utilities.OptimalStart optStaHea( + computeHeating=true, + computeCooling=false) + "Optimal start for heating system" + annotation (Placement(transformation(extent={{20,0},{40,20}}))); + Modelica.Blocks.Continuous.Integrator TRoo( + k=0.000005, + y_start=21+273.15) + "Room air temperature" + annotation (Placement(transformation(extent={{-40,0},{-20,20}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Constant TSetHeaOcc( + k=21+273.15) + "Zone heating setpoint during occupancy" + annotation (Placement(transformation(extent={{-40,70},{-20,90}}))); + IBPSA.Controls.SetPoints.OccupancySchedule occSch( + occupancy=3600*{7,19}, + period=24*3600) + "Daily schedule" + annotation (Placement(transformation(extent={{-40,-60},{-20,-40}}))); + IBPSA.Controls.OBC.CDL.Reals.MultiplyByParameter UA(k=10) + "Overall heat loss coefficient" + annotation (Placement(transformation(extent={{-120,0},{-100,20}}))); + IBPSA.Controls.OBC.CDL.Reals.Subtract dT + "Temperature difference between zone and outdoor" + annotation (Placement(transformation(extent={{-160,0},{-140,20}}))); + IBPSA.Controls.OBC.CDL.Reals.Add dTdt + "Temperature derivative" + annotation (Placement(transformation(extent={{-80,0},{-60,20}}))); + IBPSA.Controls.OBC.CDL.Reals.MultiplyByParameter QHea(k=500) + "Heat injection in the zone" + annotation (Placement(transformation(extent={{-120,-60},{-100,-40}}))); + IBPSA.Controls.OBC.CDL.Conversions.BooleanToReal booToRea( + realTrue=6) + "Convert Boolean to Real signal" + annotation (Placement(transformation(extent={{60,0},{80,20}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Sin TOut( + amplitude=10, + freqHz=1/86400, + phase=3.1415926535898, + offset=10+273.15, + startTime( + displayUnit="d")=-172800) + "Outdoor dry bulb temperature to test heating system" + annotation (Placement(transformation(extent={{-194,40},{-174,60}}))); + IBPSA.Controls.OBC.CDL.Reals.PID conPID( + controllerType=IBPSA.Controls.OBC.CDL.Types.SimpleController.PI, + Ti=1.5) + "PI control for space heating" + annotation (Placement(transformation(extent={{160,0},{180,20}}))); + IBPSA.Controls.OBC.CDL.Reals.Add add + "Reset temperature from unoccupied to occupied for optimal start period" + annotation (Placement(transformation(extent={{120,0},{140,20}}))); + IBPSA.Controls.OBC.CDL.Conversions.BooleanToReal TSetHea( + realTrue=273.15+21, + realFalse=273.15+15, + y(final unit="K", + displayUnit="degC")) + "Room temperature set point for heating" + annotation (Placement(transformation(extent={{60,-60},{80,-40}}))); + +equation + connect(dT.y,UA.u) + annotation (Line(points={{-138,10},{-122,10}},color={0,0,127})); + connect(dTdt.y,TRoo.u) + annotation (Line(points={{-58,10},{-42,10}},color={0,0,127})); + connect(QHea.y,dTdt.u2) + annotation (Line(points={{-98,-50},{-88,-50},{-88,4},{-82,4}},color={0,0,127})); + connect(TRoo.y,optStaHea.TZon) + annotation (Line(points={{-19,10},{-12,10},{-12,6},{18,6}},color={0,0,127})); + connect(occSch.tNexOcc,optStaHea.tNexOcc) + annotation (Line(points={{-19,-44},{0,-44},{0,2},{18,2}},color={0,0,127})); + connect(TSetHeaOcc.y,optStaHea.TSetZonHea) + annotation (Line(points={{-18,80},{0,80},{0,18},{18,18}},color={0,0,127})); + connect(UA.y,dTdt.u1) + annotation (Line(points={{-98,10},{-90,10},{-90,16},{-82,16}},color={0,0,127})); + connect(add.y,conPID.u_s) + annotation (Line(points={{142,10},{158,10}},color={0,0,127})); + connect(conPID.y,QHea.u) + annotation (Line(points={{182,10},{184,10},{184,-70},{-126,-70},{-126,-50},{-122,-50}},color={0,0,127})); + connect(TRoo.y,conPID.u_m) + annotation (Line(points={{-19,10},{-12,10},{-12,-16},{170,-16},{170,-2}},color={0,0,127})); + connect(optStaHea.optOn,booToRea.u) + annotation (Line(points={{42,6},{50,6},{50,10},{58,10}},color={255,0,255})); + connect(TSetHea.u,occSch.occupied) + annotation (Line(points={{58,-50},{10,-50},{10,-56},{-19,-56}},color={255,0,255})); + connect(TSetHea.y,add.u2) + annotation (Line(points={{82,-50},{104,-50},{104,4},{118,4}},color={0,0,127})); + connect(booToRea.y,add.u1) + annotation (Line(points={{82,10},{104,10},{104,16},{118,16}},color={0,0,127})); + connect(TOut.y, dT.u1) annotation (Line(points={{-172,50},{-166,50},{-166,16}, + {-162,16}}, color={0,0,127})); + connect(TRoo.y, dT.u2) annotation (Line(points={{-19,10},{-12,10},{-12,-16},{-166, + -16},{-166,4},{-162,4}}, color={0,0,127})); + annotation ( + experiment( + StartTime=-172800, + StopTime=604800, + Tolerance=1e-07), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/Utilities/Validation/OptimalStartHeating.mos" "Simulate and plot"), + Documentation( + info=" +

+This model is to validate the block + +IBPSA.Controls.OBC.Utilities.OptimalStart for space heating system. +

+

+The room is modeled as a simple differential equation with a time constant of +around 5.6 hours. +The outdoor temperature is also repetitive each day; +the optimal start time converges to a small amount of time tOpt after a few days. +

+", + revisions=" + +"), + Icon( + coordinateSystem( + preserveAspectRatio=false, + extent={{-100,-100},{100,100}}), + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})}), + Diagram( + coordinateSystem( + preserveAspectRatio=false, + extent={{-200,-160},{200,160}}))); +end OptimalStartHeating; diff --git a/IBPSA/Controls/OBC/Utilities/Validation/OptimalStartHeatingCooling.mo b/IBPSA/Controls/OBC/Utilities/Validation/OptimalStartHeatingCooling.mo new file mode 100644 index 0000000000..8cb555570f --- /dev/null +++ b/IBPSA/Controls/OBC/Utilities/Validation/OptimalStartHeatingCooling.mo @@ -0,0 +1,211 @@ +within IBPSA.Controls.OBC.Utilities.Validation; +model OptimalStartHeatingCooling + "Validation model for the block OptimalStart for both heating and cooling system" + IBPSA.Controls.OBC.Utilities.OptimalStart optSta( + computeHeating=true, + computeCooling=true) + "Optimal start for both heating and cooling system" + annotation (Placement(transformation(extent={{40,0},{60,20}}))); + Modelica.Blocks.Continuous.Integrator TRoo( + k=0.0000004, + y_start=19+273.15) + "Room air temperature" + annotation (Placement(transformation(extent={{-20,0},{0,20}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Constant TSetCooOcc( + k=24+273.15) + "Zone cooling setpoint during occupancy" + annotation (Placement(transformation(extent={{-20,60},{0,80}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Sin TOutBase( + amplitude=5, + freqHz=1/86400, + offset=15+273.15, + startTime( + displayUnit="h")=0) + "Outdoor dry bulb temperature, base component" + annotation (Placement(transformation(extent={{-212,70},{-192,90}}))); + IBPSA.Controls.OBC.CDL.Reals.MultiplyByParameter UA(k=25) + "Overall heat loss coefficient" + annotation (Placement(transformation(extent={{-100,0},{-80,20}}))); + IBPSA.Controls.OBC.CDL.Reals.Subtract dT + "Temperature difference between zone and outdoor" + annotation (Placement(transformation(extent={{-140,0},{-120,20}}))); + IBPSA.Controls.OBC.CDL.Reals.MultiplyByParameter QCoo(k=-4000) + "Heat extraction in the zone" + annotation (Placement(transformation(extent={{-100,-40},{-80,-20}}))); + IBPSA.Controls.OBC.CDL.Conversions.BooleanToReal booToRea1( + realTrue=-6) + "Convert Boolean to Real signal" + annotation (Placement(transformation(extent={{80,0},{100,20}}))); + IBPSA.Controls.OBC.CDL.Reals.Add add1 + "Reset temperature from unoccupied to occupied for optimal start period" + annotation (Placement(transformation(extent={{140,0},{160,20}}))); + IBPSA.Controls.OBC.CDL.Reals.PID conPID1( + controllerType=IBPSA.Controls.OBC.CDL.Types.SimpleController.PI, + Ti=3, + reverseActing=false) + "PI control for space cooling" + annotation (Placement(transformation(extent={{180,0},{200,20}}))); + IBPSA.Controls.SetPoints.OccupancySchedule occSch( + occupancy=3600*{7,19}, + period=24*3600) + "Daily schedule" + annotation (Placement(transformation(extent={{-20,-60},{0,-40}}))); + IBPSA.Controls.OBC.CDL.Reals.MultiSum mulSum( + nin=3) + "Sum heat gains" + annotation (Placement(transformation(extent={{-60,0},{-40,20}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Constant TSetHeaOcc( + k=21+273.15) + "Zone heating setpoint during occupancy" + annotation (Placement(transformation(extent={{-20,100},{0,120}}))); + IBPSA.Controls.OBC.CDL.Conversions.BooleanToReal booToRea2( + realTrue=6) + "Convert Boolean to Real signal" + annotation (Placement(transformation(extent={{80,40},{100,60}}))); + IBPSA.Controls.OBC.CDL.Reals.Add add2 + "Reset temperature from unoccupied to occupied for optimal start period" + annotation (Placement(transformation(extent={{140,40},{160,60}}))); + IBPSA.Controls.OBC.CDL.Reals.PID conPID( + controllerType=IBPSA.Controls.OBC.CDL.Types.SimpleController.PI, + Ti=3) + "PI control for space heating" + annotation (Placement(transformation(extent={{180,40},{200,60}}))); + IBPSA.Controls.OBC.CDL.Reals.MultiplyByParameter QHea(k=2000) + "Heat injection in the zone" + annotation (Placement(transformation(extent={{-100,-110},{-80,-90}}))); + IBPSA.Controls.OBC.CDL.Reals.Add TOut + "Outdoor dry bulb temperature" + annotation (Placement(transformation(extent={{-174,50},{-154,70}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Pulse pul( + shift( + displayUnit="d")=604800, + amplitude=15, + period( + displayUnit="d")=1209600) + "Range of outdoor dry bulb temperature" + annotation (Placement(transformation(extent={{-214,30},{-194,50}}))); + IBPSA.Controls.OBC.CDL.Conversions.BooleanToReal TSetHea( + realTrue=273.15+21, + realFalse=273.15+15, + y(final unit="K", + displayUnit="degC")) + "Room temperature set point for heating" + annotation (Placement(transformation(extent={{80,-70},{100,-50}}))); + IBPSA.Controls.OBC.CDL.Conversions.BooleanToReal TSetCoo( + realTrue=273.15+24, + realFalse=273.15+30, + y(final unit="K", + displayUnit="degC")) + "Room temperature set point for cooling" + annotation (Placement(transformation(extent={{80,-40},{100,-20}}))); + +equation + connect(dT.y,UA.u) + annotation (Line(points={{-118,10},{-102,10}},color={0,0,127})); + connect(TRoo.y,optSta.TZon) + annotation (Line(points={{1,10},{10,10},{10,6},{38,6}},color={0,0,127})); + connect(TSetCooOcc.y,optSta.TSetZonCoo) + annotation (Line(points={{2,70},{10,70},{10,14},{38,14}},color={0,0,127})); + connect(optSta.optOn,booToRea1.u) + annotation (Line(points={{62,6},{70,6},{70,10},{78,10}},color={255,0,255})); + connect(add1.y,conPID1.u_s) + annotation (Line(points={{162,10},{178,10}},color={0,0,127})); + connect(TRoo.y,conPID1.u_m) + annotation (Line(points={{1,10},{6,10},{6,-6},{190,-6},{190,-2}},color={0,0,127})); + connect(occSch.tNexOcc,optSta.tNexOcc) + annotation (Line(points={{1,-44},{10,-44},{10,2},{38,2}},color={0,0,127})); + connect(UA.y,mulSum.u[1]) + annotation (Line(points={{-78,10},{-70,10},{-70,11.3333},{-62,11.3333}},color={0,0,127})); + connect(TRoo.u,mulSum.y) + annotation (Line(points={{-22,10},{-38,10}},color={0,0,127})); + connect(TSetHeaOcc.y,optSta.TSetZonHea) + annotation (Line(points={{2,110},{14,110},{14,18},{38,18}},color={0,0,127})); + connect(optSta.optOn,booToRea2.u) + annotation (Line(points={{62,6},{70,6},{70,50},{78,50}},color={255,0,255})); + connect(add2.y,conPID.u_s) + annotation (Line(points={{162,50},{178,50}},color={0,0,127})); + connect(conPID1.y,QCoo.u) + annotation (Line(points={{202,10},{210,10},{210,-80},{-110,-80},{-110,-30},{-102,-30}},color={0,0,127})); + connect(conPID.y,QHea.u) + annotation (Line(points={{202,50},{212,50},{212,-130},{-108,-130},{-108,-100},{-102,-100}},color={0,0,127})); + connect(QCoo.y,mulSum.u[2]) + annotation (Line(points={{-78,-30},{-70,-30},{-70,10},{-62,10}},color={0,0,127})); + connect(QHea.y,mulSum.u[3]) + annotation (Line(points={{-78,-100},{-68,-100},{-68,8.66667},{-62,8.66667}},color={0,0,127})); + connect(TOutBase.y,TOut.u1) + annotation (Line(points={{-190,80},{-182,80},{-182,66},{-176,66}}, color={0,0,127})); + connect(pul.y,TOut.u2) + annotation (Line(points={{-192,40},{-180,40},{-180,54},{-176,54}}, color={0,0,127})); + connect(TSetCoo.y,add1.u2) + annotation (Line(points={{102,-30},{130,-30},{130,4},{138,4}},color={0,0,127})); + connect(occSch.occupied,TSetCoo.u) + annotation (Line(points={{1,-56},{60,-56},{60,-30},{78,-30}},color={255,0,255})); + connect(TSetHea.u,occSch.occupied) + annotation (Line(points={{78,-60},{60,-60},{60,-56},{1,-56}},color={255,0,255})); + connect(booToRea1.y,add1.u1) + annotation (Line(points={{102,10},{120,10},{120,16},{138,16}},color={0,0,127})); + connect(booToRea2.y,add2.u1) + annotation (Line(points={{102,50},{120,50},{120,56},{138,56}},color={0,0,127})); + connect(TSetHea.y,add2.u2) + annotation (Line(points={{102,-60},{126,-60},{126,44},{138,44}},color={0,0,127})); + connect(TRoo.y, conPID.u_m) annotation (Line(points={{1,10},{6,10},{6,34},{190, + 34},{190,38}}, color={0,0,127})); + connect(TOut.y, dT.u1) annotation (Line(points={{-152,60},{-146,60},{-146,16}, + {-142,16}}, color={0,0,127})); + connect(TRoo.y, dT.u2) annotation (Line(points={{1,10},{6,10},{6,-6},{-146,-6}, + {-146,4},{-142,4}}, color={0,0,127})); + annotation ( + experiment( + StopTime=2419200, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/Utilities/Validation/OptimalStartHeatingCooling.mos" "Simulate and plot"), + Documentation( + info=" +

+This models validates both space heating and cooling for the block + +IBPSA.Controls.OBC.Utilities.OptimalStart. +

+

+The first ten days is to test the heating case with a lower outdoor temperature. +The next ten days has a higher outdoor temprature, which is to test the cooling case. +The zone model has a time constant of 27.8 hours. The optimal start block converges separately +to an optimal start time for heating and cooling. Note that during the three transition +days, the zone temperature is in the deadband, so there is no need to optimally start +the heating or cooling system in advance. +

+", + revisions=" + +"), + Icon( + coordinateSystem( + preserveAspectRatio=false, + extent={{-100,-100},{100,100}}), + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})}), + Diagram( + coordinateSystem( + preserveAspectRatio=false, + extent={{-220,-160},{220,160}}))); +end OptimalStartHeatingCooling; diff --git a/IBPSA/Controls/OBC/Utilities/Validation/OptimalStartNoHeatingNoCooling.mo b/IBPSA/Controls/OBC/Utilities/Validation/OptimalStartNoHeatingNoCooling.mo new file mode 100644 index 0000000000..bde745e1b6 --- /dev/null +++ b/IBPSA/Controls/OBC/Utilities/Validation/OptimalStartNoHeatingNoCooling.mo @@ -0,0 +1,196 @@ +within IBPSA.Controls.OBC.Utilities.Validation; +model OptimalStartNoHeatingNoCooling + "Validation model for the block OptimalStart for the case with no preheating nor precooling" + IBPSA.Controls.OBC.Utilities.OptimalStart optSta( + computeHeating=false, + computeCooling=false) + "Optimal start for both heating and cooling system" + annotation (Placement(transformation(extent={{40,0},{60,20}}))); + Modelica.Blocks.Continuous.Integrator TRoo( + k=0.0000004, + y_start=19+273.15) + "Room air temperature" + annotation (Placement(transformation(extent={{-20,0},{0,20}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Sin TOutBase( + amplitude=5, + freqHz=1/86400, + offset=15+273.15, + startTime( + displayUnit="h")=0) + "Outdoor dry bulb temperature, base component" + annotation (Placement(transformation(extent={{-212,70},{-192,90}}))); + IBPSA.Controls.OBC.CDL.Reals.MultiplyByParameter UA(k=25) + "Overall heat loss coefficient" + annotation (Placement(transformation(extent={{-100,0},{-80,20}}))); + IBPSA.Controls.OBC.CDL.Reals.Subtract dT + "Temperature difference between zone and outdoor" + annotation (Placement(transformation(extent={{-140,0},{-120,20}}))); + IBPSA.Controls.OBC.CDL.Reals.MultiplyByParameter QCoo(k=-4000) + "Heat extraction in the zone" + annotation (Placement(transformation(extent={{-100,-40},{-80,-20}}))); + IBPSA.Controls.OBC.CDL.Conversions.BooleanToReal booToRea1( + realTrue=-6) + "Convert Boolean to Real signal" + annotation (Placement(transformation(extent={{80,0},{100,20}}))); + IBPSA.Controls.OBC.CDL.Reals.Add add1 + "Reset temperature from unoccupied to occupied for optimal start period" + annotation (Placement(transformation(extent={{140,0},{160,20}}))); + IBPSA.Controls.OBC.CDL.Reals.PID conPID1( + controllerType=IBPSA.Controls.OBC.CDL.Types.SimpleController.PI, + Ti=3, + reverseActing=false) + "PI control for space cooling" + annotation (Placement(transformation(extent={{180,0},{200,20}}))); + IBPSA.Controls.SetPoints.OccupancySchedule occSch( + occupancy=3600*{7,19}, + period=24*3600) + "Daily schedule" + annotation (Placement(transformation(extent={{-20,-60},{0,-40}}))); + IBPSA.Controls.OBC.CDL.Reals.MultiSum mulSum( + nin=3) + "Sum heat gains" + annotation (Placement(transformation(extent={{-60,0},{-40,20}}))); + IBPSA.Controls.OBC.CDL.Conversions.BooleanToReal booToRea2( + realTrue=6) + "Convert Boolean to Real signal" + annotation (Placement(transformation(extent={{80,40},{100,60}}))); + IBPSA.Controls.OBC.CDL.Reals.Add add2 + "Reset temperature from unoccupied to occupied for optimal start period" + annotation (Placement(transformation(extent={{140,40},{160,60}}))); + IBPSA.Controls.OBC.CDL.Reals.PID conPID( + controllerType=IBPSA.Controls.OBC.CDL.Types.SimpleController.PI, + Ti=3) + "PI control for space heating" + annotation (Placement(transformation(extent={{180,40},{200,60}}))); + IBPSA.Controls.OBC.CDL.Reals.MultiplyByParameter QHea(k=2000) + "Heat injection in the zone" + annotation (Placement(transformation(extent={{-100,-110},{-80,-90}}))); + IBPSA.Controls.OBC.CDL.Reals.Add TOut + "Outdoor dry bulb temperature" + annotation (Placement(transformation(extent={{-174,50},{-154,70}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Pulse pul( + shift( + displayUnit="d")=604800, + amplitude=15, + period( + displayUnit="d")=1209600) + "Range of outdoor dry bulb temperature" + annotation (Placement(transformation(extent={{-214,30},{-194,50}}))); + IBPSA.Controls.OBC.CDL.Conversions.BooleanToReal TSetHea( + realTrue=273.15+21, + realFalse=273.15+15, + y(final unit="K", + displayUnit="degC")) + "Room temperature set point for heating" + annotation (Placement(transformation(extent={{80,-70},{100,-50}}))); + IBPSA.Controls.OBC.CDL.Conversions.BooleanToReal TSetCoo( + realTrue=273.15+24, + realFalse=273.15+30, + y(final unit="K", + displayUnit="degC")) + "Room temperature set point for cooling" + annotation (Placement(transformation(extent={{80,-40},{100,-20}}))); + +equation + connect(dT.y,UA.u) + annotation (Line(points={{-118,10},{-102,10}},color={0,0,127})); + connect(TRoo.y,optSta.TZon) + annotation (Line(points={{1,10},{10,10},{10,6},{38,6}},color={0,0,127})); + connect(optSta.optOn,booToRea1.u) + annotation (Line(points={{62,6},{70,6},{70,10},{78,10}},color={255,0,255})); + connect(add1.y,conPID1.u_s) + annotation (Line(points={{162,10},{178,10}},color={0,0,127})); + connect(TRoo.y,conPID1.u_m) + annotation (Line(points={{1,10},{6,10},{6,-12},{190,-12},{190,-2}},color={0,0,127})); + connect(occSch.tNexOcc,optSta.tNexOcc) + annotation (Line(points={{1,-44},{10,-44},{10,2},{38,2}},color={0,0,127})); + connect(UA.y,mulSum.u[1]) + annotation (Line(points={{-78,10},{-70,10},{-70,11.3333},{-62,11.3333}},color={0,0,127})); + connect(TRoo.u,mulSum.y) + annotation (Line(points={{-22,10},{-38,10}},color={0,0,127})); + connect(optSta.optOn,booToRea2.u) + annotation (Line(points={{62,6},{70,6},{70,50},{78,50}},color={255,0,255})); + connect(add2.y,conPID.u_s) + annotation (Line(points={{162,50},{178,50}},color={0,0,127})); + connect(conPID1.y,QCoo.u) + annotation (Line(points={{202,10},{210,10},{210,-80},{-110,-80},{-110,-30},{-102,-30}},color={0,0,127})); + connect(conPID.y,QHea.u) + annotation (Line(points={{202,50},{212,50},{212,-120},{-108,-120},{-108,-100},{-102,-100}},color={0,0,127})); + connect(QCoo.y,mulSum.u[2]) + annotation (Line(points={{-78,-30},{-70,-30},{-70,10},{-62,10}},color={0,0,127})); + connect(QHea.y,mulSum.u[3]) + annotation (Line(points={{-78,-100},{-68,-100},{-68,8.66667},{-62,8.66667}},color={0,0,127})); + connect(TOutBase.y,TOut.u1) + annotation (Line(points={{-190,80},{-182,80},{-182,66},{-176,66}}, color={0,0,127})); + connect(pul.y,TOut.u2) + annotation (Line(points={{-192,40},{-180,40},{-180,54},{-176,54}}, color={0,0,127})); + connect(TSetCoo.y,add1.u2) + annotation (Line(points={{102,-30},{130,-30},{130,4},{138,4}},color={0,0,127})); + connect(occSch.occupied,TSetCoo.u) + annotation (Line(points={{1,-56},{60,-56},{60,-30},{78,-30}},color={255,0,255})); + connect(TSetHea.u,occSch.occupied) + annotation (Line(points={{78,-60},{60,-60},{60,-56},{1,-56}},color={255,0,255})); + connect(TSetHea.y,add2.u2) + annotation (Line(points={{102,-60},{126,-60},{126,44},{138,44}},color={0,0,127})); + connect(booToRea2.y,add2.u1) + annotation (Line(points={{102,50},{126,50},{126,56},{138,56}},color={0,0,127})); + connect(booToRea1.y,add1.u1) + annotation (Line(points={{102,10},{120,10},{120,16},{138,16}},color={0,0,127})); + connect(TRoo.y, conPID.u_m) annotation (Line(points={{1,10},{10,10},{10,34},{190, + 34},{190,38}}, color={0,0,127})); + connect(TOut.y, dT.u1) annotation (Line(points={{-152,60},{-146,60},{-146,16}, + {-142,16}}, color={0,0,127})); + connect(TRoo.y, dT.u2) annotation (Line(points={{1,10},{6,10},{6,-12},{-146,-12}, + {-146,4},{-142,4}}, color={0,0,127})); + annotation ( + experiment( + StopTime=2419200, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/Utilities/Validation/OptimalStartNoHeatingNoCooling.mos" "Simulate and plot"), + Documentation( + info=" +

+This models validates the block + +IBPSA.Controls.OBC.Utilities.OptimalStart for the case when the optimal start +is not turned on for preheating or precooling before the scheduled occupancy. +

+

+The results shows that the optimal start time tOpt remains zero and +the optimal start on signal optOn remains false during the simulation. +

+", + revisions=" + +"), + Icon( + coordinateSystem( + preserveAspectRatio=false, + extent={{-100,-100},{100,100}}), + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})}), + Diagram( + coordinateSystem( + preserveAspectRatio=false, + extent={{-220,-160},{220,160}}))); +end OptimalStartNoHeatingNoCooling; diff --git a/IBPSA/Controls/OBC/Utilities/Validation/PIDWithInputGains.mo b/IBPSA/Controls/OBC/Utilities/Validation/PIDWithInputGains.mo new file mode 100644 index 0000000000..ad0f5dd93a --- /dev/null +++ b/IBPSA/Controls/OBC/Utilities/Validation/PIDWithInputGains.mo @@ -0,0 +1,158 @@ +within IBPSA.Controls.OBC.Utilities.Validation; +model PIDWithInputGains + "Test model for PIDWithInputGains" + IBPSA.Controls.OBC.CDL.Reals.Sources.Pulse pulse( + period=0.25) + "Setpoint" + annotation (Placement(transformation(extent={{-30,14},{-10,34}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Constant const( + k=0.5) + "Measured value" + annotation (Placement(transformation(extent={{-30,-22},{-10,-2}}))); + IBPSA.Controls.OBC.Utilities.PIDWithInputGains PIDWitInpGai( + controllerType=IBPSA.Controls.OBC.CDL.Types.SimpleController.PID) + "PID controller with input gains" + annotation (Placement(transformation(extent={{20,-30},{40,-10}}))); + IBPSA.Controls.OBC.CDL.Reals.PIDWithReset PID( + controllerType=IBPSA.Controls.OBC.CDL.Types.SimpleController.PID, + k=1, + Ti=0.5, + Td=0.1) + "PID controller with constant gains" + annotation (Placement(transformation(extent={{20,20},{40,40}}))); + IBPSA.Controls.OBC.CDL.Logical.Sources.Pulse resSig(period=1) + "Reset signal" + annotation (Placement(transformation(extent={{-80,40},{-60,60}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Pulse k( + amplitude=0.2, + width=0.4, + period=1, + shift=0.6, + offset=1) + "Control gain signal" + annotation (Placement(transformation(extent={{-80,0},{-60,20}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Pulse Ti( + amplitude=0.2, + width=0.4, + period=1, + shift=0.6, + offset=0.5) + "Time constant signal for the integral term" + annotation (Placement(transformation(extent={{-80,-40},{-60,-20}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.Pulse Td( + amplitude=0.1, + width=0.4, + period=1, + shift=0.6, + offset=0.1) + "Time constant signal for the derivative term" + annotation (Placement(transformation(extent={{-80,-80},{-60,-60}}))); + IBPSA.Controls.OBC.CDL.Reals.Abs abs1 + "Absolute value of controller output" + annotation (Placement(transformation(extent={{110,-10},{130,10}}))); + IBPSA.Controls.OBC.CDL.Reals.Subtract sub + "Difference in controller output" + annotation (Placement(transformation(extent={{80,-10},{100,10}}))); + IBPSA.Controls.OBC.CDL.Reals.LessThreshold lesThr(t=1E-5, h=1E-4) + "Output true if outputs are bigger than threshold" + annotation (Placement(transformation(extent={{140,-10},{160,10}}))); + IBPSA.Controls.OBC.CDL.Utilities.Assert assMes( + message="Control outputs differ more than expected") + "Make sure outputs are within expected tolerance" + annotation (Placement(transformation(extent={{200,20},{220,40}}))); + IBPSA.Controls.OBC.CDL.Reals.Sources.CivilTime modTim + "Civil time" + annotation (Placement(transformation(extent={{80,40},{100,60}}))); + IBPSA.Controls.OBC.CDL.Reals.GreaterThreshold greThr(t=0.59) + "Output true if model time is below 0.6" + annotation (Placement(transformation(extent={{140,40},{160,60}}))); + IBPSA.Controls.OBC.CDL.Logical.Or or2 + "Output true either if time is bigger than 0.59, or if tolerance is maintained" + annotation (Placement(transformation(extent={{170,20},{190,40}}))); +equation + connect(resSig.y, PID.trigger) annotation (Line(points={{-58,50},{0,50},{0,10}, + {24,10},{24,18}}, color={255,0,255})); + connect(PIDWitInpGai.trigger, PID.trigger) annotation (Line(points={{24, + -32},{24,-60},{0,-60},{0,10},{24,10},{24,18}}, color={255,0,255})); + connect(pulse.y, PID.u_s) annotation (Line(points={{-8,24},{14,24},{14,30},{ + 18,30}}, color={0,0,127})); + connect(PIDWitInpGai.u_s, PID.u_s) annotation (Line(points={{18,-20},{14, + -20},{14,30},{18,30}}, color={0,0,127})); + connect(const.y, PID.u_m) annotation (Line(points={{-8,-12},{8,-12},{8,0},{30, + 0},{30,18}}, color={0,0,127})); + connect(PIDWitInpGai.u_m, PID.u_m) annotation (Line(points={{30,-32},{30, + -40},{8,-40},{8,0},{30,0},{30,18}}, color={0,0,127})); + connect(k.y, PIDWitInpGai.k) annotation (Line(points={{-58,10},{-40,10},{ + -40,4},{12,4},{12,-12},{18,-12}}, color={0,0,127})); + connect(PIDWitInpGai.Ti, Ti.y) annotation (Line(points={{18,-16},{2,-16}, + {2,-30},{-58,-30}}, color={0,0,127})); + connect(PIDWitInpGai.Td, Td.y) annotation (Line(points={{18,-24},{14,-24}, + {14,-70},{-58,-70}}, color={0,0,127})); + connect(PID.y, sub.u1) + annotation (Line(points={{42,30},{50,30},{50,6},{78,6}}, color={0,0,127})); + connect(PIDWitInpGai.y, sub.u2) annotation (Line(points={{42,-20},{50,-20},{50, + -6},{78,-6}}, color={0,0,127})); + connect(sub.y, abs1.u) + annotation (Line(points={{102,0},{108,0}}, color={0,0,127})); + connect(abs1.y, lesThr.u) + annotation (Line(points={{132,0},{138,0}}, color={0,0,127})); + connect(modTim.y, greThr.u) + annotation (Line(points={{102,50},{138,50}}, color={0,0,127})); + connect(greThr.y, or2.u1) annotation (Line(points={{162,50},{166,50},{166,30}, + {168,30}}, color={255,0,255})); + connect(lesThr.y, or2.u2) annotation (Line(points={{162,0},{166,0},{166,22},{168, + 22}}, color={255,0,255})); + connect(or2.y, assMes.u) + annotation (Line(points={{192,30},{198,30}}, color={255,0,255})); + annotation ( + experiment( + StopTime=1.0, + Tolerance=1e-06), + __Dymola_Commands( + file="modelica://IBPSA/Resources/Scripts/Dymola/Controls/OBC/Utilities/Validation/PIDWithInputGains.mos" "Simulate and plot"), + Documentation( + info=" +

+Validation test for the block + +IBPSA.Controls.OBC.Utilities.PIDWithInputGains. +

+

+For t ∈ [0, 0.6] both PID controllers have the same gains. +During this time, they generate the same output. +Afterwards, the gains, and hence also their outputs, differ. + +IBPSA.Controls.OBC.CDL.Reals.PIDWithReset. +

+", + revisions=" + +"), + Icon(coordinateSystem(extent={{-100,-100},{100,100}}), + graphics={ + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})}), + Diagram(coordinateSystem(extent={{-100,-100},{240,100}}), graphics={ + Rectangle( + extent={{72,80},{228,-20}}, + fillColor={215,215,215}, + fillPattern=FillPattern.Solid, + pattern=LinePattern.None), Text( + extent={{78,78},{168,68}}, + textColor={0,0,0}, + textString="Trigger an assertion if outputs differ more than threshold")})); +end PIDWithInputGains; diff --git a/IBPSA/Controls/OBC/Utilities/Validation/package.mo b/IBPSA/Controls/OBC/Utilities/Validation/package.mo new file mode 100644 index 0000000000..ba55bfe58d --- /dev/null +++ b/IBPSA/Controls/OBC/Utilities/Validation/package.mo @@ -0,0 +1,31 @@ +within IBPSA.Controls.OBC.Utilities; +package Validation "Collection of validation models" + annotation ( + preferredView="info", + Documentation( + info=" +

+This package contains validation models for blocks in +IBPSA.Controls.OBC.Utilities. +

+"), + Icon( + graphics={ + Rectangle( + lineColor={200,200,200}, + fillColor={248,248,248}, + fillPattern=FillPattern.HorizontalCylinder, + extent={{-100,-100},{100,100}}, + radius=25.0), + Rectangle( + lineColor={128,128,128}, + extent={{-100,-100},{100,100}}, + radius=25.0), + Polygon( + origin={8,14}, + lineColor={78,138,73}, + fillColor={78,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-58.0,46.0},{42.0,-14.0},{-58.0,-74.0},{-58.0,46.0}})})); +end Validation; diff --git a/IBPSA/Controls/OBC/Utilities/Validation/package.order b/IBPSA/Controls/OBC/Utilities/Validation/package.order new file mode 100644 index 0000000000..8aae0d17d7 --- /dev/null +++ b/IBPSA/Controls/OBC/Utilities/Validation/package.order @@ -0,0 +1,6 @@ +OptimalStartCoolingNegativeStartTime +OptimalStartCoolingPositiveStartTime +OptimalStartHeating +OptimalStartHeatingCooling +OptimalStartNoHeatingNoCooling +PIDWithInputGains diff --git a/IBPSA/Controls/OBC/Utilities/package.mo b/IBPSA/Controls/OBC/Utilities/package.mo new file mode 100644 index 0000000000..04e39c63be --- /dev/null +++ b/IBPSA/Controls/OBC/Utilities/package.mo @@ -0,0 +1,37 @@ +within IBPSA.Controls.OBC; +package Utilities "Package with utility functions" + annotation ( + preferredView="info", + Documentation( + info=" +

+This package contains utility blocks, base classes and validation models for +the OpenBuildingControl (OBC) library. +

+"), + Icon( + graphics={ + Rectangle( + lineColor={200,200,200}, + fillColor={248,248,248}, + fillPattern=FillPattern.HorizontalCylinder, + extent={{-100.0,-100.0},{100.0,100.0}}, + radius=25.0), + Rectangle( + lineColor={128,128,128}, + extent={{-100.0,-100.0},{100.0,100.0}}, + radius=25.0), + Polygon( + origin={1.3835,-4.1418}, + rotation=45.0, + fillColor={64,64,64}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-15.0,93.333},{-15.0,68.333},{0.0,58.333},{15.0,68.333},{15.0,93.333},{20.0,93.333},{25.0,83.333},{25.0,58.333},{10.0,43.333},{10.0,-41.667},{25.0,-56.667},{25.0,-76.667},{10.0,-91.667},{0.0,-91.667},{0.0,-81.667},{5.0,-81.667},{15.0,-71.667},{15.0,-61.667},{5.0,-51.667},{-5.0,-51.667},{-15.0,-61.667},{-15.0,-71.667},{-5.0,-81.667},{0.0,-81.667},{0.0,-91.667},{-10.0,-91.667},{-25.0,-76.667},{-25.0,-56.667},{-10.0,-41.667},{-10.0,43.333},{-25.0,58.333},{-25.0,83.333},{-20.0,93.333}}), + Polygon( + origin={10.1018,5.218}, + rotation=-45.0, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + points={{-15.0,87.273},{15.0,87.273},{20.0,82.273},{20.0,27.273},{10.0,17.273},{10.0,7.273},{20.0,2.273},{20.0,-2.727},{5.0,-2.727},{5.0,-77.727},{10.0,-87.727},{5.0,-112.727},{-5.0,-112.727},{-10.0,-87.727},{-5.0,-77.727},{-5.0,-2.727},{-20.0,-2.727},{-20.0,2.273},{-10.0,7.273},{-10.0,17.273},{-20.0,27.273},{-20.0,82.273}})})); +end Utilities; diff --git a/IBPSA/Controls/OBC/Utilities/package.order b/IBPSA/Controls/OBC/Utilities/package.order new file mode 100644 index 0000000000..b77eda1478 --- /dev/null +++ b/IBPSA/Controls/OBC/Utilities/package.order @@ -0,0 +1,5 @@ +OptimalStart +PIDWithInputGains +SetPoints +Validation +BaseClasses diff --git a/IBPSA/Controls/OBC/package.mo b/IBPSA/Controls/OBC/package.mo new file mode 100644 index 0000000000..1cd951554e --- /dev/null +++ b/IBPSA/Controls/OBC/package.mo @@ -0,0 +1,28 @@ +within IBPSA.Controls; +package OBC "Blocks and preconfigured control sequences" + extends Modelica.Icons.Package; + +annotation ( +Documentation(info=" +

+Package that contains a library of elementary control blocks +based on ASHRAE Standard 231P, +and libraries for building control sequences. +

+

+These implementations have been developed +through the OpenBuildingControl (obc.lbl.gov) project +that develops a process and tools for the +performance evaluation, specification and verification +of building control sequences. +

+

+For a tutorial for how to implement control sequences using the +Control Description Language (CDL), see + +IBPSA.Examples.Tutorial.CDL. +

+"), +Icon(graphics={Bitmap(extent={{-92,-98},{104,96}}, +fileName="modelica://IBPSA/Resources/Images/Controls/OBC/OBC_logo-only_150dpi.png")})); +end OBC; diff --git a/IBPSA/Controls/OBC/package.order b/IBPSA/Controls/OBC/package.order new file mode 100644 index 0000000000..d59809a8a9 --- /dev/null +++ b/IBPSA/Controls/OBC/package.order @@ -0,0 +1,2 @@ +CDL +Utilities diff --git a/IBPSA/Controls/package.order b/IBPSA/Controls/package.order index 39c754ac6a..8b5fdf3505 100644 --- a/IBPSA/Controls/package.order +++ b/IBPSA/Controls/package.order @@ -1,3 +1,4 @@ Continuous Discrete +OBC SetPoints diff --git a/IBPSA/Resources/Images/Controls/OBC/CDL/Integers/Sources/Constant.png b/IBPSA/Resources/Images/Controls/OBC/CDL/Integers/Sources/Constant.png new file mode 100644 index 0000000000..309e8ad4e4 Binary files /dev/null and b/IBPSA/Resources/Images/Controls/OBC/CDL/Integers/Sources/Constant.png differ diff --git a/IBPSA/Resources/Images/Controls/OBC/CDL/Integers/Sources/Pulse.png b/IBPSA/Resources/Images/Controls/OBC/CDL/Integers/Sources/Pulse.png new file mode 100644 index 0000000000..84526dbdde Binary files /dev/null and b/IBPSA/Resources/Images/Controls/OBC/CDL/Integers/Sources/Pulse.png differ diff --git a/IBPSA/Resources/Images/Controls/OBC/CDL/Integers/Sources/Pulse.svg b/IBPSA/Resources/Images/Controls/OBC/CDL/Integers/Sources/Pulse.svg new file mode 100644 index 0000000000..bd62064c51 --- /dev/null +++ b/IBPSA/Resources/Images/Controls/OBC/CDL/Integers/Sources/Pulse.svg @@ -0,0 +1,429 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + offset + 0 + time + amplitude + width + period + y + + + + shift + + diff --git a/IBPSA/Resources/Images/Controls/OBC/CDL/Logical/Constant.png b/IBPSA/Resources/Images/Controls/OBC/CDL/Logical/Constant.png new file mode 100644 index 0000000000..ec036582ad Binary files /dev/null and b/IBPSA/Resources/Images/Controls/OBC/CDL/Logical/Constant.png differ diff --git a/IBPSA/Resources/Images/Controls/OBC/CDL/Logical/Latch.png b/IBPSA/Resources/Images/Controls/OBC/CDL/Logical/Latch.png new file mode 100644 index 0000000000..dac872a78f Binary files /dev/null and b/IBPSA/Resources/Images/Controls/OBC/CDL/Logical/Latch.png differ diff --git a/IBPSA/Resources/Images/Controls/OBC/CDL/Logical/Latch.svg b/IBPSA/Resources/Images/Controls/OBC/CDL/Logical/Latch.svg new file mode 100644 index 0000000000..12c81e8c61 --- /dev/null +++ b/IBPSA/Resources/Images/Controls/OBC/CDL/Logical/Latch.svg @@ -0,0 +1,2678 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + At same moments, latch input rises (falls), clear input rises (falls) + At same moments, latch input falls (rises), clear input rises (falls) + + + + + + + + + + + + + + + + + + + + + 0 + + 4 + + 8 + + false + + true + + false + + true + + false + + true + + + + falCleTruIni.u + falCleTruIni.clr + falCleTruIni.y + + + + + + + + + + + + + + + + + + + + + 0 + + 4 + + 8 + + false + + true + + false + + true + + false + + true + + + + falCleFalIni.u + falCleFalIni.clr + falCleFalIni.y + + + + + + + + + + + + + + + + + + + + + 0 + + 4 + + 8 + + false + + true + + false + + true + + false + + true + + + + truCleTruIni.u + truCleTruIni.clr + truCleTruIni.y + + + + + + + + + + + + + + + + + + + + + 0 + + 4 + + 8 + + false + + true + + false + + true + + false + + true + + + + truCleFalIni.u + truCleFalIni.clr + truCleFalIni.y + + + + + + + + + + + + + + + + + + + + + 0 + + 4 + + 8 + + false + + true + + false + + true + + false + + true + + + + swiCleInp.u + swiCleInp.clr + swiCleInp.y + + + + + + + + + + + + + + + + + + + + + 0 + + 4 + + 8 + + false + + true + + false + + true + + false + + true + + + + swiCleInp1.u + swiCleInp1.clr + swiCleInp1.y + clear input: false +initial latch input: true + clear input: false +initial latch input: false + clear input: true +initial latch input: true + clear input: true +initial latch input: false + + + + + diff --git a/IBPSA/Resources/Images/Controls/OBC/CDL/Logical/Sources/Pulse.png b/IBPSA/Resources/Images/Controls/OBC/CDL/Logical/Sources/Pulse.png new file mode 100644 index 0000000000..2530f61c4b Binary files /dev/null and b/IBPSA/Resources/Images/Controls/OBC/CDL/Logical/Sources/Pulse.png differ diff --git a/IBPSA/Resources/Images/Controls/OBC/CDL/Logical/Sources/Pulse.svg b/IBPSA/Resources/Images/Controls/OBC/CDL/Logical/Sources/Pulse.svg new file mode 100644 index 0000000000..8d115bbbd9 --- /dev/null +++ b/IBPSA/Resources/Images/Controls/OBC/CDL/Logical/Sources/Pulse.svg @@ -0,0 +1,380 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + 0 + time + width + period + y + true + + + + shift + + diff --git a/IBPSA/Resources/Images/Controls/OBC/CDL/Logical/Sources/SampleTrigger.png b/IBPSA/Resources/Images/Controls/OBC/CDL/Logical/Sources/SampleTrigger.png new file mode 100644 index 0000000000..339a13706d Binary files /dev/null and b/IBPSA/Resources/Images/Controls/OBC/CDL/Logical/Sources/SampleTrigger.png differ diff --git a/IBPSA/Resources/Images/Controls/OBC/CDL/Logical/Sources/SampleTrigger.svg b/IBPSA/Resources/Images/Controls/OBC/CDL/Logical/Sources/SampleTrigger.svg new file mode 100644 index 0000000000..306f78695d --- /dev/null +++ b/IBPSA/Resources/Images/Controls/OBC/CDL/Logical/Sources/SampleTrigger.svg @@ -0,0 +1,274 @@ + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + true + false + 0 + time + period + y + + shift + + diff --git a/IBPSA/Resources/Images/Controls/OBC/CDL/Logical/Toggle.png b/IBPSA/Resources/Images/Controls/OBC/CDL/Logical/Toggle.png new file mode 100644 index 0000000000..4393734965 Binary files /dev/null and b/IBPSA/Resources/Images/Controls/OBC/CDL/Logical/Toggle.png differ diff --git a/IBPSA/Resources/Images/Controls/OBC/CDL/Logical/Toggle.svg b/IBPSA/Resources/Images/Controls/OBC/CDL/Logical/Toggle.svg new file mode 100644 index 0000000000..a06875da33 --- /dev/null +++ b/IBPSA/Resources/Images/Controls/OBC/CDL/Logical/Toggle.svg @@ -0,0 +1,2840 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + At same moments, latch input rises (falls), clear input rises (falls) + At same moments, latch input falls (rises), clear input rises (falls) + clear input: false +initial latch input: true + clear input: false +initial latch input: false + clear input: true +initial latch input: true + clear input: true +initial latch input: false + + + + + + + + + + + + + + + + + + + + + 0 + + 4 + + 8 + + false + + true + + false + + true + + false + + true + + + + falCleTruIni.u + falCleTruIni.clr + falCleTruIni.y + + + + + + + + + + + + + + + + + + + + + 0 + + 4 + + 8 + + false + + true + + false + + true + + false + + true + + + + falCleFalIni.u + falCleFalIni.clr + falCleFalIni.y + + + + + + + + + + + + + + + + + + + + + 0 + + 4 + + 8 + + false + + true + + false + + true + + false + + true + + + + truCleTruIni.u + truCleTruIni.clr + truCleTruIni.y + + + + + + + + + + + + + + + + + + + + + 0 + + 4 + + 8 + + false + + true + + false + + true + + false + + true + + + + truCleFalIni.u + truCleFalIni.clr + truCleFalIni.y + + + + + + + + + + + + + + + + + + + + + 0 + + 4 + + 8 + + false + + true + + false + + true + + false + + true + + + + swiCleInp.u + swiCleInp.clr + swiCleInp.y + + + + + + + + + + + + + + + + + + + + + 0 + + 4 + + 8 + + false + + true + + false + + true + + false + + true + + + + swiCleInp1.u + swiCleInp1.clr + swiCleInp1.y + + + + + diff --git a/IBPSA/Resources/Images/Controls/OBC/CDL/Logical/TrueDelay1.png b/IBPSA/Resources/Images/Controls/OBC/CDL/Logical/TrueDelay1.png new file mode 100644 index 0000000000..217bfedf46 Binary files /dev/null and b/IBPSA/Resources/Images/Controls/OBC/CDL/Logical/TrueDelay1.png differ diff --git a/IBPSA/Resources/Images/Controls/OBC/CDL/Logical/TrueDelay2.png b/IBPSA/Resources/Images/Controls/OBC/CDL/Logical/TrueDelay2.png new file mode 100644 index 0000000000..114951adb2 Binary files /dev/null and b/IBPSA/Resources/Images/Controls/OBC/CDL/Logical/TrueDelay2.png differ diff --git a/IBPSA/Resources/Images/Controls/OBC/CDL/Logical/TrueFalseHold.png b/IBPSA/Resources/Images/Controls/OBC/CDL/Logical/TrueFalseHold.png new file mode 100644 index 0000000000..10084130c6 Binary files /dev/null and b/IBPSA/Resources/Images/Controls/OBC/CDL/Logical/TrueFalseHold.png differ diff --git a/IBPSA/Resources/Images/Controls/OBC/CDL/Logical/VariablePulse.png b/IBPSA/Resources/Images/Controls/OBC/CDL/Logical/VariablePulse.png new file mode 100644 index 0000000000..905efe7235 Binary files /dev/null and b/IBPSA/Resources/Images/Controls/OBC/CDL/Logical/VariablePulse.png differ diff --git a/IBPSA/Resources/Images/Controls/OBC/CDL/Logical/VariablePulse.svg b/IBPSA/Resources/Images/Controls/OBC/CDL/Logical/VariablePulse.svg new file mode 100644 index 0000000000..8f35a08214 --- /dev/null +++ b/IBPSA/Resources/Images/Controls/OBC/CDL/Logical/VariablePulse.svg @@ -0,0 +1,517 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + time + period + y + true + + + + + + + + + y + + + + + + + + + + + 0 + 0.75 + + u + 0 + time + + + + u + + diff --git a/IBPSA/Resources/Images/Controls/OBC/CDL/Psychrometrics/Media/Water/plotCp.png b/IBPSA/Resources/Images/Controls/OBC/CDL/Psychrometrics/Media/Water/plotCp.png new file mode 100644 index 0000000000..da4b698395 Binary files /dev/null and b/IBPSA/Resources/Images/Controls/OBC/CDL/Psychrometrics/Media/Water/plotCp.png differ diff --git a/IBPSA/Resources/Images/Controls/OBC/CDL/Reals/Acos.png b/IBPSA/Resources/Images/Controls/OBC/CDL/Reals/Acos.png new file mode 100644 index 0000000000..5690321400 Binary files /dev/null and b/IBPSA/Resources/Images/Controls/OBC/CDL/Reals/Acos.png differ diff --git a/IBPSA/Resources/Images/Controls/OBC/CDL/Reals/Asin.png b/IBPSA/Resources/Images/Controls/OBC/CDL/Reals/Asin.png new file mode 100644 index 0000000000..a10340dfa5 Binary files /dev/null and b/IBPSA/Resources/Images/Controls/OBC/CDL/Reals/Asin.png differ diff --git a/IBPSA/Resources/Images/Controls/OBC/CDL/Reals/Atan.png b/IBPSA/Resources/Images/Controls/OBC/CDL/Reals/Atan.png new file mode 100644 index 0000000000..61fbea59bb Binary files /dev/null and b/IBPSA/Resources/Images/Controls/OBC/CDL/Reals/Atan.png differ diff --git a/IBPSA/Resources/Images/Controls/OBC/CDL/Reals/Atan2.png b/IBPSA/Resources/Images/Controls/OBC/CDL/Reals/Atan2.png new file mode 100644 index 0000000000..b2f8f29e0e Binary files /dev/null and b/IBPSA/Resources/Images/Controls/OBC/CDL/Reals/Atan2.png differ diff --git a/IBPSA/Resources/Images/Controls/OBC/CDL/Reals/Constant.png b/IBPSA/Resources/Images/Controls/OBC/CDL/Reals/Constant.png new file mode 100644 index 0000000000..37d29d3d1b Binary files /dev/null and b/IBPSA/Resources/Images/Controls/OBC/CDL/Reals/Constant.png differ diff --git a/IBPSA/Resources/Images/Controls/OBC/CDL/Reals/Cos.png b/IBPSA/Resources/Images/Controls/OBC/CDL/Reals/Cos.png new file mode 100644 index 0000000000..4e1fb26b95 Binary files /dev/null and b/IBPSA/Resources/Images/Controls/OBC/CDL/Reals/Cos.png differ diff --git a/IBPSA/Resources/Images/Controls/OBC/CDL/Reals/Exp.png b/IBPSA/Resources/Images/Controls/OBC/CDL/Reals/Exp.png new file mode 100644 index 0000000000..c1123f4ffb Binary files /dev/null and b/IBPSA/Resources/Images/Controls/OBC/CDL/Reals/Exp.png differ diff --git a/IBPSA/Resources/Images/Controls/OBC/CDL/Reals/Hysteresis.png b/IBPSA/Resources/Images/Controls/OBC/CDL/Reals/Hysteresis.png new file mode 100644 index 0000000000..efc8cd7b28 Binary files /dev/null and b/IBPSA/Resources/Images/Controls/OBC/CDL/Reals/Hysteresis.png differ diff --git a/IBPSA/Resources/Images/Controls/OBC/CDL/Reals/Hysteresis.svg b/IBPSA/Resources/Images/Controls/OBC/CDL/Reals/Hysteresis.svg new file mode 100644 index 0000000000..4541cfc8fe --- /dev/null +++ b/IBPSA/Resources/Images/Controls/OBC/CDL/Reals/Hysteresis.svg @@ -0,0 +1,298 @@ + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + uLow + uHigh + + true + false + u + y + + diff --git a/IBPSA/Resources/Images/Controls/OBC/CDL/Reals/HysteresisWithHold.svg b/IBPSA/Resources/Images/Controls/OBC/CDL/Reals/HysteresisWithHold.svg new file mode 100644 index 0000000000..8d70b69e60 --- /dev/null +++ b/IBPSA/Resources/Images/Controls/OBC/CDL/Reals/HysteresisWithHold.svg @@ -0,0 +1,1290 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + 200 + + 400 + + 600 + + 800 + + 1000 + + 1200 + + 1400 + + 1600 + + 1800 + + + + + + + + + + + + -0.4 + + -0.2 + + 0.0 + + 0.2 + + 0.4 + + 0.6 + + 0.8 + + 1.0 + + 1.2 + + + offHold_300s.u + + offHold_300s.y + + offHold_300s.uLow + + offHold_300s.uHigh + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + 200 + + 400 + + 600 + + 800 + + 1000 + + 1200 + + 1400 + + 1600 + + 1800 + + + + + + + + + + + + -0.4 + + -0.2 + + 0.0 + + 0.2 + + 0.4 + + 0.6 + + 0.8 + + 1.0 + + 1.2 + + + onHold_150s.u + + onHold_150s.y + + onHold_150s.uLow + + onHold_150s.uHigh + + + + + + + + Instants when y should be true, but is kept false due to the offHold. + + + + + + + + + Instants when y should be false, but is kept true due to the onHold. + diff --git a/IBPSA/Resources/Images/Controls/OBC/CDL/Reals/Log.png b/IBPSA/Resources/Images/Controls/OBC/CDL/Reals/Log.png new file mode 100644 index 0000000000..2595d274d5 Binary files /dev/null and b/IBPSA/Resources/Images/Controls/OBC/CDL/Reals/Log.png differ diff --git a/IBPSA/Resources/Images/Controls/OBC/CDL/Reals/Log10.png b/IBPSA/Resources/Images/Controls/OBC/CDL/Reals/Log10.png new file mode 100644 index 0000000000..3d2e6fffb3 Binary files /dev/null and b/IBPSA/Resources/Images/Controls/OBC/CDL/Reals/Log10.png differ diff --git a/IBPSA/Resources/Images/Controls/OBC/CDL/Reals/Sin.png b/IBPSA/Resources/Images/Controls/OBC/CDL/Reals/Sin.png new file mode 100644 index 0000000000..fd4e405885 Binary files /dev/null and b/IBPSA/Resources/Images/Controls/OBC/CDL/Reals/Sin.png differ diff --git a/IBPSA/Resources/Images/Controls/OBC/CDL/Reals/Sources/Pulse.png b/IBPSA/Resources/Images/Controls/OBC/CDL/Reals/Sources/Pulse.png new file mode 100644 index 0000000000..84526dbdde Binary files /dev/null and b/IBPSA/Resources/Images/Controls/OBC/CDL/Reals/Sources/Pulse.png differ diff --git a/IBPSA/Resources/Images/Controls/OBC/CDL/Reals/Sources/Pulse.svg b/IBPSA/Resources/Images/Controls/OBC/CDL/Reals/Sources/Pulse.svg new file mode 100644 index 0000000000..bd62064c51 --- /dev/null +++ b/IBPSA/Resources/Images/Controls/OBC/CDL/Reals/Sources/Pulse.svg @@ -0,0 +1,429 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + offset + 0 + time + amplitude + width + period + y + + + + shift + + diff --git a/IBPSA/Resources/Images/Controls/OBC/CDL/Reals/Sources/Ramp.png b/IBPSA/Resources/Images/Controls/OBC/CDL/Reals/Sources/Ramp.png new file mode 100644 index 0000000000..9cdfd8e495 Binary files /dev/null and b/IBPSA/Resources/Images/Controls/OBC/CDL/Reals/Sources/Ramp.png differ diff --git a/IBPSA/Resources/Images/Controls/OBC/CDL/Reals/Sources/Ramp.svg b/IBPSA/Resources/Images/Controls/OBC/CDL/Reals/Sources/Ramp.svg new file mode 100644 index 0000000000..3534d09ee0 --- /dev/null +++ b/IBPSA/Resources/Images/Controls/OBC/CDL/Reals/Sources/Ramp.svg @@ -0,0 +1,281 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + height + duration + offset + startTime + time + y + + diff --git a/IBPSA/Resources/Images/Controls/OBC/CDL/Reals/Sources/Sin.png b/IBPSA/Resources/Images/Controls/OBC/CDL/Reals/Sources/Sin.png new file mode 100644 index 0000000000..5f5d35c987 Binary files /dev/null and b/IBPSA/Resources/Images/Controls/OBC/CDL/Reals/Sources/Sin.png differ diff --git a/IBPSA/Resources/Images/Controls/OBC/CDL/Reals/Tan.png b/IBPSA/Resources/Images/Controls/OBC/CDL/Reals/Tan.png new file mode 100644 index 0000000000..85f7a3a678 Binary files /dev/null and b/IBPSA/Resources/Images/Controls/OBC/CDL/Reals/Tan.png differ diff --git a/IBPSA/Resources/Images/Controls/OBC/CDL/Reals/int.pdf b/IBPSA/Resources/Images/Controls/OBC/CDL/Reals/int.pdf new file mode 100644 index 0000000000..478045c764 Binary files /dev/null and b/IBPSA/Resources/Images/Controls/OBC/CDL/Reals/int.pdf differ diff --git a/IBPSA/Resources/Images/Controls/OBC/CDL/Reals/int.png b/IBPSA/Resources/Images/Controls/OBC/CDL/Reals/int.png new file mode 100644 index 0000000000..ba1510708c Binary files /dev/null and b/IBPSA/Resources/Images/Controls/OBC/CDL/Reals/int.png differ diff --git a/IBPSA/Resources/Images/Controls/OBC/OBC_logo-only_150dpi.png b/IBPSA/Resources/Images/Controls/OBC/OBC_logo-only_150dpi.png new file mode 100644 index 0000000000..b1dc7d8956 Binary files /dev/null and b/IBPSA/Resources/Images/Controls/OBC/OBC_logo-only_150dpi.png differ diff --git a/IBPSA/Resources/Images/Controls/OBC/OBC_stacked_150dpi_small.png b/IBPSA/Resources/Images/Controls/OBC/OBC_stacked_150dpi_small.png new file mode 100644 index 0000000000..cee6183b47 Binary files /dev/null and b/IBPSA/Resources/Images/Controls/OBC/OBC_stacked_150dpi_small.png differ diff --git a/IBPSA/Resources/Images/Controls/OBC/Utilities/SetPoints/SupplyReturnTemperatureReset.png b/IBPSA/Resources/Images/Controls/OBC/Utilities/SetPoints/SupplyReturnTemperatureReset.png new file mode 100644 index 0000000000..102f675b80 Binary files /dev/null and b/IBPSA/Resources/Images/Controls/OBC/Utilities/SetPoints/SupplyReturnTemperatureReset.png differ diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Conversions_Validation_BooleanToInteger.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Conversions_Validation_BooleanToInteger.txt new file mode 100644 index 0000000000..fc2e202fb1 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Conversions_Validation_BooleanToInteger.txt @@ -0,0 +1,10 @@ +last-generated=2018-06-26 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +booToInt.u=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +time=[0e+00, 4e+00] +booToInt.y=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Conversions_Validation_BooleanToReal.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Conversions_Validation_BooleanToReal.txt new file mode 100644 index 0000000000..2d2c1d84b7 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Conversions_Validation_BooleanToReal.txt @@ -0,0 +1,10 @@ +last-generated=2018-06-26 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +booToRea.u=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +time=[0e+00, 4e+00] +booToRea.y=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Conversions_Validation_IntegerToReal.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Conversions_Validation_IntegerToReal.txt new file mode 100644 index 0000000000..0b44b99cc5 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Conversions_Validation_IntegerToReal.txt @@ -0,0 +1,10 @@ +last-generated=2017-09-14 +statistics-simulation= +{ + "numerical Jacobians": "0", + "nonlinear": " ", + "linear": " " +} +intToRea.u=[-4e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -5.006780019356505e-06, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00] +time=[0e+00, 1e+00] +intToRea.y=[-4e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -5.006780019356505e-06, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Conversions_Validation_RealToInteger.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Conversions_Validation_RealToInteger.txt new file mode 100644 index 0000000000..f84307855e --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Conversions_Validation_RealToInteger.txt @@ -0,0 +1,10 @@ +last-generated=2017-04-06 +statistics-simulation= +{ + "numerical Jacobians": "0", + "nonlinear": " ", + "linear": " " +} +reaToInt.u=[-3.5e+00, -3.430000065192561e+00, -3.359999891966595e+00, -3.289999957159187e+00, -3.22000002235177e+00, -3.150000100582814e+00, -3.079999914318365e+00, -3.009999992549414e+00, -2.940000044703563e+00, -2.869999910593299e+00, -2.79999996274703e+00, -2.730000014901188e+00, -2.660000067055026e+00, -2.589999880790923e+00, -2.519999985098812e+00, -2.450000089406701e+00, -2.380000089406701e+00, -2.309999955296437e+00, -2.240000059604325e+00, -2.170000059604467e+00, -2.099999925494416e+00, -2.029999925494487e+00, -1.960000029802305e+00, -1.890000014901223e+00, -1.820000014901081e+00, -1.75e+00, -1.679999880791137e+00, -1.610000089406487e+00, -1.539999970197695e+00, -1.469999970197553e+00, -1.400000059604823e+00, -1.330000059604538e+00, -1.259999940395675e+00, -1.190000149011026e+00, -1.120000029802162e+00, -1.049999910593299e+00, -9.800001192090765e-01, -9.100000596045738e-01, -8.399999403954262e-01, -7.699998807909235e-01, -7.000000298022334e-01, -6.29999970197731e-01, -5.599999105932283e-01, -4.900000596044956e-01, -4.199999701977131e-01, -3.499999105932104e-01, -2.800000596045203e-01, -2.099999850988568e-01, -1.39999925494354e-01, -7.000006705508333e-02, 0e+00, 7.000006705408858e-02, 1.400001341081772e-01, 2.100001937118983e-01, 2.799998509909462e-01, 3.499999105944542e-01, 4.199999701974648e-01, 4.900000596034507e-01, 5.600001192072998e-01, 6.300001788108077e-01, 6.999998211889077e-01, 7.699998807924157e-01, 8.399999403959236e-01, 9.100000596040764e-01, 9.800001192075843e-01, 1.050000119207158e+00, 1.119999821188411e+00, 1.189999940396848e+00, 1.259999940396421e+00, 1.330000059604787e+00, 1.400000059603579e+00, 1.470000178810737e+00, 1.539999761585684e+00, 1.609999880792416e+00, 1.679999880792131e+00, 1.75e+00, 1.820000119207869e+00, 1.890000119207584e+00, 1.960000238414316e+00, 2.029999821189263e+00, 2.099999821187842e+00, 2.170000059604219e+00, 2.240000059603579e+00, 2.310000059602157e+00, 2.380000298019316e+00, 2.449999880794263e+00, 2.519999880792842e+00, 2.589999880791421e+00, 2.660000119208579e+00, 2.730000119207158e+00, 2.800000119205737e+00, 2.869999701980684e+00, 2.939999940397843e+00, 3.009999940396421e+00, 3.079999940395781e+00, 3.150000178812158e+00, 3.220000178810737e+00, 3.289999761585684e+00, 3.359999761584263e+00, 3.430000000000284e+00, 3.5e+00] +reaToInt.y=[-4e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -5.006780019356505e-06, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00] +time=[0e+00, 1e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Discrete_Validation_FirstOrderHold.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Discrete_Validation_FirstOrderHold.txt new file mode 100644 index 0000000000..84d6736277 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Discrete_Validation_FirstOrderHold.txt @@ -0,0 +1,10 @@ +last-generated=2017-09-14 +statistics-simulation= +{ + "numerical Jacobians": "0", + "nonlinear": " ", + "linear": " " +} +firOrdHol.y=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.654508006550342e-01, 9.309017021001379e-01, 8.963525439407923e-01, 8.61803393903822e-01, 8.272542357444763e-01, 7.927050857075059e-01, 7.581559790304299e-01, 7.236068289934239e-01, 6.890576193518444e-01, 6.545085722790579e-01, 6.199593626377979e-01, 5.854102126008275e-01, 5.508611059237515e-01, 5.163118962821363e-01, 4.81762746245166e-01, 4.472136693701992e-01, 4.126644895310485e-01, 3.781153096918267e-01, 3.435661000504246e-01, 3.090170231754578e-01, 2.531153061741589e-01, 1.972135466435526e-01, 1.413119537126491e-01, 8.541020163260561e-02, 2.950845141520063e-02, -2.639313406513727e-02, -8.229488800783058e-02, -1.381966326373023e-01, -1.940982255682059e-01, -2.499999701976776e-01, -3.059017297275162e-01, -3.618034892573547e-01, -4.17705248786767e-01, -4.736066453202155e-01, -5.295084048500541e-01, -5.854101643794954e-01, -6.413119239097306e-01, -6.972136834395691e-01, -7.531154429694077e-01, -8.090168097001076e-01, -8.090169429779053e-01, -8.0901700258255e-01, -8.0901700258255e-01, -8.0901700258255e-01, -8.0901700258255e-01, -8.0901700258255e-01, -8.0901700258255e-01, -8.0901700258255e-01, -8.0901700258255e-01, -8.0901700258255e-01, -8.0901700258255e-01, -8.0901700258255e-01, -8.0901700258255e-01, -8.0901700258255e-01, -8.0901700258255e-01, -8.0901700258255e-01, -8.0901700258255e-01, -8.0901700258255e-01, -8.0901700258255e-01, -8.0901700258255e-01, -7.53115369296652e-01, -6.972136097664169e-01, -6.413118502365783e-01, -5.854100907067398e-01, -5.295086643713951e-01, -4.736069346438789e-01, -4.177051751140404e-01, -3.618034155842018e-01, -3.059016858566856e-01, -2.499999263268471e-01, -1.940985148924682e-01, -1.381967553628251e-01, -8.229501073412107e-02, -2.639325679185135e-02, 2.950849342434539e-02, 8.541024550362555e-02, 1.413116643883896e-01, 1.97213409017067e-01, 2.531151536458154e-01, 3.090169131755829e-01] +firOrdHol.u=[1e+00, 9.980267285330768e-01, 9.92114722359185e-01, 9.822872272920056e-01, 9.685831651680721e-01, 9.51056541430958e-01, 9.297764865835308e-01, 9.048270591019025e-01, 8.76306707153081e-01, 8.443279385564225e-01, 8.090170080380417e-01, 7.705132341174212e-01, 7.289686086868863e-01, 6.845471043246666e-01, 6.374239950275337e-01, 5.877852741471401e-01, 5.358267832061716e-01, 4.817536869409707e-01, 4.257793533913588e-01, 3.681245604602735e-01, 3.090170203545645e-01, 2.486898648442655e-01, 1.873813346873295e-01, 1.253332904574954e-01, 6.279050918949433e-02, 2.679489696788551e-08, -6.279055046444852e-02, -1.253331379345707e-01, -1.873812750826938e-01, -2.486899108059576e-01, -3.090169014013807e-01, -3.681245008556288e-01, -4.25779293786714e-01, -4.8175357487978e-01, -5.358267236016335e-01, -5.877852741471399e-01, -6.3742386293947e-01, -6.845470447200218e-01, -7.289686406717961e-01, -7.70513293378626e-01, -8.090169207752662e-01, -8.443279385564224e-01, -8.763066922604196e-01, -9.048270389253867e-01, -9.297764951615509e-01, -9.51056503105246e-01, -9.685831532414171e-01, -9.822872294646928e-01, -9.921147307568511e-01, -9.980267244918735e-01, -1e+00, -9.980267244919351e-01, -9.921147069617686e-01, -9.822872529193979e-01, -9.685831993066364e-01, -9.510565627095525e-01, -9.297764951617027e-01, -9.04827038925889e-01, -8.763066615344267e-01, -8.443278970741832e-01, -8.090170898698266e-01, -7.705133529824235e-01, -7.289687002762795e-01, -6.845471043249939e-01, -6.374239821493705e-01, -5.877851818517713e-01, -5.358270004284823e-01, -4.817538283042127e-01, -4.257793831930767e-01, -3.68124620064675e-01, -3.090169908094118e-01, -2.486898336217616e-01, -1.873815631169426e-01, -1.253334279713343e-01, -6.279065477168613e-02, -8.038468735094284e-08, 6.27904983094936e-02, 1.253332640585611e-01, 1.873814141051175e-01, 2.486896697091483e-01, 3.090168417977998e-01, 3.681244710530631e-01, 4.257792639837872e-01, 4.817536792926008e-01, 5.358268812191928e-01, 5.877850626424818e-01, 6.374238629400809e-01, 6.84547044720207e-01, 7.289685810669899e-01, 7.70513233773134e-01, 8.090170302644712e-01, 8.443277778656753e-01, 8.763066019297819e-01, 9.048269793210311e-01, 9.297764355570579e-01, 9.510565031049077e-01, 9.685831397019916e-01, 9.822871933156057e-01, 9.921146473576923e-01, 9.980267244919351e-01, 1e+00] +time=[0e+00, 1e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Discrete_Validation_Sampler.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Discrete_Validation_Sampler.txt new file mode 100644 index 0000000000..70da889665 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Discrete_Validation_Sampler.txt @@ -0,0 +1,10 @@ +last-generated=2018-07-13 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +sampler1.u=[0e+00, 6.279052189025491e-02, 1.25333237452147e-01, 1.87381316384595e-01, 2.486898953400241e-01, 3.090169981213527e-01, 3.681245524355013e-01, 4.257792813474344e-01, 4.817536869409441e-01, 5.358267832061716e-01, 5.877852363791168e-01, 6.37423995027516e-01, 6.845471385054688e-01, 7.289686406719382e-01, 7.705132341174212e-01, 8.090169803797332e-01, 8.443279385564225e-01, 8.763066475484895e-01, 9.048270389253867e-01, 9.297764951615509e-01, 9.510564745096004e-01, 9.685831765931435e-01, 9.822872294646928e-01, 9.921147192796552e-01, 9.980267305350982e-01, 1e+00, 9.980267244918735e-01, 9.921147307571708e-01, 9.822872294647284e-01, 9.685831532414171e-01, 9.510565627098908e-01, 9.29776495161622e-01, 9.048270389253867e-01, 8.763067518650643e-01, 8.44327938556529e-01, 8.09016980379911e-01, 7.705133529832707e-01, 7.289687002764409e-01, 6.845471043246666e-01, 6.374239225441147e-01, 5.877853337517847e-01, 5.358268428108165e-01, 4.817536344844248e-01, 4.257793831936812e-01, 3.681245902625959e-01, 3.090169610060254e-01, 2.486899853117014e-01, 1.873813495884997e-01, 1.253332124403766e-01, 6.279063242083509e-02, 5.358979038305733e-08, -6.279052811178046e-02, -1.253332938608835e-01, -1.873814290064919e-01, -2.486896995113108e-01, -3.090168716001222e-01, -3.681244710530986e-01, -4.257792639837872e-01, -4.817537090949232e-01, -5.358268812191928e-01, -5.877850626424818e-01, -6.374238629405072e-01, -6.845470447203491e-01, -7.289685810669899e-01, -7.70513233773134e-01, -8.090170302644712e-01, -8.443277778656753e-01, -8.763066019297819e-01, -9.048269793212442e-01, -9.297764355570579e-01, -9.510565031049077e-01, -9.685831993059969e-01, -9.822871933156057e-01, -9.921146473576923e-01, -9.980267244919351e-01, -1e+00, -9.980267244919351e-01, -9.921147069617686e-01, -9.822872529193979e-01, -9.685831993066364e-01, -9.510565627095525e-01, -9.297764951617027e-01, -9.048270985303206e-01, -8.763066615349241e-01, -8.443278970749648e-01, -8.090171494737608e-01, -7.705133529824235e-01, -7.289687002762795e-01, -6.845471639296387e-01, -6.374239821497968e-01, -5.877851818517713e-01, -5.358270004284823e-01, -4.817538581065351e-01, -4.257794129953991e-01, -3.681246200647105e-01, -3.090170206117341e-01, -2.486898634240839e-01, -1.87381592919265e-01, -1.253334577736566e-01, -6.279068457400852e-02, -1.07179587871542e-07] +sampler1.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 5.877853035926819e-01, 5.877853035926819e-01, 5.877853035926819e-01, 5.877853035926819e-01, 5.877853035926819e-01, 5.877853035926819e-01, 5.877853035926819e-01, 5.877853035926819e-01, 5.877853035926819e-01, 5.877853035926819e-01, 5.877853035926819e-01, 5.877853035926819e-01, 5.877853035926819e-01, 5.877853035926819e-01, 5.877853035926819e-01, 5.877853035926819e-01, 5.877853035926819e-01, 5.877853035926819e-01, 5.877853035926819e-01, 5.877853035926819e-01, -5.877851843833923e-01, -5.877851843833923e-01, -5.877851843833923e-01, -5.877851843833923e-01, -5.877851843833923e-01, -5.877851843833923e-01, -5.877851843833923e-01, -5.877851843833923e-01, -5.877851843833923e-01, -5.877851843833923e-01, -5.877851843833923e-01, -5.877851843833923e-01, -5.877851843833923e-01, -5.877851843833923e-01, -5.877851843833923e-01, -5.877851843833923e-01, -5.877851843833923e-01, -5.877851843833923e-01, -5.877851843833923e-01, -5.877851843833923e-01, -9.510565400123596e-01, -9.510565400123596e-01, -9.510565400123596e-01, -9.510565400123596e-01, -9.510565400123596e-01, -9.510565400123596e-01, -9.510565400123596e-01, -9.510565400123596e-01, -9.510565400123596e-01, -9.510565400123596e-01, -9.510565400123596e-01, -9.510565400123596e-01, -9.510565400123596e-01, -9.510565400123596e-01, -9.510565400123596e-01, -9.510565400123596e-01, -9.510565400123596e-01, -9.510565400123596e-01, -9.510565400123596e-01, -9.510565400123596e-01] +time=[0e+00, 1e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Discrete_Validation_TriggeredMax.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Discrete_Validation_TriggeredMax.txt new file mode 100644 index 0000000000..68e098daf7 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Discrete_Validation_TriggeredMax.txt @@ -0,0 +1,11 @@ +last-generated=2018-07-13 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +triggeredMax.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510565400123596e-01, 9.510565400123596e-01, 9.510565400123596e-01, 9.510565400123596e-01, 9.510565400123596e-01, 9.510565400123596e-01, 9.510565400123596e-01, 9.510565400123596e-01, 9.510565400123596e-01, 9.510565400123596e-01, 9.510565400123596e-01, 9.510565400123596e-01, 9.510565400123596e-01, 9.510565400123596e-01, 9.510565400123596e-01, 9.510565400123596e-01, 9.510565400123596e-01, 9.510565400123596e-01, 9.510565400123596e-01, 9.510565400123596e-01] +triggeredMax.u=[0e+00, 6.279052189025491e-02, 1.25333237452147e-01, 1.87381316384595e-01, 2.486898953400241e-01, 3.090169981213527e-01, 3.681245524355013e-01, 4.257792813474344e-01, 4.817536869409441e-01, 5.358267832061716e-01, 5.877852363791168e-01, 6.37423995027516e-01, 6.845471385054688e-01, 7.289686406719382e-01, 7.705132341174212e-01, 8.090169803797332e-01, 8.443279385564225e-01, 8.763066475484895e-01, 9.048270389253867e-01, 9.297764951615509e-01, 9.510564745096004e-01, 9.685831765931435e-01, 9.822872294646928e-01, 9.921147192796552e-01, 9.980267305350982e-01, 1e+00, 9.980267244918735e-01, 9.921147307571708e-01, 9.822872294647284e-01, 9.685831532414171e-01, 9.510565627098908e-01, 9.29776495161622e-01, 9.048270389253867e-01, 8.763067518650643e-01, 8.44327938556529e-01, 8.09016980379911e-01, 7.705133529832707e-01, 7.289687002764409e-01, 6.845471043246666e-01, 6.374239225441147e-01, 5.877853337517847e-01, 5.358268428108165e-01, 4.817536344844248e-01, 4.257793831936812e-01, 3.681245902625959e-01, 3.090169610060254e-01, 2.486899853117014e-01, 1.873813495884997e-01, 1.253332124403766e-01, 6.279063242083509e-02, 5.358979393577101e-08, -6.279052811178046e-02, -1.253332938608835e-01, -1.873814290064919e-01, -2.486896995113108e-01, -3.090168716001222e-01, -3.681244710530986e-01, -4.257792639837872e-01, -4.817537090949232e-01, -5.358268812191928e-01, -5.877850626424818e-01, -6.374238629405072e-01, -6.845470447203491e-01, -7.289685810669899e-01, -7.70513233773134e-01, -8.090170302644712e-01, -8.443277778656753e-01, -8.763066019297819e-01, -9.048269793212442e-01, -9.297764355570579e-01, -9.510565031049077e-01, -9.685831993059969e-01, -9.822871933156057e-01, -9.921146473576923e-01, -9.980267244919351e-01, -1e+00, -9.980267244919351e-01, -9.921147069617686e-01, -9.822872529193979e-01, -9.685831993066364e-01, -9.510565627095525e-01, -9.297764951617027e-01, -9.048270985303206e-01, -8.763066615349241e-01, -8.443278970749648e-01, -8.090171494737608e-01, -7.705133529824235e-01, -7.289687002762795e-01, -6.845471639296387e-01, -6.374239821497968e-01, -5.877851818517713e-01, -5.358270004284823e-01, -4.817538581065351e-01, -4.257794129953991e-01, -3.681246200647105e-01, -3.090170206117341e-01, -2.486898634240839e-01, -1.87381592919265e-01, -1.253334577736566e-01, -6.279068457400852e-02, -1.07179587871542e-07] +time=[0e+00, 1e+00] +triggeredMax.trigger=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.999940396364401e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.999880792728245e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Discrete_Validation_TriggeredMovingMean.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Discrete_Validation_TriggeredMovingMean.txt new file mode 100644 index 0000000000..9c91fe06e9 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Discrete_Validation_TriggeredMovingMean.txt @@ -0,0 +1,14 @@ +last-generated=2019-11-07 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +triMovMea1.y=[5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 9.659258127212524e-01, 9.659258127212524e-01, 9.659258127212524e-01, 9.659258127212524e-01, 9.659258127212524e-01, 9.659258127212524e-01, 8.660253882408142e-01, 8.660253882408142e-01, 8.660253882408142e-01, 8.660253882408142e-01, 8.660253882408142e-01, 8.660253882408142e-01, 8.660253882408142e-01, 2.58819043636322e-01, 2.58819043636322e-01, 2.58819043636322e-01, 2.58819043636322e-01, 2.58819043636322e-01, 2.58819043636322e-01, -5e-01, -5e-01, -5e-01, -5e-01, -5e-01, -5e-01, -5e-01, -9.659258127212524e-01, -9.659258127212524e-01, -9.659258127212524e-01, -9.659258127212524e-01, -9.659258127212524e-01, -9.659258127212524e-01, -8.660253882408142e-01, -8.660253882408142e-01, -8.660253882408142e-01, -8.660253882408142e-01, -8.660253882408142e-01, -8.660253882408142e-01, -8.660253882408142e-01, -2.58819043636322e-01, -2.58819043636322e-01, -2.58819043636322e-01, -2.58819043636322e-01, -2.58819043636322e-01, -2.58819043636322e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 9.659258127212524e-01, 9.659258127212524e-01, 9.659258127212524e-01, 9.659258127212524e-01, 9.659258127212524e-01, 9.659258127212524e-01, 8.660253882408142e-01, 8.660253882408142e-01, 8.660253882408142e-01, 8.660253882408142e-01, 8.660253882408142e-01, 8.660253882408142e-01, 2.588329411686482e-01, 2.58819043636322e-01, 2.58819043636322e-01, 2.58819043636322e-01, 2.58819043636322e-01, 2.58819043636322e-01, 2.58819043636322e-01, -5e-01, -5e-01, -5e-01, -5e-01, -5e-01, -5e-01, -9.659151487697784e-01, -9.659258127212524e-01, -9.659258127212524e-01, -9.659258127212524e-01, -9.659258127212524e-01, -9.659258127212524e-01, -9.659258127212524e-01, -8.660253882408142e-01, -8.660253882408142e-01, -8.660253882408142e-01, -8.660253882408142e-01, -8.660253882408142e-01, -8.660253882408142e-01, -2.58819043636322e-01, -2.58819043636322e-01, -2.58819043636322e-01, -2.58819043636322e-01] +triMovMea.u=[5e-01, 6.014664761625028e-01, 6.940303431224256e-01, 7.763215304147594e-01, 8.471218954572036e-01, 9.053836444491157e-01, 9.502442460986447e-01, 9.81039825166185e-01, 9.973144524855669e-01, 9.988273373113585e-01, 9.855560592452735e-01, 9.576970431879718e-01, 9.156625910792943e-01, 8.600749314947155e-01, 7.917568474510011e-01, 7.11719658129379e-01, 6.211477634337024e-01, 5.213820273864654e-01, 4.138989770374305e-01, 3.002895806922236e-01, 1.822354502526237e-01, 6.148414336605637e-02, -6.017741160777051e-02, -1.809482429551963e-01, -2.990407728508002e-01, -4.127070307731628e-01, -5.202645849902316e-01, -6.201214543432193e-01, -7.107995024713668e-01, -7.909566712565899e-01, -8.59406372571603e-01, -9.151357344746229e-01, -9.573194890543621e-01, -9.853335904124509e-01, -9.987631445789033e-01, -9.97409471884688e-01, -9.812926527540375e-01, -9.506512597456115e-01, -9.059385797843665e-01, -8.478167964622497e-01, -7.771458861072825e-01, -6.949721681218675e-01, -6.025119066129268e-01, -5.011331773993932e-01, -3.923372369748858e-01, -2.777337604438136e-01, -1.590197822870765e-01, -3.795167372273422e-02, 8.367779838870022e-02, 2.040690749453934e-01, 3.214394748210907e-01, 4.340520498189372e-01, 5.402403849040974e-01, 6.384319327476536e-01, 7.271740449482663e-01, 8.051528293793221e-01, 8.712136735627454e-01, 9.243796350130378e-01, 9.63863360403877e-01, 9.890801929538597e-01, 9.996573271530925e-01, 9.954379136508218e-01, 9.764844757927637e-01, 9.430777104161433e-01, 8.957118055813571e-01, 8.35087871074764e-01, 7.621033811027919e-01, 6.778390522139012e-01, 5.835411899253222e-01, 4.806059569398766e-01, 3.70557704302947e-01, 2.550239537545757e-01, 1.357154551069016e-01, 1.439813910256098e-02, -1.071315480732013e-01, -2.270762622356415e-01, -3.436598950159814e-01, -4.551561502577352e-01, -5.599160385472161e-01, -6.563883498595448e-01, -7.431450079442803e-01, -8.189015777244697e-01, -8.825375293645313e-01, -9.331105977372743e-01, -9.698719075143097e-01, -9.922778998577637e-01, -9.99996601962562e-01, -9.92913689373696e-01, -9.711343661248995e-01, -9.349805322352361e-01, -8.849875809445433e-01, -8.21895331384541e-01, -7.466382967631414e-01, -6.60329378754925e-01, -5.642465146045756e-01, -4.598126372729628e-01, -3.485721294190688e-01, -2.32172223260452e-01, -1.123357861520096e-01, 9.162640961086186e-03, 1.305261850357056e-01] +triMovMea.y=[5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 7.329629063606262e-01, 7.329629063606262e-01, 7.329629063606262e-01, 7.329629063606262e-01, 7.329629063606262e-01, 7.329629063606262e-01, 7.773170471191406e-01, 7.773170471191406e-01, 7.773170471191406e-01, 7.773170471191406e-01, 7.773170471191406e-01, 7.773170471191406e-01, 7.773170471191406e-01, 6.969234347343445e-01, 6.969234347343445e-01, 6.969234347343445e-01, 6.969234347343445e-01, 6.969234347343445e-01, 6.969234347343445e-01, 2.082814872264862e-01, 2.082814872264862e-01, 2.082814872264862e-01, 2.082814872264862e-01, 2.082814872264862e-01, 2.082814872264862e-01, 2.082814872264862e-01, -4.023689329624176e-01, -4.023689329624176e-01, -4.023689329624176e-01, -4.023689329624176e-01, -4.023689329624176e-01, -4.023689329624176e-01, -7.773170471191406e-01, -7.773170471191406e-01, -7.773170471191406e-01, -7.773170471191406e-01, -7.773170471191406e-01, -7.773170471191406e-01, -7.773170471191406e-01, -6.969234347343445e-01, -6.969234347343445e-01, -6.969234347343445e-01, -6.969234347343445e-01, -6.969234347343445e-01, -6.969234347343445e-01, -2.082814872264862e-01, -2.082814872264862e-01, -2.082814872264862e-01, -2.082814872264862e-01, -2.082814872264862e-01, -2.082814872264862e-01, -2.082814872264862e-01, 4.023689329624176e-01, 4.023689329624176e-01, 4.023689329624176e-01, 4.023689329624176e-01, 4.023689329624176e-01, 4.023689329624176e-01, 7.773170471191406e-01, 7.773170471191406e-01, 7.773170471191406e-01, 7.773170471191406e-01, 7.773170471191406e-01, 7.773170471191406e-01, 6.969252747560057e-01, 6.969234347343445e-01, 6.969234347343445e-01, 6.969234347343445e-01, 6.969234347343445e-01, 6.969234347343445e-01, 6.969234347343445e-01, 2.082814872264862e-01, 2.082814872264862e-01, 2.082814872264862e-01, 2.082814872264862e-01, 2.082814872264862e-01, 2.082814872264862e-01, -4.023549566033692e-01, -4.023689329624176e-01, -4.023689329624176e-01, -4.023689329624176e-01, -4.023689329624176e-01, -4.023689329624176e-01, -4.023689329624176e-01, -7.773170471191406e-01, -7.773170471191406e-01, -7.773170471191406e-01, -7.773170471191406e-01, -7.773170471191406e-01, -7.773170471191406e-01, -6.969234347343445e-01, -6.969234347343445e-01, -6.969234347343445e-01, -6.969234347343445e-01] +time=[-5e-01, 1.5e+01] +booPul.y=[1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 2.288765975810847e-05, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 9.999771123400644e-01, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 9.999771123402419e-01, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00] +triMovMea2.y=[5e-01, 5e-01, 5e-01, 5e-01, 6.466766595840454e-01, 6.466766595840454e-01, 6.466766595840454e-01, 6.466766595840454e-01, 6.466766595840454e-01, 6.466766595840454e-01, 7.615994215011597e-01, 7.615994215011597e-01, 7.615994215011597e-01, 7.615994215011597e-01, 7.615994215011597e-01, 7.615994215011597e-01, 7.615994215011597e-01, 7.978532314300537e-01, 7.978532314300537e-01, 7.978532314300537e-01, 7.978532314300537e-01, 7.978532314300537e-01, 7.978532314300537e-01, 4.8989337682724e-01, 4.8989337682724e-01, 4.8989337682724e-01, 4.8989337682724e-01, 4.8989337682724e-01, 4.8989337682724e-01, 4.8989337682724e-01, -1.050393655896187e-01, -1.050393655896187e-01, -1.050393655896187e-01, -1.050393655896187e-01, -1.050393655896187e-01, -1.050393655896187e-01, -6.384414434432983e-01, -6.384414434432983e-01, -6.384414434432983e-01, -6.384414434432983e-01, -6.384414434432983e-01, -6.384414434432983e-01, -7.978495828672888e-01, -7.978532314300537e-01, -7.978532314300537e-01, -7.978532314300537e-01, -7.978532314300537e-01, -7.978532314300537e-01, -7.978532314300537e-01, -4.8989337682724e-01, -4.8989337682724e-01, -4.8989337682724e-01, -4.8989337682724e-01, -4.8989337682724e-01, -4.8989337682724e-01, 1.050393655896187e-01, 1.050393655896187e-01, 1.050393655896187e-01, 1.050393655896187e-01, 1.050393655896187e-01, 1.050393655896187e-01, 1.050393655896187e-01, 6.384414434432983e-01, 6.384414434432983e-01, 6.384414434432983e-01, 6.384414434432983e-01, 6.384414434432983e-01, 6.384414434432983e-01, 7.978532314300537e-01, 7.978532314300537e-01, 7.978532314300537e-01, 7.978532314300537e-01, 7.978532314300537e-01, 7.978532314300537e-01, 7.978532314300537e-01, 4.8989337682724e-01, 4.8989337682724e-01, 4.8989337682724e-01, 4.8989337682724e-01, 4.8989337682724e-01, 4.8989337682724e-01, -1.050393655896187e-01, -1.050393655896187e-01, -1.050393655896187e-01, -1.050393655896187e-01, -1.050393655896187e-01, -1.050393655896187e-01, -1.050393655896187e-01, -6.384414434432983e-01, -6.384414434432983e-01, -6.384414434432983e-01, -6.384414434432983e-01, -6.384414434432983e-01, -6.384414434432983e-01, -7.978532314300537e-01, -7.978532314300537e-01, -7.978532314300537e-01, -7.978532314300537e-01, -7.978532314300537e-01, -7.978532314300537e-01, -7.978532314300537e-01] +booPul1.y=[0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 9.999771123402419e-01, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 2.288765993563313e-05, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 2.288765975810847e-05, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Discrete_Validation_TriggeredSampler.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Discrete_Validation_TriggeredSampler.txt new file mode 100644 index 0000000000..83be6c844d --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Discrete_Validation_TriggeredSampler.txt @@ -0,0 +1,12 @@ +last-generated=2018-07-13 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +booPul.y=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.999940396364401e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.999880792728245e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +sin1.y=[0e+00, 6.279052189025491e-02, 1.25333237452147e-01, 1.87381316384595e-01, 2.486898953400241e-01, 3.090169981213527e-01, 3.681245524355013e-01, 4.257792813474344e-01, 4.817536869409441e-01, 5.358267832061716e-01, 5.877852363791168e-01, 6.37423995027516e-01, 6.845471385054688e-01, 7.289686406719382e-01, 7.705132341174212e-01, 8.090169803797332e-01, 8.443279385564225e-01, 8.763066475484895e-01, 9.048270389253867e-01, 9.297764951615509e-01, 9.510564745096004e-01, 9.685831765931435e-01, 9.822872294646928e-01, 9.921147192796552e-01, 9.980267305350982e-01, 1e+00, 9.980267244918735e-01, 9.921147307571708e-01, 9.822872294647284e-01, 9.685831532414171e-01, 9.510565627098908e-01, 9.29776495161622e-01, 9.048270389253867e-01, 8.763067518650643e-01, 8.44327938556529e-01, 8.09016980379911e-01, 7.705133529832707e-01, 7.289687002764409e-01, 6.845471043246666e-01, 6.374239225441147e-01, 5.877853337517847e-01, 5.358268428108165e-01, 4.817536344844248e-01, 4.257793831936812e-01, 3.681245902625959e-01, 3.090169610060254e-01, 2.486899853117014e-01, 1.873813495884997e-01, 1.253332124403766e-01, 6.279063242083509e-02, 5.358979393577101e-08, -6.279052811178046e-02, -1.253332938608835e-01, -1.873814290064919e-01, -2.486896995113108e-01, -3.090168716001222e-01, -3.681244710530986e-01, -4.257792639837872e-01, -4.817537090949232e-01, -5.358268812191928e-01, -5.877850626424818e-01, -6.374238629405072e-01, -6.845470447203491e-01, -7.289685810669899e-01, -7.70513233773134e-01, -8.090170302644712e-01, -8.443277778656753e-01, -8.763066019297819e-01, -9.048269793212442e-01, -9.297764355570579e-01, -9.510565031049077e-01, -9.685831993059969e-01, -9.822871933156057e-01, -9.921146473576923e-01, -9.980267244919351e-01, -1e+00, -9.980267244919351e-01, -9.921147069617686e-01, -9.822872529193979e-01, -9.685831993066364e-01, -9.510565627095525e-01, -9.297764951617027e-01, -9.048270985303206e-01, -8.763066615349241e-01, -8.443278970749648e-01, -8.090171494737608e-01, -7.705133529824235e-01, -7.289687002762795e-01, -6.845471639296387e-01, -6.374239821497968e-01, -5.877851818517713e-01, -5.358270004284823e-01, -4.817538581065351e-01, -4.257794129953991e-01, -3.681246200647105e-01, -3.090170206117341e-01, -2.486898634240839e-01, -1.87381592919265e-01, -1.253334577736566e-01, -6.279068457400852e-02, -1.07179587871542e-07] +triSam.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 5.877853035926819e-01, 5.877853035926819e-01, 5.877853035926819e-01, 5.877853035926819e-01, 5.877853035926819e-01, 5.877853035926819e-01, 5.877853035926819e-01, 5.877853035926819e-01, 5.877853035926819e-01, 5.877853035926819e-01, 5.877853035926819e-01, 5.877853035926819e-01, 5.877853035926819e-01, 5.877853035926819e-01, 5.877853035926819e-01, 5.877853035926819e-01, 5.877853035926819e-01, 5.877853035926819e-01, 5.877853035926819e-01, 5.877853035926819e-01, -5.877851843833923e-01, -5.877851843833923e-01, -5.877851843833923e-01, -5.877851843833923e-01, -5.877851843833923e-01, -5.877851843833923e-01, -5.877851843833923e-01, -5.877851843833923e-01, -5.877851843833923e-01, -5.877851843833923e-01, -5.877851843833923e-01, -5.877851843833923e-01, -5.877851843833923e-01, -5.877851843833923e-01, -5.877851843833923e-01, -5.877851843833923e-01, -5.877851843833923e-01, -5.877851843833923e-01, -5.877851843833923e-01, -5.877851843833923e-01, -9.510565400123596e-01, -9.510565400123596e-01, -9.510565400123596e-01, -9.510565400123596e-01, -9.510565400123596e-01, -9.510565400123596e-01, -9.510565400123596e-01, -9.510565400123596e-01, -9.510565400123596e-01, -9.510565400123596e-01, -9.510565400123596e-01, -9.510565400123596e-01, -9.510565400123596e-01, -9.510565400123596e-01, -9.510565400123596e-01, -9.510565400123596e-01, -9.510565400123596e-01, -9.510565400123596e-01, -9.510565400123596e-01, -9.510565400123596e-01] +triSam1.y=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 5.877853035926819e-01, 5.877853035926819e-01, 5.877853035926819e-01, 5.877853035926819e-01, 5.877853035926819e-01, 5.877853035926819e-01, 5.877853035926819e-01, 5.877853035926819e-01, 5.877853035926819e-01, 5.877853035926819e-01, 5.877853035926819e-01, 5.877853035926819e-01, 5.877853035926819e-01, 5.877853035926819e-01, 5.877853035926819e-01, 5.877853035926819e-01, 5.877853035926819e-01, 5.877853035926819e-01, 5.877853035926819e-01, 5.877853035926819e-01, -5.877851843833923e-01, -5.877851843833923e-01, -5.877851843833923e-01, -5.877851843833923e-01, -5.877851843833923e-01, -5.877851843833923e-01, -5.877851843833923e-01, -5.877851843833923e-01, -5.877851843833923e-01, -5.877851843833923e-01, -5.877851843833923e-01, -5.877851843833923e-01, -5.877851843833923e-01, -5.877851843833923e-01, -5.877851843833923e-01, -5.877851843833923e-01, -5.877851843833923e-01, -5.877851843833923e-01, -5.877851843833923e-01, -5.877851843833923e-01, -9.510565400123596e-01, -9.510565400123596e-01, -9.510565400123596e-01, -9.510565400123596e-01, -9.510565400123596e-01, -9.510565400123596e-01, -9.510565400123596e-01, -9.510565400123596e-01, -9.510565400123596e-01, -9.510565400123596e-01, -9.510565400123596e-01, -9.510565400123596e-01, -9.510565400123596e-01, -9.510565400123596e-01, -9.510565400123596e-01, -9.510565400123596e-01, -9.510565400123596e-01, -9.510565400123596e-01, -9.510565400123596e-01, -9.510565400123596e-01] +time=[0e+00, 1e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Discrete_Validation_UnitDelay.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Discrete_Validation_UnitDelay.txt new file mode 100644 index 0000000000..aec709f133 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Discrete_Validation_UnitDelay.txt @@ -0,0 +1,10 @@ +last-generated=2024-08-08 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +time=[0e+00, 1e+00] +unitDelay1.u=[0e+00, 6.279052189025491e-02, 1.25333237452147e-01, 1.87381316384595e-01, 2.486898953400241e-01, 3.090169981213527e-01, 3.681245524355013e-01, 4.257792813474344e-01, 4.817536869409441e-01, 5.358267832061716e-01, 5.877852363791168e-01, 6.37423995027516e-01, 6.845471385054688e-01, 7.289686406719382e-01, 7.705132341174212e-01, 8.090169803797332e-01, 8.443279385564225e-01, 8.763066475484895e-01, 9.048270389253867e-01, 9.297764951615509e-01, 9.510564745096004e-01, 9.685831765931435e-01, 9.822872294646928e-01, 9.921147192796552e-01, 9.980267305350982e-01, 1e+00, 9.980267244918735e-01, 9.921147307571708e-01, 9.822872294647284e-01, 9.685831532414171e-01, 9.510565627098908e-01, 9.29776495161622e-01, 9.048270389253867e-01, 8.763067518650643e-01, 8.44327938556529e-01, 8.09016980379911e-01, 7.705133529832707e-01, 7.289687002764409e-01, 6.845471043246666e-01, 6.374239225441147e-01, 5.877853337517847e-01, 5.358268428108165e-01, 4.817536344844248e-01, 4.257793831936812e-01, 3.681245902625959e-01, 3.090169610060254e-01, 2.486899853117014e-01, 1.873813495884997e-01, 1.253332124403766e-01, 6.279063242083509e-02, 5.358979393577101e-08, -6.279052811178046e-02, -1.253332938608835e-01, -1.873814290064919e-01, -2.486896995113108e-01, -3.090168716001222e-01, -3.681244710530986e-01, -4.257792639837872e-01, -4.817537090949232e-01, -5.358268812191928e-01, -5.877850626424818e-01, -6.374238629405072e-01, -6.845470447203491e-01, -7.289685810669899e-01, -7.70513233773134e-01, -8.090170302644712e-01, -8.443277778656753e-01, -8.763066019297819e-01, -9.048269793212442e-01, -9.297764355570579e-01, -9.510565031049077e-01, -9.685831993059969e-01, -9.822871933156057e-01, -9.921146473576923e-01, -9.980267244919351e-01, -1e+00, -9.980267244919351e-01, -9.921147069617686e-01, -9.822872529193979e-01, -9.685831993066364e-01, -9.510565627095525e-01, -9.297764951617027e-01, -9.048270985303206e-01, -8.763066615349241e-01, -8.443278970749648e-01, -8.090171494737608e-01, -7.705133529824235e-01, -7.289687002762795e-01, -6.845471639296387e-01, -6.374239821497968e-01, -5.877851818517713e-01, -5.358270004284823e-01, -4.817538581065351e-01, -4.257794129953991e-01, -3.681246200647105e-01, -3.090170206117341e-01, -2.486898634240839e-01, -1.87381592919265e-01, -1.253334577736566e-01, -6.279068457400852e-02, -1.07179587871542e-07] +unitDelay1.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 9.510564804077148e-01, 5.877853035926819e-01, 5.877853035926819e-01, 5.877853035926819e-01, 5.877853035926819e-01, 5.877853035926819e-01, 5.877853035926819e-01, 5.877853035926819e-01, 5.877853035926819e-01, 5.877853035926819e-01, 5.877853035926819e-01, 5.877853035926819e-01, 5.877853035926819e-01, 5.877853035926819e-01, 5.877853035926819e-01, 5.877853035926819e-01, 5.877853035926819e-01, 5.877853035926819e-01, 5.877853035926819e-01, 5.877853035926819e-01, 5.877853035926819e-01, -5.877851843833923e-01, -5.877851843833923e-01, -5.877851843833923e-01, -5.877851843833923e-01, -5.877851843833923e-01, -5.877851843833923e-01, -5.877851843833923e-01, -5.877851843833923e-01, -5.877851843833923e-01, -5.877851843833923e-01, -5.877851843833923e-01, -5.877851843833923e-01, -5.877851843833923e-01, -5.877851843833923e-01, -5.877851843833923e-01, -5.877851843833923e-01, -5.877851843833923e-01, -5.877851843833923e-01, -5.877851843833923e-01, -5.877851843833923e-01] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Discrete_Validation_ZeroOrderHold.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Discrete_Validation_ZeroOrderHold.txt new file mode 100644 index 0000000000..495ac7086d --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Discrete_Validation_ZeroOrderHold.txt @@ -0,0 +1,10 @@ +last-generated=2018-07-13 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +zerOrdHol.y=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 3.0901700258255e-01, 3.0901700258255e-01, 3.0901700258255e-01, 3.0901700258255e-01, 3.0901700258255e-01, 3.0901700258255e-01, 3.0901700258255e-01, 3.0901700258255e-01, 3.0901700258255e-01, 3.0901700258255e-01, 3.0901700258255e-01, 3.0901700258255e-01, 3.0901700258255e-01, 3.0901700258255e-01, 3.0901700258255e-01, 3.0901700258255e-01, 3.0901700258255e-01, 3.0901700258255e-01, 3.0901700258255e-01, 3.0901700258255e-01, -8.090169429779053e-01, -8.090169429779053e-01, -8.090169429779053e-01, -8.090169429779053e-01, -8.090169429779053e-01, -8.090169429779053e-01, -8.090169429779053e-01, -8.090169429779053e-01, -8.090169429779053e-01, -8.090169429779053e-01, -8.090169429779053e-01, -8.090169429779053e-01, -8.090169429779053e-01, -8.090169429779053e-01, -8.090169429779053e-01, -8.090169429779053e-01, -8.090169429779053e-01, -8.090169429779053e-01, -8.090169429779053e-01, -8.090169429779053e-01, -8.0901700258255e-01, -8.0901700258255e-01, -8.0901700258255e-01, -8.0901700258255e-01, -8.0901700258255e-01, -8.0901700258255e-01, -8.0901700258255e-01, -8.0901700258255e-01, -8.0901700258255e-01, -8.0901700258255e-01, -8.0901700258255e-01, -8.0901700258255e-01, -8.0901700258255e-01, -8.0901700258255e-01, -8.0901700258255e-01, -8.0901700258255e-01, -8.0901700258255e-01, -8.0901700258255e-01, -8.0901700258255e-01, -8.0901700258255e-01, 3.090169131755829e-01, 3.090169131755829e-01, 3.090169131755829e-01, 3.090169131755829e-01, 3.090169131755829e-01, 3.090169131755829e-01, 3.090169131755829e-01, 3.090169131755829e-01, 3.090169131755829e-01, 3.090169131755829e-01, 3.090169131755829e-01, 3.090169131755829e-01, 3.090169131755829e-01, 3.090169131755829e-01, 3.090169131755829e-01, 3.090169131755829e-01, 3.090169131755829e-01, 3.090169131755829e-01, 3.090169131755829e-01, 3.090169131755829e-01] +zerOrdHol.u=[1e+00, 9.980267285330768e-01, 9.92114722359185e-01, 9.822872272920056e-01, 9.685831651680721e-01, 9.51056541430958e-01, 9.297764865835308e-01, 9.048270591019025e-01, 8.76306707153081e-01, 8.443279385564225e-01, 8.090170080380417e-01, 7.705132341174212e-01, 7.289686086868863e-01, 6.845471043246666e-01, 6.374239950275337e-01, 5.877852741471401e-01, 5.358267832061716e-01, 4.817536869409707e-01, 4.257793533913588e-01, 3.681245604602735e-01, 3.090170203545645e-01, 2.486898648442655e-01, 1.873813346873295e-01, 1.253332904574954e-01, 6.279050918949433e-02, 2.679489519152867e-08, -6.279055046444852e-02, -1.253331379345707e-01, -1.873812750826938e-01, -2.486899108059576e-01, -3.090169014013807e-01, -3.681245008556288e-01, -4.25779293786714e-01, -4.8175357487978e-01, -5.358267236016335e-01, -5.877852741471399e-01, -6.3742386293947e-01, -6.845470447200218e-01, -7.289686406717961e-01, -7.70513293378626e-01, -8.090169207752662e-01, -8.443279385564224e-01, -8.763066922604196e-01, -9.048270389253867e-01, -9.297764951615509e-01, -9.51056503105246e-01, -9.685831532414171e-01, -9.822872294646928e-01, -9.921147307568511e-01, -9.980267244918735e-01, -1e+00, -9.980267244919351e-01, -9.921147069617686e-01, -9.822872529193979e-01, -9.685831993066364e-01, -9.510565627095525e-01, -9.297764951617027e-01, -9.04827038925889e-01, -8.763066615344267e-01, -8.443278970741832e-01, -8.090170898698266e-01, -7.705133529824235e-01, -7.289687002762795e-01, -6.845471043249939e-01, -6.374239821493705e-01, -5.877851818517713e-01, -5.358270004284823e-01, -4.817538283042127e-01, -4.257793831930767e-01, -3.68124620064675e-01, -3.090169908094118e-01, -2.486898336217616e-01, -1.873815631169426e-01, -1.253334279713343e-01, -6.279065477168613e-02, -8.038468735094284e-08, 6.27904983094936e-02, 1.253332640585611e-01, 1.873814141051175e-01, 2.486896697091483e-01, 3.090168417977998e-01, 3.681244710530631e-01, 4.257792639837872e-01, 4.817536792926008e-01, 5.358268812191928e-01, 5.877850626424818e-01, 6.374238629400809e-01, 6.84547044720207e-01, 7.289685810669899e-01, 7.70513233773134e-01, 8.090170302644712e-01, 8.443277778656753e-01, 8.763066019297819e-01, 9.048269793210311e-01, 9.297764355570579e-01, 9.510565031049077e-01, 9.685831397019916e-01, 9.822871933156057e-01, 9.921146473576923e-01, 9.980267244919351e-01, 1e+00] +time=[0e+00, 1e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Integers_Sources_Validation_Constant.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Integers_Sources_Validation_Constant.txt new file mode 100644 index 0000000000..b7b9df4f2d --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Integers_Sources_Validation_Constant.txt @@ -0,0 +1,9 @@ +last-generated=2017-07-17 +statistics-simulation= +{ + "numerical Jacobians": "0", + "nonlinear": " ", + "linear": " " +} +con.y=[5e+00, 5e+00] +time=[0e+00, 1e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Integers_Sources_Validation_Pulse.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Integers_Sources_Validation_Pulse.txt new file mode 100644 index 0000000000..0a4bdb3cc8 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Integers_Sources_Validation_Pulse.txt @@ -0,0 +1,12 @@ +last-generated=2020-10-20 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +time=[0e+00, 5e+00] +pul.y=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +pul1.y=[3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00] +pul2.y=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +pul3.y=[4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Integers_Sources_Validation_TimeTable.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Integers_Sources_Validation_TimeTable.txt new file mode 100644 index 0000000000..8a4eae8219 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Integers_Sources_Validation_TimeTable.txt @@ -0,0 +1,13 @@ +last-generated=2020-10-08 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +time=[0e+00, 1.5e+01] +intTimTab.y[1]=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 1.999974569266936e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00] +intTimTab.y[2]=[4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 1.999961853900403e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00] +intTimTab1.y[1]=[-1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00] +intTimTab1.y[2]=[-2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00] +tabOneRow.y[1]=[-1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Integers_Sources_Validation_TimeTableNegativeStartTime.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Integers_Sources_Validation_TimeTableNegativeStartTime.txt new file mode 100644 index 0000000000..187aaf6ee7 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Integers_Sources_Validation_TimeTableNegativeStartTime.txt @@ -0,0 +1,13 @@ +last-generated=2020-10-08 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +time=[-5e+00, 1e+01] +intTimTab.y[1]=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1.000001589452388e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00] +intTimTab.y[2]=[4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 3.999996821095224e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00] +intTimTab1.y[1]=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +intTimTab1.y[2]=[4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00] +tabOneRow.y[1]=[-1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Integers_Validation_Abs.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Integers_Validation_Abs.txt new file mode 100644 index 0000000000..c8f69ac5ed --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Integers_Validation_Abs.txt @@ -0,0 +1,10 @@ +last-generated=2023-03-02 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +time=[0e+00, 1e+00] +abs1.u=[-4e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -5.006780019356505e-06, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00] +abs1.y=[4e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 5.006780019356505e-06, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Integers_Validation_Add.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Integers_Validation_Add.txt new file mode 100644 index 0000000000..c534d2847c --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Integers_Validation_Add.txt @@ -0,0 +1,11 @@ +last-generated=2023-03-02 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +time=[0e+00, 1e+00] +add1.u1=[-4e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -5.006780019356505e-06, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00] +add1.u2=[-1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2.999994993219981e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00] +add1.y=[-5e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 2.999989986439961e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 9e+00, 9e+00, 9e+00, 9e+00, 9e+00, 9e+00, 9e+00, 9e+00, 9e+00, 9e+00, 9e+00, 9e+00, 9e+00, 9e+00, 9e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Integers_Validation_AddParameter.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Integers_Validation_AddParameter.txt new file mode 100644 index 0000000000..c45957d4a3 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Integers_Validation_AddParameter.txt @@ -0,0 +1,10 @@ +last-generated=2023-03-02 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +time=[0e+00, 1e+00] +addPar.u=[-4e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -5.006780019356505e-06, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00] +addPar.y=[1e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4.999994993219981e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 8e+00, 8e+00, 8e+00, 8e+00, 8e+00, 8e+00, 8e+00, 8e+00, 8e+00, 8e+00, 8e+00, 8e+00, 8e+00, 8e+00, 8e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Integers_Validation_Change.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Integers_Validation_Change.txt new file mode 100644 index 0000000000..e13770f24c --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Integers_Validation_Change.txt @@ -0,0 +1,19 @@ +last-generated=2023-03-02 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +time=[0e+00, 1e+00] +reaToInt.y=[-1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5.960363559974428e-06, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +cha.u=[-1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5.960363559974428e-06, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +cha.up=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +cha.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +cha.down=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +changeSampler.u=[0e+00, 2.000000074505789e-01, 4.000000149011579e-01, 6.000000372528755e-01, 8.000000298023024e-01, 9.999999850988333e-01, 1.200000074505776e+00, 1.399999970197673e+00, 1.600000059604538e+00, 1.799999880790923e+00, 1.999999970197766e+00, 2.200000059604609e+00, 2.400000149011452e+00, 2.600000000000284e+00, 2.799999940395391e+00, 2.999999880791066e+00, 3.200000119209077e+00, 3.400000059604539e+00, 3.599999761581847e+00, 3.799999999999858e+00, 3.999999940395533e+00, 4.199999940394965e+00, 4.400000119209219e+00, 4.599999821186315e+00, 4.800000298022904e+00, 5e+00, 5.199999999999432e+00, 5.39999988079135e+00, 5.599999880790782e+00, 5.800000357627371e+00, 5.999999761582131e+00, 6.199999761581563e+00, 6.400000238418153e+00, 6.599999642372913e+00, 6.800000119209503e+00, 7.000000119208934e+00, 7.199999523163694e+00, 7.400000000000285e+00, 7.599999999999716e+00, 7.800000476836306e+00, 7.999999880791066e+00, 8.199999880790497e+00, 8.399999880789929e+00, 8.600000238419005e+00, 8.800000238418438e+00, 9.000000238417869e+00, 9.19999964237263e+00, 9.399999642372061e+00, 9.600000596045808e+00, 9.800000000000569e+00, 1e+01, 1.019999999999659e+01, 1.039999999999318e+01, 1.060000095366409e+01, 1.07999997615891e+01, 1.099999976158568e+01, 1.119999976158085e+01, 1.139999976157886e+01, 1.160000071524977e+01, 1.180000071524636e+01, 1.199999952317137e+01, 1.219999952316796e+01, 1.239999952316455e+01, 1.260000047683545e+01, 1.280000047683204e+01, 1.300000047682863e+01, 1.319999928475364e+01, 1.339999928475023e+01, 1.360000023842114e+01, 1.380000023841915e+01, 1.400000023841432e+01, 1.42000002384109e+01, 1.439999904633591e+01, 1.460000000000682e+01, 1.480000000000341e+01, 1.5e+01, 1.519999999999659e+01, 1.539999999999318e+01, 1.560000095366409e+01, 1.57999997615891e+01, 1.599999976158568e+01, 1.620000071525403e+01, 1.639999976158227e+01, 1.660000071524181e+01, 1.679999976158455e+01, 1.699999952316e+01, 1.720000047683545e+01, 1.739999952316682e+01, 1.760000047683318e+01, 1.779999952316455e+01, 1.800000047684e+01, 1.820000023841545e+01, 1.839999928475819e+01, 1.860000023841773e+01, 1.879999928474597e+01, 1.900000023842e+01, 1.920000119207499e+01, 1.939999904634956e+01, 1.959999999999773e+01, 1.979999904633364e+01, 2e+01] +changeSampler.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1.000002384145424e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01] +increaseSampler.u=[0e+00, 2.000000074505789e-01, 4.000000149011579e-01, 6.000000372528755e-01, 8.000000298023024e-01, 9.999999850988333e-01, 1.200000074505776e+00, 1.399999970197673e+00, 1.600000059604538e+00, 1.799999880790923e+00, 1.999999970197766e+00, 2.200000059604609e+00, 2.400000149011452e+00, 2.600000000000284e+00, 2.799999940395391e+00, 2.999999880791066e+00, 3.200000119209077e+00, 3.400000059604539e+00, 3.599999761581847e+00, 3.799999999999858e+00, 3.999999940395533e+00, 4.199999940394965e+00, 4.400000119209219e+00, 4.599999821186315e+00, 4.800000298022904e+00, 5e+00, 5.199999999999432e+00, 5.39999988079135e+00, 5.599999880790782e+00, 5.800000357627371e+00, 5.999999761582131e+00, 6.199999761581563e+00, 6.400000238418153e+00, 6.599999642372913e+00, 6.800000119209503e+00, 7.000000119208934e+00, 7.199999523163694e+00, 7.400000000000285e+00, 7.599999999999716e+00, 7.800000476836306e+00, 7.999999880791066e+00, 8.199999880790497e+00, 8.399999880789929e+00, 8.600000238419005e+00, 8.800000238418438e+00, 9.000000238417869e+00, 9.19999964237263e+00, 9.399999642372061e+00, 9.600000596045808e+00, 9.800000000000569e+00, 1e+01, 1.019999999999659e+01, 1.039999999999318e+01, 1.060000095366409e+01, 1.07999997615891e+01, 1.099999976158568e+01, 1.119999976158085e+01, 1.139999976157886e+01, 1.160000071524977e+01, 1.180000071524636e+01, 1.199999952317137e+01, 1.219999952316796e+01, 1.239999952316455e+01, 1.260000047683545e+01, 1.280000047683204e+01, 1.300000047682863e+01, 1.319999928475364e+01, 1.339999928475023e+01, 1.360000023842114e+01, 1.380000023841915e+01, 1.400000023841432e+01, 1.42000002384109e+01, 1.439999904633591e+01, 1.460000000000682e+01, 1.480000000000341e+01, 1.5e+01, 1.519999999999659e+01, 1.539999999999318e+01, 1.560000095366409e+01, 1.57999997615891e+01, 1.599999976158568e+01, 1.620000071525403e+01, 1.639999976158227e+01, 1.660000071524181e+01, 1.679999976158455e+01, 1.699999952316e+01, 1.720000047683545e+01, 1.739999952316682e+01, 1.760000047683318e+01, 1.779999952316455e+01, 1.800000047684e+01, 1.820000023841545e+01, 1.839999928475819e+01, 1.860000023841773e+01, 1.879999928474597e+01, 1.900000023842e+01, 1.920000119207499e+01, 1.939999904634956e+01, 1.959999999999773e+01, 1.979999904633364e+01, 2e+01] +increaseSampler.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6.000047682908479e+00, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01] +decreaseSampler.u=[0e+00, 2.000000074505789e-01, 4.000000149011579e-01, 6.000000372528755e-01, 8.000000298023024e-01, 9.999999850988333e-01, 1.200000074505776e+00, 1.399999970197673e+00, 1.600000059604538e+00, 1.799999880790923e+00, 1.999999970197766e+00, 2.200000059604609e+00, 2.400000149011452e+00, 2.600000000000284e+00, 2.799999940395391e+00, 2.999999880791066e+00, 3.200000119209077e+00, 3.400000059604539e+00, 3.599999761581847e+00, 3.799999999999858e+00, 3.999999940395533e+00, 4.199999940394965e+00, 4.400000119209219e+00, 4.599999821186315e+00, 4.800000298022904e+00, 5e+00, 5.199999999999432e+00, 5.39999988079135e+00, 5.599999880790782e+00, 5.800000357627371e+00, 5.999999761582131e+00, 6.199999761581563e+00, 6.400000238418153e+00, 6.599999642372913e+00, 6.800000119209503e+00, 7.000000119208934e+00, 7.199999523163694e+00, 7.400000000000285e+00, 7.599999999999716e+00, 7.800000476836306e+00, 7.999999880791066e+00, 8.199999880790497e+00, 8.399999880789929e+00, 8.600000238419005e+00, 8.800000238418438e+00, 9.000000238417869e+00, 9.19999964237263e+00, 9.399999642372061e+00, 9.600000596045808e+00, 9.800000000000569e+00, 1e+01, 1.019999999999659e+01, 1.039999999999318e+01, 1.060000095366409e+01, 1.07999997615891e+01, 1.099999976158568e+01, 1.119999976158085e+01, 1.139999976157886e+01, 1.160000071524977e+01, 1.180000071524636e+01, 1.199999952317137e+01, 1.219999952316796e+01, 1.239999952316455e+01, 1.260000047683545e+01, 1.280000047683204e+01, 1.300000047682863e+01, 1.319999928475364e+01, 1.339999928475023e+01, 1.360000023842114e+01, 1.380000023841915e+01, 1.400000023841432e+01, 1.42000002384109e+01, 1.439999904633591e+01, 1.460000000000682e+01, 1.480000000000341e+01, 1.5e+01, 1.519999999999659e+01, 1.539999999999318e+01, 1.560000095366409e+01, 1.57999997615891e+01, 1.599999976158568e+01, 1.620000071525403e+01, 1.639999976158227e+01, 1.660000071524181e+01, 1.679999976158455e+01, 1.699999952316e+01, 1.720000047683545e+01, 1.739999952316682e+01, 1.760000047683318e+01, 1.779999952316455e+01, 1.800000047684e+01, 1.820000023841545e+01, 1.839999928475819e+01, 1.860000023841773e+01, 1.879999928474597e+01, 1.900000023842e+01, 1.920000119207499e+01, 1.939999904634956e+01, 1.959999999999773e+01, 1.979999904633364e+01, 2e+01] +decreaseSampler.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Integers_Validation_Equal.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Integers_Validation_Equal.txt new file mode 100644 index 0000000000..07e79cfae6 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Integers_Validation_Equal.txt @@ -0,0 +1,11 @@ +last-generated=2023-03-02 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +time=[0e+00, 1e+00] +intEqu.u1=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5.960363559974428e-06, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +intEqu.u2=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2.980226188066309e-06, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5.960363559974428e-06, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +intEqu.y=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2.980226188066309e-06, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Integers_Validation_Greater.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Integers_Validation_Greater.txt new file mode 100644 index 0000000000..1d5fb30cc6 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Integers_Validation_Greater.txt @@ -0,0 +1,11 @@ +last-generated=2023-03-02 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +time=[0e+00, 1e+00] +intGre.u1=[-4e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3.00000596036356e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5.000011920727175e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00] +intGre.u2=[-2e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00] +intGre.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Integers_Validation_GreaterEqual.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Integers_Validation_GreaterEqual.txt new file mode 100644 index 0000000000..16c87d980d --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Integers_Validation_GreaterEqual.txt @@ -0,0 +1,11 @@ +last-generated=2023-03-02 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +time=[0e+00, 1e+00] +intGreEqu.u1=[-1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5.960363559974428e-06, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +intGreEqu.u2=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2.980226188066309e-06, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5.960363559974428e-06, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +intGreEqu.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Integers_Validation_GreaterEqualThreshold.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Integers_Validation_GreaterEqualThreshold.txt new file mode 100644 index 0000000000..b05c270c63 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Integers_Validation_GreaterEqualThreshold.txt @@ -0,0 +1,11 @@ +last-generated=2023-03-02 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +time=[0e+00, 1e+00] +intGreEquThr.t=[2e+00, 2e+00] +intGreEquThr.u=[-4e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3.00000596036356e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5.000011920727175e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00] +intGreEquThr.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Integers_Validation_GreaterThreshold.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Integers_Validation_GreaterThreshold.txt new file mode 100644 index 0000000000..4938df5950 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Integers_Validation_GreaterThreshold.txt @@ -0,0 +1,11 @@ +last-generated=2017-09-14 +statistics-simulation= +{ + "numerical Jacobians": "0", + "nonlinear": " ", + "linear": " " +} +intGreThr.u=[-4e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3.00000596036356e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5.000011920727175e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00] +intGreThr.t=[2e+00, 2e+00] +time=[0e+00, 1e+00] +intGreThr.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Integers_Validation_Less.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Integers_Validation_Less.txt new file mode 100644 index 0000000000..5f52d8e2ad --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Integers_Validation_Less.txt @@ -0,0 +1,11 @@ +last-generated=2023-03-02 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +time=[0e+00, 1e+00] +intLes.u1=[-1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5.960363559974428e-06, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +intLes.u2=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2.980226188066309e-06, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5.960363559974428e-06, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +intLes.y=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Integers_Validation_LessEqual.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Integers_Validation_LessEqual.txt new file mode 100644 index 0000000000..b9dcc0b270 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Integers_Validation_LessEqual.txt @@ -0,0 +1,11 @@ +last-generated=2017-09-14 +statistics-simulation= +{ + "numerical Jacobians": "0", + "nonlinear": " ", + "linear": " " +} +intLesEqu.u1=[-4e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3.00000596036356e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5.000011920727175e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00] +intLesEqu.u2=[-2e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00] +time=[0e+00, 1e+00] +intLesEqu.y=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Integers_Validation_LessEqualThreshold.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Integers_Validation_LessEqualThreshold.txt new file mode 100644 index 0000000000..c4b4741f28 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Integers_Validation_LessEqualThreshold.txt @@ -0,0 +1,11 @@ +last-generated=2023-03-02 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +time=[0e+00, 1e+00] +intLesEquThr.t=[2e+00, 2e+00] +intLesEquThr.u=[-4e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3.00000596036356e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5.000011920727175e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00] +intLesEquThr.y=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Integers_Validation_LessThreshold.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Integers_Validation_LessThreshold.txt new file mode 100644 index 0000000000..a1400868b1 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Integers_Validation_LessThreshold.txt @@ -0,0 +1,11 @@ +last-generated=2023-03-02 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +time=[0e+00, 1e+00] +intLesThr.t=[2e+00, 2e+00] +intLesThr.u=[-4e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3.00000596036356e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5.000011920727175e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00] +intLesThr.y=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Integers_Validation_Max.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Integers_Validation_Max.txt new file mode 100644 index 0000000000..8832147591 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Integers_Validation_Max.txt @@ -0,0 +1,11 @@ +last-generated=2017-09-14 +statistics-simulation= +{ + "numerical Jacobians": "0", + "nonlinear": " ", + "linear": " " +} +max1.u2=[-2e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00] +max1.u1=[-4e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3.00000596036356e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5.000011920727175e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00] +max1.y=[-2e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3.00000596036356e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5.000011920727175e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00] +time=[0e+00, 1e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Integers_Validation_Min.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Integers_Validation_Min.txt new file mode 100644 index 0000000000..cb4ee9bbfc --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Integers_Validation_Min.txt @@ -0,0 +1,11 @@ +last-generated=2017-09-14 +statistics-simulation= +{ + "numerical Jacobians": "0", + "nonlinear": " ", + "linear": " " +} +min1.y=[-4e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00] +min1.u2=[-2e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00] +min1.u1=[-4e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3.00000596036356e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5.000011920727175e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00] +time=[0e+00, 1e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Integers_Validation_MultiSum.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Integers_Validation_MultiSum.txt new file mode 100644 index 0000000000..e3abd1b3b3 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Integers_Validation_MultiSum.txt @@ -0,0 +1,12 @@ +last-generated=2017-09-14 +statistics-simulation= +{ + "numerical Jacobians": "0", + "nonlinear": " ", + "linear": " " +} +add1.u[3]=[-2e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1.999994993219981e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00] +add1.u[1]=[-4e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -5.006780019356505e-06, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00] +add1.y=[-7e+00, -4e+00, -4e+00, -4e+00, -4e+00, -4e+00, -4e+00, -4e+00, -4e+00, -4e+00, -4e+00, -4e+00, -4e+00, -4e+00, -4e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 4.999984979659942e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 8e+00, 8e+00, 8e+00, 8e+00, 8e+00, 8e+00, 8e+00, 8e+00, 8e+00, 8e+00, 8e+00, 8e+00, 8e+00, 8e+00, 1.1e+01, 1.1e+01, 1.1e+01, 1.1e+01, 1.1e+01, 1.1e+01, 1.1e+01, 1.1e+01, 1.1e+01, 1.1e+01, 1.1e+01, 1.1e+01, 1.1e+01, 1.1e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01] +add1.u[2]=[-1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2.999994993219981e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00] +time=[0e+00, 1e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Integers_Validation_Multiply.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Integers_Validation_Multiply.txt new file mode 100644 index 0000000000..0ff41f82a1 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Integers_Validation_Multiply.txt @@ -0,0 +1,11 @@ +last-generated=2023-03-02 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +time=[0e+00, 1e+00] +product.u1=[-1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5.960363559974428e-06, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +product.u2=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2.980226188066309e-06, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5.960363559974428e-06, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +product.y=[-0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, -0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2.980226188066309e-06, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5.960363559974428e-06, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Integers_Validation_OnCounter.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Integers_Validation_OnCounter.txt new file mode 100644 index 0000000000..44d8af0621 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Integers_Validation_OnCounter.txt @@ -0,0 +1,11 @@ +last-generated=2018-07-13 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +onCounter.trigger=[1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 0e+00, 0e+00, 2.980226188066309e-06, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 0e+00, 0e+00, 5.960452403888138e-06, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 0e+00, 0e+00, 1.192072717545907e-05, 1e+00, 1e+00, 0e+00, 0e+00, 5.960363559974428e-06, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 0e+00, 0e+00, 1.192072717545907e-05, 1e+00, 1e+00, 0e+00, 0e+00, 5.960363559974428e-06, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00] +time=[0e+00, 2e+00] +onCounter.reset=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +onCounter.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2.000002980226188e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4.000005960452404e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3.000011920727176e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4.00000596036356e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Integers_Validation_Stage.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Integers_Validation_Stage.txt new file mode 100644 index 0000000000..4bba95643e --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Integers_Validation_Stage.txt @@ -0,0 +1,14 @@ +last-generated=2023-03-02 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +time=[0e+00, 1e+01] +sta.u=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 9.999997392295245e-03, 1.999999478461667e-02, 3.000000409780068e-02, 4.00000014901188e-02, 5.000000074505806e-02, 5.999999627470705e-02, 6.999999552968364e-02, 8.0000002980218e-02, 9.000000596046269e-02, 1.000000014901161e-01, 1.100000089407251e-01, 1.19999992549423e-01, 1.300000000000142e-01, 1.399999910592749e-01, 1.500000059604645e-01, 1.600000059604929e-01, 1.699999970197536e-01, 1.800000119209077e-01, 1.899999880790426e-01, 2.000000029802322e-01, 2.100000029802607e-01, 2.199999940395213e-01, 2.300000089406754e-01, 2.399999850988815e-01, 2.5e-01, 2.600000000000284e-01, 2.700000059604503e-01, 2.800000059604787e-01, 2.899999821185782e-01, 3.00000011920929e-01, 3.100000119209573e-01, 3.200000119209858e-01, 3.299999940394787e-01, 3.399999940395071e-01, 3.499999940395355e-01, 3.600000238417443e-01, 3.700000238419147e-01, 3.799999761580852e-01, 3.899999761582558e-01, 4.000000059604645e-01, 4.100000059604929e-01, 4.200000059605213e-01, 4.299999880790143e-01, 4.399999880790427e-01, 4.49999988079071e-01, 4.600000178814219e-01, 4.700000178814502e-01, 4.799999701976208e-01, 4.899999999999715e-01, 5e-01, 5.100000000001705e-01, 5.200000000003411e-01, 5.299999523165115e-01, 5.400000119207584e-01, 5.50000011920929e-01, 5.600000119208153e-01, 5.7000001192127e-01, 5.799999642374406e-01, 5.899999642373268e-01, 6.000000238418579e-01, 6.100000238417442e-01, 6.200000238416304e-01, 6.299999761583694e-01, 6.399999761582558e-01, 6.499999761581421e-01, 6.600000357626732e-01, 6.700000357625595e-01, 6.799999880787301e-01, 6.899999880791847e-01, 6.99999988079071e-01, 7.099999403967195e-01, 7.200000476830336e-01, 7.300000000001136e-01, 7.400000476823516e-01, 7.5e-01, 7.599999523187068e-01, 7.699999999998862e-01, 7.799999523169664e-01, 7.900000596032806e-01, 8.00000011920929e-01, 8.099999642385773e-01, 8.200000119208154e-01, 8.299999642378953e-01, 8.400000119207014e-01, 8.500000238418579e-01, 8.599999761575364e-01, 8.700000238411757e-01, 8.799999761588243e-01, 8.900000238416306e-01, 8.999999761581421e-01] +sta.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00] +zerHolTim.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00] +sta1.u=[5e-01, 5.62666594051887e-01, 6.243449431345468e-01, 6.840622951144832e-01, 7.408768501618699e-01, 7.938926219940186e-01, 8.422735222964175e-01, 8.852566527649917e-01, 9.22163959225402e-01, 9.524135055626048e-01, 9.755282402038574e-01, 9.911436408643766e-01, 9.990133620582184e-01, 9.990133620582184e-01, 9.911436408643766e-01, 9.755282402038574e-01, 9.524135055626234e-01, 9.221639790519085e-01, 8.852566286780194e-01, 8.422735222963845e-01, 7.938926219940186e-01, 7.408768005993301e-01, 6.840623298276093e-01, 6.243449158439494e-01, 5.62666654330428e-01, 5e-01, 4.373333158675338e-01, 3.756550841559793e-01, 3.159376999745707e-01, 2.59123229202708e-01, 2.061073780059814e-01, 1.577264085938893e-01, 1.147434011243298e-01, 7.783602094799758e-02, 4.758650075945427e-02, 2.447174116969109e-02, 8.856364283090808e-03, 9.866380581584411e-04, 9.866380581584411e-04, 8.856364283090808e-03, 2.447174116969109e-02, 4.758650075945427e-02, 7.783610216161774e-02, 1.147433065166289e-01, 1.577264085938895e-01, 2.061073780059814e-01, 2.591232292027082e-01, 3.15937839658879e-01, 3.756549393554028e-01, 4.373333158675341e-01, 5e-01, 5.626666543304277e-01, 6.243450606445972e-01, 6.840621901428749e-01, 7.408768005993305e-01, 7.938926219940186e-01, 8.422735765049497e-01, 8.852567232851958e-01, 9.221638978381691e-01, 9.52413473163549e-01, 9.755282402038574e-01, 9.911436543433851e-01, 9.990133703364621e-01, 9.990133703364621e-01, 9.911436543433851e-01, 9.755282402038574e-01, 9.52413473163549e-01, 9.221638978381691e-01, 8.852567232851958e-01, 8.422735765049497e-01, 7.938926219940186e-01, 7.408768005993305e-01, 6.840621901428749e-01, 6.243450606445972e-01, 5.626666543304277e-01, 5e-01, 4.373333158675341e-01, 3.756549393554029e-01, 3.15937839658879e-01, 2.591232292027077e-01, 2.061073780059814e-01, 1.57726628516219e-01, 1.147433065184227e-01, 7.783610216005693e-02, 4.758637525310335e-02, 2.447174116969109e-02, 8.856420791578445e-03, 9.866297802864079e-04, 9.866297802864077e-04, 8.856422635427366e-03, 2.447174116969109e-02, 4.758637525310335e-02, 7.783610216005693e-02, 1.147433065184227e-01, 1.57726628516219e-01, 2.061073780059814e-01, 2.591229668516646e-01, 3.159378396562095e-01, 3.756549393581616e-01, 4.373336133572886e-01, 5e-01] +sta1.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +lesHolTim.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 1.000050806554093e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1.999949193445907e+00, 2e+00, 2e+00, 2e+00, 2e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Integers_Validation_Subtract.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Integers_Validation_Subtract.txt new file mode 100644 index 0000000000..ceae9185b2 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Integers_Validation_Subtract.txt @@ -0,0 +1,11 @@ +last-generated=2023-03-02 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +time=[0e+00, 1e+00] +sub.u1=[-4e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -5.006780019356505e-06, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00] +sub.u2=[-1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2.999994993219981e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00] +sub.y=[-3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Integers_Validation_Switch.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Integers_Validation_Switch.txt new file mode 100644 index 0000000000..28c5701312 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Integers_Validation_Switch.txt @@ -0,0 +1,12 @@ +last-generated=2023-03-02 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +time=[0e+00, 5e+00] +integerSwitch.u1=[5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 4.99997615811933e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 4.999976158119441e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00] +integerSwitch.u2=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +integerSwitch.u3=[2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +integerSwitch.y=[5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 4.99997615811933e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Sources_Validation_Constant.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Sources_Validation_Constant.txt new file mode 100644 index 0000000000..0ba92d31a9 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Sources_Validation_Constant.txt @@ -0,0 +1,9 @@ +last-generated=2017-07-17 +statistics-simulation= +{ + "numerical Jacobians": "0", + "nonlinear": " ", + "linear": " " +} +con.y=[1e+00, 1e+00] +time=[0e+00, 1e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Sources_Validation_Pulse.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Sources_Validation_Pulse.txt new file mode 100644 index 0000000000..bd79ba9841 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Sources_Validation_Pulse.txt @@ -0,0 +1,23 @@ +last-generated=2020-10-20 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +time=[0e+00, 1e+01] +booPul_a1.y=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 9.999809269502016e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +booPul_a2.y=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 9.999809269502016e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +booPul_a3.y=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 9.999809269502016e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +booPul_a4.y=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 9.999809269502016e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +booPul_a5.y=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 9.999809269502016e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +booPul_b1.y=[0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.768376133949992e-06, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.76837611174551e-06, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.76837611174551e-06, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +booPul_b2.y=[0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.768376133949992e-06, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.76837611174551e-06, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.76837611174551e-06, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +booPul_b3.y=[0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.768376133949992e-06, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.76837611174551e-06, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.76837611174551e-06, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +booPul_b4.y=[0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.768376133949992e-06, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.76837611174551e-06, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.76837611174551e-06, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +booPul_b5.y=[0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.768376133949992e-06, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.76837611174551e-06, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.76837611174551e-06, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +booPul_c1.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.768376133949992e-06, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.768376156154474e-06, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.768376156154474e-06, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +booPul_c2.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.768376133949992e-06, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.768376156154474e-06, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.768376156154474e-06, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +booPul_c3.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.768376133949992e-06, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.768376156154474e-06, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.768376156154474e-06, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +booPul_c4.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.768376133949992e-06, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.768376156154474e-06, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.768376156154474e-06, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +booPul_c5.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.768376133949992e-06, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.768376156154474e-06, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.768376156154474e-06, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Sources_Validation_PulseNegativeStartTime.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Sources_Validation_PulseNegativeStartTime.txt new file mode 100644 index 0000000000..78485dfaec --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Sources_Validation_PulseNegativeStartTime.txt @@ -0,0 +1,23 @@ +last-generated=2020-10-20 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +time=[-1e+01, 1e+00] +booPul_a1.y=[1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 3.814700907156521e-06, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +booPul_a2.y=[1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 3.814700907156521e-06, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +booPul_a3.y=[1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 3.814700907156521e-06, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +booPul_a4.y=[1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 3.814700907156521e-06, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +booPul_a5.y=[1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 3.814700907156521e-06, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +booPul_b1.y=[0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 2.288765975810847e-05, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +booPul_b2.y=[0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 2.288765975810847e-05, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +booPul_b3.y=[0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 2.288765975810847e-05, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +booPul_b4.y=[0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 2.288765975810847e-05, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +booPul_b5.y=[0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 2.288765975810847e-05, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +booPul_c1.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.33486858314694e-06, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00] +booPul_c2.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.33486858314694e-06, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00] +booPul_c3.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.33486858314694e-06, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00] +booPul_c4.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.33486858314694e-06, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00] +booPul_c5.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.33486858314694e-06, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Sources_Validation_PulsePositiveStartTime.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Sources_Validation_PulsePositiveStartTime.txt new file mode 100644 index 0000000000..e05c5ae316 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Sources_Validation_PulsePositiveStartTime.txt @@ -0,0 +1,23 @@ +last-generated=2020-10-20 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +time=[9e+00, 2e+01] +booPul_a1.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 9.999771123402419e-01, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +booPul_a2.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 9.999771123402419e-01, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +booPul_a3.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 9.999771123402419e-01, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +booPul_a4.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 9.999771123402419e-01, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +booPul_a5.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 9.999771123402419e-01, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +booPul_b1.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 2.288765975810847e-05, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +booPul_b2.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 2.288765975810847e-05, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +booPul_b3.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 2.288765975810847e-05, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +booPul_b4.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 2.288765975810847e-05, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +booPul_b5.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 2.288765975810847e-05, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +booPul_c1.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 2.288765993563313e-05, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +booPul_c2.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 2.288765993563313e-05, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +booPul_c3.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 2.288765993563313e-05, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +booPul_c4.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 2.288765993563313e-05, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +booPul_c5.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 2.288765993563313e-05, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Sources_Validation_SampleTrigger.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Sources_Validation_SampleTrigger.txt new file mode 100644 index 0000000000..8075017218 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Sources_Validation_SampleTrigger.txt @@ -0,0 +1,14 @@ +last-generated=2020-12-03 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +time=[0e+00, 5e+00] +samTri.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +triggeredSampler.u=[0e+00, 2e-01, 4e-01, 6e-01, 8e-01, 1e+00, 1.2e+00, 1.4e+00, 1.6e+00, 1.8e+00, 2e+00, 2.2e+00, 2.4e+00, 2.6e+00, 2.8e+00, 3e+00, 3.2e+00, 3.4e+00, 3.6e+00, 3.8e+00, 4e+00, 4.2e+00, 4.4e+00, 4.600000000000001e+00, 4.8e+00, 5e+00, 5.2e+00, 5.4e+00, 5.600000000000001e+00, 5.8e+00, 6e+00, 6.2e+00, 6.4e+00, 6.600000000000001e+00, 6.800000000000001e+00, 7e+00, 7.199999999999999e+00, 7.4e+00, 7.6e+00, 7.800000000000001e+00, 8e+00, 8.199999999999999e+00, 8.4e+00, 8.6e+00, 8.800000000000001e+00, 9e+00, 9.200000000000001e+00, 9.399999999999999e+00, 9.6e+00, 9.800000000000001e+00, 1e+01, 1.02e+01, 1.04e+01, 1.06e+01, 1.08e+01, 1.1e+01, 1.12e+01, 1.14e+01, 1.16e+01, 1.18e+01, 1.2e+01, 1.22e+01, 1.24e+01, 1.26e+01, 1.28e+01, 1.3e+01, 1.32e+01, 1.34e+01, 1.36e+01, 1.38e+01, 1.4e+01, 1.42e+01, 1.44e+01, 1.46e+01, 1.48e+01, 1.5e+01, 1.52e+01, 1.54e+01, 1.56e+01, 1.58e+01, 1.6e+01, 1.62e+01, 1.64e+01, 1.66e+01, 1.68e+01, 1.7e+01, 1.72e+01, 1.74e+01, 1.76e+01, 1.78e+01, 1.8e+01, 1.82e+01, 1.84e+01, 1.86e+01, 1.88e+01, 1.9e+01, 1.92e+01, 1.94e+01, 1.96e+01, 1.98e+01, 2e+01] +triggeredSampler.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 8e+00, 8e+00, 8e+00, 8e+00, 8e+00, 8e+00, 8e+00, 8e+00, 8e+00, 8e+00, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1.2e+01, 1.2e+01, 1.2e+01, 1.2e+01, 1.2e+01, 1.2e+01, 1.2e+01, 1.2e+01, 1.2e+01, 1.2e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.6e+01, 1.6e+01, 1.6e+01, 1.6e+01, 1.6e+01, 1.6e+01, 1.6e+01, 1.6e+01, 1.6e+01, 1.6e+01, 1.8e+01, 1.8e+01, 1.8e+01, 1.8e+01, 1.8e+01, 1.8e+01, 1.8e+01, 1.8e+01, 1.8e+01, 1.8e+01] +samTri1.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +triggeredSampler1.u=[0e+00, 2e-01, 4e-01, 6e-01, 8e-01, 1e+00, 1.2e+00, 1.4e+00, 1.6e+00, 1.8e+00, 2e+00, 2.2e+00, 2.4e+00, 2.6e+00, 2.8e+00, 3e+00, 3.2e+00, 3.4e+00, 3.6e+00, 3.8e+00, 4e+00, 4.2e+00, 4.4e+00, 4.600000000000001e+00, 4.8e+00, 5e+00, 5.2e+00, 5.4e+00, 5.600000000000001e+00, 5.8e+00, 6e+00, 6.2e+00, 6.4e+00, 6.600000000000001e+00, 6.800000000000001e+00, 7e+00, 7.199999999999999e+00, 7.4e+00, 7.6e+00, 7.800000000000001e+00, 8e+00, 8.199999999999999e+00, 8.4e+00, 8.6e+00, 8.800000000000001e+00, 9e+00, 9.200000000000001e+00, 9.399999999999999e+00, 9.6e+00, 9.800000000000001e+00, 1e+01, 1.02e+01, 1.04e+01, 1.06e+01, 1.08e+01, 1.1e+01, 1.12e+01, 1.14e+01, 1.16e+01, 1.18e+01, 1.2e+01, 1.22e+01, 1.24e+01, 1.26e+01, 1.28e+01, 1.3e+01, 1.32e+01, 1.34e+01, 1.36e+01, 1.38e+01, 1.4e+01, 1.42e+01, 1.44e+01, 1.46e+01, 1.48e+01, 1.5e+01, 1.52e+01, 1.54e+01, 1.56e+01, 1.58e+01, 1.6e+01, 1.62e+01, 1.64e+01, 1.66e+01, 1.68e+01, 1.7e+01, 1.72e+01, 1.74e+01, 1.76e+01, 1.78e+01, 1.8e+01, 1.82e+01, 1.84e+01, 1.86e+01, 1.88e+01, 1.9e+01, 1.92e+01, 1.94e+01, 1.96e+01, 1.98e+01, 2e+01] +triggeredSampler1.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.200000047683716e+00, 1.200000047683716e+00, 1.200000047683716e+00, 1.200000047683716e+00, 1.200000047683716e+00, 1.200000047683716e+00, 1.200000047683716e+00, 1.200000047683716e+00, 1.200000047683716e+00, 1.200000047683716e+00, 3.200000047683716e+00, 3.200000047683716e+00, 3.200000047683716e+00, 3.200000047683716e+00, 3.200000047683716e+00, 3.200000047683716e+00, 3.200000047683716e+00, 3.200000047683716e+00, 3.200000047683716e+00, 3.200009584434847e+00, 5.199999809265137e+00, 5.199999809265137e+00, 5.199999809265137e+00, 5.199999809265137e+00, 5.199999809265137e+00, 5.199999809265137e+00, 5.199999809265137e+00, 5.199999809265137e+00, 5.199999809265137e+00, 5.20000934601736e+00, 7.199999809265137e+00, 7.199999809265137e+00, 7.199999809265137e+00, 7.199999809265137e+00, 7.199999809265137e+00, 7.199999809265137e+00, 7.199999809265137e+00, 7.199999809265137e+00, 7.199999809265137e+00, 7.200009346017449e+00, 9.199999809265137e+00, 9.199999809265137e+00, 9.199999809265137e+00, 9.199999809265137e+00, 9.199999809265137e+00, 9.199999809265137e+00, 9.199999809265137e+00, 9.199999809265137e+00, 9.199999809265137e+00, 9.200009346017449e+00, 1.119999980926514e+01, 1.119999980926514e+01, 1.119999980926514e+01, 1.119999980926514e+01, 1.119999980926514e+01, 1.119999980926514e+01, 1.119999980926514e+01, 1.119999980926514e+01, 1.119999980926514e+01, 1.120000934601745e+01, 1.319999980926514e+01, 1.319999980926514e+01, 1.319999980926514e+01, 1.319999980926514e+01, 1.319999980926514e+01, 1.319999980926514e+01, 1.319999980926514e+01, 1.319999980926514e+01, 1.319999980926514e+01, 1.320000934601736e+01, 1.519999980926514e+01, 1.519999980926514e+01, 1.519999980926514e+01, 1.519999980926514e+01, 1.519999980926514e+01, 1.519999980926514e+01, 1.519999980926514e+01, 1.519999980926514e+01, 1.519999980926514e+01, 1.519999980926514e+01, 1.720000076293945e+01, 1.720000076293945e+01, 1.720000076293945e+01, 1.720000076293945e+01, 1.720000076293945e+01, 1.720000076293945e+01, 1.720000076293945e+01, 1.720000076293945e+01, 1.720000076293945e+01, 1.720000076293945e+01, 1.920000076293945e+01, 1.920000076293945e+01, 1.920000076293945e+01, 1.920000076293945e+01] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Sources_Validation_SampleTriggerNegativeStartTime.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Sources_Validation_SampleTriggerNegativeStartTime.txt new file mode 100644 index 0000000000..d37c86846d --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Sources_Validation_SampleTriggerNegativeStartTime.txt @@ -0,0 +1,14 @@ +last-generated=2020-12-03 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +time=[-2e+00, 3e+00] +samTri.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +triggeredSampler.u=[0e+00, 2.000001937152378e-01, 3.999999105929621e-01, 6.000001192092892e-01, 7.999998211857813e-01, 1e+00, 1.200000238418579e+00, 1.399999880790711e+00, 1.600000119209289e+00, 1.799999761581421e+00, 2e+00, 2.200000238418579e+00, 2.399999999999432e+00, 2.600000000000568e+00, 2.799999761581422e+00, 3e+00, 3.200000238418579e+00, 3.399999999999432e+00, 3.600000000000568e+00, 3.799999761581421e+00, 4e+00, 4.199999761581421e+00, 4.400000000000569e+00, 4.599999999999432e+00, 4.800000238418579e+00, 5e+00, 5.199999761581421e+00, 5.400000000000569e+00, 5.599999999999432e+00, 5.800000238418579e+00, 6e+00, 6.199999761581563e+00, 6.400000119209219e+00, 6.599999880790782e+00, 6.800000238418438e+00, 7e+00, 7.199999821186047e+00, 7.400000119209254e+00, 7.599999910593028e+00, 7.800000193715093e+00, 8e+00, 8.199999806284907e+00, 8.399999612569815e+00, 8.600000357627904e+00, 8.800000178813953e+00, 9e+00, 9.199999761581564e+00, 9.399999642372059e+00, 9.600000357627939e+00, 9.800000238418438e+00, 1e+01, 1.019999976158142e+01, 1.039999952316341e+01, 1.060000047683659e+01, 1.080000023841858e+01, 1.1e+01, 1.119999976158142e+01, 1.139999952316341e+01, 1.160000047683659e+01, 1.180000023841858e+01, 1.2e+01, 1.22e+01, 1.239999952316284e+01, 1.260000047683716e+01, 1.28e+01, 1.3e+01, 1.32e+01, 1.339999952316284e+01, 1.360000047683716e+01, 1.38e+01, 1.4e+01, 1.42e+01, 1.439999952316284e+01, 1.460000047683716e+01, 1.48e+01, 1.5e+01, 1.52e+01, 1.539999952316284e+01, 1.560000047683716e+01, 1.58e+01, 1.6e+01, 1.620000095366977e+01, 1.640000000000909e+01, 1.65999999999909e+01, 1.679999904633023e+01, 1.7e+01, 1.720000095366977e+01, 1.740000000000909e+01, 1.759999999999091e+01, 1.779999904633023e+01, 1.8e+01, 1.820000095366977e+01, 1.84000000000091e+01, 1.859999999999091e+01, 1.879999904633023e+01, 1.9e+01, 1.920000095366977e+01, 1.940000000000909e+01, 1.959999999999091e+01, 1.979999904633023e+01, 2e+01] +triggeredSampler.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 8e+00, 8e+00, 8e+00, 8e+00, 8e+00, 8e+00, 8e+00, 8e+00, 8e+00, 8e+00, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1.2e+01, 1.2e+01, 1.2e+01, 1.2e+01, 1.2e+01, 1.2e+01, 1.2e+01, 1.2e+01, 1.2e+01, 1.2e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.6e+01, 1.6e+01, 1.6e+01, 1.6e+01, 1.6e+01, 1.6e+01, 1.6e+01, 1.6e+01, 1.6e+01, 1.6e+01, 1.8e+01, 1.8e+01, 1.8e+01, 1.8e+01, 1.8e+01, 1.8e+01, 1.8e+01, 1.8e+01, 1.8e+01, 1.8e+01] +samTri1.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +triggeredSampler1.u=[0e+00, 2.000001937152378e-01, 3.999999105929621e-01, 6.000001192092892e-01, 7.999998211857813e-01, 1e+00, 1.200000238418579e+00, 1.399999880790711e+00, 1.600000119209289e+00, 1.799999761581421e+00, 2e+00, 2.200000238418579e+00, 2.399999999999432e+00, 2.600000000000568e+00, 2.799999761581422e+00, 3e+00, 3.200000238418579e+00, 3.399999999999432e+00, 3.600000000000568e+00, 3.799999761581421e+00, 4e+00, 4.199999761581421e+00, 4.400000000000569e+00, 4.599999999999432e+00, 4.800000238418579e+00, 5e+00, 5.199999761581421e+00, 5.400000000000569e+00, 5.599999999999432e+00, 5.800000238418579e+00, 6e+00, 6.199999761581563e+00, 6.400000119209219e+00, 6.599999880790782e+00, 6.800000238418438e+00, 7e+00, 7.199999821186047e+00, 7.400000119209254e+00, 7.599999910593028e+00, 7.800000193715093e+00, 8e+00, 8.199999806284907e+00, 8.399999612569815e+00, 8.600000357627904e+00, 8.800000178813953e+00, 9e+00, 9.199999761581564e+00, 9.399999642372059e+00, 9.600000357627939e+00, 9.800000238418438e+00, 1e+01, 1.019999976158142e+01, 1.039999952316341e+01, 1.060000047683659e+01, 1.080000023841858e+01, 1.1e+01, 1.119999976158142e+01, 1.139999952316341e+01, 1.160000047683659e+01, 1.180000023841858e+01, 1.2e+01, 1.22e+01, 1.239999952316284e+01, 1.260000047683716e+01, 1.28e+01, 1.3e+01, 1.32e+01, 1.339999952316284e+01, 1.360000047683716e+01, 1.38e+01, 1.4e+01, 1.42e+01, 1.439999952316284e+01, 1.460000047683716e+01, 1.48e+01, 1.5e+01, 1.52e+01, 1.539999952316284e+01, 1.560000047683716e+01, 1.58e+01, 1.6e+01, 1.620000095366977e+01, 1.640000000000909e+01, 1.65999999999909e+01, 1.679999904633023e+01, 1.7e+01, 1.720000095366977e+01, 1.740000000000909e+01, 1.759999999999091e+01, 1.779999904633023e+01, 1.8e+01, 1.820000095366977e+01, 1.84000000000091e+01, 1.859999999999091e+01, 1.879999904633023e+01, 1.9e+01, 1.920000095366977e+01, 1.940000000000909e+01, 1.959999999999091e+01, 1.979999904633023e+01, 2e+01] +triggeredSampler1.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 2.799999952316284e+00, 2.799999952316284e+00, 2.799999952316284e+00, 2.799999952316284e+00, 2.799999952316284e+00, 2.799999952316284e+00, 2.799999952316284e+00, 2.799999952316284e+00, 2.799999952316284e+00, 2.800002336504624e+00, 4.800000190734863e+00, 4.800000190734863e+00, 4.800000190734863e+00, 4.800000190734863e+00, 4.800000190734863e+00, 4.800000190734863e+00, 4.800000190734863e+00, 4.800000190734863e+00, 4.800000190734863e+00, 4.800002574915858e+00, 6.800000190734863e+00, 6.800000190734863e+00, 6.800000190734863e+00, 6.800000190734863e+00, 6.800000190734863e+00, 6.800000190734863e+00, 6.800000190734863e+00, 6.800000190734863e+00, 6.800000190734863e+00, 6.800000190734863e+00, 8.800000190734863e+00, 8.800000190734863e+00, 8.800000190734863e+00, 8.800000190734863e+00, 8.800000190734863e+00, 8.800000190734863e+00, 8.800000190734863e+00, 8.800000190734863e+00, 8.800000190734863e+00, 8.800002574922964e+00, 1.080000019073486e+01, 1.080000019073486e+01, 1.080000019073486e+01, 1.080000019073486e+01, 1.080000019073486e+01, 1.080000019073486e+01, 1.080000019073486e+01, 1.080000019073486e+01, 1.080000019073486e+01, 1.080000019073486e+01, 1.280000019073486e+01, 1.280000019073486e+01, 1.280000019073486e+01, 1.280000019073486e+01, 1.280000019073486e+01, 1.280000019073486e+01, 1.280000019073486e+01, 1.280000019073486e+01, 1.280000019073486e+01, 1.280000019073486e+01, 1.480000019073486e+01, 1.480000019073486e+01, 1.480000019073486e+01, 1.480000019073486e+01, 1.480000019073486e+01, 1.480000019073486e+01, 1.480000019073486e+01, 1.480000019073486e+01, 1.480000019073486e+01, 1.480000019073486e+01, 1.679999923706055e+01, 1.679999923706055e+01, 1.679999923706055e+01, 1.679999923706055e+01, 1.679999923706055e+01, 1.679999923706055e+01, 1.679999923706055e+01, 1.679999923706055e+01, 1.679999923706055e+01, 1.679999923706055e+01, 1.879999923706055e+01, 1.879999923706055e+01, 1.879999923706055e+01, 1.879999923706055e+01, 1.879999923706055e+01, 1.879999923706055e+01] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Sources_Validation_SampleTriggerPositiveStartTime.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Sources_Validation_SampleTriggerPositiveStartTime.txt new file mode 100644 index 0000000000..35baf45aa9 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Sources_Validation_SampleTriggerPositiveStartTime.txt @@ -0,0 +1,14 @@ +last-generated=2023-03-23 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +time=[1e+00, 6e+00] +samTri.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +triggeredSampler.u=[0e+00, 2.000001937152378e-01, 3.999999105929621e-01, 6.000001192092892e-01, 7.999998211857813e-01, 1e+00, 1.200000238418579e+00, 1.399999880790711e+00, 1.600000119209289e+00, 1.799999761581421e+00, 2e+00, 2.200000238418579e+00, 2.399999999999432e+00, 2.600000000000568e+00, 2.799999761581422e+00, 3e+00, 3.200000238418579e+00, 3.399999999999432e+00, 3.600000000000568e+00, 3.799999761581421e+00, 4e+00, 4.199999999999999e+00, 4.400000476837159e+00, 4.599999523162843e+00, 4.800000000000001e+00, 5e+00, 5.199999999999999e+00, 5.400000476837159e+00, 5.599999523162843e+00, 5.800000000000001e+00, 6e+00, 6.199999999999999e+00, 6.400000476837159e+00, 6.599999523162843e+00, 6.800000000000001e+00, 7e+00, 7.199999999999999e+00, 7.400000476837159e+00, 7.599999523162841e+00, 7.800000000000001e+00, 8e+00, 8.199999999999999e+00, 8.4e+00, 8.6e+00, 8.800000000000001e+00, 9e+00, 9.200000000000001e+00, 9.399999999999999e+00, 9.6e+00, 9.800000000000001e+00, 1e+01, 1.02e+01, 1.04e+01, 1.06e+01, 1.08e+01, 1.1e+01, 1.12e+01, 1.14e+01, 1.16e+01, 1.18e+01, 1.2e+01, 1.219999904634387e+01, 1.23999999999909e+01, 1.26000000000091e+01, 1.280000095365613e+01, 1.3e+01, 1.319999904634388e+01, 1.33999999999909e+01, 1.36000000000091e+01, 1.380000095365612e+01, 1.4e+01, 1.419999904634387e+01, 1.43999999999909e+01, 1.46000000000091e+01, 1.480000095365613e+01, 1.5e+01, 1.519999904634387e+01, 1.53999999999909e+01, 1.56000000000091e+01, 1.580000095365613e+01, 1.6e+01, 1.62e+01, 1.64e+01, 1.66e+01, 1.68e+01, 1.7e+01, 1.72e+01, 1.74e+01, 1.76e+01, 1.78e+01, 1.8e+01, 1.82e+01, 1.84e+01, 1.86e+01, 1.88e+01, 1.9e+01, 1.92e+01, 1.94e+01, 1.96e+01, 1.98e+01, 2e+01] +triggeredSampler.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 8e+00, 8e+00, 8e+00, 8e+00, 8e+00, 8e+00, 8e+00, 8e+00, 8e+00, 8e+00, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1.2e+01, 1.2e+01, 1.2e+01, 1.2e+01, 1.2e+01, 1.2e+01, 1.2e+01, 1.2e+01, 1.2e+01, 1.2e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.6e+01, 1.6e+01, 1.6e+01, 1.6e+01, 1.6e+01, 1.6e+01, 1.6e+01, 1.6e+01, 1.6e+01, 1.6e+01, 1.8e+01, 1.8e+01, 1.8e+01, 1.8e+01, 1.8e+01, 1.8e+01, 1.8e+01, 1.8e+01, 1.8e+01, 1.8e+01] +samTri1.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +triggeredSampler1.u=[0e+00, 2.000001937152378e-01, 3.999999105929621e-01, 6.000001192092892e-01, 7.999998211857813e-01, 1e+00, 1.200000238418579e+00, 1.399999880790711e+00, 1.600000119209289e+00, 1.799999761581421e+00, 2e+00, 2.200000238418579e+00, 2.399999999999432e+00, 2.600000000000568e+00, 2.799999761581422e+00, 3e+00, 3.200000238418579e+00, 3.399999999999432e+00, 3.600000000000568e+00, 3.799999761581421e+00, 4e+00, 4.199999999999999e+00, 4.400000476837159e+00, 4.599999523162843e+00, 4.800000000000001e+00, 5e+00, 5.199999999999999e+00, 5.400000476837159e+00, 5.599999523162843e+00, 5.800000000000001e+00, 6e+00, 6.199999999999999e+00, 6.400000476837159e+00, 6.599999523162843e+00, 6.800000000000001e+00, 7e+00, 7.199999999999999e+00, 7.400000476837159e+00, 7.599999523162841e+00, 7.800000000000001e+00, 8e+00, 8.199999999999999e+00, 8.4e+00, 8.6e+00, 8.800000000000001e+00, 9e+00, 9.200000000000001e+00, 9.399999999999999e+00, 9.6e+00, 9.800000000000001e+00, 1e+01, 1.02e+01, 1.04e+01, 1.06e+01, 1.08e+01, 1.1e+01, 1.12e+01, 1.14e+01, 1.16e+01, 1.18e+01, 1.2e+01, 1.219999904634387e+01, 1.23999999999909e+01, 1.26000000000091e+01, 1.280000095365613e+01, 1.3e+01, 1.319999904634388e+01, 1.33999999999909e+01, 1.36000000000091e+01, 1.380000095365612e+01, 1.4e+01, 1.419999904634387e+01, 1.43999999999909e+01, 1.46000000000091e+01, 1.480000095365613e+01, 1.5e+01, 1.519999904634387e+01, 1.53999999999909e+01, 1.56000000000091e+01, 1.580000095365613e+01, 1.6e+01, 1.62e+01, 1.64e+01, 1.66e+01, 1.68e+01, 1.7e+01, 1.72e+01, 1.74e+01, 1.76e+01, 1.78e+01, 1.8e+01, 1.82e+01, 1.84e+01, 1.86e+01, 1.88e+01, 1.9e+01, 1.92e+01, 1.94e+01, 1.96e+01, 1.98e+01, 2e+01] +triggeredSampler1.y=[-2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -1.999984741196144e+00, 1.200000047683716e+00, 1.200000047683716e+00, 1.200000047683716e+00, 1.200000047683716e+00, 1.200000047683716e+00, 1.200000047683716e+00, 1.200000047683716e+00, 1.200000047683716e+00, 1.200000047683716e+00, 1.200009584435984e+00, 3.200000047683716e+00, 3.200000047683716e+00, 3.200000047683716e+00, 3.200000047683716e+00, 3.200000047683716e+00, 3.200000047683716e+00, 3.200000047683716e+00, 3.200000047683716e+00, 3.200000047683716e+00, 3.200009584434802e+00, 5.199999809265137e+00, 5.199999809265137e+00, 5.199999809265137e+00, 5.199999809265137e+00, 5.199999809265137e+00, 5.199999809265137e+00, 5.199999809265137e+00, 5.199999809265137e+00, 5.199999809265137e+00, 5.20000934601736e+00, 7.199999809265137e+00, 7.199999809265137e+00, 7.199999809265137e+00, 7.199999809265137e+00, 7.199999809265137e+00, 7.199999809265137e+00, 7.199999809265137e+00, 7.199999809265137e+00, 7.199999809265137e+00, 7.200009346017449e+00, 9.199999809265137e+00, 9.199999809265137e+00, 9.199999809265137e+00, 9.199999809265137e+00, 9.199999809265137e+00, 9.199999809265137e+00, 9.199999809265137e+00, 9.199999809265137e+00, 9.199999809265137e+00, 9.200009346017449e+00, 1.119999980926514e+01, 1.119999980926514e+01, 1.119999980926514e+01, 1.119999980926514e+01, 1.119999980926514e+01, 1.119999980926514e+01, 1.119999980926514e+01, 1.119999980926514e+01, 1.119999980926514e+01, 1.119999980926514e+01, 1.319999980926514e+01, 1.319999980926514e+01, 1.319999980926514e+01, 1.319999980926514e+01, 1.319999980926514e+01, 1.319999980926514e+01, 1.319999980926514e+01, 1.319999980926514e+01, 1.319999980926514e+01, 1.319999980926514e+01, 1.519999980926514e+01, 1.519999980926514e+01, 1.519999980926514e+01, 1.519999980926514e+01, 1.519999980926514e+01, 1.519999980926514e+01, 1.519999980926514e+01, 1.519999980926514e+01, 1.519999980926514e+01, 1.519999980926514e+01, 1.720000076293945e+01, 1.720000076293945e+01, 1.720000076293945e+01, 1.720000076293945e+01, 1.720000076293945e+01, 1.720000076293945e+01, 1.720000076293945e+01, 1.720000076293945e+01, 1.720000076293945e+01, 1.720000076293945e+01, 1.920000076293945e+01, 1.920000076293945e+01, 1.920000076293945e+01, 1.920000076293945e+01] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Sources_Validation_TimeTable.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Sources_Validation_TimeTable.txt new file mode 100644 index 0000000000..21d0723b5c --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Sources_Validation_TimeTable.txt @@ -0,0 +1,14 @@ +last-generated=2020-10-01 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +time=[0e+00, 1.5e+01] +booTimTab.y[1]=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.999872846334678e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +booTimTab.y[2]=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.999872846334678e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +booTimTabTwi.y[1]=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +booTimTabTwi.y[2]=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +booTimTabOneRow.y[1]=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +booTimTabOneRow.y[2]=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Sources_Validation_TimeTableNegativeStartTime.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Sources_Validation_TimeTableNegativeStartTime.txt new file mode 100644 index 0000000000..4c6a48ba43 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Sources_Validation_TimeTableNegativeStartTime.txt @@ -0,0 +1,14 @@ +last-generated=2020-10-08 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +time=[-5e+00, 1e+01] +booTimTab.y[1]=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +booTimTab.y[2]=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.589452387992815e-06, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +booTimTabTwi.y[1]=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +booTimTabTwi.y[2]=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +booTimTabOneRow.y[1]=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +booTimTabOneRow.y[2]=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Validation_And.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Validation_And.txt new file mode 100644 index 0000000000..eb4baaa32e --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Validation_And.txt @@ -0,0 +1,11 @@ +last-generated=2018-07-13 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +and1.u2=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +and1.u1=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00] +and1.y=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +time=[0e+00, 1e+01] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Validation_Change.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Validation_Change.txt new file mode 100644 index 0000000000..613eb00aae --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Validation_Change.txt @@ -0,0 +1,12 @@ +last-generated=2018-07-13 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +change.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +change.u=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +time=[0e+00, 5e+00] +triggeredSampler.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 8e+00, 8e+00, 8e+00, 8e+00, 8e+00, 8e+00, 8e+00, 8e+00, 8e+00, 8e+00, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1.2e+01, 1.2e+01, 1.2e+01, 1.2e+01, 1.2e+01, 1.2e+01, 1.2e+01, 1.2e+01, 1.2e+01, 1.2e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.6e+01, 1.6e+01, 1.6e+01, 1.6e+01, 1.6e+01, 1.6e+01, 1.6e+01, 1.6e+01, 1.6e+01, 1.6e+01, 1.8e+01, 1.8e+01, 1.8e+01, 1.8e+01, 1.8e+01, 1.8e+01, 1.8e+01, 1.8e+01, 1.8e+01, 1.8e+01] +triggeredSampler.u=[0e+00, 2e-01, 4e-01, 6e-01, 8e-01, 1e+00, 1.2e+00, 1.4e+00, 1.6e+00, 1.8e+00, 2e+00, 2.2e+00, 2.4e+00, 2.6e+00, 2.8e+00, 3e+00, 3.2e+00, 3.4e+00, 3.6e+00, 3.8e+00, 4e+00, 4.2e+00, 4.4e+00, 4.600000000000001e+00, 4.8e+00, 5e+00, 5.2e+00, 5.4e+00, 5.600000000000001e+00, 5.8e+00, 6e+00, 6.2e+00, 6.4e+00, 6.600000000000001e+00, 6.800000000000001e+00, 7e+00, 7.199999999999999e+00, 7.4e+00, 7.6e+00, 7.800000000000001e+00, 8e+00, 8.199999999999999e+00, 8.4e+00, 8.6e+00, 8.800000000000001e+00, 9e+00, 9.200000000000001e+00, 9.399999999999999e+00, 9.6e+00, 9.800000000000001e+00, 1e+01, 1.02e+01, 1.04e+01, 1.06e+01, 1.08e+01, 1.1e+01, 1.12e+01, 1.14e+01, 1.16e+01, 1.18e+01, 1.2e+01, 1.22e+01, 1.24e+01, 1.26e+01, 1.28e+01, 1.3e+01, 1.32e+01, 1.34e+01, 1.36e+01, 1.38e+01, 1.4e+01, 1.42e+01, 1.44e+01, 1.46e+01, 1.48e+01, 1.5e+01, 1.52e+01, 1.54e+01, 1.56e+01, 1.58e+01, 1.6e+01, 1.62e+01, 1.64e+01, 1.66e+01, 1.68e+01, 1.7e+01, 1.72e+01, 1.74e+01, 1.76e+01, 1.78e+01, 1.8e+01, 1.82e+01, 1.84e+01, 1.86e+01, 1.88e+01, 1.9e+01, 1.92e+01, 1.94e+01, 1.96e+01, 1.98e+01, 2e+01] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Validation_Edge.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Validation_Edge.txt new file mode 100644 index 0000000000..4b07fc9c8b --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Validation_Edge.txt @@ -0,0 +1,12 @@ +last-generated=2019-05-21 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +edge1.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +edge1.u=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +time=[0e+00, 5e+00] +triggeredSampler.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 8e+00, 8e+00, 8e+00, 8e+00, 8e+00, 8e+00, 8e+00, 8e+00, 8e+00, 8e+00, 8e+00, 8e+00, 8e+00, 8e+00, 8e+00, 8e+00, 8e+00, 8e+00, 8e+00, 8e+00, 1.2e+01, 1.2e+01, 1.2e+01, 1.2e+01, 1.2e+01, 1.2e+01, 1.2e+01, 1.2e+01, 1.2e+01, 1.2e+01, 1.2e+01, 1.2e+01, 1.2e+01, 1.2e+01, 1.2e+01, 1.2e+01, 1.2e+01, 1.2e+01, 1.2e+01, 1.2e+01, 1.6e+01, 1.6e+01, 1.6e+01, 1.6e+01, 1.6e+01, 1.6e+01, 1.6e+01, 1.6e+01, 1.6e+01, 1.6e+01, 1.6e+01, 1.6e+01, 1.6e+01, 1.6e+01, 1.6e+01, 1.6e+01, 1.6e+01, 1.6e+01, 1.6e+01, 1.6e+01] +triggeredSampler.u=[0e+00, 2e-01, 4e-01, 6e-01, 8e-01, 1e+00, 1.2e+00, 1.4e+00, 1.6e+00, 1.8e+00, 2e+00, 2.2e+00, 2.4e+00, 2.6e+00, 2.8e+00, 3e+00, 3.2e+00, 3.4e+00, 3.6e+00, 3.8e+00, 4e+00, 4.2e+00, 4.4e+00, 4.600000000000001e+00, 4.8e+00, 5e+00, 5.2e+00, 5.4e+00, 5.600000000000001e+00, 5.8e+00, 6e+00, 6.2e+00, 6.4e+00, 6.600000000000001e+00, 6.800000000000001e+00, 7e+00, 7.199999999999999e+00, 7.4e+00, 7.6e+00, 7.800000000000001e+00, 8e+00, 8.199999999999999e+00, 8.4e+00, 8.6e+00, 8.800000000000001e+00, 9e+00, 9.200000000000001e+00, 9.399999999999999e+00, 9.6e+00, 9.800000000000001e+00, 1e+01, 1.02e+01, 1.04e+01, 1.06e+01, 1.08e+01, 1.1e+01, 1.12e+01, 1.14e+01, 1.16e+01, 1.18e+01, 1.2e+01, 1.22e+01, 1.24e+01, 1.26e+01, 1.28e+01, 1.3e+01, 1.32e+01, 1.34e+01, 1.36e+01, 1.38e+01, 1.4e+01, 1.42e+01, 1.44e+01, 1.46e+01, 1.48e+01, 1.5e+01, 1.52e+01, 1.54e+01, 1.56e+01, 1.58e+01, 1.6e+01, 1.62e+01, 1.64e+01, 1.66e+01, 1.68e+01, 1.7e+01, 1.72e+01, 1.74e+01, 1.76e+01, 1.78e+01, 1.8e+01, 1.82e+01, 1.84e+01, 1.86e+01, 1.88e+01, 1.9e+01, 1.92e+01, 1.94e+01, 1.96e+01, 1.98e+01, 2e+01] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Validation_FallingEdge.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Validation_FallingEdge.txt new file mode 100644 index 0000000000..b84460d58a --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Validation_FallingEdge.txt @@ -0,0 +1,12 @@ +last-generated=2019-05-21 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +falEdg.u=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +falEdg.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +time=[0e+00, 5e+00] +triggeredSampler.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.4e+01, 1.8e+01, 1.8e+01, 1.8e+01, 1.8e+01, 1.8e+01, 1.8e+01, 1.8e+01, 1.8e+01, 1.8e+01, 1.8e+01] +triggeredSampler.u=[0e+00, 2e-01, 4e-01, 6e-01, 8e-01, 1e+00, 1.2e+00, 1.4e+00, 1.6e+00, 1.8e+00, 2e+00, 2.2e+00, 2.4e+00, 2.6e+00, 2.8e+00, 3e+00, 3.2e+00, 3.4e+00, 3.6e+00, 3.8e+00, 4e+00, 4.2e+00, 4.4e+00, 4.600000000000001e+00, 4.8e+00, 5e+00, 5.2e+00, 5.4e+00, 5.600000000000001e+00, 5.8e+00, 6e+00, 6.2e+00, 6.4e+00, 6.600000000000001e+00, 6.800000000000001e+00, 7e+00, 7.199999999999999e+00, 7.4e+00, 7.6e+00, 7.800000000000001e+00, 8e+00, 8.199999999999999e+00, 8.4e+00, 8.6e+00, 8.800000000000001e+00, 9e+00, 9.200000000000001e+00, 9.399999999999999e+00, 9.6e+00, 9.800000000000001e+00, 1e+01, 1.02e+01, 1.04e+01, 1.06e+01, 1.08e+01, 1.1e+01, 1.12e+01, 1.14e+01, 1.16e+01, 1.18e+01, 1.2e+01, 1.22e+01, 1.24e+01, 1.26e+01, 1.28e+01, 1.3e+01, 1.32e+01, 1.34e+01, 1.36e+01, 1.38e+01, 1.4e+01, 1.42e+01, 1.44e+01, 1.46e+01, 1.48e+01, 1.5e+01, 1.52e+01, 1.54e+01, 1.56e+01, 1.58e+01, 1.6e+01, 1.62e+01, 1.64e+01, 1.66e+01, 1.68e+01, 1.7e+01, 1.72e+01, 1.74e+01, 1.76e+01, 1.78e+01, 1.8e+01, 1.82e+01, 1.84e+01, 1.86e+01, 1.88e+01, 1.9e+01, 1.92e+01, 1.94e+01, 1.96e+01, 1.98e+01, 2e+01] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Validation_Latch.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Validation_Latch.txt new file mode 100644 index 0000000000..f680d3394d --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Validation_Latch.txt @@ -0,0 +1,26 @@ +last-generated=2020-10-13 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +time=[0e+00, 1e+01] +falCleTruIni.u=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +falCleTruIni.clr=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +falCleTruIni.y=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +falCleFalIni.u=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +falCleFalIni.clr=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +falCleFalIni.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +truCleTruIni.u=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +truCleTruIni.clr=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +truCleTruIni.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +truCleFalIni.u=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +truCleFalIni.clr=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +truCleFalIni.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +swiCleInp.u=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +swiCleInp.clr=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +swiCleInp.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +swiCleInp1.u=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +swiCleInp1.clr=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +swiCleInp1.y=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Validation_MultiAnd.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Validation_MultiAnd.txt new file mode 100644 index 0000000000..36a6688acd --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Validation_MultiAnd.txt @@ -0,0 +1,20 @@ +last-generated=2019-06-06 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +mulAnd0.y=[0e+00, 0e+00] +mulAnd1.u[1]=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +mulAnd1.y=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +time=[0e+00, 1e+01] +mulAnd2.y=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +mulAnd2.u[2]=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +mulAnd2.u[1]=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +mulAnd5.u[4]=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +mulAnd5.u[5]=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +mulAnd5.u[1]=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +mulAnd5.u[2]=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +mulAnd5.u[3]=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +mulAnd5.y=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Validation_MultiOr.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Validation_MultiOr.txt new file mode 100644 index 0000000000..ed638eae9d --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Validation_MultiOr.txt @@ -0,0 +1,20 @@ +last-generated=2019-06-06 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +mulOr1.u[1]=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +mulOr1.y=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +mulOr0.y=[0e+00, 0e+00] +time=[0e+00, 1e+01] +mulOr2.u[2]=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +mulOr2.u[1]=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +mulOr2.y=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +mulOr5.u[5]=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +mulOr5.u[4]=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +mulOr5.y=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +mulOr5.u[3]=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +mulOr5.u[2]=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +mulOr5.u[1]=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Validation_Nand.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Validation_Nand.txt new file mode 100644 index 0000000000..8b39e81f29 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Validation_Nand.txt @@ -0,0 +1,11 @@ +last-generated=2018-07-13 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +nand1.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +nand1.u2=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +nand1.u1=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +time=[0e+00, 5e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Validation_Nor.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Validation_Nor.txt new file mode 100644 index 0000000000..e8fb5d1406 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Validation_Nor.txt @@ -0,0 +1,11 @@ +last-generated=2018-07-13 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +nor1.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +nor1.u1=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +nor1.u2=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +time=[0e+00, 5e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Validation_Not.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Validation_Not.txt new file mode 100644 index 0000000000..4c8489f314 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Validation_Not.txt @@ -0,0 +1,10 @@ +last-generated=2019-05-21 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +not1.u=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +not1.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +time=[0e+00, 5e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Validation_Or.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Validation_Or.txt new file mode 100644 index 0000000000..c84b2a00a9 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Validation_Or.txt @@ -0,0 +1,11 @@ +last-generated=2018-07-13 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +or1.y=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +or1.u2=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +or1.u1=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00] +time=[0e+00, 1e+01] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Validation_Proof.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Validation_Proof.txt new file mode 100644 index 0000000000..12d03b1595 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Validation_Proof.txt @@ -0,0 +1,32 @@ +last-generated=2023-04-12 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +time=[0e+00, 1e+01] +pro.u_m=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +pro.u_s=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +pro.yLocFal=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +pro.yLocTru=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +pro1.u_m=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +pro1.u_s=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +pro1.yLocFal=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +pro1.yLocTru=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +pro2.u_m=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +pro2.u_s=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +pro2.yLocFal=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +pro2.yLocTru=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +pro3.u_m=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +pro3.u_s=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +pro3.yLocFal=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +pro3.yLocTru=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +pro4.u_m=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +pro4.u_s=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +pro4.yLocFal=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +pro4.yLocTru=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +pro5.u_m=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +pro5.u_s=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +pro5.yLocFal=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +pro5.yLocTru=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Validation_Switch.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Validation_Switch.txt new file mode 100644 index 0000000000..59d9815fa1 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Validation_Switch.txt @@ -0,0 +1,12 @@ +last-generated=2018-07-13 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +logicalSwitch.y=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.999952316238661e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +logicalSwitch.u1=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.999952316238661e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.999952316238883e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +logicalSwitch.u2=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +logicalSwitch.u3=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +time=[0e+00, 5e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Validation_Timer.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Validation_Timer.txt new file mode 100644 index 0000000000..10e977f7b7 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Validation_Timer.txt @@ -0,0 +1,20 @@ +last-generated=2020-08-29 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +time=[0e+00, 5e+00] +noThr.u=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.999976158119219e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +noThr.y=[0e+00, 5e-02, 1e-01, 1.5e-01, 2e-01, 2.5e-01, 3e-01, 3.5e-01, 4e-01, 4.5e-01, 5e-01, 5.5e-01, 6e-01, 6.5e-01, 7.000000000000001e-01, 7.5e-01, 8e-01, 8.500000000000001e-01, 8.999999999999999e-01, 9.5e-01, 1e+00, 1.05e+00, 1.1e+00, 1.15e+00, 1.2e+00, 1.25e+00, 1.3e+00, 1.35e+00, 1.39999663829489e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5.000004842880923e-02, 1.000000968576189e-01, 1.499999105928906e-01, 1.999999552964455e-01, 2.5e-01, 3.00000059604645e-01, 3.50000089407251e-01, 3.999999105927485e-01, 4.499999403953554e-01, 5e-01, 5.500000596046446e-01, 6.000001192092896e-01, 6.499998807907108e-01, 6.999999403953554e-01, 7.5e-01, 8.00000059604645e-01, 8.500001192092892e-01, 8.999998807907104e-01, 9.49999940395355e-01, 1e+00, 1.05e+00, 1.10000011920929e+00, 1.14999988079071e+00, 1.2e+00, 1.25e+00, 1.3e+00, 1.35000011920929e+00, 1.399999880790711e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.99998100145297e-02, 1.000000968553448e-01, 1.499999105951639e-01, 2.000001937105483e-01, 2.5e-01, 2.999998211900444e-01, 3.500000894049773e-01, 3.999999105950227e-01, 4.500001788099556e-01, 5e-01, 5.499998211906129e-01, 6.000001192070163e-01, 6.499998807929845e-01, 7.000001788093863e-01, 7.5e-01, 7.999998211906129e-01, 8.500001192070155e-01, 8.999998807929845e-01, 9.500001788093871e-01, 1e+00] +noThr.t=[0e+00, 0e+00] +noThr.passed=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.999976158119219e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +thrTim.u=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.999976158119219e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +thrTim.y=[0e+00, 5e-02, 1e-01, 1.5e-01, 2e-01, 2.5e-01, 3e-01, 3.5e-01, 4e-01, 4.5e-01, 5e-01, 5.5e-01, 6e-01, 6.5e-01, 7.000000000000001e-01, 7.5e-01, 8e-01, 8.500000000000001e-01, 8.999999999999999e-01, 9.5e-01, 1e+00, 1.05e+00, 1.1e+00, 1.15e+00, 1.2e+00, 1.25e+00, 1.3e+00, 1.35e+00, 1.39999663829489e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5.000004842880923e-02, 1.000000968576189e-01, 1.499999105928906e-01, 1.999999552964455e-01, 2.5e-01, 3.00000059604645e-01, 3.50000089407251e-01, 3.999999105927485e-01, 4.499999403953554e-01, 5e-01, 5.500000596046446e-01, 6.000001192092896e-01, 6.499998807907108e-01, 6.999999403953554e-01, 7.5e-01, 8.00000059604645e-01, 8.500001192092892e-01, 8.999998807907104e-01, 9.49999940395355e-01, 1e+00, 1.05e+00, 1.10000011920929e+00, 1.14999988079071e+00, 1.2e+00, 1.25e+00, 1.3e+00, 1.35000011920929e+00, 1.399999880790711e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.99998100145297e-02, 1.000000968553448e-01, 1.499999105951639e-01, 2.000001937105483e-01, 2.5e-01, 2.999998211900444e-01, 3.500000894049773e-01, 3.999999105950227e-01, 4.500001788099556e-01, 5e-01, 5.499998211906129e-01, 6.000001192070163e-01, 6.499998807929845e-01, 7.000001788093863e-01, 7.5e-01, 7.999998211906129e-01, 8.500001192070155e-01, 8.999998807929845e-01, 9.500001788093871e-01, 1e+00] +thrTim.t=[3.00000011920929e-01, 3.00000011920929e-01] +thrTim.passed=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.999976158119219e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.768376156154474e-06, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +thrTim1.u=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +thrTim1.y=[0e+00, 5e-02, 1e-01, 1.5e-01, 2e-01, 2.5e-01, 3e-01, 3.5e-01, 4e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5.000004842880945e-02, 9.999997764824053e-02, 1.500000298023225e-01, 1.999999552964453e-01, 2.5e-01, 3.000000596046448e-01, 3.499999701976777e-01, 4.000000298023225e-01, 4.499999403953552e-01, 5e-01, 5.500000596046448e-01, 5.99999999999858e-01, 6.500000000001422e-01, 6.999999403953554e-01, 7.5e-01, 8.000000596046446e-01, 8.49999999999858e-01, 9.00000000000142e-01, 9.499999403953554e-01, 1e+00, 1.05e+00, 1.10000011920929e+00, 1.14999988079071e+00, 1.2e+00, 1.25e+00, 1.3e+00, 1.350000119209289e+00, 1.39999988079071e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5.000004842880923e-02, 1.000000968576189e-01, 1.499999105928906e-01, 1.999999552964455e-01, 2.5e-01, 3.00000059604645e-01, 3.500000894072515e-01, 3.99999910592749e-01, 4.49999940395355e-01, 5e-01, 5.500000596046446e-01, 6.000001192092892e-01, 6.499998807907104e-01, 6.999999403953554e-01, 7.5e-01, 8.000000596046446e-01, 8.500001192092896e-01, 8.999998807907108e-01, 9.499999403953554e-01, 1e+00, 1.049999761585969e+00, 1.100000119207015e+00, 1.149999880792984e+00, 1.200000238414032e+00, 1.25e+00, 1.299999761585968e+00, 1.350000119207015e+00, 1.399999880792985e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +thrTim1.t=[3.00000011920929e-01, 3.00000011920929e-01] +thrTim1.passed=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.768376133949992e-06, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.768376156154474e-06, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Validation_TimerAccumulating.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Validation_TimerAccumulating.txt new file mode 100644 index 0000000000..4f358e7cf9 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Validation_TimerAccumulating.txt @@ -0,0 +1,22 @@ +last-generated=2020-08-27 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +time=[0e+00, 5e+00] +noThr.u=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +noThr.y=[0e+00, 5e-02, 1e-01, 1.5e-01, 2e-01, 2.5e-01, 3e-01, 3.5e-01, 4e-01, 4.5e-01, 5e-01, 5.5e-01, 6e-01, 6.5e-01, 7.000000000000001e-01, 7.5e-01, 8e-01, 8.500000000000001e-01, 8.999999999999999e-01, 9.5e-01, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1.05e+00, 1.10000011920929e+00, 1.14999988079071e+00, 1.2e+00, 1.25e+00, 1.3e+00, 1.350000119209289e+00, 1.39999988079071e+00, 1.45e+00, 1.5e+00, 1.55e+00, 1.60000011920929e+00, 1.649999880790711e+00, 1.7e+00, 1.75e+00, 1.8e+00, 1.850000119209289e+00, 1.89999988079071e+00, 1.95e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2.049999761585969e+00, 2.099999999997726e+00, 2.150000000002273e+00, 2.200000238414032e+00, 2.25e+00, 2.299999761585968e+00, 2.349999999997726e+00, 2.400000000002274e+00, 2.450000238414032e+00, 2.5e+00, 2.549999761585968e+00, 2.599999999997727e+00, 2.650000000002274e+00, 2.700000238414031e+00, 2.75e+00, 2.799999761585968e+00, 2.849999999997726e+00, 2.900000000002274e+00, 2.950000238414032e+00, 3e+00] +thrTim.u=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +thrTim.passed=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +thrTim.y=[0e+00, 5e-02, 1e-01, 1.5e-01, 2e-01, 2.5e-01, 3e-01, 3.5e-01, 4e-01, 4.5e-01, 5e-01, 5.5e-01, 6e-01, 6.5e-01, 7.000000000000001e-01, 7.5e-01, 8e-01, 8.500000000000001e-01, 8.999999999999999e-01, 9.5e-01, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1.05e+00, 1.10000011920929e+00, 1.14999988079071e+00, 1.2e+00, 1.25e+00, 1.3e+00, 1.350000119209289e+00, 1.39999988079071e+00, 1.45e+00, 1.5e+00, 1.55e+00, 1.60000011920929e+00, 1.649999880790711e+00, 1.7e+00, 1.75e+00, 1.8e+00, 1.850000119209289e+00, 1.89999988079071e+00, 1.95e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2.049999761585969e+00, 2.099999999997726e+00, 2.150000000002273e+00, 2.200000238414032e+00, 2.25e+00, 2.299999761585968e+00, 2.349999999997726e+00, 2.400000000002274e+00, 2.450000238414032e+00, 2.5e+00, 2.549999761585968e+00, 2.599999999997727e+00, 2.650000000002274e+00, 2.700000238414031e+00, 2.75e+00, 2.799999761585968e+00, 2.849999999997726e+00, 2.900000000002274e+00, 2.950000238414032e+00, 3e+00] +thrTim.t=[1e+00, 1e+00] +noThrWitRes.u=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +noThrWitRes.reset=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +noThrWitRes.y=[0e+00, 5e-02, 1e-01, 1.5e-01, 2e-01, 2.5e-01, 3e-01, 3.5e-01, 4e-01, 4.5e-01, 5e-01, 5.5e-01, 6e-01, 6.5e-01, 7.000000000000001e-01, 7.5e-01, 8e-01, 8.500000000000001e-01, 8.999999999999999e-01, 9.5e-01, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1.05e+00, 1.10000011920929e+00, 1.14999988079071e+00, 1.2e+00, 1.25e+00, 1.3e+00, 1.350000119209289e+00, 1.39999988079071e+00, 1.45e+00, 1.5e+00, 1.55e+00, 1.60000011920929e+00, 1.649999880790711e+00, 1.7e+00, 1.75e+00, 1.8e+00, 1.850000119209289e+00, 1.89999988079071e+00, 1.95e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.99998100145297e-02, 1.000000968553448e-01, 1.499999105951639e-01, 2.000001937105483e-01, 2.5e-01, 2.999998211900444e-01, 3.500000894049773e-01, 3.999999105950227e-01, 4.500001788099556e-01, 5e-01, 5.499998211906129e-01, 6.000001192070163e-01, 6.499998807929845e-01, 7.000001788093863e-01, 7.5e-01, 7.999998211906129e-01, 8.500001192070155e-01, 8.999998807929845e-01, 9.500001788093871e-01, 1e+00] +thrTimWitRes.u=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +thrTimWitRes.reset=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +thrTimWitRes.passed=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +thrTimWitRes.y=[0e+00, 5e-02, 1e-01, 1.5e-01, 2e-01, 2.5e-01, 3e-01, 3.5e-01, 4e-01, 4.5e-01, 5e-01, 5.5e-01, 6e-01, 6.5e-01, 7.000000000000001e-01, 7.5e-01, 8e-01, 8.500000000000001e-01, 8.999999999999999e-01, 9.5e-01, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1.05e+00, 1.10000011920929e+00, 1.14999988079071e+00, 1.2e+00, 1.25e+00, 1.3e+00, 1.350000119209289e+00, 1.39999988079071e+00, 1.45e+00, 1.5e+00, 1.55e+00, 1.60000011920929e+00, 1.649999880790711e+00, 1.7e+00, 1.75e+00, 1.8e+00, 1.850000119209289e+00, 1.89999988079071e+00, 1.95e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.99998100145297e-02, 1.000000968553448e-01, 1.499999105951639e-01, 2.000001937105483e-01, 2.5e-01, 2.999998211900444e-01, 3.500000894049773e-01, 3.999999105950227e-01, 4.500001788099556e-01, 5e-01, 5.499998211906129e-01, 6.000001192070163e-01, 6.499998807929845e-01, 7.000001788093863e-01, 7.5e-01, 7.999998211906129e-01, 8.500001192070155e-01, 8.999998807929845e-01, 9.500001788093871e-01, 1e+00] +thrTimWitRes.t=[1e+00, 1e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Validation_TimerAccumulatingNegativeStartTime.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Validation_TimerAccumulatingNegativeStartTime.txt new file mode 100644 index 0000000000..a6d1df0b9d --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Validation_TimerAccumulatingNegativeStartTime.txt @@ -0,0 +1,24 @@ +last-generated=2020-10-20 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +time=[-1e+01, 5e+00] +noThr.u=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +noThr.y=[0e+00, 1.500003874214756e-01, 2.999998211843611e-01, 4.500001788156389e-01, 5.999996423804679e-01, 7.5e-01, 9.000003576195321e-01, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1.149999880791469e+00, 1.299999761582937e+00, 1.450000238417063e+00, 1.600000119208531e+00, 1.75e+00, 1.899999880791469e+00, 2.049999761582937e+00, 2.200000238417064e+00, 2.35e+00, 2.5e+00, 2.65e+00, 2.799999761582936e+00, 2.950000238417064e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3.05e+00, 3.199999999999999e+00, 3.35e+00, 3.5e+00, 3.65e+00, 3.800000000000001e+00, 3.95e+00, 4.099999880790901e+00, 4.25e+00, 4.400000119209101e+00, 4.55000023841801e+00, 4.699999761581989e+00, 4.849999880790899e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5.099999880790899e+00, 5.25e+00, 5.400000119209101e+00, 5.550000238418011e+00, 5.69999976158199e+00, 5.849999880790901e+00, 6e+00, 6.15e+00, 6.300000238418199e+00, 6.449999761581799e+00, 6.6e+00, 6.75e+00, 6.9e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00] +noThr.t=[0e+00, 0e+00] +thrTim.u=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +thrTim.passed=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +thrTim.y=[0e+00, 1.500003874214756e-01, 2.999998211843611e-01, 4.500001788156389e-01, 5.999996423804679e-01, 7.5e-01, 9.000003576195321e-01, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1.149999880791469e+00, 1.299999761582937e+00, 1.450000238417063e+00, 1.600000119208531e+00, 1.75e+00, 1.899999880791469e+00, 2.049999761582937e+00, 2.200000238417064e+00, 2.35e+00, 2.5e+00, 2.65e+00, 2.799999761582936e+00, 2.950000238417064e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3.05e+00, 3.199999999999999e+00, 3.35e+00, 3.5e+00, 3.65e+00, 3.800000000000001e+00, 3.95e+00, 4.099999880790901e+00, 4.25e+00, 4.400000119209101e+00, 4.55000023841801e+00, 4.699999761581989e+00, 4.849999880790899e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5.099999880790899e+00, 5.25e+00, 5.400000119209101e+00, 5.550000238418011e+00, 5.69999976158199e+00, 5.849999880790901e+00, 6e+00, 6.15e+00, 6.300000238418199e+00, 6.449999761581799e+00, 6.6e+00, 6.75e+00, 6.9e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00] +thrTim.t=[1e+00, 1e+00] +noThrWitRes.u=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +noThrWitRes.reset=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +noThrWitRes.y=[0e+00, 1.500003874214756e-01, 2.999998211843611e-01, 4.500001788156389e-01, 5.999996423804679e-01, 7.5e-01, 9.000003576195321e-01, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.499999105936727e-01, 2.999998211873918e-01, 4.500001788126082e-01, 6.000001192085312e-01, 7.5e-01, 8.999998807914688e-01, 1.049999761582938e+00, 1.200000238417063e+00, 1.350000119208531e+00, 1.5e+00, 1.649999880791469e+00, 1.799999761582937e+00, 1.950000238417063e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5.000004842881515e-02, 1.999999552964683e-01, 3.500000894063036e-01, 5e-01, 6.499998807914688e-01, 8.000000596046455e-01, 9.499999403953554e-01, 1.100000000000001e+00, 1.25e+00, 1.4e+00, 5.000004842862479e-02, 1.999999552966578e-01, 3.499999701976536e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5.999999999999522e-01, 7.5e-01, 9.000000000000478e-01, 1.050000000000001e+00, 1.200000000000001e+00, 1.350000000000001e+00, 1.5e+00, 1.499999105936727e-01, 3.000000596046911e-01, 4.499999403953072e-01, 6.000001192085312e-01, 7.5e-01, 8.999998807914688e-01, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +noThrWitRes.t=[0e+00, 0e+00] +thrTimWitRes.u=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +thrTimWitRes.reset=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +thrTimWitRes.passed=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +thrTimWitRes.y=[0e+00, 1.500003874214756e-01, 2.999998211843611e-01, 4.500001788156389e-01, 5.999996423804679e-01, 7.5e-01, 9.000003576195321e-01, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.499999105936727e-01, 2.999998211873918e-01, 4.500001788126082e-01, 6.000001192085312e-01, 7.5e-01, 8.999998807914688e-01, 1.049999761582938e+00, 1.200000238417063e+00, 1.350000119208531e+00, 1.5e+00, 1.649999880791469e+00, 1.799999761582937e+00, 1.950000238417063e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5.000004842881515e-02, 1.999999552964683e-01, 3.500000894063036e-01, 5e-01, 6.499998807914688e-01, 8.000000596046455e-01, 9.499999403953554e-01, 1.100000000000001e+00, 1.25e+00, 1.4e+00, 5.000004842862479e-02, 1.999999552966578e-01, 3.499999701976536e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5.999999999999522e-01, 7.5e-01, 9.000000000000478e-01, 1.050000000000001e+00, 1.200000000000001e+00, 1.350000000000001e+00, 1.5e+00, 1.499999105936727e-01, 3.000000596046911e-01, 4.499999403953072e-01, 6.000001192085312e-01, 7.5e-01, 8.999998807914688e-01, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +thrTimWitRes.t=[1e+00, 1e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Validation_TimerNegativeStartTime.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Validation_TimerNegativeStartTime.txt new file mode 100644 index 0000000000..ad4188a351 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Validation_TimerNegativeStartTime.txt @@ -0,0 +1,16 @@ +last-generated=2020-10-20 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +time=[-1e+01, 5e+00] +noThr.u=[1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.999992052706332e-01, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00] +noThr.y=[0e+00, 1.500003874214756e-01, 2.999998211843611e-01, 0e+00, 0e+00, 0e+00, 0e+00, 4.999981000849017e-02, 2.000001937168001e-01, 3.499996125785244e-01, 5e-01, 6.500003576195321e-01, 7.999998211841716e-01, 9.500001788158284e-01, 1.100000119208531e+00, 1.25e+00, 1.399999880791469e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.499999105936727e-01, 2.999998211873918e-01, 4.500001788126082e-01, 6.000001192085312e-01, 7.5e-01, 8.999998807914688e-01, 1.049999761582938e+00, 1.200000238417063e+00, 1.350000119208531e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.000000968568614e-01, 2.5e-01, 3.999999105936955e-01, 5.499998211872024e-01, 7.000001788127976e-01, 8.500001192085321e-01, 1e+00, 1.149999880791468e+00, 1.300000000000189e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5.000004842881515e-02, 1.999999552964683e-01, 3.500000894063036e-01, 5e-01, 6.499998807914688e-01, 8.000000596046455e-01, 9.499999403953554e-01, 1.100000000000001e+00, 1.25e+00, 1.399998863537047e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.500000298022991e-01, 3.000000000000125e-01, 4.499999999999875e-01, 6.000000298023161e-01, 7.5e-01, 8.9999997764826e-01, 1.049999951571227e+00, 1.200000044703476e+00, 1.350000029802316e+00, 0e+00, 0e+00, 0e+00, 0e+00, 9.999997764823416e-02, 2.5e-01, 4.000000298023464e-01, 5.50000059604456e-01, 6.999999403955458e-01, 8.49999999999954e-01, 1e+00, 1.149999880791469e+00, 1.300000000000188e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5.000004842881604e-02, 1.999999552964683e-01, 3.500000894063036e-01, 5e-01, 6.499998807914688e-01, 8.000000596046455e-01, 9.499999403953563e-01, 1.100000119208531e+00, 1.25e+00, 1.399999880791467e+00, 0e+00, 0e+00, 0e+00, 0e+00] +noThr.t=[0e+00, 0e+00] +noThr.passed=[1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.999992052706332e-01, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00] +thrTim.u=[1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.999992052706332e-01, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00] +thrTim.y=[0e+00, 1.500003874214756e-01, 2.999998211843611e-01, 0e+00, 0e+00, 0e+00, 0e+00, 4.999981000849017e-02, 2.000001937168001e-01, 3.499996125785244e-01, 5e-01, 6.500003576195321e-01, 7.999998211841716e-01, 9.500001788158284e-01, 1.100000119208531e+00, 1.25e+00, 1.399999880791469e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.499999105936727e-01, 2.999998211873918e-01, 4.500001788126082e-01, 6.000001192085312e-01, 7.5e-01, 8.999998807914688e-01, 1.049999761582938e+00, 1.200000238417063e+00, 1.350000119208531e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.000000968568614e-01, 2.5e-01, 3.999999105936955e-01, 5.499998211872024e-01, 7.000001788127976e-01, 8.500001192085321e-01, 1e+00, 1.149999880791468e+00, 1.300000000000189e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5.000004842881515e-02, 1.999999552964683e-01, 3.500000894063036e-01, 5e-01, 6.499998807914688e-01, 8.000000596046455e-01, 9.499999403953554e-01, 1.100000000000001e+00, 1.25e+00, 1.399998863537047e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.500000298022991e-01, 3.000000000000125e-01, 4.499999999999875e-01, 6.000000298023161e-01, 7.5e-01, 8.9999997764826e-01, 1.049999951571227e+00, 1.200000044703476e+00, 1.350000029802316e+00, 0e+00, 0e+00, 0e+00, 0e+00, 9.999997764823416e-02, 2.5e-01, 4.000000298023464e-01, 5.50000059604456e-01, 6.999999403955458e-01, 8.49999999999954e-01, 1e+00, 1.149999880791469e+00, 1.300000000000188e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5.000004842881604e-02, 1.999999552964683e-01, 3.500000894063036e-01, 5e-01, 6.499998807914688e-01, 8.000000596046455e-01, 9.499999403953563e-01, 1.100000119208531e+00, 1.25e+00, 1.399999880791467e+00, 0e+00, 0e+00, 0e+00, 0e+00] +thrTim.t=[3.00000011920929e-01, 3.00000011920929e-01] +thrTim.passed=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.999992052706332e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Validation_Toggle.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Validation_Toggle.txt new file mode 100644 index 0000000000..d5edae9d48 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Validation_Toggle.txt @@ -0,0 +1,26 @@ +last-generated=2020-10-14 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +time=[0e+00, 1e+01] +falCleTruIni.u=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +falCleTruIni.clr=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +falCleTruIni.y=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +falCleFalIni.u=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +falCleFalIni.clr=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +falCleFalIni.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +truCleTruIni.u=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +truCleTruIni.clr=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +truCleTruIni.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +truCleFalIni.u=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +truCleFalIni.clr=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +truCleFalIni.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +swiCleInp.u=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +swiCleInp.clr=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +swiCleInp.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +swiCleInp1.u=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +swiCleInp1.clr=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +swiCleInp1.y=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Validation_TrueDelay.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Validation_TrueDelay.txt new file mode 100644 index 0000000000..2525ae76f4 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Validation_TrueDelay.txt @@ -0,0 +1,26 @@ +last-generated=2019-02-11 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +onDelay4.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +onDelay3.y=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +onDelay7.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +onDelay2.y=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +onDelay0.u=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +onDelay6.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +time=[0e+00, 5e+00] +onDelay1.y=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +onDelay5.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +onDelay0.y=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +onDelay66.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +onDelay77.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +onDelay11.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +onDelay55.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +onDelay22.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +onDelay00.y=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +onDelay00.u=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +onDelay44.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +onDelay33.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Validation_TrueFalseHold.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Validation_TrueFalseHold.txt new file mode 100644 index 0000000000..1e8c5f9d0e --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Validation_TrueFalseHold.txt @@ -0,0 +1,26 @@ +last-generated=2024-08-26 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +time=[0e+00, 7.2e+03] +truFalHol.u=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +truFalHol.y=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +truFalHol1.u=[1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00] +truFalHol1.y=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +truFalHol2.u=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +truFalHol2.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +truFalHol3.u=[0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00] +truFalHol3.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +truFalHol4.u=[0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +truFalHol4.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +truFalHol5.u=[0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00] +truFalHol5.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00] +truFalHol6.u=[1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +truFalHol6.y=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +truFalHol7.u=[1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00] +truFalHol7.y=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00] +truFalHol8.u=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +truFalHol8.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Validation_VariablePulse.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Validation_VariablePulse.txt new file mode 100644 index 0000000000..4247cb8392 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Validation_VariablePulse.txt @@ -0,0 +1,22 @@ +last-generated=2023-03-29 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +time=[0e+00, 3.6e+03] +fal.u=[0e+00, 0e+00] +fal.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +tru.u=[1e+00, 1e+00] +tru.y=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +conTru.u=[7.5e-01, 7.5e-01] +conTru.y=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +truFal.u=[6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +truFal.y=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +falTru.u=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 6.499999761581421e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +falTru.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +falTru1.u=[3.00000011920929e-01, 3.00000011920929e-01, 3.00000011920929e-01, 3.00000011920929e-01, 3.00000011920929e-01, 3.00000011920929e-01, 3.00000011920929e-01, 3.00000011920929e-01, 3.00000011920929e-01, 3.00000011920929e-01, 3.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 3.00000011920929e-01, 3.00000011920929e-01, 3.00000011920929e-01, 3.00000011920929e-01, 3.00000011920929e-01, 3.00000011920929e-01, 3.00000011920929e-01, 3.00000011920929e-01, 3.00000011920929e-01, 3.00000011920929e-01, 3.00000011920929e-01, 3.00000011920929e-01, 3.00000011920929e-01, 3.00000011920929e-01, 3.00000011920929e-01, 3.00000011920929e-01, 3.00000011920929e-01, 3.00000011920929e-01, 3.00000011920929e-01, 3.00000011920929e-01, 3.00000011920929e-01, 3.00000011920929e-01, 3.00000011920929e-01, 3.00000011920929e-01, 3.00000011920929e-01, 3.00000011920929e-01, 3.00000011920929e-01, 3.00000011920929e-01, 3.00000011920929e-01, 3.00000011920929e-01, 3.00000011920929e-01, 3.00000011920929e-01, 3.00000011920929e-01, 3.00000011920929e-01, 3.00000011920929e-01, 3.00000011920929e-01, 3.00000011920929e-01, 3.00000011920929e-01, 3.00000011920929e-01, 3.00000011920929e-01] +falTru1.y=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.999999999997726e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +conChaWid.u=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2.133333310484886e-02, 5.33333346247673e-02, 8.533333241939545e-02, 1.173333302140236e-01, 1.493333280086517e-01, 1.813333332538605e-01, 2.133333384990692e-01, 2.453333288431168e-01, 2.773333191871643e-01, 3.09333324432373e-01, 3.413333296775818e-01, 3.733333349227905e-01, 4.053333401679993e-01, 4.37333345413208e-01, 4.693333208560944e-01, 5.013333559036255e-01, 5.333333611488342e-01, 5.653333067893982e-01, 5.97333312034607e-01, 6.293333172798158e-01, 6.613333225250244e-01, 6.933333277702332e-01, 7.253333330154419e-01, 7.573333382606506e-01, 7.893333435058594e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01, 8.00000011920929e-01] +conChaWid.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Validation_VariablePulseMinHold.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Validation_VariablePulseMinHold.txt new file mode 100644 index 0000000000..96463eafb3 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Validation_VariablePulseMinHold.txt @@ -0,0 +1,10 @@ +last-generated=2023-04-07 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +time=[0e+00, 5e+00] +conChaWid.u=[5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 8.999999761581421e-01, 8.999999761581421e-01, 8.999999761581421e-01, 8.999999761581421e-01, 8.999999761581421e-01, 8.999999761581421e-01, 8.999999761581421e-01, 8.999999761581421e-01, 8.999999761581421e-01, 8.999999761581421e-01, 8.999999761581421e-01, 8.999999761581421e-01, 8.999999761581421e-01, 8.999999761581421e-01, 8.999999761581421e-01, 8.999999761581421e-01, 8.999999761581421e-01, 8.999999761581421e-01, 8.999999761581421e-01, 8.999999761581421e-01, 8.999999761581421e-01, 8.999999761581421e-01, 8.999999761581421e-01, 8.999999761581421e-01, 8.999999761581421e-01, 8.999999761581421e-01, 8.999999761581421e-01, 8.999999761581421e-01, 8.999999761581421e-01, 8.999999761581421e-01, 8.999999761581421e-01, 8.999999761581421e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01] +conChaWid.y=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.999809269502904e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Validation_Xor.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Validation_Xor.txt new file mode 100644 index 0000000000..042df9cce9 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Logical_Validation_Xor.txt @@ -0,0 +1,11 @@ +last-generated=2018-06-19 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +xor1.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +xor1.u1=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +xor1.u2=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +time=[0e+00, 5e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Psychrometrics_Validation_DewPoint_TDryBulPhi.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Psychrometrics_Validation_DewPoint_TDryBulPhi.txt new file mode 100644 index 0000000000..cf74e4c50e --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Psychrometrics_Validation_DewPoint_TDryBulPhi.txt @@ -0,0 +1,14 @@ +last-generated=2023-03-17 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +time=[0e+00, 1e+00] +dewBulPhi.TDryBul=[3.025499877929688e+02, 3.025499877929688e+02] +dewBulPhi.phi=[1.000000047497451e-03, 1.100000016391277e-02, 2.100000016391277e-02, 3.100000016391215e-02, 4.100000202655792e-02, 5.099999830126763e-02, 6.100000202655792e-02, 7.100000202655682e-02, 8.100000202655126e-02, 9.099999457599064e-02, 1.010000020265579e-01, 1.110000020265557e-01, 1.210000020265579e-01, 1.310000020265579e-01, 1.410000020265579e-01, 1.509999871254411e-01, 1.610000020265579e-01, 1.710000020265579e-01, 1.8099998712545e-01, 1.910000020265579e-01, 2.010000020265579e-01, 2.110000020265579e-01, 2.210000020265579e-01, 2.310000020265579e-01, 2.410000020265579e-01, 2.509999871253967e-01, 2.610000169277191e-01, 2.709999871253967e-01, 2.809999871254145e-01, 2.910000169277191e-01, 3.009999871253967e-01, 3.109999871253967e-01, 3.210000169277191e-01, 3.309999871253967e-01, 3.409999871253968e-01, 3.510000169276303e-01, 3.609999871253967e-01, 3.709999871253967e-01, 3.810000169276481e-01, 3.910000169277191e-01, 4.009999871253968e-01, 4.110000169276658e-01, 4.210000169277191e-01, 4.309999871253967e-01, 4.410000169276836e-01, 4.510000169277191e-01, 4.609999871253967e-01, 4.709999871253967e-01, 4.810000169277191e-01, 4.909999871253967e-01, 5.009999871253967e-01, 5.109999871253967e-01, 5.210000467294731e-01, 5.310000467291889e-01, 5.409999871253968e-01, 5.50999987125752e-01, 5.609999871253968e-01, 5.709999871253967e-01, 5.809999871253967e-01, 5.910000467292599e-01, 6.009999871253967e-01, 6.10999987125823e-01, 6.209999871255388e-01, 6.309999871253967e-01, 6.409999871253967e-01, 6.51000046729331e-01, 6.609999871253968e-01, 6.709999871258941e-01, 6.809999871256099e-01, 6.909999871254677e-01, 7.009999871253967e-01, 7.11000046729402e-01, 7.209999871253967e-01, 7.309999871253967e-01, 7.409999871256809e-01, 7.509999871253967e-01, 7.609999871253967e-01, 7.710000467294731e-01, 7.810000467291889e-01, 7.909999871253968e-01, 8.00999987125752e-01, 8.109999871253968e-01, 8.209999871253967e-01, 8.309999871253967e-01, 8.410000467292599e-01, 8.509999871253967e-01, 8.60999987125823e-01, 8.709999871255388e-01, 8.809999871253967e-01, 8.909999871253967e-01, 9.01000046729331e-01, 9.109999871253968e-01, 9.209999871258941e-01, 9.309999871256099e-01, 9.409999871254677e-01, 9.509999871253967e-01, 9.61000046729402e-01, 9.709999871253967e-01, 9.809999871253967e-01, 9.909999871256809e-01, 1.001000046730042e+00] +dewBulPhi.TDewPoi=[2.065773162841797e+02, 2.392031557548283e+02, 2.474015963270481e+02, 2.523485110096366e+02, 2.559273379205333e+02, 2.587463376973915e+02, 2.610800173733468e+02, 2.630761718188159e+02, 2.648235476538915e+02, 2.663796991741048e+02, 2.677841184510048e+02, 2.690651245842417e+02, 2.702437136804986e+02, 2.713358159284534e+02, 2.723539733296003e+02, 2.733081049140503e+02, 2.742061770680951e+02, 2.750548704569849e+02, 2.758595880592341e+02, 2.766249696597002e+02, 2.773549192200448e+02, 2.780527653382751e+02, 2.787213745894622e+02, 2.793632809864289e+02, 2.799806826967808e+02, 2.805754699707031e+02, 2.811493840810134e+02, 2.817039483875499e+02, 2.82240478452488e+02, 2.827601932968819e+02, 2.832642205978712e+02, 2.837535399237388e+02, 2.842290347582305e+02, 2.846914972028692e+02, 2.851417234734694e+02, 2.855803530405896e+02, 2.860080255173247e+02, 2.864252927717175e+02, 2.868327333458724e+02, 2.872308050049894e+02, 2.876199643696896e+02, 2.880006104859673e+02, 2.883731999451037e+02, 2.88738006333028e+02, 2.890954285510159e+02, 2.894457706765816e+02, 2.897893368737501e+02, 2.901264038483204e+02, 2.904572147064602e+02, 2.907820126319718e+02, 2.911010437011719e+02, 2.914145510770854e+02, 2.917226873493539e+02, 2.920256661414605e+02, 2.923236687984134e+02, 2.926168819769795e+02, 2.92905486992152e+02, 2.931895753966712e+02, 2.934693608142692e+02, 2.937449347983372e+02, 2.9401647884864e+02, 2.942840877540939e+02, 2.945478819550065e+02, 2.948079835213991e+02, 2.950645145240208e+02, 2.95317535998828e+02, 2.955672295731312e+02, 2.958135982238379e+02, 2.960568235573767e+02, 2.962969360919458e+02, 2.965340273800928e+02, 2.967681889752118e+02, 2.969994805424178e+02, 2.972279963925321e+02, 2.974537961725182e+02, 2.976769714355469e+02, 2.97897583216629e+02, 2.981156620340701e+02, 2.983312994406048e+02, 2.985445246910535e+02, 2.987554318786176e+02, 2.989640502434552e+02, 2.991704713380871e+02, 2.993746951629088e+02, 2.995767827535876e+02, 2.997768244760599e+02, 2.999747921984574e+02, 3.00170806791635e+02, 3.003648377385237e+02, 3.005570071092179e+02, 3.007472843866486e+02, 3.009357294882586e+02, 3.011224056956905e+02, 3.013073423974587e+02, 3.014905395942193e+02, 3.016720583206516e+02, 3.018519290949924e+02, 3.020301813766213e+02, 3.022068783262569e+02, 3.023819883589196e+02, 3.025555725097656e+02] +dewBulPhi1.TDryBul=[2.751499938964844e+02, 2.755000000078239e+02, 2.758500061191635e+02, 2.762000122304928e+02, 2.765499878242645e+02, 2.768999938704046e+02, 2.772500000469436e+02, 2.776000060930837e+02, 2.779500122695953e+02, 2.782999876678407e+02, 2.78649993844325e+02, 2.790000000208638e+02, 2.793500061974026e+02, 2.797000123738686e+02, 2.800499877721141e+02, 2.803999936878467e+02, 2.807500001251826e+02, 2.811000060409243e+02, 2.814500119566661e+02, 2.817999878764238e+02, 2.821499937921656e+02, 2.825000002295014e+02, 2.828500061452432e+02, 2.832000120609849e+02, 2.835499879807426e+02, 2.838999938964844e+02, 2.842500003338203e+02, 2.846000057279678e+02, 2.849500121653037e+02, 2.852999880850615e+02, 2.856499934792091e+02, 2.859999999165449e+02, 2.863500063538808e+02, 2.867000117480284e+02, 2.870499876678407e+02, 2.873999941051221e+02, 2.877499994992696e+02, 2.881000059366055e+02, 2.884500123738686e+02, 2.887999882936991e+02, 2.891499936878467e+02, 2.895000001251826e+02, 2.898500065625185e+02, 2.902000119566661e+02, 2.905499878764238e+02, 2.908999943137597e+02, 2.912499997079073e+02, 2.916000061452431e+02, 2.919500125824154e+02, 2.92299987459294e+02, 2.926499938964844e+02, 2.930000003338153e+02, 2.933500067711462e+02, 2.937000132080406e+02, 2.940499870422118e+02, 2.943999934792153e+02, 2.947499999165437e+02, 2.951000063538771e+02, 2.954500127909533e+02, 2.957999887109608e+02, 2.961499930619462e+02, 2.964999994992771e+02, 2.96850005936608e+02, 2.972000123738661e+02, 2.975499882936917e+02, 2.978999947310226e+02, 2.982499990820079e+02, 2.986000055193389e+02, 2.989500119566698e+02, 2.992999878764251e+02, 2.996499943137535e+02, 3.000000007510844e+02, 3.003500051020698e+02, 3.007000115394007e+02, 3.01049987459299e+02, 3.013999938964844e+02, 3.017500003338153e+02, 3.021000067711462e+02, 3.024500132080406e+02, 3.027999870422118e+02, 3.031499934792153e+02, 3.034999999165437e+02, 3.038500063538771e+02, 3.042000127909533e+02, 3.045499887109608e+02, 3.048999930619462e+02, 3.052499994992771e+02, 3.05600005936608e+02, 3.059500123738661e+02, 3.062999882936917e+02, 3.066499947310226e+02, 3.069999990820079e+02, 3.073500055193389e+02, 3.077000119566698e+02, 3.080499878764251e+02, 3.083999943137535e+02, 3.087500007510844e+02, 3.091000051020698e+02, 3.094500115394007e+02, 3.09799987459299e+02, 3.101499938964844e+02] +dewBulPhi1.phi=[4.000000059604645e-01, 4.000000059604645e-01] +dewBulPhi1.TDewPoi=[2.626684875488281e+02, 2.629984741284641e+02, 2.633280029444009e+02, 2.636570434790808e+02, 2.639856567676397e+02, 2.643138122314281e+02, 2.646415405712587e+02, 2.64968811025411e+02, 2.652956848728699e+02, 2.656221617485101e+02, 2.65948211621355e+02, 2.662738647654841e+02, 2.665991211809249e+02, 2.669239808677227e+02, 2.672485046193361e+02, 2.675726316427612e+02, 2.678963929380077e+02, 2.682198180574179e+02, 2.685428769663272e+02, 2.688656006628442e+02, 2.691880187027857e+02, 2.695100710118745e+02, 2.698318176652792e+02, 2.701532591432663e+02, 2.704743654065147e+02, 2.707951965332031e+02, 2.711157229616941e+02, 2.714359432600547e+02, 2.717558898544522e+02, 2.720755617900644e+02, 2.723949581153801e+02, 2.727140807344769e+02, 2.730329286947886e+02, 2.733515315648373e+02, 2.736698912435897e+02, 2.73987976263757e+02, 2.743058467132951e+02, 2.746234739696814e+02, 2.749408570848606e+02, 2.752580265766292e+02, 2.755749815005515e+02, 2.758916932284662e+02, 2.762081913329521e+02, 2.765245053889889e+02, 2.768405762472174e+02, 2.771564945169732e+02, 2.774721677054336e+02, 2.777876892465828e+02, 2.781029971643941e+02, 2.784181515549723e+02, 2.787330932617188e+02, 2.79047851862701e+02, 2.793624578755014e+02, 2.796769112996838e+02, 2.799911797457794e+02, 2.803052974770389e+02, 2.806192321029002e+02, 2.809330446578713e+02, 2.812466741072988e+02, 2.815601814860135e+02, 2.818735344090218e+02, 2.821867366126465e+02, 2.824998167452311e+02, 2.828127442897796e+02, 2.831255497636518e+02, 2.834382331669204e+02, 2.837507621199031e+02, 2.840632013830197e+02, 2.843755185754237e+02, 2.846876831799028e+02, 2.84999756231352e+02, 2.853117377297781e+02, 2.856235952990979e+02, 2.859353326573719e+02, 2.862469784624751e+02, 2.865585021972656e+02, 2.868699343790308e+02, 2.871812750077706e+02, 2.87492524083485e+02, 2.878036797523277e+02, 2.881147457228643e+02, 2.884257201407008e+02, 2.887366030055163e+02, 2.890473943173041e+02, 2.893581245940448e+02, 2.896687614663513e+02, 2.899793086378415e+02, 2.902897947738118e+02, 2.906001893569749e+02, 2.909105229049089e+02, 2.91220795417323e+02, 2.915309745286496e+02, 2.918411249705692e+02, 2.921511838602638e+02, 2.924611817145133e+02, 2.92771118533493e+02, 2.930809943169912e+02, 2.93390776701694e+02, 2.937005609326397e+02, 2.940102536108511e+02, 2.943198852539062e+02] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Psychrometrics_Validation_SpecificEnthalpy_TDryBulPhi.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Psychrometrics_Validation_SpecificEnthalpy_TDryBulPhi.txt new file mode 100644 index 0000000000..0892662108 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Psychrometrics_Validation_SpecificEnthalpy_TDryBulPhi.txt @@ -0,0 +1,10 @@ +last-generated=2017-04-09 +statistics-simulation= +{ + "numerical Jacobians": "0", + "nonlinear": " ", + "linear": " " +} +hBulPhi.h=[2.9640759765625e+04, 3.028464845189919e+04, 3.092906057569652e+04, 3.157399418389194e+04, 3.221945122961146e+04, 3.286542963935572e+04, 3.351193368049744e+04, 3.415896482446053e+04, 3.480651964709815e+04, 3.545460133065703e+04, 3.610321084081727e+04, 3.675234769496034e+04, 3.740201189308799e+04, 3.805220343519498e+04, 3.870292964870118e+04, 3.935417929919748e+04, 4.000596507696201e+04, 4.065828113331716e+04, 4.131112843914145e+04, 4.196450796835186e+04, 4.261842168005712e+04, 4.327286761680973e+04, 4.392785164061685e+04, 4.458336691391174e+04, 4.523942222711256e+04, 4.589601171875e+04, 4.655314125200234e+04, 4.721080788791137e+04, 4.786901164026062e+04, 4.852775445622979e+04, 4.918703827632564e+04, 4.984686312388474e+04, 5.050723094130677e+04, 5.116813585183247e+04, 5.182958960711538e+04, 5.24915824260252e+04, 5.315412014567485e+04, 5.381720280871418e+04, 5.448083234784316e+04, 5.514500485683971e+04, 5.580972616616484e+04, 5.647499242553858e+04, 5.714080946727526e+04, 5.780717530447435e+04, 5.847409000283355e+04, 5.914155548356964e+04, 5.98095697548764e+04, 6.047813679848735e+04, 6.114725462449383e+04, 6.181692514238264e+04, 6.24871484375e+04, 6.315793032751267e+04, 6.382926299985565e+04, 6.450115426697307e+04, 6.517359621291071e+04, 6.584660075994636e+04, 6.65201639018541e+04, 6.71942817323983e+04, 6.786896206400871e+04, 6.854419708426464e+04, 6.921999057578044e+04, 6.989635059468597e+04, 7.057327311461593e+04, 7.125075813570071e+04, 7.192880565788444e+04, 7.260741568120437e+04, 7.328658415579832e+04, 7.396632699021196e+04, 7.464663232577112e+04, 7.532750797491542e+04, 7.600895393770488e+04, 7.669096240162606e+04, 7.737353710899083e+04, 7.805667838411749e+04, 7.874039778524997e+04, 7.94246875e+04, 8.010954752847936e+04, 8.07949856830018e+04, 8.148098633867904e+04, 8.216756883873492e+04, 8.28547179305897e+04, 8.354245296097336e+04, 8.423075830504023e+04, 8.491964177523841e+04, 8.560910337155416e+04, 8.629913897928773e+04, 8.698975682423447e+04, 8.768095279529877e+04, 8.837272689253651e+04, 8.906508692839181e+04, 8.975802509047645e+04, 9.045154505559902e+04, 9.11456550912215e+04, 9.184034325296155e+04, 9.253562516585205e+04, 9.323148520493406e+04, 9.392793118263858e+04, 9.462495894264081e+04, 9.53225846064763e+04, 9.602079620889212e+04, 9.671959375e+04] +time=[0e+00, 1e+00] +phi.y=[1.000000047497451e-03, 1.100000016391277e-02, 2.100000016391277e-02, 3.100000016391215e-02, 4.100000202655792e-02, 5.099999830126763e-02, 6.100000202655792e-02, 7.100000202655682e-02, 8.100000202655126e-02, 9.099999457599064e-02, 1.010000020265579e-01, 1.110000020265557e-01, 1.210000020265579e-01, 1.310000020265579e-01, 1.410000020265579e-01, 1.509999871254411e-01, 1.610000020265579e-01, 1.710000020265579e-01, 1.8099998712545e-01, 1.910000020265579e-01, 2.010000020265579e-01, 2.110000020265579e-01, 2.210000020265579e-01, 2.310000020265579e-01, 2.410000020265579e-01, 2.509999871253967e-01, 2.610000169277191e-01, 2.709999871253967e-01, 2.809999871254145e-01, 2.910000169277191e-01, 3.009999871253967e-01, 3.109999871253967e-01, 3.210000169277191e-01, 3.309999871253967e-01, 3.409999871253968e-01, 3.510000169276303e-01, 3.609999871253967e-01, 3.709999871253967e-01, 3.810000169276481e-01, 3.910000169277191e-01, 4.009999871253968e-01, 4.110000169276658e-01, 4.210000169277191e-01, 4.309999871253967e-01, 4.410000169276836e-01, 4.510000169277191e-01, 4.609999871253967e-01, 4.709999871253967e-01, 4.810000169277191e-01, 4.909999871253967e-01, 5.009999871253967e-01, 5.109999871253967e-01, 5.210000467294731e-01, 5.310000467291889e-01, 5.409999871253968e-01, 5.50999987125752e-01, 5.609999871253968e-01, 5.709999871253967e-01, 5.809999871253967e-01, 5.910000467292599e-01, 6.009999871253967e-01, 6.10999987125823e-01, 6.209999871255388e-01, 6.309999871253967e-01, 6.409999871253967e-01, 6.51000046729331e-01, 6.609999871253968e-01, 6.709999871258941e-01, 6.809999871256099e-01, 6.909999871254677e-01, 7.009999871253967e-01, 7.11000046729402e-01, 7.209999871253967e-01, 7.309999871253967e-01, 7.409999871256809e-01, 7.509999871253967e-01, 7.609999871253967e-01, 7.710000467294731e-01, 7.810000467291889e-01, 7.909999871253968e-01, 8.00999987125752e-01, 8.109999871253968e-01, 8.209999871253967e-01, 8.309999871253967e-01, 8.410000467292599e-01, 8.509999871253967e-01, 8.60999987125823e-01, 8.709999871255388e-01, 8.809999871253967e-01, 8.909999871253967e-01, 9.01000046729331e-01, 9.109999871253968e-01, 9.209999871258941e-01, 9.309999871256099e-01, 9.409999871254677e-01, 9.509999871253967e-01, 9.61000046729402e-01, 9.709999871253967e-01, 9.809999871253967e-01, 9.909999871256809e-01, 1.001000046730042e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Psychrometrics_Validation_WetBulb_TDryBulPhi.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Psychrometrics_Validation_WetBulb_TDryBulPhi.txt new file mode 100644 index 0000000000..fab40fa8bb --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Psychrometrics_Validation_WetBulb_TDryBulPhi.txt @@ -0,0 +1,14 @@ +last-generated=2023-03-17 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +time=[0e+00, 1e+00] +wetBulPhi.TDryBul=[3.025499877929688e+02, 3.025499877929688e+02] +wetBulPhi.phi=[5.000000074505806e-02, 5.950000158324819e-02, 6.899999869614885e-02, 7.850000325962661e-02, 8.800000037252995e-02, 9.749999571591818e-02, 1.07000002048911e-01, 1.164999973922971e-01, 1.26000003725289e-01, 1.354999955296543e-01, 1.449999944120657e-01, 1.54499993294477e-01, 1.640000070780496e-01, 1.735000059604609e-01, 1.829999977648263e-01, 1.924999895691916e-01, 2.020000104307835e-01, 2.115000022351755e-01, 2.209999940395408e-01, 2.304999999999982e-01, 2.399999918043858e-01, 2.495000126659333e-01, 2.590000044703386e-01, 2.684999962747439e-01, 2.780000022352102e-01, 2.874999940395355e-01, 2.970000000000639e-01, 3.064999776483461e-01, 3.160000134110371e-01, 3.255000193714411e-01, 3.349999970196878e-01, 3.445000029802163e-01, 3.540000089406381e-01, 3.634999865890624e-01, 3.729999925494487e-01, 3.824999985099238e-01, 3.919999761582593e-01, 4.014999821186456e-01, 4.110000178813544e-01, 4.205000238417407e-01, 4.300000014900762e-01, 4.395000074505513e-01, 4.490000134109376e-01, 4.584999910593619e-01, 4.679999970197837e-01, 4.775000029803122e-01, 4.869999806285589e-01, 4.964999865889629e-01, 5.059999925494914e-01, 5.15499999999936e-01, 5.249999761581421e-01, 5.345000119208579e-01, 5.440000476830054e-01, 5.535000238416448e-01, 5.630000029803921e-01, 5.724999791384632e-01, 5.820000149011115e-01, 5.9149999105925e-01, 6.010000268219657e-01, 6.105000029800368e-01, 6.199999821187842e-01, 6.294999582772816e-01, 6.389999940395711e-01, 6.485000298021447e-01, 6.580000059603579e-01, 6.675000417223632e-01, 6.769999612579579e-01, 6.864999970198922e-01, 6.959999731781763e-01, 7.055000089407464e-01, 7.1499998509875e-01, 7.245000208614658e-01, 7.340000000002131e-01, 7.434999761582842e-01, 7.53000011921e-01, 7.62499988079071e-01, 7.720000238415027e-01, 7.814999999998579e-01, 7.910000357625737e-01, 8.004999552973158e-01, 8.099999910593921e-01, 8.195000268220405e-01, 8.29000002980179e-01, 8.385000387423973e-01, 8.480000149009658e-01, 8.574999940397131e-01, 8.669999701982105e-01, 8.765000059605e-01, 8.85999982118571e-01, 8.955000178812869e-01, 9.049999940393579e-01, 9.144999731781053e-01, 9.240000089408211e-01, 9.334999850988921e-01, 9.430000208616043e-01, 9.524999970196789e-01, 9.620000327823948e-01, 9.7149995231735e-01, 9.809999880792132e-01, 9.904999642375684e-01, 1e+00] +wetBulPhi.TWetBul=[2.836178894042969e+02, 2.839925842369466e+02, 2.843685913252648e+02, 2.847383423096001e+02, 2.850988769848027e+02, 2.854490966539033e+02, 2.857888184041085e+02, 2.861182556055392e+02, 2.864378052318788e+02, 2.867478941775337e+02, 2.870491027388199e+02, 2.873418579273184e+02, 2.876267395771363e+02, 2.879041444173487e+02, 2.881745605309134e+02, 2.884383543364823e+02, 2.886959839775225e+02, 2.889477233440613e+02, 2.89194000069518e+02, 2.894350586505387e+02, 2.896712340610558e+02, 2.899027711461601e+02, 2.901299133568536e+02, 2.903529356986384e+02, 2.905719910831119e+02, 2.90787353515625e+02, 2.909992067429117e+02, 2.912076718968242e+02, 2.914129638428495e+02, 2.916152040247322e+02, 2.918145749590262e+02, 2.920112304221112e+02, 2.922052308506242e+02, 2.923967587832927e+02, 2.92585906915083e+02, 2.927727662238756e+02, 2.929574582332867e+02, 2.931401061144426e+02, 2.933207398316588e+02, 2.934994814554661e+02, 2.936764220140942e+02, 2.938516235974201e+02, 2.94025146710675e+02, 2.94197082396968e+02, 2.94367462198621e+02, 2.945364076711554e+02, 2.947039183177333e+02, 2.948701172071996e+02, 2.950349733206818e+02, 2.951986082428779e+02, 2.953610534667969e+02, 2.955223085028384e+02, 2.956824954213174e+02, 2.958416142226702e+02, 2.959996944860016e+02, 2.961567991295992e+02, 2.963129577265277e+02, 2.964682007942592e+02, 2.966225893680196e+02, 2.967761234482464e+02, 2.969288631619627e+02, 2.970808103299096e+02, 2.972319945569482e+02, 2.973824768781621e+02, 2.975322572935511e+02, 2.9768136632113e+02, 2.97829803078231e+02, 2.979776608865619e+02, 2.981249083421662e+02, 2.98271575962623e+02, 2.984176942656893e+02, 2.98563293768728e+02, 2.987083736087149e+02, 2.988529660329851e+02, 2.989970701752778e+02, 2.991407165527344e+02, 2.992839356832241e+02, 2.994267275670381e+02, 2.995691227213178e+02, 2.997111203013025e+02, 2.998527525169294e+02, 2.999940490386139e+02, 3.001349488312027e+02, 3.002755739647506e+02, 3.004158328868882e+02, 3.005558163167936e+02, 3.006954954057471e+02, 3.008348998359154e+02, 3.009740296072985e+02, 3.011129152374745e+02, 3.012515567268073e+02, 3.013899532507264e+02, 3.015281369765692e+02, 3.01666107079074e+02, 3.018038635582056e+02, 3.019414369314663e+02, 3.020788271986407e+02, 3.022160335430884e+02, 3.023530576002712e+02, 3.024899595862684e+02, 3.026266784667969e+02] +wetBulPhi1.TDryBul=[2.731499938964844e+02, 2.735499878019114e+02, 2.739500122249096e+02, 2.743500061303332e+02, 2.747500000357568e+02, 2.751499938666871e+02, 2.755499878466244e+02, 2.759500121951078e+02, 2.76350006175029e+02, 2.767499998569731e+02, 2.771499938368898e+02, 2.775499878168156e+02, 2.779500123143014e+02, 2.783500062942181e+02, 2.787499999761622e+02, 2.791499936581063e+02, 2.795499879360502e+02, 2.799500121354906e+02, 2.803500058173528e+02, 2.807500000953513e+02, 2.811499937772953e+02, 2.815499880552847e+02, 2.819500122547068e+02, 2.823500059365873e+02, 2.827500002145403e+02, 2.831499938964844e+02, 2.835499881745192e+02, 2.83950011777787e+02, 2.843500060558218e+02, 2.847500003337293e+02, 2.851499934197282e+02, 2.855499876976175e+02, 2.85950012493085e+02, 2.863500055788838e+02, 2.867499998569731e+02, 2.871499941349534e+02, 2.875499872208613e+02, 2.87950012016256e+02, 2.883500062942181e+02, 2.887500005721074e+02, 2.891499936581063e+02, 2.895499879360502e+02, 2.89950012731463e+02, 2.903500058173528e+02, 2.907500000953513e+02, 2.911499943734224e+02, 2.915499874592394e+02, 2.919500122547068e+02, 2.923500065325962e+02, 2.927499996185951e+02, 2.931499938964844e+02, 2.935499881745135e+02, 2.939500129698297e+02, 2.943500072477133e+02, 2.947499991418517e+02, 2.951499934197353e+02, 2.955499876976161e+02, 2.959500124930807e+02, 2.963500067709643e+02, 2.967500010488479e+02, 2.971499929429863e+02, 2.975499872208699e+02, 2.979500120162589e+02, 2.983500062942152e+02, 2.987500005720989e+02, 2.991499948503463e+02, 2.995499867441208e+02, 2.999500115393279e+02, 3.00350005817357e+02, 3.007500000953527e+02, 3.011499943734153e+02, 3.015499886514444e+02, 3.01950011062397e+02, 3.023500053404261e+02, 3.027499996186008e+02, 3.031499938964844e+02, 3.035499881745135e+02, 3.039500129698297e+02, 3.043500072477133e+02, 3.047499991418517e+02, 3.051499934197353e+02, 3.055499876976161e+02, 3.059500124930807e+02, 3.063500067709643e+02, 3.067500010488479e+02, 3.071499929429863e+02, 3.075499872208699e+02, 3.079500120162589e+02, 3.083500062942152e+02, 3.087500005720989e+02, 3.091499948503463e+02, 3.095499867441208e+02, 3.099500115393279e+02, 3.10350005817357e+02, 3.107500000953527e+02, 3.111499943734153e+02, 3.115499886514444e+02, 3.11950011062397e+02, 3.123500053404261e+02, 3.127499996186008e+02, 3.131499938964844e+02] +wetBulPhi1.phi=[6.000000238418579e-01, 6.000000238418579e-01] +wetBulPhi1.TWetBul=[2.701868591308594e+02, 2.705463256916291e+02, 2.70905822769977e+02, 2.712652893307468e+02, 2.716247864090947e+02, 2.719842529029029e+02, 2.723437500482123e+02, 2.727032165420205e+02, 2.730626831697517e+02, 2.734221800472154e+02, 2.737816466749465e+02, 2.741411133026776e+02, 2.745005799304088e+02, 2.7486004655814e+02, 2.752195129180255e+02, 2.75578979277911e+02, 2.759384461734878e+02, 2.762979125333733e+02, 2.766573788932588e+02, 2.770168457888356e+02, 2.773763121487211e+02, 2.777357790441979e+02, 2.780952148866053e+02, 2.784546812464908e+02, 2.788141481420676e+02, 2.791736145019531e+02, 2.795330508799518e+02, 2.79892516704146e+02, 2.802519530821629e+02, 2.806114199777215e+02, 2.809708858019157e+02, 2.813303221799144e+02, 2.816897890753821e+02, 2.820492243821073e+02, 2.824086607601606e+02, 2.827681276556827e+02, 2.831275629625171e+02, 2.834870298578757e+02, 2.838464662358743e+02, 2.84205902613873e+02, 2.845653379205801e+02, 2.849248048160113e+02, 2.852842411940646e+02, 2.856436765007898e+02, 2.860031128786794e+02, 2.863625492566781e+02, 2.867220150808723e+02, 2.870814514588527e+02, 2.874408878367059e+02, 2.878003231434857e+02, 2.881597595214844e+02, 2.885191958994779e+02, 2.888786322774715e+02, 2.892380686554651e+02, 2.895975028907254e+02, 2.89956939268719e+02, 2.9031637564671e+02, 2.90675812024597e+02, 2.91035248402445e+02, 2.913946847802931e+02, 2.917540884987392e+02, 2.921135248765873e+02, 2.924729612544353e+02, 2.928323976322834e+02, 2.931918340101315e+02, 2.935512398707652e+02, 2.939106741064257e+02, 2.942701104840191e+02, 2.946295468620127e+02, 2.949889527224306e+02, 2.953483891004216e+02, 2.957078254780878e+02, 2.96067229196534e+02, 2.96426665574382e+02, 2.967861019520846e+02, 2.971455078125e+02, 2.975049441903481e+02, 2.978643805681961e+02, 2.982237864289026e+02, 2.985832206641629e+02, 2.989426265247603e+02, 2.993020629025694e+02, 2.996614687629873e+02, 3.000209051407263e+02, 3.003803110013964e+02, 3.007397452366567e+02, 3.010991510972904e+02, 3.014585874750657e+02, 3.018179933354812e+02, 3.021774297132565e+02, 3.025368355738902e+02, 3.028962392919726e+02, 3.03255675669566e+02, 3.036150815300905e+02, 3.039745179079411e+02, 3.043339237682085e+02, 3.046933296288058e+02, 3.050527638640662e+02, 3.054121697247726e+02, 3.057715755850426e+02, 3.061310119628906e+02] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Sources_Validation_CalendarTimeMonths.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Sources_Validation_CalendarTimeMonths.txt new file mode 100644 index 0000000000..adde9ae02d --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Sources_Validation_CalendarTimeMonths.txt @@ -0,0 +1,14 @@ +last-generated=2018-07-13 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +calTim.year=[2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03] +time=[1.728e+05, 3.456e+05] +calTim.month=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +calTim.day=[3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00] +calTim.weekDay=[2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00] +calTim.hour=[0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 2e+00, 2e+00, 3e+00, 3e+00, 4e+00, 4e+00, 5e+00, 5e+00, 6e+00, 6e+00, 7e+00, 7e+00, 8e+00, 8e+00, 9e+00, 9e+00, 1e+01, 1e+01, 1.1e+01, 1.1e+01, 1.1e+01, 1.2e+01, 1.2e+01, 1.3e+01, 1.3e+01, 1.4e+01, 1.4e+01, 1.5e+01, 1.5e+01, 1.6e+01, 1.6e+01, 1.7e+01, 1.7e+01, 1.8e+01, 1.8e+01, 1.9e+01, 1.9e+01, 2e+01, 2e+01, 2.1e+01, 2.1e+01, 2.2e+01, 2.2e+01, 2.3e+01, 2.3e+01, 2.3e+01, 0e+00, 0e+00, 1e+00, 1e+00, 2e+00, 2e+00, 3e+00, 3e+00, 4e+00, 4e+00, 5e+00, 5e+00, 6e+00, 6e+00, 7e+00, 7e+00, 8e+00, 8e+00, 9e+00, 9e+00, 1e+01, 1e+01, 1.1e+01, 1.1e+01, 1.1e+01, 1.2e+01, 1.2e+01, 1.3e+01, 1.3e+01, 1.4e+01, 1.4e+01, 1.5e+01, 1.5e+01, 1.6e+01, 1.6e+01, 1.7e+01, 1.7e+01, 1.8e+01, 1.8e+01, 1.9e+01, 1.9e+01, 2e+01, 2e+01, 2.1e+01, 2.1e+01, 2.2e+01, 2.2e+01, 2.3e+01, 2.3e+01, 2.3e+01] +calTim.minute=[0e+00, 2.879999923706055e+01, 5.759999847412109e+01, 2.639999961853027e+01, 5.520000076293945e+01, 2.4e+01, 5.279999923706055e+01, 2.160000038146973e+01, 5.040000152587891e+01, 1.920000076293945e+01, 4.8e+01, 1.679999923706055e+01, 4.559999847412109e+01, 1.439999961853027e+01, 4.320000076293945e+01, 1.2e+01, 4.079999923706055e+01, 9.600000381469727e+00, 3.840000152587891e+01, 7.199999809265137e+00, 3.6e+01, 4.800000190734863e+00, 3.359999847412109e+01, 2.400000095367432e+00, 3.120000076293945e+01, 6e+01, 2.879999923706055e+01, 5.759999847412109e+01, 2.639999961853027e+01, 5.520000076293945e+01, 2.4e+01, 5.279999923706055e+01, 2.160000038146973e+01, 5.040000152587891e+01, 1.920000076293945e+01, 4.8e+01, 1.679999923706055e+01, 4.559999847412109e+01, 1.439999961853027e+01, 4.320000076293945e+01, 1.2e+01, 4.079999923706055e+01, 9.600000381469727e+00, 3.840000152587891e+01, 7.199999809265137e+00, 3.6e+01, 4.800000190734863e+00, 3.359999847412109e+01, 2.400000095367432e+00, 3.120000076293945e+01, 6e+01, 2.879999923706055e+01, 5.759999847412109e+01, 2.639999961853027e+01, 5.520000076293945e+01, 2.4e+01, 5.279999923706055e+01, 2.160000038146973e+01, 5.040000152587891e+01, 1.920000076293945e+01, 4.8e+01, 1.679999923706055e+01, 4.559999847412109e+01, 1.439999961853027e+01, 4.320000076293945e+01, 1.2e+01, 4.079999923706055e+01, 9.600000381469727e+00, 3.840000152587891e+01, 7.199999809265137e+00, 3.6e+01, 4.800000190734863e+00, 3.359999847412109e+01, 2.400000095367432e+00, 3.120000076293945e+01, 6e+01, 2.879999923706055e+01, 5.759999847412109e+01, 2.639999961853027e+01, 5.520000076293945e+01, 2.4e+01, 5.279999923706055e+01, 2.160000038146973e+01, 5.040000152587891e+01, 1.920000076293945e+01, 4.8e+01, 1.679999923706055e+01, 4.559999847412109e+01, 1.439999961853027e+01, 4.320000076293945e+01, 1.2e+01, 4.079999923706055e+01, 9.600000381469727e+00, 3.840000152587891e+01, 7.199999809265137e+00, 3.6e+01, 4.800000190734863e+00, 3.359999847412109e+01, 2.400000095367432e+00, 3.120000076293945e+01, 6e+01] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Sources_Validation_CalendarTimeMonthsMinus.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Sources_Validation_CalendarTimeMonthsMinus.txt new file mode 100644 index 0000000000..90947a15c6 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Sources_Validation_CalendarTimeMonthsMinus.txt @@ -0,0 +1,14 @@ +last-generated=2017-07-18 +statistics-simulation= +{ + "numerical Jacobians": "0", + "nonlinear": " ", + "linear": " " +} +calTim.year=[2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03] +time=[1.72799e+05, 3.45599e+05] +calTim.month=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +calTim.day=[2e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00] +calTim.weekDay=[1e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00] +calTim.hour=[2.3e+01, 0e+00, 0e+00, 1e+00, 1e+00, 2e+00, 2e+00, 3e+00, 3e+00, 4e+00, 4e+00, 5e+00, 5e+00, 6e+00, 6e+00, 7e+00, 7e+00, 8e+00, 8e+00, 9e+00, 9e+00, 1e+01, 1e+01, 1.1e+01, 1.1e+01, 1.1e+01, 1.2e+01, 1.2e+01, 1.3e+01, 1.3e+01, 1.4e+01, 1.4e+01, 1.5e+01, 1.5e+01, 1.6e+01, 1.6e+01, 1.7e+01, 1.7e+01, 1.8e+01, 1.8e+01, 1.9e+01, 1.9e+01, 2e+01, 2e+01, 2.1e+01, 2.1e+01, 2.2e+01, 2.2e+01, 2.3e+01, 2.3e+01, 2.3e+01, 0e+00, 0e+00, 1e+00, 1e+00, 2e+00, 2e+00, 3e+00, 3e+00, 4e+00, 4e+00, 5e+00, 5e+00, 6e+00, 6e+00, 7e+00, 7e+00, 8e+00, 8e+00, 9e+00, 9e+00, 1e+01, 1e+01, 1.1e+01, 1.1e+01, 1.1e+01, 1.2e+01, 1.2e+01, 1.3e+01, 1.3e+01, 1.4e+01, 1.4e+01, 1.5e+01, 1.5e+01, 1.6e+01, 1.6e+01, 1.7e+01, 1.7e+01, 1.8e+01, 1.8e+01, 1.9e+01, 1.9e+01, 2e+01, 2e+01, 2.1e+01, 2.1e+01, 2.2e+01, 2.2e+01, 2.3e+01, 2.3e+01, 2.3e+01] +calTim.minute=[5.998333358764648e+01, 2.878333282470703e+01, 5.758333206176758e+01, 2.638333320617676e+01, 5.518333435058594e+01, 2.398333358764648e+01, 5.278333282470703e+01, 2.158333396911621e+01, 5.038333511352539e+01, 1.91833324432373e+01, 4.798333358764648e+01, 1.678333282470703e+01, 4.558333206176758e+01, 1.438333320617676e+01, 4.318333435058594e+01, 1.198333358764648e+01, 4.078333282470703e+01, 9.583333015441895e+00, 3.838333511352539e+01, 7.183333396911621e+00, 3.598333358764648e+01, 4.783333301544189e+00, 3.358333206176758e+01, 2.383333444595337e+00, 3.11833324432373e+01, 5.998333358764648e+01, 2.878333282470703e+01, 5.758333206176758e+01, 2.638333320617676e+01, 5.518333435058594e+01, 2.398333358764648e+01, 5.278333282470703e+01, 2.158333396911621e+01, 5.038333511352539e+01, 1.91833324432373e+01, 4.798333358764648e+01, 1.678333282470703e+01, 4.558333206176758e+01, 1.438333320617676e+01, 4.318333435058594e+01, 1.198333358764648e+01, 4.078333282470703e+01, 9.583333015441895e+00, 3.838333511352539e+01, 7.183333396911621e+00, 3.598333358764648e+01, 4.783333301544189e+00, 3.358333206176758e+01, 2.383333444595337e+00, 3.11833324432373e+01, 5.998333358764648e+01, 2.878333282470703e+01, 5.758333206176758e+01, 2.638333320617676e+01, 5.518333435058594e+01, 2.398333358764648e+01, 5.278333282470703e+01, 2.158333396911621e+01, 5.038333511352539e+01, 1.91833324432373e+01, 4.798333358764648e+01, 1.678333282470703e+01, 4.558333206176758e+01, 1.438333320617676e+01, 4.318333435058594e+01, 1.198333358764648e+01, 4.078333282470703e+01, 9.583333015441895e+00, 3.838333511352539e+01, 7.183333396911621e+00, 3.598333358764648e+01, 4.783333301544189e+00, 3.358333206176758e+01, 2.383333444595337e+00, 3.11833324432373e+01, 5.998333358764648e+01, 2.878333282470703e+01, 5.758333206176758e+01, 2.638333320617676e+01, 5.518333435058594e+01, 2.398333358764648e+01, 5.278333282470703e+01, 2.158333396911621e+01, 5.038333511352539e+01, 1.91833324432373e+01, 4.798333358764648e+01, 1.678333282470703e+01, 4.558333206176758e+01, 1.438333320617676e+01, 4.318333435058594e+01, 1.198333358764648e+01, 4.078333282470703e+01, 9.583333015441895e+00, 3.838333511352539e+01, 7.183333396911621e+00, 3.598333358764648e+01, 4.783333301544189e+00, 3.358333206176758e+01, 2.383333444595337e+00, 3.11833324432373e+01, 5.998333358764648e+01] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Sources_Validation_CalendarTimeMonthsPlus.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Sources_Validation_CalendarTimeMonthsPlus.txt new file mode 100644 index 0000000000..0b27fc3ede --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Sources_Validation_CalendarTimeMonthsPlus.txt @@ -0,0 +1,14 @@ +last-generated=2017-07-18 +statistics-simulation= +{ + "numerical Jacobians": "0", + "nonlinear": " ", + "linear": " " +} +calTim.year=[2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03, 2.017e+03] +time=[1.72801e+05, 3.45601e+05] +calTim.month=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +calTim.day=[3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 5e+00] +calTim.weekDay=[2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 4e+00] +calTim.hour=[0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 2e+00, 2e+00, 3e+00, 3e+00, 4e+00, 4e+00, 5e+00, 5e+00, 6e+00, 6e+00, 7e+00, 7e+00, 8e+00, 8e+00, 9e+00, 9e+00, 1e+01, 1e+01, 1.1e+01, 1.1e+01, 1.2e+01, 1.2e+01, 1.2e+01, 1.3e+01, 1.3e+01, 1.4e+01, 1.4e+01, 1.5e+01, 1.5e+01, 1.6e+01, 1.6e+01, 1.7e+01, 1.7e+01, 1.8e+01, 1.8e+01, 1.9e+01, 1.9e+01, 2e+01, 2e+01, 2.1e+01, 2.1e+01, 2.2e+01, 2.2e+01, 2.3e+01, 2.3e+01, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 2e+00, 2e+00, 3e+00, 3e+00, 4e+00, 4e+00, 5e+00, 5e+00, 6e+00, 6e+00, 7e+00, 7e+00, 8e+00, 8e+00, 9e+00, 9e+00, 1e+01, 1e+01, 1.1e+01, 1.1e+01, 1.2e+01, 1.2e+01, 1.2e+01, 1.3e+01, 1.3e+01, 1.4e+01, 1.4e+01, 1.5e+01, 1.5e+01, 1.6e+01, 1.6e+01, 1.7e+01, 1.7e+01, 1.8e+01, 1.8e+01, 1.9e+01, 1.9e+01, 2e+01, 2e+01, 2.1e+01, 2.1e+01, 2.2e+01, 2.2e+01, 2.3e+01, 2.3e+01, 0e+00] +calTim.minute=[1.666666567325592e-02, 2.88166675567627e+01, 5.761666488647461e+01, 2.641666603088379e+01, 5.521666717529297e+01, 2.401666641235352e+01, 5.281666564941406e+01, 2.161666679382324e+01, 5.041666793823242e+01, 1.921666717529297e+01, 4.801666641235352e+01, 1.68166675567627e+01, 4.561666488647461e+01, 1.441666698455811e+01, 4.321666717529297e+01, 1.201666641235352e+01, 4.081666564941406e+01, 9.616666793823242e+00, 3.841666793823242e+01, 7.216666698455811e+00, 3.601666641235352e+01, 4.816666603088379e+00, 3.361666488647461e+01, 2.416666746139526e+00, 3.121666717529297e+01, 1.666666567325592e-02, 2.88166675567627e+01, 5.761666488647461e+01, 2.641666603088379e+01, 5.521666717529297e+01, 2.401666641235352e+01, 5.281666564941406e+01, 2.161666679382324e+01, 5.041666793823242e+01, 1.921666717529297e+01, 4.801666641235352e+01, 1.68166675567627e+01, 4.561666488647461e+01, 1.441666698455811e+01, 4.321666717529297e+01, 1.201666641235352e+01, 4.081666564941406e+01, 9.616666793823242e+00, 3.841666793823242e+01, 7.216666698455811e+00, 3.601666641235352e+01, 4.816666603088379e+00, 3.361666488647461e+01, 2.416666746139526e+00, 3.121666717529297e+01, 1.666666567325592e-02, 2.88166675567627e+01, 5.761666488647461e+01, 2.641666603088379e+01, 5.521666717529297e+01, 2.401666641235352e+01, 5.281666564941406e+01, 2.161666679382324e+01, 5.041666793823242e+01, 1.921666717529297e+01, 4.801666641235352e+01, 1.68166675567627e+01, 4.561666488647461e+01, 1.441666698455811e+01, 4.321666717529297e+01, 1.201666641235352e+01, 4.081666564941406e+01, 9.616666793823242e+00, 3.841666793823242e+01, 7.216666698455811e+00, 3.601666641235352e+01, 4.816666603088379e+00, 3.361666488647461e+01, 2.416666746139526e+00, 3.121666717529297e+01, 1.666666567325592e-02, 2.88166675567627e+01, 5.761666488647461e+01, 2.641666603088379e+01, 5.521666717529297e+01, 2.401666641235352e+01, 5.281666564941406e+01, 2.161666679382324e+01, 5.041666793823242e+01, 1.921666717529297e+01, 4.801666641235352e+01, 1.68166675567627e+01, 4.561666488647461e+01, 1.441666698455811e+01, 4.321666717529297e+01, 1.201666641235352e+01, 4.081666564941406e+01, 9.616666793823242e+00, 3.841666793823242e+01, 7.216666698455811e+00, 3.601666641235352e+01, 4.816666603088379e+00, 3.361666488647461e+01, 2.416666746139526e+00, 3.121666717529297e+01, 1.666666567325592e-02] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Sources_Validation_CivilTime.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Sources_Validation_CivilTime.txt new file mode 100644 index 0000000000..b30e8e7d2e --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Sources_Validation_CivilTime.txt @@ -0,0 +1,9 @@ +last-generated=2017-07-18 +statistics-simulation= +{ + "numerical Jacobians": "0", + "nonlinear": " ", + "linear": " " +} +civTim.y=[-1e+00, -9.8e-01, -9.6e-01, -9.399999999999999e-01, -9.2e-01, -9e-01, -8.8e-01, -8.6e-01, -8.4e-01, -8.200000000000001e-01, -8e-01, -7.8e-01, -7.6e-01, -7.4e-01, -7.2e-01, -7e-01, -6.799999999999999e-01, -6.599999999999999e-01, -6.4e-01, -6.2e-01, -6e-01, -5.800000000000001e-01, -5.600000000000001e-01, -5.4e-01, -5.2e-01, -5e-01, -4.8e-01, -4.6e-01, -4.399999999999999e-01, -4.2e-01, -4e-01, -3.8e-01, -3.6e-01, -3.4e-01, -3.2e-01, -3e-01, -2.8e-01, -2.6e-01, -2.4e-01, -2.2e-01, -2e-01, -1.8e-01, -1.6e-01, -1.4e-01, -1.2e-01, -9.999999999999998e-02, -7.999999999999996e-02, -6.000000000000005e-02, -4.000000000000004e-02, -2.000000000000002e-02, 0e+00, 2.000000000000002e-02, 4.000000000000004e-02, 6.000000000000005e-02, 8.000000000000007e-02, 1.000000000000001e-01, 1.200000000000001e-01, 1.399999999999999e-01, 1.599999999999999e-01, 1.799999999999999e-01, 2e-01, 2.2e-01, 2.4e-01, 2.6e-01, 2.8e-01, 3e-01, 3.200000000000001e-01, 3.400000000000001e-01, 3.600000000000001e-01, 3.799999999999999e-01, 3.999999999999999e-01, 4.199999999999999e-01, 4.399999999999999e-01, 4.6e-01, 4.8e-01, 5e-01, 5.2e-01, 5.4e-01, 5.600000000000001e-01, 5.800000000000001e-01, 6.000000000000001e-01, 6.200000000000001e-01, 6.399999999999999e-01, 6.599999999999999e-01, 6.799999999999999e-01, 7e-01, 7.2e-01, 7.4e-01, 7.6e-01, 7.8e-01, 8e-01, 8.200000000000001e-01, 8.400000000000001e-01, 8.600000000000001e-01, 8.799999999999999e-01, 8.999999999999999e-01, 9.199999999999999e-01, 9.399999999999999e-01, 9.6e-01, 9.8e-01, 1e+00] +time=[-1e+00, 1e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Sources_Validation_Constant.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Sources_Validation_Constant.txt new file mode 100644 index 0000000000..bea4321288 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Sources_Validation_Constant.txt @@ -0,0 +1,9 @@ +last-generated=2017-07-17 +statistics-simulation= +{ + "numerical Jacobians": "0", + "nonlinear": " ", + "linear": " " +} +con.y=[2.5e+00, 2.5e+00] +time=[0e+00, 1e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Sources_Validation_Pulse.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Sources_Validation_Pulse.txt new file mode 100644 index 0000000000..b239d08724 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Sources_Validation_Pulse.txt @@ -0,0 +1,9 @@ +last-generated=2017-07-17 +statistics-simulation= +{ + "numerical Jacobians": "0", + "nonlinear": " ", + "linear": " " +} +pulse.y=[2.200000047683716e+00, 2.200000047683716e+00, 2.200000047683716e+00, 2.200000047683716e+00, 2.200000047683716e+00, 2.200000047683716e+00, 2.200000047683716e+00, 2.200000047683716e+00, 2.200000047683716e+00, 2.200000047683716e+00, 2.200000047683716e+00, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.200000047683716e+00, 2.200000047683716e+00, 2.200000047683716e+00, 2.200000047683716e+00, 2.200000047683716e+00, 2.200000047683716e+00, 2.200000047683716e+00, 2.200000047683716e+00, 2.200000047683716e+00, 2.200000047683716e+00, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.200000047683716e+00, 2.200000047683716e+00, 2.200000047683716e+00, 2.200000047683716e+00, 2.200000047683716e+00, 2.200000047683716e+00, 2.200000047683716e+00, 2.200000047683716e+00, 2.200000047683716e+00, 2.200000047683716e+00, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.200000047683716e+00, 2.200000047683716e+00, 2.200000047683716e+00, 2.200000047683716e+00, 2.200000047683716e+00, 2.200000047683716e+00, 2.200000047683716e+00, 2.200000047683716e+00, 2.200000047683716e+00, 2.200000047683716e+00, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.200000047683716e+00, 2.200000047683716e+00, 2.200000047683716e+00, 2.200000047683716e+00, 2.200000047683716e+00, 2.200000047683716e+00, 2.200000047683716e+00, 2.200000047683716e+00, 2.200000047683716e+00, 2.200000047683716e+00, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01] +time=[0e+00, 5e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Sources_Validation_Ramp.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Sources_Validation_Ramp.txt new file mode 100644 index 0000000000..b0cb145c68 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Sources_Validation_Ramp.txt @@ -0,0 +1,9 @@ +last-generated=2017-07-17 +statistics-simulation= +{ + "numerical Jacobians": "0", + "nonlinear": " ", + "linear": " " +} +ram.y=[5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5.333333929379781e-01, 5.666666467984518e-01, 6.000000397364299e-01, 6.333332935969035e-01, 6.666666865348816e-01, 7.000000198682149e-01, 7.333333333333334e-01, 7.666666666666667e-01, 7.999999801317851e-01, 8.333333134651184e-01, 8.666667064030965e-01, 8.999999602635702e-01, 9.333333532015483e-01, 9.66666607062022e-01, 1e+00, 1.033333333333333e+00, 1.066666706402812e+00, 1.10000003973643e+00, 1.133333293596904e+00, 1.166666626930237e+00, 1.20000007947286e+00, 1.233333412806193e+00, 1.266666587193807e+00, 1.29999992052714e+00, 1.333333373069763e+00, 1.366666706403097e+00, 1.40000003973643e+00, 1.433333214124044e+00, 1.466666666666667e+00, 1.5e+00, 1.533333333333333e+00, 1.566666785875956e+00, 1.59999996026357e+00, 1.633333293596904e+00, 1.666666626930237e+00, 1.70000007947286e+00, 1.733333412806193e+00, 1.766666587193807e+00, 1.79999992052714e+00, 1.833333373069763e+00, 1.866666706403096e+00, 1.90000003973643e+00, 1.933333214124044e+00, 1.966666666666667e+00, 2e+00, 2.033333333333334e+00, 2.066666666666667e+00, 2.099999841054281e+00, 2.133333412806193e+00, 2.166666746139526e+00, 2.20000007947286e+00, 2.233333412806193e+00, 2.266666587193807e+00, 2.29999992052714e+00, 2.333333253860474e+00, 2.366666587193807e+00, 2.40000015894572e+00, 2.433333333333334e+00, 2.466666666666667e+00, 2.5e+00, 2.5e+00, 2.5e+00, 2.5e+00, 2.5e+00, 2.5e+00, 2.5e+00, 2.5e+00, 2.5e+00, 2.5e+00, 2.5e+00, 2.5e+00, 2.5e+00, 2.5e+00, 2.5e+00, 2.5e+00, 2.5e+00, 2.5e+00, 2.5e+00, 2.5e+00, 2.5e+00] +time=[0e+00, 5e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Sources_Validation_Sin.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Sources_Validation_Sin.txt new file mode 100644 index 0000000000..b136676e9b --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Sources_Validation_Sin.txt @@ -0,0 +1,9 @@ +last-generated=2017-11-06 +statistics-simulation= +{ + "numerical Jacobians": "0", + "nonlinear": " ", + "linear": " " +} +sin.y=[1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1.020937844191531e+01, 1.088542375831547e+01, 1.154508495330811e+01, 1.217615499983809e+01, 1.276695711517082e+01, 1.330655971069135e+01, 1.378497478677221e+01, 1.419335269927979e+01, 1.452413575474411e+01, 1.477120202508522e+01, 1.492998030863989e+01, 1.499753282656066e+01, 1.49726095199585e+01, 1.485567082839863e+01, 1.464888293689666e+01, 1.435606851073689e+01, 1.398265004032125e+01, 1.35355339050293e+01, 1.302299562735073e+01, 1.245451761687486e+01, 1.18406236406552e+01, 1.119266739404273e+01, 1.052264213562012e+01, 9.842945653499058e+00, 9.16615502928277e+00, 8.504796793679194e+00, 7.871104127302454e+00, 7.27680492401123e+00, 6.732896506003839e+00, 6.249443964584741e+00, 5.8353943567705e+00, 5.498406112116754e+00, 5.244717597961426e+00, 5.079021865315042e+00, 5.004385925595086e+00, 5.022190029644421e+00, 5.132105264581423e+00, 5.332098007202148e+00, 5.618466574446327e+00, 5.985913284854949e+00, 6.427636072230508e+00, 6.935464546737046e+00, 7.5e+00, 8.110794503701614e+00, 8.756551565329634e+00, 9.425313157290061e+00, 1.010471408314757e+01, 1.078217220306396e+01, 1.144515742264974e+01, 1.208140445410804e+01, 1.267913368858324e+01, 1.322728945242029e+01, 1.371572399139404e+01, 1.413540176341901e+01, 1.447855888579827e+01, 1.473884174539232e+01, 1.491143635895027e+01, 1.499314785003662e+01, 1.498246394869636e+01, 1.487958317388968e+01, 1.46864102185187e+01, 1.440651625465307e+01, 1.404508495330811e+01, 1.360880197819251e+01, 1.310573800702992e+01, 1.254520770568006e+01, 1.193757672001069e+01, 1.129409503936768e+01, 1.062666765139302e+01, 9.94764057399416e+00, 9.269585447625662e+00, 8.605042836755585e+00, 7.966316699981689e+00, 7.365222392883537e+00, 6.812879430628213e+00, 6.319515300157358e+00, 5.894252836817939e+00, 5.544967174530029e+00, 5.278118679511505e+00, 5.098644109355609e+00, 5.009866298654381e+00, 5.013427873076e+00, 5.109261989593506e+00, 5.295595602011288e+00, 5.568982504066119e+00, 5.924360775052777e+00, 6.355158008044967e+00, 6.853397846221924e+00, 7.409863547158879e+00, 8.014261029515836e+00, 8.655400463364945e+00, 9.32142416271245e+00, 1e+01] +time=[0e+00, 1.3e+02] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Sources_Validation_TimeTable.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Sources_Validation_TimeTable.txt new file mode 100644 index 0000000000..8c66584145 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Sources_Validation_TimeTable.txt @@ -0,0 +1,13 @@ +last-generated=2020-03-13 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +time=[0e+00, 1.728e+05] +timTabLin.y[1]=[0e+00, 7.999999821186066e-02, 1.599999964237213e-01, 2.39999994635582e-01, 3.199999928474426e-01, 4.000000059604645e-01, 4.799999892711639e-01, 5.600000023841859e-01, 6.399999856948853e-01, 7.200000286102295e-01, 8.00000011920929e-01, 8.799999952316284e-01, 9.599999785423279e-01, 9.900000095367432e-01, 9.700000286102295e-01, 9.49999988079071e-01, 9.300000071525574e-01, 9.100000262260437e-01, 8.899999856948853e-01, 8.700000047683716e-01, 8.500000238418579e-01, 8.299999833106995e-01, 8.100000023841858e-01, 7.900000214576721e-01, 7.699999809265137e-01, 7.5e-01, 7.300000190734863e-01, 7.099999785423279e-01, 6.899999976158141e-01, 6.700000166893005e-01, 6.499999761581421e-01, 6.299999952316284e-01, 6.100000143051147e-01, 5.899999737739563e-01, 5.699999928474425e-01, 5.500000119209291e-01, 5.299999713897705e-01, 5.099999904632568e-01, 4.799999892711639e-01, 4.399999976158142e-01, 4.000000059604645e-01, 3.600000143051147e-01, 3.199999928474426e-01, 2.800000011920929e-01, 2.39999994635582e-01, 2.000000029802322e-01, 1.599999964237213e-01, 1.19999997317791e-01, 7.999999821186066e-02, 3.999999910593033e-02, 0e+00, 7.999999821186066e-02, 1.599999964237213e-01, 2.39999994635582e-01, 3.199999928474426e-01, 4.000000059604651e-01, 4.799999892711646e-01, 5.600000023841851e-01, 6.399999856948853e-01, 7.200000286102295e-01, 8.00000011920929e-01, 8.799999952316284e-01, 9.599999785423279e-01, 9.900000095367432e-01, 9.700000286102295e-01, 9.49999988079071e-01, 9.300000071525574e-01, 9.100000262260437e-01, 8.89999985694885e-01, 8.700000047683718e-01, 8.500000238418581e-01, 8.299999833106995e-01, 8.100000023841858e-01, 7.900000214576721e-01, 7.699999809265137e-01, 7.5e-01, 7.300000190734863e-01, 7.099999785423279e-01, 6.899999976158142e-01, 6.700000166893005e-01, 6.499999761581421e-01, 6.299999952316284e-01, 6.100000143051147e-01, 5.899999737739563e-01, 5.699999928474426e-01, 5.50000011920929e-01, 5.299999713897705e-01, 5.099999904632568e-01, 4.799999892711639e-01, 4.399999976158142e-01, 4.000000059604645e-01, 3.600000143051147e-01, 3.199999928474426e-01, 2.800000011920929e-01, 2.39999994635582e-01, 2.000000029802322e-01, 1.599999964237213e-01, 1.19999997317791e-01, 7.999999821186066e-02, 3.999999910593033e-02, 0e+00] +timTabLinCon.y[1]=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 9.900000095367432e-01, 9.700000286102295e-01, 9.49999988079071e-01, 9.300000071525574e-01, 9.100000262260437e-01, 8.899999856948853e-01, 8.700000047683716e-01, 8.500000238418579e-01, 8.299999833106995e-01, 8.100000023841858e-01, 7.900000214576721e-01, 7.699999809265137e-01, 7.5e-01, 7.300000190734863e-01, 7.099999785423279e-01, 6.899999976158141e-01, 6.700000166893005e-01, 6.499999761581421e-01, 6.299999952316284e-01, 6.100000143051147e-01, 5.899999737739563e-01, 5.699999928474425e-01, 5.500000119209291e-01, 5.299999713897705e-01, 5.099999904632568e-01, 4.799999892711639e-01, 4.399999976158142e-01, 4.000000059604645e-01, 3.600000143051147e-01, 3.199999928474426e-01, 2.800000011920929e-01, 2.39999994635582e-01, 2.000000029802322e-01, 1.599999964237213e-01, 1.19999997317791e-01, 7.999999821186066e-02, 3.999999910593033e-02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 9.900000095367432e-01, 9.700000286102295e-01, 9.49999988079071e-01, 9.300000071525574e-01, 9.100000262260437e-01, 8.89999985694885e-01, 8.700000047683718e-01, 8.500000238418581e-01, 8.299999833106995e-01, 8.100000023841858e-01, 7.900000214576721e-01, 7.699999809265137e-01, 7.5e-01, 7.300000190734863e-01, 7.099999785423279e-01, 6.899999976158142e-01, 6.700000166893005e-01, 6.499999761581421e-01, 6.299999952316284e-01, 6.100000143051147e-01, 5.899999737739563e-01, 5.699999928474426e-01, 5.50000011920929e-01, 5.299999713897705e-01, 5.099999904632568e-01, 4.799999892711639e-01, 4.399999976158142e-01, 4.000000059604645e-01, 3.600000143051147e-01, 3.199999928474426e-01, 2.800000011920929e-01, 2.39999994635582e-01, 2.000000029802322e-01, 1.599999964237213e-01, 1.19999997317791e-01, 7.999999821186066e-02, 3.999999910593033e-02, 0e+00] +timTabCon.y[1]=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01] +timTabLinHol.y[1]=[0e+00, 7.999999821186066e-02, 1.599999964237213e-01, 2.39999994635582e-01, 3.199999928474426e-01, 4.000000059604645e-01, 4.799999892711639e-01, 5.600000023841859e-01, 6.399999856948853e-01, 7.200000286102295e-01, 8.00000011920929e-01, 8.799999952316284e-01, 9.599999785423279e-01, 9.900000095367432e-01, 9.700000286102295e-01, 9.49999988079071e-01, 9.300000071525574e-01, 9.100000262260437e-01, 8.899999856948853e-01, 8.700000047683716e-01, 8.500000238418579e-01, 8.299999833106995e-01, 8.100000023841858e-01, 7.900000214576721e-01, 7.699999809265137e-01, 7.5e-01, 7.300000190734863e-01, 7.099999785423279e-01, 6.899999976158141e-01, 6.700000166893005e-01, 6.499999761581421e-01, 6.299999952316284e-01, 6.100000143051147e-01, 5.899999737739563e-01, 5.699999928474425e-01, 5.500000119209291e-01, 5.299999713897705e-01, 5.099999904632568e-01, 4.799999892711639e-01, 4.399999976158142e-01, 4.000000059604645e-01, 3.600000143051147e-01, 3.199999928474426e-01, 2.800000011920929e-01, 2.39999994635582e-01, 2.000000029802322e-01, 1.599999964237213e-01, 1.19999997317791e-01, 7.999999821186066e-02, 3.999999910593033e-02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +timTabLinDer.y[1]=[0e+00, 7.999999821186066e-02, 1.599999964237213e-01, 2.39999994635582e-01, 3.199999928474426e-01, 4.000000059604645e-01, 4.799999892711639e-01, 5.600000023841859e-01, 6.399999856948853e-01, 7.200000286102295e-01, 8.00000011920929e-01, 8.799999952316284e-01, 9.599999785423279e-01, 9.900000095367432e-01, 9.700000286102295e-01, 9.49999988079071e-01, 9.300000071525574e-01, 9.100000262260437e-01, 8.899999856948853e-01, 8.700000047683716e-01, 8.500000238418579e-01, 8.299999833106995e-01, 8.100000023841858e-01, 7.900000214576721e-01, 7.699999809265137e-01, 7.5e-01, 7.300000190734863e-01, 7.099999785423279e-01, 6.899999976158141e-01, 6.700000166893005e-01, 6.499999761581421e-01, 6.299999952316284e-01, 6.100000143051147e-01, 5.899999737739563e-01, 5.699999928474425e-01, 5.500000119209291e-01, 5.299999713897705e-01, 5.099999904632568e-01, 4.799999892711639e-01, 4.399999976158142e-01, 4.000000059604645e-01, 3.600000143051147e-01, 3.199999928474426e-01, 2.800000011920929e-01, 2.39999994635582e-01, 2.000000029802322e-01, 1.599999964237213e-01, 1.19999997317791e-01, 7.999999821186066e-02, 3.999999910593033e-02, 0e+00, -3.999999910593033e-02, -7.999999821186066e-02, -1.19999997317791e-01, -1.599999964237213e-01, -2.000000029802326e-01, -2.399999946355823e-01, -2.800000011920926e-01, -3.199999928474426e-01, -3.600000143051147e-01, -4.000000059604645e-01, -4.399999976158142e-01, -4.799999892711639e-01, -5.199999809265137e-01, -5.600000023841858e-01, -6.000000238418579e-01, -6.399999856948853e-01, -6.800000071525574e-01, -7.200000286102298e-01, -7.599999904632565e-01, -8.000000119209286e-01, -8.399999737739563e-01, -8.799999952316284e-01, -9.200000166893005e-01, -9.599999785423279e-01, -1e+00, -1.039999961853027e+00, -1.080000042915344e+00, -1.120000004768372e+00, -1.159999966621399e+00, -1.200000047683716e+00, -1.240000009536743e+00, -1.279999971389771e+00, -1.320000052452087e+00, -1.360000014305115e+00, -1.399999976158142e+00, -1.440000057220459e+00, -1.480000019073486e+00, -1.519999980926514e+00, -1.559999942779541e+00, -1.600000023841858e+00, -1.639999985694885e+00, -1.679999947547913e+00, -1.720000028610229e+00, -1.759999990463257e+00, -1.799999952316284e+00, -1.840000033378601e+00, -1.879999995231628e+00, -1.919999957084656e+00, -1.960000038146973e+00, -2e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Sources_Validation_TimeTableNegativeStartTime.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Sources_Validation_TimeTableNegativeStartTime.txt new file mode 100644 index 0000000000..35d25e5877 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Sources_Validation_TimeTableNegativeStartTime.txt @@ -0,0 +1,13 @@ +last-generated=2020-03-13 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +time=[-1.296e+05, 1.728e+05] +timTabLin.y[1]=[7.5e-01, 7.149999737739563e-01, 6.800000071525574e-01, 6.449999809265137e-01, 6.100000143051147e-01, 5.74999988079071e-01, 5.400000214576721e-01, 5.049999952316284e-01, 4.399999976158142e-01, 3.700000047683716e-01, 3.00000011920929e-01, 2.300000041723251e-01, 1.599999964237213e-01, 9.000000357627869e-02, 1.999999955296516e-02, 1.000000014901161e-01, 2.39999994635582e-01, 3.799999952316284e-01, 5.199999809265137e-01, 6.600000262260437e-01, 8.00000011920929e-01, 9.399999976158142e-01, 9.800000190734863e-01, 9.449999928474426e-01, 9.100000262260437e-01, 8.75e-01, 8.399999737739563e-01, 8.050000071525574e-01, 7.699999809265134e-01, 7.350000143051147e-01, 6.99999988079071e-01, 6.650000214576721e-01, 6.299999952316284e-01, 5.950000286102295e-01, 5.600000023841856e-01, 5.249999761581421e-01, 4.799999892711639e-01, 4.099999964237213e-01, 3.400000035762787e-01, 2.700000107288361e-01, 2.000000029802322e-01, 1.299999952316288e-01, 5.999999865889549e-02, 1.999999955296516e-02, 1.599999964237213e-01, 3.00000011920929e-01, 4.399999976158142e-01, 5.799999833106995e-01, 7.200000286102295e-01, 8.600000143051147e-01, 1e+00, 9.649999737739563e-01, 9.300000071525574e-01, 8.949999809265137e-01, 8.600000143051147e-01, 8.24999988079071e-01, 7.900000214576718e-01, 7.549999952316288e-01, 7.200000286102295e-01, 6.850000023841858e-01, 6.499999761581421e-01, 6.150000095367432e-01, 5.799999833106995e-01, 5.450000166893005e-01, 5.099999904632568e-01, 4.49999988079071e-01, 3.799999952316284e-01, 3.100000023841858e-01, 2.399999946355813e-01, 1.7000000178814e-01, 1.000000014901161e-01, 2.999999932944775e-02, 7.999999821186066e-02, 2.199999988079071e-01, 3.600000143051147e-01, 5e-01, 6.399999856948853e-01, 7.799999713897705e-01, 9.200000166893005e-01, 9.850000143051147e-01, 9.49999988079071e-01, 9.150000214576718e-01, 8.799999952316288e-01, 8.450000286102295e-01, 8.100000023841858e-01, 7.749999761581421e-01, 7.400000095367432e-01, 7.049999833106995e-01, 6.700000166893005e-01, 6.349999904632568e-01, 6.000000238418579e-01, 5.649999976158142e-01, 5.299999713897705e-01, 4.900000095367432e-01, 4.199999868869781e-01, 3.499999940395355e-01, 2.800000011920929e-01, 2.099999934434891e-01, 1.400000005960464e-01, 7.000000029802322e-02, 0e+00] +timTabLinCon.y[1]=[7.5e-01, 7.149999737739563e-01, 6.800000071525574e-01, 6.449999809265137e-01, 6.100000143051147e-01, 5.74999988079071e-01, 5.400000214576721e-01, 5.049999952316284e-01, 4.399999976158142e-01, 3.700000047683716e-01, 3.00000011920929e-01, 2.300000041723251e-01, 1.599999964237213e-01, 9.000000357627869e-02, 1.999999955296516e-02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 9.800000190734863e-01, 9.449999928474426e-01, 9.100000262260437e-01, 8.75e-01, 8.399999737739563e-01, 8.050000071525574e-01, 7.699999809265134e-01, 7.350000143051147e-01, 6.99999988079071e-01, 6.650000214576721e-01, 6.299999952316284e-01, 5.950000286102295e-01, 5.600000023841856e-01, 5.249999761581421e-01, 4.799999892711639e-01, 4.099999964237213e-01, 3.400000035762787e-01, 2.700000107288361e-01, 2.000000029802322e-01, 1.299999952316288e-01, 5.999999865889549e-02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 9.649999737739563e-01, 9.300000071525574e-01, 8.949999809265137e-01, 8.600000143051147e-01, 8.24999988079071e-01, 7.900000214576718e-01, 7.549999952316288e-01, 7.200000286102295e-01, 6.850000023841858e-01, 6.499999761581421e-01, 6.150000095367432e-01, 5.799999833106995e-01, 5.450000166893005e-01, 5.099999904632568e-01, 4.49999988079071e-01, 3.799999952316284e-01, 3.100000023841858e-01, 2.399999946355813e-01, 1.7000000178814e-01, 1.000000014901161e-01, 2.999999932944775e-02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 9.850000143051147e-01, 9.49999988079071e-01, 9.150000214576718e-01, 8.799999952316288e-01, 8.450000286102295e-01, 8.100000023841858e-01, 7.749999761581421e-01, 7.400000095367432e-01, 7.049999833106995e-01, 6.700000166893005e-01, 6.349999904632568e-01, 6.000000238418579e-01, 5.649999976158142e-01, 5.299999713897705e-01, 4.900000095367432e-01, 4.199999868869781e-01, 3.499999940395355e-01, 2.800000011920929e-01, 2.099999934434891e-01, 1.400000005960464e-01, 7.000000029802322e-02, 0e+00] +timTabCon.y[1]=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01] +timTabLinHol.y[1]=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.999999955296516e-02, 1.599999964237213e-01, 3.00000011920929e-01, 4.399999976158142e-01, 5.799999833106995e-01, 7.200000286102295e-01, 8.600000143051147e-01, 1e+00, 9.649999737739563e-01, 9.300000071525574e-01, 8.949999809265137e-01, 8.600000143051147e-01, 8.24999988079071e-01, 7.900000214576718e-01, 7.549999952316288e-01, 7.200000286102295e-01, 6.850000023841858e-01, 6.499999761581421e-01, 6.150000095367432e-01, 5.799999833106995e-01, 5.450000166893005e-01, 5.099999904632568e-01, 4.49999988079071e-01, 3.799999952316284e-01, 3.100000023841858e-01, 2.399999946355813e-01, 1.7000000178814e-01, 1.000000014901161e-01, 2.999999932944775e-02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +timTabLinDer.y[1]=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.999999955296516e-02, 1.599999964237213e-01, 3.00000011920929e-01, 4.399999976158142e-01, 5.799999833106995e-01, 7.200000286102295e-01, 8.600000143051147e-01, 1e+00, 9.649999737739563e-01, 9.300000071525574e-01, 8.949999809265137e-01, 8.600000143051147e-01, 8.24999988079071e-01, 7.900000214576718e-01, 7.549999952316288e-01, 7.200000286102295e-01, 6.850000023841858e-01, 6.499999761581421e-01, 6.150000095367432e-01, 5.799999833106995e-01, 5.450000166893005e-01, 5.099999904632568e-01, 4.49999988079071e-01, 3.799999952316284e-01, 3.100000023841858e-01, 2.399999946355813e-01, 1.7000000178814e-01, 1.000000014901161e-01, 2.999999932944775e-02, -3.999999910593033e-02, -1.099999994039536e-01, -1.800000071525574e-01, -2.5e-01, -3.199999928474426e-01, -3.899999856948853e-01, -4.600000083446503e-01, -5.299999713897705e-01, -6.000000238418579e-01, -6.700000166893012e-01, -7.400000095367425e-01, -8.100000023841858e-01, -8.799999952316284e-01, -9.49999988079071e-01, -1.019999980926514e+00, -1.090000033378601e+00, -1.159999966621399e+00, -1.230000019073486e+00, -1.299999952316284e+00, -1.370000004768372e+00, -1.440000057220459e+00, -1.509999990463257e+00, -1.580000042915344e+00, -1.649999976158142e+00, -1.720000028610229e+00, -1.789999961853027e+00, -1.860000014305115e+00, -1.929999947547913e+00, -2e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Abs.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Abs.txt new file mode 100644 index 0000000000..4ecfa8eb58 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Abs.txt @@ -0,0 +1,10 @@ +last-generated=2017-02-22 +statistics-simulation= +{ + "numerical Jacobians": "0", + "nonlinear": " ", + "linear": " " +} +abs1.y=[1e+00, 9.800000186264507e-01, 9.599999776482565e-01, 9.399999962747084e-01, 9.200000149011579e-01, 8.99999977648261e-01, 8.799999925494144e-01, 8.600000149011634e-01, 8.399999701977309e-01, 8.200000000000001e-01, 8.000000149011612e-01, 7.799999701976954e-01, 7.599999850988388e-01, 7.4e-01, 7.200000298023046e-01, 7e-01, 6.799999999999999e-01, 6.60000029802269e-01, 6.4e-01, 6.2e-01, 6.000000298022335e-01, 5.799999701976777e-01, 5.600000000000001e-01, 5.400000298023224e-01, 5.199999701976776e-01, 5e-01, 4.799999701978197e-01, 4.600000298021625e-01, 4.399999999999999e-01, 4.19999970197802e-01, 4.000000298023224e-01, 3.8e-01, 3.6e-01, 3.400000298023224e-01, 3.2e-01, 3e-01, 2.800000298023224e-01, 2.6e-01, 2.399999850988743e-01, 2.199999701977842e-01, 2.000000149011167e-01, 1.8e-01, 1.599999701977753e-01, 1.400000149011079e-01, 1.199999925494283e-01, 9.99999776483026e-02, 8.000001490113007e-02, 5.999999627471642e-02, 3.999997764829821e-02, 2.000001862641598e-02, 0e+00, 2.000001862613177e-02, 4.000003725226355e-02, 6.00000558784486e-02, 7.99999552972359e-02, 9.999997764865798e-02, 1.199999925493573e-01, 1.400000149008946e-01, 1.600000298018249e-01, 1.800000596036677e-01, 1.999999552972269e-01, 2.199999701982105e-01, 2.399999850990164e-01, 2.599999999998579e-01, 2.800000298018961e-01, 3.00000059603579e-01, 3.199999403965277e-01, 3.399999701981751e-01, 3.600000000002133e-01, 3.800000000000709e-01, 4.00000029801967e-01, 4.200000298016828e-01, 4.399999403962078e-01, 4.59999970198246e-01, 4.799999701981039e-01, 5e-01, 5.199999999997158e-01, 5.400000596040764e-01, 5.600000596037922e-01, 5.799999403959948e-01, 6.000000000003554e-01, 6.199999999999291e-01, 6.399999999997867e-01, 6.600000596036499e-01, 6.800000596038631e-01, 6.999999403960657e-01, 7.200000000004263e-01, 7.400000000001421e-01, 7.599999999998579e-01, 7.799999999995737e-01, 8.000000596039343e-01, 8.199999403961369e-01, 8.399999403963501e-01, 8.600000000002133e-01, 8.800000000000709e-01, 8.999999999996446e-01, 9.200000596040052e-01, 9.399999403962078e-01, 9.599999403959236e-01, 9.800000000002842e-01, 1e+00] +abs1.u=[-1e+00, -9.800000186264507e-01, -9.599999776482565e-01, -9.399999962747084e-01, -9.200000149011579e-01, -8.99999977648261e-01, -8.799999925494144e-01, -8.600000149011634e-01, -8.399999701977309e-01, -8.200000000000001e-01, -8.000000149011612e-01, -7.799999701976954e-01, -7.599999850988388e-01, -7.4e-01, -7.200000298023046e-01, -7e-01, -6.799999999999999e-01, -6.60000029802269e-01, -6.4e-01, -6.2e-01, -6.000000298022335e-01, -5.799999701976777e-01, -5.600000000000001e-01, -5.400000298023224e-01, -5.199999701976776e-01, -5e-01, -4.799999701978197e-01, -4.600000298021625e-01, -4.399999999999999e-01, -4.19999970197802e-01, -4.000000298023224e-01, -3.8e-01, -3.6e-01, -3.400000298023224e-01, -3.2e-01, -3e-01, -2.800000298023224e-01, -2.6e-01, -2.399999850988743e-01, -2.199999701977842e-01, -2.000000149011167e-01, -1.8e-01, -1.599999701977753e-01, -1.400000149011079e-01, -1.199999925494283e-01, -9.99999776483026e-02, -8.000001490113007e-02, -5.999999627471642e-02, -3.999997764829821e-02, -2.000001862641598e-02, 0e+00, 2.000001862613177e-02, 4.000003725226355e-02, 6.00000558784486e-02, 7.99999552972359e-02, 9.999997764865798e-02, 1.199999925493573e-01, 1.400000149008946e-01, 1.600000298018249e-01, 1.800000596036677e-01, 1.999999552972269e-01, 2.199999701982105e-01, 2.399999850990164e-01, 2.599999999998579e-01, 2.800000298018961e-01, 3.00000059603579e-01, 3.199999403965277e-01, 3.399999701981751e-01, 3.600000000002133e-01, 3.800000000000709e-01, 4.00000029801967e-01, 4.200000298016828e-01, 4.399999403962078e-01, 4.59999970198246e-01, 4.799999701981039e-01, 5e-01, 5.199999999997158e-01, 5.400000596040764e-01, 5.600000596037922e-01, 5.799999403959948e-01, 6.000000000003554e-01, 6.199999999999291e-01, 6.399999999997867e-01, 6.600000596036499e-01, 6.800000596038631e-01, 6.999999403960657e-01, 7.200000000004263e-01, 7.400000000001421e-01, 7.599999999998579e-01, 7.799999999995737e-01, 8.000000596039343e-01, 8.199999403961369e-01, 8.399999403963501e-01, 8.600000000002133e-01, 8.800000000000709e-01, 8.999999999996446e-01, 9.200000596040052e-01, 9.399999403962078e-01, 9.599999403959236e-01, 9.800000000002842e-01, 1e+00] +time=[0e+00, 1e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Acos.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Acos.txt new file mode 100644 index 0000000000..5e13f343f8 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Acos.txt @@ -0,0 +1,10 @@ +last-generated=2022-01-28 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +time=[0e+00, 1e+00] +arcCos.u=[-1e+00, -9.800000186264507e-01, -9.599999776482565e-01, -9.399999962747084e-01, -9.200000149011579e-01, -8.99999977648261e-01, -8.799999925494144e-01, -8.600000149011634e-01, -8.399999701977309e-01, -8.200000000000001e-01, -8.000000149011612e-01, -7.799999701976954e-01, -7.599999850988388e-01, -7.4e-01, -7.200000298023046e-01, -7e-01, -6.799999999999999e-01, -6.60000029802269e-01, -6.4e-01, -6.2e-01, -6.000000298022335e-01, -5.799999701976777e-01, -5.600000000000001e-01, -5.400000298023224e-01, -5.199999701976776e-01, -5e-01, -4.799999701978197e-01, -4.600000298021625e-01, -4.399999999999999e-01, -4.19999970197802e-01, -4.000000298023224e-01, -3.8e-01, -3.6e-01, -3.400000298023224e-01, -3.2e-01, -3e-01, -2.800000298023224e-01, -2.6e-01, -2.399999850988743e-01, -2.199999701977842e-01, -2.000000149011167e-01, -1.8e-01, -1.599999701977753e-01, -1.400000149011079e-01, -1.199999925494283e-01, -9.99999776483026e-02, -8.000001490113007e-02, -5.999999627471642e-02, -3.999997764829821e-02, -2.000001862641598e-02, 6.661338147750939e-16, 2.000001862613177e-02, 4.000003725226355e-02, 6.00000558784486e-02, 7.99999552972359e-02, 9.999997764865798e-02, 1.199999925493573e-01, 1.400000149008946e-01, 1.600000298018249e-01, 1.800000596036677e-01, 1.999999552972269e-01, 2.199999701982105e-01, 2.399999850990164e-01, 2.599999999998579e-01, 2.800000298018961e-01, 3.00000059603579e-01, 3.199999403965277e-01, 3.399999701981751e-01, 3.600000000002133e-01, 3.800000000000709e-01, 4.00000029801967e-01, 4.200000298016828e-01, 4.399999403962078e-01, 4.59999970198246e-01, 4.799999701981039e-01, 5e-01, 5.199999999997158e-01, 5.400000596040764e-01, 5.600000596037922e-01, 5.799999403959948e-01, 6.000000000003554e-01, 6.199999999999291e-01, 6.399999999997867e-01, 6.600000596036499e-01, 6.800000596038631e-01, 6.999999403960657e-01, 7.200000000004263e-01, 7.400000000001421e-01, 7.599999999998579e-01, 7.799999999995737e-01, 8.000000596039343e-01, 8.199999403961369e-01, 8.399999403963501e-01, 8.600000000002133e-01, 8.800000000000709e-01, 8.999999999996446e-01, 9.200000596040052e-01, 9.399999403962078e-01, 9.599999403959236e-01, 9.800000000002842e-01, 1e+00] +arcCos.y=[3.141592741012573e+00, 2.941257713080056e+00, 2.857798573236356e+00, 2.793426509802495e+00, 2.73887681510135e+00, 2.690565827960306e+00, 2.646658414959068e+00, 2.606065989716528e+00, 2.568079465034244e+00, 2.532207263155047e+00, 2.498091464263713e+00, 2.465462205896689e+00, 2.434109441162152e+00, 2.40386675375035e+00, 2.374598743254293e+00, 2.346193807174723e+00, 2.318558921620271e+00, 2.291615014079501e+00, 2.265294570507043e+00, 2.239539140357875e+00, 2.21429754049987e+00, 2.189525111341287e+00, 2.165182110774458e+00, 2.14123345414354e+00, 2.117647158478246e+00, 2.094395160675049e+00, 2.071450927001068e+00, 2.048791432734455e+00, 2.026395085131606e+00, 2.004241686569111e+00, 1.982313182166426e+00, 1.960592632684996e+00, 1.939064248976652e+00, 1.917713193192413e+00, 1.896525867387665e+00, 1.875488984017263e+00, 1.854590445775155e+00, 1.833818564760159e+00, 1.813162197784627e+00, 1.792610735188535e+00, 1.772154224169914e+00, 1.751782767656608e+00, 1.731487009191167e+00, 1.711257710603291e+00, 1.691086168255718e+00, 1.670963740233353e+00, 1.650881903227992e+00, 1.630832431312361e+00, 1.610806920513384e+00, 1.590797681813303e+00, 1.570796370506287e+00, 1.550794939990833e+00, 1.530785641637258e+00, 1.510760249982415e+00, 1.490710778366843e+00, 1.470628881569574e+00, 1.450506453547637e+00, 1.430334911200208e+00, 1.41010567143599e+00, 1.389809793536522e+00, 1.369438458451072e+00, 1.348981886614312e+00, 1.328430543227801e+00, 1.307774057043272e+00, 1.287002176028573e+00, 1.266103575279027e+00, 1.245066936501873e+00, 1.223879491985652e+00, 1.202528492035267e+00, 1.180999989118211e+00, 1.159279439637246e+00, 1.137350988735085e+00, 1.115197722188159e+00, 1.092801136966683e+00, 1.070141694802461e+00, 1.047197580337524e+00, 1.023945309212232e+00, 1.000359132197873e+00, 9.764104389779845e-01, 9.520676661910464e-01, 9.27295237723663e-01, 9.020536006546462e-01, 8.762980512963059e-01, 8.499775083571287e-01, 8.230336187344482e-01, 7.953988979548781e-01, 7.669940405851184e-01, 7.377259872617282e-01, 7.074832172945881e-01, 6.761304873158263e-01, 6.435010230962218e-01, 6.093854027893624e-01, 5.735131517807321e-01, 5.355266611127378e-01, 4.949341017145322e-01, 4.510267420696834e-01, 4.027157211501951e-01, 3.48166183816678e-01, 2.837942381117601e-01, 2.003349384995088e-01, 0e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Add.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Add.txt new file mode 100644 index 0000000000..4c93f73093 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Add.txt @@ -0,0 +1,11 @@ +last-generated=2022-01-28 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +time=[0e+00, 1e+00] +add1.u1=[-2e+00, -1.960000037252901e+00, -1.919999955296513e+00, -1.879999992549417e+00, -1.840000029802316e+00, -1.799999955296522e+00, -1.759999985098829e+00, -1.720000029802327e+00, -1.679999940395462e+00, -1.64e+00, -1.600000029802322e+00, -1.559999940395391e+00, -1.519999970197678e+00, -1.48e+00, -1.440000059604609e+00, -1.4e+00, -1.36e+00, -1.320000059604538e+00, -1.28e+00, -1.24e+00, -1.200000059604467e+00, -1.159999940395355e+00, -1.12e+00, -1.080000059604645e+00, -1.039999940395355e+00, -1e+00, -9.599999403956394e-01, -9.20000059604325e-01, -8.799999999999999e-01, -8.39999940395604e-01, -8.000000596046448e-01, -7.6e-01, -7.2e-01, -6.800000596046447e-01, -6.399999999999999e-01, -6.000000000000001e-01, -5.600000596046448e-01, -5.2e-01, -4.799999701977486e-01, -4.399999403955683e-01, -4.000000298022335e-01, -3.600000000000001e-01, -3.199999403955507e-01, -2.800000298022158e-01, -2.399999850988566e-01, -1.999999552966052e-01, -1.600000298022601e-01, -1.199999925494328e-01, -7.999995529659643e-02, -4.000003725283197e-02, 1.332267629550188e-15, 4.000003725226355e-02, 8.000007450452709e-02, 1.200001117568972e-01, 1.599999105944718e-01, 1.99999955297316e-01, 2.399999850987147e-01, 2.800000298017893e-01, 3.200000596036499e-01, 3.600001192073355e-01, 3.999999105944538e-01, 4.39999940396421e-01, 4.799999701980329e-01, 5.199999999997158e-01, 5.600000596037922e-01, 6.00000119207158e-01, 6.399998807930554e-01, 6.799999403963501e-01, 7.200000000004265e-01, 7.600000000001419e-01, 8.000000596039341e-01, 8.400000596033657e-01, 8.799998807924156e-01, 9.19999940396492e-01, 9.599999403962078e-01, 1e+00, 1.039999999999432e+00, 1.080000119208153e+00, 1.120000119207584e+00, 1.15999988079199e+00, 1.200000000000711e+00, 1.239999999999858e+00, 1.279999999999573e+00, 1.3200001192073e+00, 1.360000119207726e+00, 1.399999880792131e+00, 1.440000000000853e+00, 1.480000000000284e+00, 1.519999999999716e+00, 1.559999999999147e+00, 1.600000119207869e+00, 1.639999880792274e+00, 1.6799998807927e+00, 1.720000000000427e+00, 1.760000000000142e+00, 1.799999999999289e+00, 1.84000011920801e+00, 1.879999880792416e+00, 1.919999880791847e+00, 1.960000000000568e+00, 2e+00] +add1.u2=[-1e+00, -9.800000186264507e-01, -9.599999776482565e-01, -9.399999962747084e-01, -9.200000149011579e-01, -8.99999977648261e-01, -8.799999925494144e-01, -8.600000149011634e-01, -8.399999701977309e-01, -8.200000000000001e-01, -8.000000149011612e-01, -7.799999701976954e-01, -7.599999850988388e-01, -7.4e-01, -7.200000298023046e-01, -7e-01, -6.799999999999999e-01, -6.60000029802269e-01, -6.4e-01, -6.2e-01, -6.000000298022335e-01, -5.799999701976777e-01, -5.600000000000001e-01, -5.400000298023224e-01, -5.199999701976776e-01, -5e-01, -4.799999701978197e-01, -4.600000298021625e-01, -4.399999999999999e-01, -4.19999970197802e-01, -4.000000298023224e-01, -3.8e-01, -3.6e-01, -3.400000298023224e-01, -3.2e-01, -3e-01, -2.800000298023224e-01, -2.6e-01, -2.399999850988743e-01, -2.199999701977842e-01, -2.000000149011167e-01, -1.8e-01, -1.599999701977753e-01, -1.400000149011079e-01, -1.199999925494283e-01, -9.99999776483026e-02, -8.000001490113007e-02, -5.999999627471642e-02, -3.999997764829821e-02, -2.000001862641598e-02, 6.661338147750939e-16, 2.000001862613177e-02, 4.000003725226355e-02, 6.00000558784486e-02, 7.99999552972359e-02, 9.999997764865798e-02, 1.199999925493573e-01, 1.400000149008946e-01, 1.600000298018249e-01, 1.800000596036677e-01, 1.999999552972269e-01, 2.199999701982105e-01, 2.399999850990164e-01, 2.599999999998579e-01, 2.800000298018961e-01, 3.00000059603579e-01, 3.199999403965277e-01, 3.399999701981751e-01, 3.600000000002133e-01, 3.800000000000709e-01, 4.00000029801967e-01, 4.200000298016828e-01, 4.399999403962078e-01, 4.59999970198246e-01, 4.799999701981039e-01, 5e-01, 5.199999999997158e-01, 5.400000596040764e-01, 5.600000596037922e-01, 5.799999403959948e-01, 6.000000000003554e-01, 6.199999999999291e-01, 6.399999999997867e-01, 6.600000596036499e-01, 6.800000596038631e-01, 6.999999403960657e-01, 7.200000000004263e-01, 7.400000000001421e-01, 7.599999999998579e-01, 7.799999999995737e-01, 8.000000596039343e-01, 8.199999403961369e-01, 8.399999403963501e-01, 8.600000000002133e-01, 8.800000000000709e-01, 8.999999999996446e-01, 9.200000596040052e-01, 9.399999403962078e-01, 9.599999403959236e-01, 9.800000000002842e-01, 1e+00] +add1.y=[-3e+00, -2.940000055879345e+00, -2.880000111758691e+00, -2.819999929219541e+00, -2.759999985098802e+00, -2.700000052154006e+00, -2.640000096857493e+00, -2.57999992549421e+00, -2.519999970197624e+00, -2.460000059604325e+00, -2.400000104307995e+00, -2.339999910593086e+00, -2.279999955296437e+00, -2.219999999999858e+00, -2.160000089406914e+00, -2.099999940395533e+00, -2.039999940395675e+00, -1.980000029802269e+00, -1.920000000000213e+00, -1.860000000000071e+00, -1.799999970197766e+00, -1.739999970197873e+00, -1.679999940395391e+00, -1.620000029802198e+00, -1.559999910593193e+00, -1.5e+00, -1.439999999999716e+00, -1.380000059604325e+00, -1.320000059604609e+00, -1.259999940395604e+00, -1.200000119208934e+00, -1.139999999999929e+00, -1.079999999999787e+00, -1.020000059604254e+00, -9.599999999999999e-01, -8.99999940395533e-01, -8.400000596046449e-01, -7.8e-01, -7.2e-01, -6.599999403953551e-01, -6.00000059604467e-01, -5.400000000000001e-01, -4.799999105932283e-01, -4.200000298023224e-01, -3.6e-01, -2.999999403953552e-01, -2.400000447034213e-01, -1.80000000000009e-01, -1.199999329449346e-01, -6.000005587923019e-02, 1.998401444325282e-15, 6.000005587837755e-02, 1.200001117567906e-01, 1.800001788109503e-01, 2.399998658917877e-01, 2.999999403964213e-01, 3.599999999997872e-01, 4.200000298016826e-01, 4.800000894054748e-01, 5.400001788108078e-01, 5.999998807928419e-01, 6.599999403966341e-01, 7.200000000004263e-01, 7.799999999995737e-01, 8.400000596033659e-01, 9.000001192071581e-01, 9.599998211891922e-01, 1.0199998807927e+00, 1.080000000000427e+00, 1.140000000000142e+00, 1.200000119207868e+00, 1.260000119206731e+00, 1.319999880792416e+00, 1.379999880792984e+00, 1.440000000000568e+00, 1.5e+00, 1.559999999999432e+00, 1.620000119207016e+00, 1.680000119207584e+00, 1.739999880793269e+00, 1.799999880792132e+00, 1.859999999999858e+00, 1.919999999999573e+00, 1.9800001192073e+00, 2.040000119207726e+00, 2.099999761585684e+00, 2.160000000000852e+00, 2.220000000000284e+00, 2.279999999999716e+00, 2.339999999999148e+00, 2.400000238414316e+00, 2.459999880792274e+00, 2.519999880791705e+00, 2.579999880791989e+00, 2.640000119209289e+00, 2.700000119207158e+00, 2.76000011920801e+00, 2.819999761586537e+00, 2.880000000001137e+00, 2.940000000000568e+00, 3e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_AddParameter.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_AddParameter.txt new file mode 100644 index 0000000000..d66377d410 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_AddParameter.txt @@ -0,0 +1,10 @@ +last-generated=2022-02-03 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +time=[0e+00, 1e+00] +addPar.u=[-2e+00, -1.960000037252901e+00, -1.919999955296513e+00, -1.879999992549417e+00, -1.840000029802316e+00, -1.799999955296522e+00, -1.759999985098829e+00, -1.720000029802327e+00, -1.679999940395462e+00, -1.64e+00, -1.600000029802322e+00, -1.559999940395391e+00, -1.519999970197678e+00, -1.48e+00, -1.440000059604609e+00, -1.4e+00, -1.36e+00, -1.320000059604538e+00, -1.28e+00, -1.24e+00, -1.200000059604467e+00, -1.159999940395355e+00, -1.12e+00, -1.080000059604645e+00, -1.039999940395355e+00, -1e+00, -9.599999403956394e-01, -9.20000059604325e-01, -8.799999999999999e-01, -8.39999940395604e-01, -8.000000596046448e-01, -7.6e-01, -7.2e-01, -6.800000596046447e-01, -6.399999999999999e-01, -6.000000000000001e-01, -5.600000596046448e-01, -5.2e-01, -4.799999701977486e-01, -4.399999403955683e-01, -4.000000298022335e-01, -3.600000000000001e-01, -3.199999403955507e-01, -2.800000298022158e-01, -2.399999850988566e-01, -1.999999552966052e-01, -1.600000298022601e-01, -1.199999925494328e-01, -7.999995529659643e-02, -4.000003725283197e-02, 1.332267629550188e-15, 4.000003725226355e-02, 8.000007450452709e-02, 1.200001117568972e-01, 1.599999105944718e-01, 1.99999955297316e-01, 2.399999850987147e-01, 2.800000298017893e-01, 3.200000596036499e-01, 3.600001192073355e-01, 3.999999105944538e-01, 4.39999940396421e-01, 4.799999701980329e-01, 5.199999999997158e-01, 5.600000596037922e-01, 6.00000119207158e-01, 6.399998807930554e-01, 6.799999403963501e-01, 7.200000000004265e-01, 7.600000000001419e-01, 8.000000596039341e-01, 8.400000596033657e-01, 8.799998807924156e-01, 9.19999940396492e-01, 9.599999403962078e-01, 1e+00, 1.039999999999432e+00, 1.080000119208153e+00, 1.120000119207584e+00, 1.15999988079199e+00, 1.200000000000711e+00, 1.239999999999858e+00, 1.279999999999573e+00, 1.3200001192073e+00, 1.360000119207726e+00, 1.399999880792131e+00, 1.440000000000853e+00, 1.480000000000284e+00, 1.519999999999716e+00, 1.559999999999147e+00, 1.600000119207869e+00, 1.639999880792274e+00, 1.6799998807927e+00, 1.720000000000427e+00, 1.760000000000142e+00, 1.799999999999289e+00, 1.84000011920801e+00, 1.879999880792416e+00, 1.919999880791847e+00, 1.960000000000568e+00, 2e+00] +addPar.y=[-1.5e+00, -1.460000037252901e+00, -1.419999955296513e+00, -1.379999992549417e+00, -1.340000029802316e+00, -1.299999955296522e+00, -1.259999985098829e+00, -1.220000029802327e+00, -1.179999940395462e+00, -1.14e+00, -1.100000029802322e+00, -1.059999940395391e+00, -1.019999970197678e+00, -9.8e-01, -9.399999999999999e-01, -9e-01, -8.6e-01, -8.2e-01, -7.8e-01, -7.4e-01, -7e-01, -6.6e-01, -6.2e-01, -5.8e-01, -5.4e-01, -5e-01, -4.599999701976776e-01, -4.200000298023223e-01, -3.799999999999999e-01, -3.399999701976777e-01, -3.000000596044672e-01, -2.6e-01, -2.199999701977309e-01, -1.800000596044493e-01, -1.400000149011345e-01, -9.999997764830271e-02, -6.000005587927459e-02, -2.000001862641598e-02, 2.000001862641598e-02, 6.000005587927459e-02, 9.999997764830271e-02, 1.400000149011345e-01, 1.800000596044493e-01, 2.199999701977309e-01, 2.6e-01, 3.000000596044672e-01, 3.399999701976777e-01, 3.799999999999999e-01, 4.200000298023223e-01, 4.599999701976776e-01, 5e-01, 5.400000596037922e-01, 5.80000059603508e-01, 6.200001192075844e-01, 6.599999403966343e-01, 6.999999403960659e-01, 7.399999999998581e-01, 7.799999999995735e-01, 8.200000596036499e-01, 8.600001192069446e-01, 8.99999880792842e-01, 9.399999403962078e-01, 9.800000000002842e-01, 1.019999999999716e+00, 1.059999999999147e+00, 1.100000119207869e+00, 1.139999880792274e+00, 1.1799998807927e+00, 1.220000000000427e+00, 1.260000000000142e+00, 1.299999999999289e+00, 1.34000011920801e+00, 1.379999880792416e+00, 1.419999880791847e+00, 1.460000000000568e+00, 1.5e+00, 1.539999999999432e+00, 1.580000119208153e+00, 1.620000119207584e+00, 1.65999988079199e+00, 1.700000000000711e+00, 1.739999999999858e+00, 1.779999999999573e+00, 1.8200001192073e+00, 1.860000119207726e+00, 1.899999880792131e+00, 1.940000000000853e+00, 1.980000000000284e+00, 2.02e+00, 2.06e+00, 2.1e+00, 2.14e+00, 2.18e+00, 2.22e+00, 2.26e+00, 2.3e+00, 2.34e+00, 2.38e+00, 2.42e+00, 2.46e+00, 2.5e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Asin.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Asin.txt new file mode 100644 index 0000000000..b065b8f6d5 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Asin.txt @@ -0,0 +1,10 @@ +last-generated=2022-01-28 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +time=[0e+00, 1e+00] +arcSin.u=[-1e+00, -9.800000186264507e-01, -9.599999776482565e-01, -9.399999962747084e-01, -9.200000149011579e-01, -8.99999977648261e-01, -8.799999925494144e-01, -8.600000149011634e-01, -8.399999701977309e-01, -8.200000000000001e-01, -8.000000149011612e-01, -7.799999701976954e-01, -7.599999850988388e-01, -7.4e-01, -7.200000298023046e-01, -7e-01, -6.799999999999999e-01, -6.60000029802269e-01, -6.4e-01, -6.2e-01, -6.000000298022335e-01, -5.799999701976777e-01, -5.600000000000001e-01, -5.400000298023224e-01, -5.199999701976776e-01, -5e-01, -4.799999701978197e-01, -4.600000298021625e-01, -4.399999999999999e-01, -4.19999970197802e-01, -4.000000298023224e-01, -3.8e-01, -3.6e-01, -3.400000298023224e-01, -3.2e-01, -3e-01, -2.800000298023224e-01, -2.6e-01, -2.399999850988743e-01, -2.199999701977842e-01, -2.000000149011167e-01, -1.8e-01, -1.599999701977753e-01, -1.400000149011079e-01, -1.199999925494283e-01, -9.99999776483026e-02, -8.000001490113007e-02, -5.999999627471642e-02, -3.999997764829821e-02, -2.000001862641598e-02, 6.661338147750939e-16, 2.000001862613177e-02, 4.000003725226355e-02, 6.00000558784486e-02, 7.99999552972359e-02, 9.999997764865798e-02, 1.199999925493573e-01, 1.400000149008946e-01, 1.600000298018249e-01, 1.800000596036677e-01, 1.999999552972269e-01, 2.199999701982105e-01, 2.399999850990164e-01, 2.599999999998579e-01, 2.800000298018961e-01, 3.00000059603579e-01, 3.199999403965277e-01, 3.399999701981751e-01, 3.600000000002133e-01, 3.800000000000709e-01, 4.00000029801967e-01, 4.200000298016828e-01, 4.399999403962078e-01, 4.59999970198246e-01, 4.799999701981039e-01, 5e-01, 5.199999999997158e-01, 5.400000596040764e-01, 5.600000596037922e-01, 5.799999403959948e-01, 6.000000000003554e-01, 6.199999999999291e-01, 6.399999999997867e-01, 6.600000596036499e-01, 6.800000596038631e-01, 6.999999403960657e-01, 7.200000000004263e-01, 7.400000000001421e-01, 7.599999999998579e-01, 7.799999999995737e-01, 8.000000596039343e-01, 8.199999403961369e-01, 8.399999403963501e-01, 8.600000000002133e-01, 8.800000000000709e-01, 8.999999999996446e-01, 9.200000596040052e-01, 9.399999403962078e-01, 9.599999403959236e-01, 9.800000000002842e-01, 1e+00] +arcSin.y=[-1.570796370506287e+00, -1.370461461783046e+00, -1.287002202730069e+00, -1.222630258505497e+00, -1.168080444595117e+00, -1.119769576663264e+00, -1.075862163661991e+00, -1.035269619210242e+00, -9.972832137371404e-01, -9.614110118579434e-01, -9.272952129666715e-01, -8.946658353904379e-01, -8.633131302604304e-01, -8.33070323639703e-01, -8.038023131433967e-01, -7.753974962729034e-01, -7.477626107185229e-01, -7.208187627823978e-01, -6.944982596058273e-01, -6.687427102471569e-01, -6.435011103889385e-01, -6.187286812307461e-01, -5.943857998727453e-01, -5.704371432417735e-01, -5.468509667852542e-01, -5.235987901687622e-01, -5.006546757033603e-01, -4.779952112388208e-01, -4.555986848230499e-01, -4.334453160631976e-01, -4.115168712647842e-01, -3.897962919810321e-01, -3.682678784706849e-01, -3.469169120928977e-01, -3.257294968813784e-01, -3.04692643313477e-01, -2.837941348735136e-01, -2.630222240561947e-01, -2.423658421794656e-01, -2.218144391877342e-01, -2.01357928169344e-01, -1.809864418538047e-01, -1.606906237843054e-01, -1.404614295039713e-01, -1.202898797057381e-01, -1.001673995295663e-01, -8.008559977683727e-02, -6.003605708078209e-02, -4.001065431476606e-02, -2.000135228497023e-02, 6.661338147750939e-16, 2.000135228468595e-02, 4.001071396793809e-02, 6.003611679874103e-02, 8.008553998537991e-02, 1.001673995299234e-01, 1.202898797056666e-01, 1.404614295037558e-01, 1.606906841687625e-01, 1.809865024645448e-01, 2.013578673515531e-01, 2.218144391881711e-01, 2.423658421796119e-01, 2.630222240560475e-01, 2.837941348730692e-01, 3.046927058202928e-01, 3.257294340032417e-01, 3.469168487185605e-01, 3.682678784709134e-01, 3.897962919811088e-01, 4.115168712643961e-01, 4.334453817705624e-01, 4.555986185153786e-01, 4.779951441326363e-01, 5.006546757036839e-01, 5.235987901687622e-01, 5.468510016896938e-01, 5.704371787037691e-01, 5.943858719236573e-01, 6.187286447105954e-01, 6.435010731779789e-01, 6.687427102470667e-01, 6.944982596055491e-01, 7.208188025445131e-01, 7.477626921679752e-01, 7.753974129467638e-01, 8.038022703169497e-01, 8.330703236399136e-01, 8.633131532115564e-01, 8.94665883190034e-01, 9.272952878061306e-01, 9.614109081122795e-01, 9.972831591214071e-01, 1.035269590184259e+00, 1.075862179384858e+00, 1.119769628436248e+00, 1.168080559950084e+00, 1.22263009728392e+00, 1.287002072789597e+00, 1.370461372402204e+00, 1.570796370506287e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Atan.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Atan.txt new file mode 100644 index 0000000000..2065894dac --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Atan.txt @@ -0,0 +1,10 @@ +last-generated=2017-03-17 +statistics-simulation= +{ + "numerical Jacobians": "0", + "nonlinear": " ", + "linear": " " +} +atan1.y=[-1.107148766517639e+00, -1.0990188119943e+00, -1.090621351812926e+00, -1.081943988206564e+00, -1.072973965780339e+00, -1.063697815641912e+00, -1.05410122740032e+00, -1.044169068636603e+00, -1.033885596304824e+00, -1.023234132815382e+00, -1.01219701933794e+00, -1.000755905408125e+00, -9.888911810771551e-01, -9.765826403692707e-01, -9.638086565116331e-01, -9.505468687190282e-01, -9.367735931548569e-01, -9.22464313721024e-01, -9.075933206810939e-01, -8.92133828204941e-01, -8.760580469159053e-01, -8.593371994299389e-01, -8.419415929539554e-01, -8.238407450158989e-01, -8.05003513476979e-01, -7.853981852531433e-01, -7.649928132062604e-01, -7.437556021451456e-01, -7.216548350398088e-01, -6.986598175987283e-01, -6.747409990967537e-01, -6.498704612868826e-01, -6.240230609582326e-01, -5.971767067618984e-01, -5.693131786372668e-01, -5.404195013549542e-01, -5.104883747292748e-01, -4.795192927756186e-01, -4.475199722713827e-01, -4.145068343486408e-01, -3.805063869877695e-01, -3.455555610058534e-01, -3.097028851449942e-01, -2.730087306602546e-01, -2.355449705387405e-01, -1.973955172062573e-01, -1.586552885370904e-01, -1.194289205111713e-01, -7.98299407446374e-02, -3.997872479312041e-02, 0e+00, 3.997872479255309e-02, 7.983005917092731e-02, 1.194290379216803e-01, 1.586551722433081e-01, 1.973955172069418e-01, 2.355449705386062e-01, 2.730087306598599e-01, 3.097029932485999e-01, 3.455556663312599e-01, 3.805062840534133e-01, 4.145068343493573e-01, 4.475199722716144e-01, 4.795192927753956e-01, 5.104883747286278e-01, 5.404195888219018e-01, 5.693130938352052e-01, 5.971766252097778e-01, 6.240230609585146e-01, 6.498704612869722e-01, 6.747409990963219e-01, 6.986598873701168e-01, 7.216547676121809e-01, 7.437555375099892e-01, 7.649928132065574e-01, 7.853981852531433e-01, 8.050035420789962e-01, 8.238407724191776e-01, 8.419416456388799e-01, 8.593371739185012e-01, 8.760580224302341e-01, 8.921338282048848e-01, 9.075933206809328e-01, 9.224643353717441e-01, 9.367736348668148e-01, 9.505468283543695e-01, 9.638086370524414e-01, 9.765826403693602e-01, 9.888911900705063e-01, 1.000755922709291e+00, 1.012197044361474e+00, 1.023234100417966e+00, 1.033885580656301e+00, 1.044169061083531e+00, 1.054101231033373e+00, 1.063697826149318e+00, 1.072973986103858e+00, 1.08194396347844e+00, 1.090621335862628e+00, 1.099018804275053e+00, 1.107148766517639e+00] +atan1.u=[-2e+00, -1.960000037252901e+00, -1.919999955296513e+00, -1.879999992549417e+00, -1.840000029802316e+00, -1.799999955296522e+00, -1.759999985098829e+00, -1.720000029802327e+00, -1.679999940395462e+00, -1.64e+00, -1.600000029802322e+00, -1.559999940395391e+00, -1.519999970197678e+00, -1.48e+00, -1.440000059604609e+00, -1.4e+00, -1.36e+00, -1.320000059604538e+00, -1.28e+00, -1.24e+00, -1.200000059604467e+00, -1.159999940395355e+00, -1.12e+00, -1.080000059604645e+00, -1.039999940395355e+00, -1e+00, -9.599999403956394e-01, -9.20000059604325e-01, -8.799999999999999e-01, -8.39999940395604e-01, -8.000000596046448e-01, -7.6e-01, -7.2e-01, -6.800000596046447e-01, -6.399999999999999e-01, -6.000000000000001e-01, -5.600000596046448e-01, -5.2e-01, -4.799999701977486e-01, -4.399999403955683e-01, -4.000000298022335e-01, -3.600000000000001e-01, -3.199999403955507e-01, -2.800000298022158e-01, -2.399999850988566e-01, -1.999999552966052e-01, -1.600000298022601e-01, -1.199999925494328e-01, -7.999995529659643e-02, -4.000003725283197e-02, 0e+00, 4.000003725226355e-02, 8.000007450452709e-02, 1.200001117568972e-01, 1.599999105944718e-01, 1.99999955297316e-01, 2.399999850987147e-01, 2.800000298017893e-01, 3.200000596036499e-01, 3.600001192073355e-01, 3.999999105944538e-01, 4.39999940396421e-01, 4.799999701980329e-01, 5.199999999997158e-01, 5.600000596037922e-01, 6.00000119207158e-01, 6.399998807930554e-01, 6.799999403963501e-01, 7.200000000004265e-01, 7.600000000001419e-01, 8.000000596039341e-01, 8.400000596033657e-01, 8.799998807924156e-01, 9.19999940396492e-01, 9.599999403962078e-01, 1e+00, 1.039999999999432e+00, 1.080000119208153e+00, 1.120000119207584e+00, 1.15999988079199e+00, 1.200000000000711e+00, 1.239999999999858e+00, 1.279999999999573e+00, 1.3200001192073e+00, 1.360000119207726e+00, 1.399999880792131e+00, 1.440000000000853e+00, 1.480000000000284e+00, 1.519999999999716e+00, 1.559999999999147e+00, 1.600000119207869e+00, 1.639999880792274e+00, 1.6799998807927e+00, 1.720000000000427e+00, 1.760000000000142e+00, 1.799999999999289e+00, 1.84000011920801e+00, 1.879999880792416e+00, 1.919999880791847e+00, 1.960000000000568e+00, 2e+00] +time=[0e+00, 1e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Atan2.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Atan2.txt new file mode 100644 index 0000000000..87fe3d5035 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Atan2.txt @@ -0,0 +1,11 @@ +last-generated=2017-03-17 +statistics-simulation= +{ + "numerical Jacobians": "0", + "nonlinear": " ", + "linear": " " +} +atan2_1.y=[-1.107148766517639e+00, -1.090955853095073e+00, -1.074373602115301e+00, -1.057397245206463e+00, -1.040022848461721e+00, -1.022246958161654e+00, -1.004067060860941e+00, -9.854819184168422e-01, -9.664908017097033e-01, -9.470946262685302e-01, -9.272952109515764e-01, -9.070959675051451e-01, -8.865015450877187e-01, -8.655182618077993e-01, -8.441540015646369e-01, -8.224182855377882e-01, -8.003224054672364e-01, -7.778795401891816e-01, -7.55104438951444e-01, -7.320138160533928e-01, -7.086262772981726e-01, -6.849620186074287e-01, -6.610431642459091e-01, -6.368932825121129e-01, -6.125375497216634e-01, -5.88002622127533e-01, -5.633162619929432e-01, -5.385074882096702e-01, -5.136060148395397e-01, -4.886423736916999e-01, -4.636476337907034e-01, -4.386528193920278e-01, -4.136892080798879e-01, -3.887877790405355e-01, -3.639789610258892e-01, -3.392926009893542e-01, -3.14757709933531e-01, -2.904019471538156e-01, -2.662520294117404e-01, -2.423331397490194e-01, -2.186689666252732e-01, -1.952813929751658e-01, -1.721907851761704e-01, -1.494157327256636e-01, -1.269727892310898e-01, -1.048769093970772e-01, -8.314124806184417e-02, -6.177695961153368e-02, -4.079366111644264e-02, -2.019929227204247e-02, 0e+00, 1.979941132193068e-02, 3.919563742854829e-02, 5.818672626421933e-02, 7.677185307662303e-02, 9.495168266580074e-02, 1.127276080572337e-01, 1.301020655403405e-01, 1.47078378122337e-01, 1.636606287534715e-01, 1.798534606977788e-01, 1.956624313738925e-01, 2.110933290572728e-01, 2.261524420207489e-01, 2.408464758078542e-01, 2.55182419118823e-01, 2.691674465397719e-01, 2.828091753623007e-01, 2.961151505661267e-01, 3.090930015527286e-01, 3.217505663259429e-01, 3.340956233613556e-01, 3.461359398265901e-01, 3.578793780779167e-01, 3.693336438272593e-01, 3.805063664913177e-01, 3.914051456331692e-01, 4.02037402105978e-01, 4.124104673019413e-01, 4.22531523657847e-01, 4.324077549221939e-01, 4.420460141790477e-01, 4.514530963452202e-01, 4.606355877763165e-01, 4.695999556057429e-01, 4.783524068139772e-01, 4.868992147934879e-01, 4.952462872178486e-01, 5.033993759341433e-01, 5.113641732038533e-01, 5.191461030830482e-01, 5.267504852105495e-01, 5.341825362328996e-01, 5.414472170839578e-01, 5.485494153515377e-01, 5.554937205931376e-01, 5.622848416110154e-01, 5.689269711965954e-01, 5.75424658888304e-01, 5.817818581563068e-01, 5.88002622127533e-01] +atan2_1.u2=[1e+00, 1.019999981373556e+00, 1.039999962747112e+00, 1.059999944120667e+00, 1.08000004470346e+00, 1.100000022351717e+00, 1.120000007450546e+00, 1.139999985098846e+00, 1.159999970197731e+00, 1.179999940395462e+00, 1.200000044703439e+00, 1.220000029802305e+00, 1.240000014901081e+00, 1.260000000000142e+00, 1.279999970197695e+00, 1.299999940395533e+00, 1.320000059604538e+00, 1.340000029802269e+00, 1.359999999999787e+00, 1.379999999999929e+00, 1.399999970197766e+00, 1.419999970197873e+00, 1.440000059604609e+00, 1.460000029802198e+00, 1.480000029802162e+00, 1.5e+00, 1.520000000000284e+00, 1.539999940395675e+00, 1.559999940395391e+00, 1.580000059604396e+00, 1.599999999999645e+00, 1.620000000000071e+00, 1.640000000000213e+00, 1.659999940395746e+00, 1.679999940395462e+00, 1.700000059604467e+00, 1.719999999999574e+00, 1.739999999999858e+00, 1.760000000000142e+00, 1.780000000000426e+00, 1.799999940395533e+00, 1.820000059604538e+00, 1.840000059604254e+00, 1.859999999999787e+00, 1.879999999999929e+00, 1.900000000000355e+00, 1.919999940395604e+00, 1.940000059604609e+00, 1.960000059604325e+00, 1.979999999999716e+00, 2e+00, 2.019999999999432e+00, 2.039999999998863e+00, 2.059999999998295e+00, 2.079999880791989e+00, 2.099999880791421e+00, 2.119999880790711e+00, 2.140000119208863e+00, 2.160000119208295e+00, 2.180000119207727e+00, 2.200000000001421e+00, 2.220000000000852e+00, 2.240000000000284e+00, 2.259999999999716e+00, 2.279999999999148e+00, 2.299999999998579e+00, 2.319999880792273e+00, 2.339999880791705e+00, 2.359999880791137e+00, 2.380000119209289e+00, 2.400000119208579e+00, 2.420000119208011e+00, 2.440000000001705e+00, 2.460000000001137e+00, 2.480000000000568e+00, 2.5e+00, 2.519999999999432e+00, 2.539999999998863e+00, 2.559999999998295e+00, 2.579999880791989e+00, 2.599999880791421e+00, 2.619999880790711e+00, 2.640000119208863e+00, 2.660000119208295e+00, 2.680000119207727e+00, 2.700000000001421e+00, 2.720000000000852e+00, 2.740000000000284e+00, 2.759999999999716e+00, 2.779999999999148e+00, 2.799999999998579e+00, 2.819999880792273e+00, 2.839999880791705e+00, 2.859999880791137e+00, 2.880000119209289e+00, 2.900000119208579e+00, 2.920000119208011e+00, 2.940000000001705e+00, 2.960000000001137e+00, 2.980000000000568e+00, 3e+00] +atan2_1.u1=[-2e+00, -1.960000037252901e+00, -1.919999955296513e+00, -1.879999992549417e+00, -1.840000029802316e+00, -1.799999955296522e+00, -1.759999985098829e+00, -1.720000029802327e+00, -1.679999940395462e+00, -1.64e+00, -1.600000029802322e+00, -1.559999940395391e+00, -1.519999970197678e+00, -1.48e+00, -1.440000059604609e+00, -1.4e+00, -1.36e+00, -1.320000059604538e+00, -1.28e+00, -1.24e+00, -1.200000059604467e+00, -1.159999940395355e+00, -1.12e+00, -1.080000059604645e+00, -1.039999940395355e+00, -1e+00, -9.599999403956394e-01, -9.20000059604325e-01, -8.799999999999999e-01, -8.39999940395604e-01, -8.000000596046448e-01, -7.6e-01, -7.2e-01, -6.800000596046447e-01, -6.399999999999999e-01, -6.000000000000001e-01, -5.600000596046448e-01, -5.2e-01, -4.799999701977486e-01, -4.399999403955683e-01, -4.000000298022335e-01, -3.600000000000001e-01, -3.199999403955507e-01, -2.800000298022158e-01, -2.399999850988566e-01, -1.999999552966052e-01, -1.600000298022601e-01, -1.199999925494328e-01, -7.999995529659643e-02, -4.000003725283197e-02, 0e+00, 4.000003725226355e-02, 8.000007450452709e-02, 1.200001117568972e-01, 1.599999105944718e-01, 1.99999955297316e-01, 2.399999850987147e-01, 2.800000298017893e-01, 3.200000596036499e-01, 3.600001192073355e-01, 3.999999105944538e-01, 4.39999940396421e-01, 4.799999701980329e-01, 5.199999999997158e-01, 5.600000596037922e-01, 6.00000119207158e-01, 6.399998807930554e-01, 6.799999403963501e-01, 7.200000000004265e-01, 7.600000000001419e-01, 8.000000596039341e-01, 8.400000596033657e-01, 8.799998807924156e-01, 9.19999940396492e-01, 9.599999403962078e-01, 1e+00, 1.039999999999432e+00, 1.080000119208153e+00, 1.120000119207584e+00, 1.15999988079199e+00, 1.200000000000711e+00, 1.239999999999858e+00, 1.279999999999573e+00, 1.3200001192073e+00, 1.360000119207726e+00, 1.399999880792131e+00, 1.440000000000853e+00, 1.480000000000284e+00, 1.519999999999716e+00, 1.559999999999147e+00, 1.600000119207869e+00, 1.639999880792274e+00, 1.6799998807927e+00, 1.720000000000427e+00, 1.760000000000142e+00, 1.799999999999289e+00, 1.84000011920801e+00, 1.879999880792416e+00, 1.919999880791847e+00, 1.960000000000568e+00, 2e+00] +time=[0e+00, 1e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Average.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Average.txt new file mode 100644 index 0000000000..50cfafea11 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Average.txt @@ -0,0 +1,11 @@ +last-generated=2017-03-22 +statistics-simulation= +{ + "numerical Jacobians": "0", + "nonlinear": " ", + "linear": " " +} +avg1.u1=[-2e+00, -1.940000055879345e+00, -1.879999992549428e+00, -1.82000004842875e+00, -1.759999985098855e+00, -1.70000005215405e+00, -1.639999977648283e+00, -1.580000044703481e+00, -1.519999970197731e+00, -1.460000059604538e+00, -1.399999985098794e+00, -1.340000029802305e+00, -1.279999955296596e+00, -1.219999999999858e+00, -1.159999970197695e+00, -1.100000059604467e+00, -1.039999940395462e+00, -9.800000298022691e-01, -9.200000596044317e-01, -8.6e-01, -8.000000298022335e-01, -7.399999701976776e-01, -6.799999999999999e-01, -6.200000298023223e-01, -5.599999701976777e-01, -5e-01, -4.399999403954973e-01, -3.800000596044848e-01, -3.199999999999821e-01, -2.599999403954797e-01, -2.000000745056284e-01, -1.400000149011257e-01, -7.999995529662296e-02, -2.000007823094963e-02, 3.999997764830499e-02, 1.000000372528362e-01, 1.599999105932459e-01, 2.199999701977486e-01, 2.800000298022514e-01, 3.400000894067541e-01, 3.999999701977666e-01, 4.60000029802269e-01, 5.200000596046447e-01, 5.799999403955683e-01, 6.4e-01, 7.000000596046448e-01, 7.59999940395604e-01, 8.199999999999998e-01, 8.800000596046447e-01, 9.399999403953552e-01, 1e+00, 1.059999999999432e+00, 1.120000119207016e+00, 1.180000119207584e+00, 1.239999880793269e+00, 1.299999880792132e+00, 1.359999999999858e+00, 1.419999999999573e+00, 1.4800001192073e+00, 1.540000119207726e+00, 1.599999880793552e+00, 1.659999880792416e+00, 1.720000000000284e+00, 1.779999999999716e+00, 1.840000119207584e+00, 1.900000119206448e+00, 1.959999880792274e+00, 2.019999880791705e+00, 2.079999880791989e+00, 2.140000119209289e+00, 2.200000119207158e+00, 2.26000011920801e+00, 2.319999761586537e+00, 2.380000000001137e+00, 2.440000000000568e+00, 2.5e+00, 2.559999999999432e+00, 2.619999999998863e+00, 2.680000238413463e+00, 2.73999988079199e+00, 2.799999880792842e+00, 2.859999880790711e+00, 2.920000119208011e+00, 2.980000119208295e+00, 3.040000119207726e+00, 3.099999761585684e+00, 3.160000000000852e+00, 3.220000000000284e+00, 3.279999999999716e+00, 3.339999999999148e+00, 3.400000238414316e+00, 3.459999880792274e+00, 3.519999880791705e+00, 3.579999880791989e+00, 3.640000119209289e+00, 3.700000119207158e+00, 3.76000011920801e+00, 3.819999761586537e+00, 3.880000000001137e+00, 3.940000000000568e+00, 4e+00] +avg1.y=[-2.5e-01, -2.049999972060321e-01, -1.599999944120641e-01, -1.149999990686796e-01, -6.999999627471053e-02, -2.500000372529029e-02, 2.000000558793419e-02, 6.499999627470807e-02, 1.100000074505673e-01, 1.549999850988654e-01, 1.999999962747208e-01, 2.450000074505762e-01, 2.900000037252703e-01, 3.350000298022869e-01, 3.799999925494239e-01, 4.249999850988832e-01, 4.700000149011346e-01, 5.149999776482715e-01, 5.599999701977308e-01, 6.050000298023046e-01, 6.499999627471192e-01, 6.950000223516929e-01, 7.400000149011523e-01, 7.850000074506117e-01, 8.300000074505406e-01, 8.75e-01, 9.200000596045738e-01, 9.64999925494274e-01, 1.009999985098883e+00, 1.054999985099025e+00, 1.099999970197411e+00, 1.144999970197766e+00, 1.190000089406701e+00, 1.234999955296223e+00, 1.27999995529665e+00, 1.325000074505584e+00, 1.369999940395035e+00, 1.414999940395533e+00, 1.460000059604467e+00, 1.505000059604965e+00, 1.549999925494416e+00, 1.59500004470335e+00, 1.640000044703777e+00, 1.684999910593299e+00, 1.730000029802234e+00, 1.775000029802589e+00, 1.820000014900975e+00, 1.865000014901117e+00, 1.910000014901401e+00, 1.954999999999787e+00, 2e+00, 2.045000119207726e+00, 2.089999999999148e+00, 2.135000119208011e+00, 2.179999970198637e+00, 2.224999850990342e+00, 2.269999970197464e+00, 2.315000089405795e+00, 2.359999970196931e+00, 2.405000089405795e+00, 2.449999940396421e+00, 2.494999821188411e+00, 2.539999940395568e+00, 2.585000059604432e+00, 2.630000178811589e+00, 2.675000059603579e+00, 2.719999910594205e+00, 2.765000029803069e+00, 2.809999910594205e+00, 2.855000029802536e+00, 2.900000149009658e+00, 2.945000029801363e+00, 2.989999880791989e+00, 3.035000000000852e+00, 3.079999880792274e+00, 3.125e+00, 3.170000119207726e+00, 3.214999999999148e+00, 3.260000119208011e+00, 3.304999970198637e+00, 3.349999850990342e+00, 3.394999970197464e+00, 3.440000089405795e+00, 3.484999970196931e+00, 3.530000089405795e+00, 3.574999940396421e+00, 3.619999821188411e+00, 3.664999940395568e+00, 3.710000059604432e+00, 3.755000178811589e+00, 3.800000059603579e+00, 3.844999910594205e+00, 3.890000029803069e+00, 3.934999910594205e+00, 3.980000029802536e+00, 4.025000149009657e+00, 4.070000268217385e+00, 4.114999642376821e+00, 4.159999761584547e+00, 4.204999880792274e+00, 4.25e+00] +avg1.u2=[1.5e+00, 1.529999972060327e+00, 1.559999944120655e+00, 1.59000003539023e+00, 1.620000007450599e+00, 1.649999973922997e+00, 1.679999951571254e+00, 1.710000037252895e+00, 1.740000014901188e+00, 1.769999970197838e+00, 1.799999947846002e+00, 1.830000044703457e+00, 1.860000022351782e+00, 1.890000000000071e+00, 1.919999955296543e+00, 1.950000029802234e+00, 1.980000029802162e+00, 2.009999985098812e+00, 2.039999940395249e+00, 2.069999940395391e+00, 2.099999895692183e+00, 2.130000134109767e+00, 2.160000089406843e+00, 2.190000044703421e+00, 2.220000044703563e+00, 2.25e+00, 2.280000000000142e+00, 2.309999910592873e+00, 2.339999910593157e+00, 2.369999910593157e+00, 2.400000059604467e+00, 2.430000059604609e+00, 2.460000059604751e+00, 2.489999970197482e+00, 2.519999970197624e+00, 2.549999970197766e+00, 2.579999880790497e+00, 2.609999880791208e+00, 2.640000119208792e+00, 2.670000119209503e+00, 2.700000029802234e+00, 2.730000029802376e+00, 2.760000029802518e+00, 2.789999940395249e+00, 2.819999940395391e+00, 2.849999940395533e+00, 2.880000089406843e+00, 2.910000089406843e+00, 2.940000089407127e+00, 2.969999999999858e+00, 3e+00, 3.029999999999716e+00, 3.059999999999432e+00, 3.089999999999148e+00, 3.119999821189263e+00, 3.150000059605e+00, 3.180000059604503e+00, 3.210000059604432e+00, 3.240000059604147e+00, 3.270000059603863e+00, 3.299999880791421e+00, 3.329999880791137e+00, 3.359999880791421e+00, 3.390000119208579e+00, 3.420000119208863e+00, 3.450000119208579e+00, 3.479999940396137e+00, 3.509999940395853e+00, 3.539999940395568e+00, 3.569999940395497e+00, 3.599999940395e+00, 3.630000178810737e+00, 3.660000000000852e+00, 3.690000000000568e+00, 3.720000000000284e+00, 3.75e+00, 3.779999999999716e+00, 3.809999999999432e+00, 3.839999999999148e+00, 3.869999821189263e+00, 3.900000059605e+00, 3.930000059604503e+00, 3.960000059604432e+00, 3.990000059604147e+00, 4.020000059603863e+00, 4.05000011921e+00, 4.079999880791137e+00, 4.110000119209432e+00, 4.139999880790568e+00, 4.170000119208863e+00, 4.19999988079e+00, 4.229999940396137e+00, 4.260000178814431e+00, 4.289999940395568e+00, 4.320000178814077e+00, 4.349999940395e+00, 4.380000178813295e+00, 4.409999761582274e+00, 4.440000000000568e+00, 4.469999761583979e+00, 4.5e+00] +time=[0e+00, 1e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Cos.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Cos.txt new file mode 100644 index 0000000000..7c6438ff8d --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Cos.txt @@ -0,0 +1,10 @@ +last-generated=2017-04-06 +statistics-simulation= +{ + "numerical Jacobians": "0", + "nonlinear": " ", + "linear": " " +} +cos1.u=[0e+00, 6.283000252015869e-02, 1.256600050403174e-01, 1.884900075604721e-01, 2.513200100806348e-01, 3.141500008977957e-01, 3.769800151209521e-01, 4.398100059381095e-01, 5.026400201612219e-01, 5.654699577702076e-01, 6.283000017955865e-01, 6.911299862164273e-01, 7.539600302418328e-01, 8.167900146627535e-01, 8.796200118762242e-01, 9.424499494852275e-01, 1.005280040322444e+00, 1.06810997793143e+00, 1.130939915540415e+00, 1.193770065982276e+00, 1.256600003591262e+00, 1.319430034823833e+00, 1.38225997243289e+00, 1.445090029250846e+00, 1.507920060483666e+00, 1.570749998092651e+00, 1.633580029325791e+00, 1.696409873310623e+00, 1.759240023752413e+00, 1.822070054985055e+00, 1.884899898970455e+00, 1.947729930203027e+00, 2.010560080644461e+00, 2.073389924629506e+00, 2.136219955862646e+00, 2.199049987095786e+00, 2.261879831081683e+00, 2.324709862313686e+00, 2.387540131964268e+00, 2.450370163196271e+00, 2.513200007182169e+00, 2.576030038415308e+00, 2.638860069648448e+00, 2.701689913633493e+00, 2.76451994486578e+00, 2.82734997609892e+00, 2.890180058501691e+00, 2.953010089734688e+00, 3.015840120966692e+00, 3.078669964952163e+00, 3.141499996185303e+00, 3.20433002741755e+00, 3.267160058649797e+00, 3.329990089882044e+00, 3.392819746624534e+00, 3.455650016272802e+00, 3.518480047504602e+00, 3.581310078736442e+00, 3.644140109969542e+00, 3.706970141201789e+00, 3.769799797944564e+00, 3.832629829175674e+00, 3.895459860406784e+00, 3.958290130056473e+00, 4.021120161289288e+00, 4.083950192521535e+00, 4.146779849261468e+00, 4.209609880493715e+00, 4.272439911725962e+00, 4.335269942958655e+00, 4.398099974190455e+00, 4.460930005422702e+00, 4.523759662169455e+00, 4.586589693399429e+00, 4.649419724629402e+00, 4.712250232696533e+00, 4.775080263926506e+00, 4.83791029515648e+00, 4.900740326393274e+00, 4.963569983133207e+00, 5.026400014365453e+00, 5.089230045597254e+00, 5.152060076829946e+00, 5.214890108062193e+00, 5.27772013929444e+00, 5.340549796034373e+00, 5.40337982726662e+00, 5.466209858498867e+00, 5.529039889731114e+00, 5.591869920963361e+00, 5.654699952195608e+00, 5.717529608941793e+00, 5.780360117004945e+00, 5.843190148237192e+00, 5.906020179469317e+00, 5.968850210701685e+00, 6.031680241933932e+00, 6.094509898673865e+00, 6.157339929906112e+00, 6.220169961138359e+00, 6.282999992370605e+00] +cos1.y=[1e+00, 9.98026847742373e-01, 9.921151395917384e-01, 9.822883001756515e-01, 9.685850129121401e-01, 9.510594024538184e-01, 9.297805993041802e-01, 9.048326023338134e-01, 8.76313800106129e-01, 8.443368792524993e-01, 8.090279156877247e-01, 7.705262279301066e-01, 7.289838674765083e-01, 6.845646280913674e-01, 6.374439625833913e-01, 5.878077450967993e-01, 5.358518171579365e-01, 4.817812838910221e-01, 4.258095133398033e-01, 3.681572834108591e-01, 3.090522466989162e-01, 2.487275349813267e-01, 1.874213592065715e-01, 1.253755501497086e-01, 6.283486994744755e-02, 4.632679338101298e-05, -6.274249421803517e-02, -1.252835319705151e-01, -1.873303429138753e-01, -2.486378908514217e-01, -3.089640618844978e-01, -3.680711248963389e-01, -4.25725679408632e-01, -4.817000201062539e-01, -5.357735562582807e-01, -5.877328220602704e-01, -6.373725433381867e-01, -6.844970960269895e-01, -7.289204205153097e-01, -7.704672189916252e-01, -8.089734093829815e-01, -8.442872285852132e-01, -8.762692009435454e-01, -9.047931238797384e-01, -9.297464544216499e-01, -9.510307539040321e-01, -9.685619339841467e-01, -9.822709573972731e-01, -9.921035846940335e-01, -9.980210024408591e-01, -1e+00, -9.980326253577363e-01, -9.921267471125186e-01, -9.823056111687467e-01, -9.686080544294392e-01, -9.510880339541781e-01, -9.298147017373695e-01, -9.048719808327391e-01, -8.763583983775314e-01, -8.443864288533292e-01, -8.090824165441581e-01, -7.705853553839331e-01, -7.290473187994698e-01, -6.846321601560726e-01, -6.375152964741191e-01, -5.878825758555449e-01, -5.359301760537384e-01, -4.818625471673303e-01, -4.258933472702636e-01, -3.682434121228493e-01, -3.091402830221033e-01, -2.488171938546387e-01, -1.875125443140312e-01, -1.254675533176979e-01, -6.292743252797524e-02, -1.389803801430389e-04, 6.26500250617113e-02, 1.251917924329078e-01, 1.872395103470685e-01, 2.485479596650757e-01, 3.088759364163073e-01, 3.67984966381611e-01, 4.256418454769628e-01, 4.816189728006308e-01, 5.356955125914867e-01, 5.876576875066493e-01, 6.373011369696673e-01, 6.844295639627969e-01, 7.288570011749547e-01, 7.704081507942002e-01, 8.089190402462237e-01, 8.442374768077378e-01, 8.76224466715355e-01, 9.047536656015626e-01, 9.297123605661272e-01, 9.510021436805963e-01, 9.685389130779499e-01, 9.822535166606127e-01, 9.920919379664327e-01, 9.980151611803328e-01, 1e+00] +time=[0e+00, 1e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Derivative.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Derivative.txt new file mode 100644 index 0000000000..b0762e0948 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Derivative.txt @@ -0,0 +1,13 @@ +last-generated=2023-03-27 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "number of continuous time states": "3", + "numerical Jacobians": "0" +} +time=[0e+00, 1e+01] +der1.y=[1e+00, 9.959028960465073e-01, 9.819550519556391e-01, 9.581958684484828e-01, 9.248626850300768e-01, 8.822885751724243e-01, 8.30898953628209e-01, 7.712072653272641e-01, 7.038099253562579e-01, 6.293802670652393e-01, 5.486621260643005e-01, 4.624619694209273e-01, 3.716410243291572e-01, 2.771066265826531e-01, 1.798036161569373e-01, 8.070407062768936e-02, -1.920184716840108e-02, -1.189159127963956e-01, -2.1744191819562e-01, -3.137952016887199e-01, -4.070131480693817e-01, -4.961644638207976e-01, -5.803580489134587e-01, -6.587531326129351e-01, -7.305659589737215e-01, -7.950793504714966e-01, -8.516486182658597e-01, -8.997083093955294e-01, -9.387785952073824e-01, -9.684687606238405e-01, -9.884824156761169e-01, -9.986194411828289e-01, -9.987786430546937e-01, -9.889582916386174e-01, -9.692566620008379e-01, -9.398705363273621e-01, -9.010934407720183e-01, -8.533130532616388e-01, -7.970065182772437e-01, -7.327367113178452e-01, -6.611455082893372e-01, -5.829483086372815e-01, -4.989265031301334e-01, -4.099200013461602e-01, -3.168172843650727e-01, -2.205490320920944e-01, -1.220771244286866e-01, -2.23854605380134e-02, 7.752939656501522e-02, 1.766700847462305e-01, 2.740455269813538e-01, 3.647411141008916e-01, 4.541284012255336e-01, 5.390557256844974e-01, 6.186895825174342e-01, 6.92249596118927e-01, 7.5901079166772e-01, 8.183175770338801e-01, 8.695971051428424e-01, 9.123263581285169e-01, 9.46108877658844e-01, 9.70631915353482e-01, 9.855227644958571e-01, 9.90890798060147e-01, 9.863437494500508e-01, 9.722959399223328e-01, 9.486261326273693e-01, 9.156427842075782e-01, 8.736747178420188e-01, 8.231207646102159e-01, 7.645221352577209e-01, 6.983906552142616e-01, 6.254163707874086e-01, 5.463197591026645e-01, 4.61835526370571e-01, 3.728454411029816e-01, 2.802103751515969e-01, 1.847927217956115e-01, 8.757810316068722e-02, -1.044453920571972e-02, -1.08469620347023e-01, -2.05318977635326e-01, -3.001634173486009e-01, -3.920285763627187e-01, -4.801230111144644e-01, -5.634526014328003e-01, -6.412585481577828e-01, -7.127394173377433e-01, -7.772306818225883e-01, -8.34094245999273e-01, -8.827573657035828e-01, -9.227543871434116e-01, -9.53691352092422e-01, -9.752609390902561e-01, -9.872570870055875e-01, -9.895601272583008e-01, -9.821476770861559e-01, -9.650913042545138e-01, -9.385620932786626e-01, -9.028265100079774e-01, -8.582368493080139e-01] +intWitRes.u=[1e+00, 9.950041772274343e-01, 9.800665980245303e-01, 9.553365145438573e-01, 9.210609816323642e-01, 8.775825500488281e-01, 8.253356350982572e-01, 7.648422044298272e-01, 6.967067207138525e-01, 6.216099670055213e-01, 5.403022766113281e-01, 4.535961362508291e-01, 3.623578097032607e-01, 2.674987749498673e-01, 1.699671211937806e-01, 7.073719799518585e-02, -2.919949815154311e-02, -1.288444522436861e-01, -2.27202133965785e-01, -3.232895956755755e-01, -4.16146844625473e-01, -5.048461778740929e-01, -5.885010569415869e-01, -6.662760729310033e-01, -7.373936717231064e-01, -8.011435866355896e-01, -8.56888819398808e-01, -9.040721446803646e-01, -9.422223723193646e-01, -9.709581495340331e-01, -9.899924993515015e-01, -9.99135139616729e-01, -9.982947730248974e-01, -9.87479738349513e-01, -9.667982097489808e-01, -9.364566802978516e-01, -8.967583941020099e-01, -8.481000314388562e-01, -7.909676733146686e-01, -7.259323649847195e-01, -6.536436080932617e-01, -5.748238969829167e-01, -4.902606424960932e-01, -4.00799359006494e-01, -3.07332963797166e-01, -2.107958048582077e-01, -1.121524294260055e-01, -1.238847263511822e-02, 8.749879507316261e-02, 1.865122720715352e-01, 2.836621999740601e-01, 3.779778167700255e-01, 4.685168452190177e-01, 5.543741774070742e-01, 6.346927734317522e-01, 7.086697816848755e-01, 7.755659221144813e-01, 8.347129067995939e-01, 8.8551941424842e-01, 9.274783961174866e-01, 9.601702690124512e-01, 9.832684562031929e-01, 9.965421100845466e-01, 9.99858619082603e-01, 9.931849342926949e-01, 9.765876531600952e-01, 9.502325347879425e-01, 9.143830940304652e-01, 8.69397553994733e-01, 8.157251425022263e-01, 7.539022564888e-01, 6.845465792878729e-01, 6.083511376956182e-01, 5.260776701202705e-01, 4.385473984970318e-01, 3.466353118419647e-01, 2.512597410327659e-01, 1.533736785150569e-01, 5.395561119328425e-02, -4.600203192608105e-02, -1.455000340938568e-01, -2.435437755393855e-01, -3.391550480850473e-01, -4.313766717615178e-01, -5.192889830890152e-01, -6.020119190216064e-01, -6.787197742961457e-01, -7.486467419480308e-01, -8.110929192590418e-01, -8.654353708546059e-01, -9.111302495002747e-01, -9.477214752024828e-01, -9.748436619040397e-01, -9.922253233210268e-01, -9.996930417158711e-01, -9.971721768379211e-01, -9.846879275182084e-01, -9.62364798763793e-01, -9.304263676910163e-01, -8.891909727528647e-01, -8.3907151222229e-01] +der2.y=[0e+00, 1.261573541040191e+00, 1.712090483941703e+00, 1.851700178207826e+00, 1.864737988521703e+00, 1.819380760192871e+00, 1.741220256870108e+00, 1.640295730540954e+00, 1.521001353977452e+00, 1.385776247032267e+00, 1.236436128616333e+00, 1.074650446502839e+00, 9.020864016826857e-01, 7.204898899987495e-01, 5.31693412712761e-01, 3.375897109508514e-01, 1.401130135908014e-01, -5.876837124106268e-02, -2.57065360340503e-01, -4.527924223712543e-01, -6.43994152545929e-01, -8.287622261899449e-01, -1.005250252367809e+00, -1.171694354856316e+00, -1.32643029720939e+00, -1.467913389205933e+00, -1.594729773945908e+00, -1.705612013706523e+00, -1.79945246371589e+00, -1.875312978292578e+00, -1.932436347007751e+00, -1.970251346632632e+00, -1.98838030805751e+00, -1.98664199654143e+00, -1.965053824892065e+00, -1.923831343650818e+00, -1.863386681815249e+00, -1.784323733489241e+00, -1.687432357226279e+00, -1.573680873140911e+00, -1.444205403327942e+00, -1.300299857194408e+00, -1.143402144406011e+00, -9.750808191223271e-01, -7.970159593022511e-01, -6.109875440597534e-01, -4.188543487018059e-01, -2.225360968709077e-01, -2.399528348973932e-02, 1.747862294672636e-01, 3.718213438987732e-01, 5.65141322838544e-01, 7.52814642818514e-01, 9.32965239611256e-01, 1.103794892612504e+00, 1.263595819473267e+00, 1.410771264019913e+00, 1.543850539252614e+00, 1.661503818150347e+00, 1.762555986254738e+00, 1.845997452735901e+00, 1.910994461658609e+00, 1.956897324043274e+00, 1.983247483345361e+00, 1.989781857893151e+00, 1.976434946060181e+00, 1.943340020355622e+00, 1.890827891447654e+00, 1.819423587424041e+00, 1.729839893964001e+00, 1.622972130775452e+00, 1.499888174737287e+00, 1.361817795814848e+00, 1.210141242534122e+00, 1.046372693272172e+00, 8.721491098403931e-01, 6.892113090814868e-01, 4.993871343106556e-01, 3.045741488370629e-01, 1.067170383108498e-01, -9.220635145902634e-02, -2.902074982067049e-01, -4.85310862058335e-01, -6.755633347536464e-01, -8.590675254268733e-01, -1.033986568450928e+00, -1.198574290088221e+00, -1.351187862856297e+00, -1.490299328108361e+00, -1.614521464250162e+00, -1.722610712051392e+00, -1.813488283117332e+00, -1.886246798608269e+00, -1.940158040563774e+00, -1.974684205913325e+00, -1.989479660987854e+00, -1.984396865027746e+00, -1.95948629529222e+00, -1.914997796488926e+00, -1.851374817512973e+00, -1.769254207611084e+00] +der1.T=[9.999999776482582e-03, 9.999999776482582e-03, 9.999999776482582e-03, 9.999999776482582e-03, 9.999999776482582e-03, 9.999999776482582e-03, 9.999999776482582e-03, 9.999999776482582e-03, 9.999999776482582e-03, 9.999999776482582e-03, 9.999999776482582e-03, 9.999999776482582e-03, 9.999999776482582e-03, 9.999999776482582e-03, 9.999999776482582e-03, 9.999999776482582e-03, 9.999999776482582e-03, 9.999999776482582e-03, 9.999999776482582e-03, 9.999999776482582e-03, 9.999999776482582e-03, 9.999999776482582e-03, 9.999999776482582e-03, 9.999999776482582e-03, 9.999999776482582e-03, 9.999999776482582e-03, 9.999999776482582e-03, 9.999999776482582e-03, 9.999999776482582e-03, 9.999999776482582e-03, 9.999999776482582e-03, 9.999999776482582e-03, 9.999999776482582e-03, 9.999999776482582e-03, 9.999999776482582e-03, 9.999999776482582e-03, 9.999999776482582e-03, 9.999999776482582e-03, 9.999999776482582e-03, 9.999999776482582e-03, 9.999999776482582e-03, 9.999999776482582e-03, 9.999999776482582e-03, 9.999999776482582e-03, 9.999999776482582e-03, 9.999999776482582e-03, 9.999999776482582e-03, 9.999999776482582e-03, 9.999999776482582e-03, 9.999999776482582e-03, 9.999999776482582e-03, 1.090000096857395e-02, 1.180000216066532e-02, 1.269999812990733e-02, 1.359999932199426e-02, 1.449999958276749e-02, 1.54000007748633e-02, 1.63000019669591e-02, 1.719999886750592e-02, 1.810000005960173e-02, 1.899999938905239e-02, 1.99000005811482e-02, 2.080000177324401e-02, 2.169999867379083e-02, 2.259999986588664e-02, 2.34999991953373e-02, 2.440000038743311e-02, 2.530000157952891e-02, 2.619999848007574e-02, 2.709999967217154e-02, 2.800000086426735e-02, 2.890000019371801e-02, 2.980000138581381e-02, 3.069999828636064e-02, 3.159999761582018e-02, 3.24999988079071e-02, 3.34000000000118e-02, 3.430000119211649e-02, 3.519999809266331e-02, 3.609999928475023e-02, 3.700000047683716e-02, 3.789999737743031e-02, 3.880000286097008e-02, 3.969999976159875e-02, 4.060000524510302e-02, 4.149999842047691e-02, 4.239999532114111e-02, 4.330000080464536e-02, 4.419999770527405e-02, 4.510000318874277e-02, 4.600000008940697e-02, 4.689999699007116e-02, 4.78000024735399e-02, 4.869999937416857e-02, 4.960000485767281e-02, 5.050000175833702e-02, 5.139999493371092e-02, 5.230000041721517e-02, 5.319999731784385e-02, 5.410000280138363e-02, 5.499999970197678e-02] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Divide.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Divide.txt new file mode 100644 index 0000000000..549ff5057a --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Divide.txt @@ -0,0 +1,11 @@ +last-generated=2017-03-17 +statistics-simulation= +{ + "numerical Jacobians": "0", + "nonlinear": " ", + "linear": " " +} +div1.u1=[-2e+00, -1.960000037252901e+00, -1.919999955296513e+00, -1.879999992549417e+00, -1.840000029802316e+00, -1.799999955296522e+00, -1.759999985098829e+00, -1.720000029802327e+00, -1.679999940395462e+00, -1.64e+00, -1.600000029802322e+00, -1.559999940395391e+00, -1.519999970197678e+00, -1.48e+00, -1.440000059604609e+00, -1.4e+00, -1.36e+00, -1.320000059604538e+00, -1.28e+00, -1.24e+00, -1.200000059604467e+00, -1.159999940395355e+00, -1.12e+00, -1.080000059604645e+00, -1.039999940395355e+00, -1e+00, -9.599999403956394e-01, -9.20000059604325e-01, -8.799999999999999e-01, -8.39999940395604e-01, -8.000000596046448e-01, -7.6e-01, -7.2e-01, -6.800000596046447e-01, -6.399999999999999e-01, -6.000000000000001e-01, -5.600000596046448e-01, -5.2e-01, -4.799999701977486e-01, -4.399999403955683e-01, -4.000000298022335e-01, -3.600000000000001e-01, -3.199999403955507e-01, -2.800000298022158e-01, -2.399999850988566e-01, -1.999999552966052e-01, -1.600000298022601e-01, -1.199999925494328e-01, -7.999995529659643e-02, -4.000003725283197e-02, 0e+00, 4.000003725226355e-02, 8.000007450452709e-02, 1.200001117568972e-01, 1.599999105944718e-01, 1.99999955297316e-01, 2.399999850987147e-01, 2.800000298017893e-01, 3.200000596036499e-01, 3.600001192073355e-01, 3.999999105944538e-01, 4.39999940396421e-01, 4.799999701980329e-01, 5.199999999997158e-01, 5.600000596037922e-01, 6.00000119207158e-01, 6.399998807930554e-01, 6.799999403963501e-01, 7.200000000004265e-01, 7.600000000001419e-01, 8.000000596039341e-01, 8.400000596033657e-01, 8.799998807924156e-01, 9.19999940396492e-01, 9.599999403962078e-01, 1e+00, 1.039999999999432e+00, 1.080000119208153e+00, 1.120000119207584e+00, 1.15999988079199e+00, 1.200000000000711e+00, 1.239999999999858e+00, 1.279999999999573e+00, 1.3200001192073e+00, 1.360000119207726e+00, 1.399999880792131e+00, 1.440000000000853e+00, 1.480000000000284e+00, 1.519999999999716e+00, 1.559999999999147e+00, 1.600000119207869e+00, 1.639999880792274e+00, 1.6799998807927e+00, 1.720000000000427e+00, 1.760000000000142e+00, 1.799999999999289e+00, 1.84000011920801e+00, 1.879999880792416e+00, 1.919999880791847e+00, 1.960000000000568e+00, 2e+00] +div1.u2=[1e+00, 1.019999981373556e+00, 1.039999962747112e+00, 1.059999944120667e+00, 1.08000004470346e+00, 1.100000022351717e+00, 1.120000007450546e+00, 1.139999985098846e+00, 1.159999970197731e+00, 1.179999940395462e+00, 1.200000044703439e+00, 1.220000029802305e+00, 1.240000014901081e+00, 1.260000000000142e+00, 1.279999970197695e+00, 1.299999940395533e+00, 1.320000059604538e+00, 1.340000029802269e+00, 1.359999999999787e+00, 1.379999999999929e+00, 1.399999970197766e+00, 1.419999970197873e+00, 1.440000059604609e+00, 1.460000029802198e+00, 1.480000029802162e+00, 1.5e+00, 1.520000000000284e+00, 1.539999940395675e+00, 1.559999940395391e+00, 1.580000059604396e+00, 1.599999999999645e+00, 1.620000000000071e+00, 1.640000000000213e+00, 1.659999940395746e+00, 1.679999940395462e+00, 1.700000059604467e+00, 1.719999999999574e+00, 1.739999999999858e+00, 1.760000000000142e+00, 1.780000000000426e+00, 1.799999940395533e+00, 1.820000059604538e+00, 1.840000059604254e+00, 1.859999999999787e+00, 1.879999999999929e+00, 1.900000000000355e+00, 1.919999940395604e+00, 1.940000059604609e+00, 1.960000059604325e+00, 1.979999999999716e+00, 2e+00, 2.019999999999432e+00, 2.039999999998863e+00, 2.059999999998295e+00, 2.079999880791989e+00, 2.099999880791421e+00, 2.119999880790711e+00, 2.140000119208863e+00, 2.160000119208295e+00, 2.180000119207727e+00, 2.200000000001421e+00, 2.220000000000852e+00, 2.240000000000284e+00, 2.259999999999716e+00, 2.279999999999148e+00, 2.299999999998579e+00, 2.319999880792273e+00, 2.339999880791705e+00, 2.359999880791137e+00, 2.380000119209289e+00, 2.400000119208579e+00, 2.420000119208011e+00, 2.440000000001705e+00, 2.460000000001137e+00, 2.480000000000568e+00, 2.5e+00, 2.519999999999432e+00, 2.539999999998863e+00, 2.559999999998295e+00, 2.579999880791989e+00, 2.599999880791421e+00, 2.619999880790711e+00, 2.640000119208863e+00, 2.660000119208295e+00, 2.680000119207727e+00, 2.700000000001421e+00, 2.720000000000852e+00, 2.740000000000284e+00, 2.759999999999716e+00, 2.779999999999148e+00, 2.799999999998579e+00, 2.819999880792273e+00, 2.839999880791705e+00, 2.859999880791137e+00, 2.880000119209289e+00, 2.900000119208579e+00, 2.920000119208011e+00, 2.940000000001705e+00, 2.960000000001137e+00, 2.980000000000568e+00, 3e+00] +div1.y=[-2e+00, -1.921568630413864e+00, -1.84615385203e+00, -1.773584957134784e+00, -1.703703754991204e+00, -1.636363630470428e+00, -1.571428528846313e+00, -1.508771898203324e+00, -1.44827579392527e+00, -1.389830490702423e+00, -1.333333381375813e+00, -1.278688546802214e+00, -1.225806460775224e+00, -1.174603199848596e+00, -1.125000002919508e+00, -1.076923160244675e+00, -1.030302985033577e+00, -9.850746473109788e-01, -9.411765051223082e-01, -8.985507388385574e-01, -8.571428778568234e-01, -8.169013598445602e-01, -7.77777786436888e-01, -7.397260226867141e-01, -7.027026815520762e-01, -6.666666865348816e-01, -6.315788893367184e-01, -5.974026089172969e-01, -5.641025940129073e-01, -5.316455693534409e-01, -5.000000373460506e-01, -4.691357983490571e-01, -4.390243675672568e-01, -4.096385920191999e-01, -3.809523982091967e-01, -3.529411687751335e-01, -3.255814403599185e-01, -2.988505787774926e-01, -2.727272685680724e-01, -2.471909758672643e-01, -2.222222386278559e-01, -1.978021922950608e-01, -1.739130157994873e-01, -1.505376564315261e-01, -1.276595687659799e-01, -1.052631323169938e-01, -8.333335396366741e-02, -6.185566753596457e-02, -4.08163033974435e-02, -2.020203968331871e-02, 0e+00, 1.980199854489794e-02, 3.921572425565377e-02, 5.825248155730565e-02, 7.692304003523785e-02, 9.523807534587461e-02, 1.132075446048195e-01, 1.308411335486836e-01, 1.481481778153611e-01, 1.651376628464157e-01, 1.818181477575681e-01, 1.981981760098777e-01, 2.14285708798344e-01, 2.300885096239699e-01, 2.456140588934421e-01, 2.608695986185286e-01, 2.75862028890707e-01, 2.905982786546857e-01, 3.050847248642052e-01, 3.193277452229643e-01, 3.33333359796339e-01, 3.47107469496047e-01, 3.606556864959297e-01, 3.739837155514761e-01, 3.870967502326835e-01, 4.000000059604645e-01, 4.126984298967459e-01, 4.251968798737931e-01, 4.375000348694366e-01, 4.496123830479173e-01, 4.615384497018672e-01, 4.732824536150984e-01, 4.848485074954529e-01, 4.962406346856562e-01, 5.074627095069567e-01, 5.185184812783804e-01, 5.294117772639944e-01, 5.401459881441903e-01, 5.507246305878943e-01, 5.611511020705164e-01, 5.714286212664641e-01, 5.815602276771085e-01, 5.915492607292059e-01, 6.013985802218165e-01, 6.111111067848054e-01, 6.20689641832506e-01, 6.301369868104991e-01, 6.394557687719326e-01, 6.486486022130972e-01, 6.577181134026411e-01, 6.666666865348816e-01] +time=[0e+00, 1e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Exp.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Exp.txt new file mode 100644 index 0000000000..bdff4deccd --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Exp.txt @@ -0,0 +1,10 @@ +last-generated=2017-03-17 +statistics-simulation= +{ + "numerical Jacobians": "0", + "nonlinear": " ", + "linear": " " +} +Exp1.y=[1e+00, 1.020201325873546e+00, 1.040810824372952e+00, 1.061836601730507e+00, 1.083287121806318e+00, 1.105170963551128e+00, 1.127496841599857e+00, 1.150273799211986e+00, 1.173510913285666e+00, 1.197217336691625e+00, 1.221402760687553e+00, 1.246076704560001e+00, 1.271249181904797e+00, 1.296930087085034e+00, 1.323129771565821e+00, 1.349858744774441e+00, 1.377127776478824e+00, 1.404947633497226e+00, 1.433329442541903e+00, 1.462284571958676e+00, 1.491824737257591e+00, 1.521961589783581e+00, 1.552707198991363e+00, 1.584074007193513e+00, 1.616074460236732e+00, 1.648721218109131e+00, 1.682027729709197e+00, 1.716006838290017e+00, 1.750672455436808e+00, 1.786038428610279e+00, 1.822118715799465e+00, 1.858928075527093e+00, 1.896480945113924e+00, 1.934792229556794e+00, 1.97387777349978e+00, 2.01375272295227e+00, 2.05443304871722e+00, 2.095935563166035e+00, 2.138276359010165e+00, 2.181472364019883e+00, 2.225540849910939e+00, 2.27049996095928e+00, 2.3163669718051e+00, 2.363160576461337e+00, 2.41089965064865e+00, 2.459603129971692e+00, 2.509290414977101e+00, 2.559981352246142e+00, 2.61169653785808e+00, 2.664456078356227e+00, 2.718281745910645e+00, 2.773194842886381e+00, 2.829217065233922e+00, 2.886371062783082e+00, 2.944679372554706e+00, 3.004166054770411e+00, 3.064854130464693e+00, 3.126768395419199e+00, 3.189933406704496e+00, 3.254374436706318e+00, 3.320116838768686e+00, 3.3871876226322e+00, 3.455613341821606e+00, 3.525421414684955e+00, 3.596639736284675e+00, 3.669296916799101e+00, 3.743421120194419e+00, 3.819043270687751e+00, 3.896193210291447e+00, 3.974901695169893e+00, 4.055200196818824e+00, 4.137120424789885e+00, 4.220695731419242e+00, 4.305959537608988e+00, 4.392945682829174e+00, 4.481688976287842e+00, 4.572225181224325e+00, 4.664590537028454e+00, 4.758821283433392e+00, 4.854955465285225e+00, 4.953032375739844e+00, 5.053090071473239e+00, 5.155169560890726e+00, 5.259310898249487e+00, 5.365556045240056e+00, 5.473947264532487e+00, 5.584528286744187e+00, 5.697343295232494e+00, 5.812437589874176e+00, 5.929856470345918e+00, 6.049647620281685e+00, 6.171857987623993e+00, 6.296538143218781e+00, 6.423736480559417e+00, 6.553504975160256e+00, 6.685894649009948e+00, 6.820958907654735e+00, 6.958750804246297e+00, 7.099326817127831e+00, 7.242742877423612e+00, 7.389056205749512e+00] +Exp1.u=[0e+00, 2e-02, 4e-02, 6e-02, 8e-02, 1e-01, 1.2e-01, 1.4e-01, 1.6e-01, 1.8e-01, 2e-01, 2.2e-01, 2.4e-01, 2.6e-01, 2.8e-01, 3e-01, 3.2e-01, 3.4e-01, 3.6e-01, 3.8e-01, 4e-01, 4.2e-01, 4.4e-01, 4.6e-01, 4.8e-01, 5e-01, 5.2e-01, 5.4e-01, 5.600000000000001e-01, 5.8e-01, 6e-01, 6.2e-01, 6.4e-01, 6.6e-01, 6.8e-01, 7e-01, 7.2e-01, 7.4e-01, 7.6e-01, 7.8e-01, 8e-01, 8.2e-01, 8.4e-01, 8.6e-01, 8.8e-01, 9e-01, 9.2e-01, 9.399999999999999e-01, 9.6e-01, 9.8e-01, 1e+00, 1.02e+00, 1.04e+00, 1.06e+00, 1.08e+00, 1.1e+00, 1.12e+00, 1.14e+00, 1.16e+00, 1.18e+00, 1.2e+00, 1.22e+00, 1.24e+00, 1.26e+00, 1.28e+00, 1.3e+00, 1.32e+00, 1.34e+00, 1.36e+00, 1.38e+00, 1.4e+00, 1.42e+00, 1.44e+00, 1.46e+00, 1.48e+00, 1.5e+00, 1.52e+00, 1.54e+00, 1.56e+00, 1.58e+00, 1.6e+00, 1.62e+00, 1.64e+00, 1.66e+00, 1.68e+00, 1.7e+00, 1.72e+00, 1.74e+00, 1.76e+00, 1.78e+00, 1.8e+00, 1.82e+00, 1.84e+00, 1.86e+00, 1.88e+00, 1.9e+00, 1.92e+00, 1.94e+00, 1.96e+00, 1.98e+00, 2e+00] +time=[0e+00, 1e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Greater.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Greater.txt new file mode 100644 index 0000000000..72ab505156 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Greater.txt @@ -0,0 +1,12 @@ +last-generated=2023-03-17 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +time=[0e+00, 1e+01] +gre.u1=[-2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -1.811628505752779e+00, -1.624000400138706e+00, -1.43785598996685e+00, -1.253930286818943e+00, -1.072949051856995e+00, -8.956264080262712e-01, -7.226622324250406e-01, -5.547389199236601e-01, -3.925195852485924e-01, -2.366442382335663e-01, -8.7727893193044e-02, 5.364125336904336e-02, 1.869059369170518e-01, 3.115396239174152e-01, 4.270509779453278e-01, 5.329838752732372e-01, 6.289199748783157e-01, 7.1448121270354e-01, 7.89329401980005e-01, 8.531695604324341e-01, 9.057495434078494e-01, 9.468617265306255e-01, 9.763441192861637e-01, 9.940801734758675e-01, 1e+00, 9.940801734758675e-01, 9.763441192861637e-01, 9.468617265306255e-01, 9.057495434078492e-01, 8.531695604324341e-01, 7.893294019800053e-01, 7.144810198268143e-01, 6.289201903800828e-01, 5.329838752732368e-01, 4.270509779453278e-01, 3.115396239174147e-01, 1.869056280486268e-01, 5.364157980559271e-02, -8.772789317175074e-02, -2.366442382335663e-01, -3.925197754217349e-01, -5.547393145486301e-01, -7.226618265200716e-01, -8.956261994185419e-01, -1.072949051856995e+00, -1.253930504668855e+00, -1.437856431721111e+00, -1.623999954498346e+00, -1.811628281550894e+00, -2e+00, -2.188371837658394e+00, -2.376000045501654e+00, -2.562143687488177e+00, -2.746069495331147e+00, -2.927051067352295e+00, -3.10437386018582e+00, -3.277338113875285e+00, -3.445260685450803e+00, -3.607480135171581e+00, -3.763355731964111e+00, -3.912272114257252e+00, -4.053641579804455e+00, -4.186905613149738e+00, -4.311539534512012e+00, -4.427051067352295e+00, -4.532983875272384e+00, -4.628920249494676e+00, -4.714481198640749e+00, -4.789329461585503e+00, -4.853169441223145e+00, -4.905749137797657e+00, -4.946861809072616e+00, -4.976344061279806e+00, -4.994080107325297e+00, -5e+00, -4.994080107325297e+00, -4.976344061279806e+00, -4.946861809072616e+00, -4.905749137797656e+00, -4.853169441223145e+00, -4.78932978929101e+00, -4.714481198644446e+00, -4.628920249490593e+00, -4.532983390825205e+00, -4.427051067352295e+00, -4.311540104800364e+00, -4.186905613155646e+00, -4.053641579798243e+00, -3.91227141957735e+00, -3.763355731964111e+00] +gre.u2=[-1.5e+00, -1.450000048428773e+00, -1.399999977648257e+00, -1.350000029802314e+00, -1.299999955296512e+00, -1.25e+00, -1.200000059604609e+00, -1.149999970197695e+00, -1.100000029802305e+00, -1.049999940395391e+00, -1e+00, -9.5e-01, -9e-01, -8.5e-01, -7.999999999999999e-01, -7.5e-01, -7e-01, -6.499999999999999e-01, -6.000000000000001e-01, -5.5e-01, -5e-01, -4.499999403953552e-01, -4.000000298023223e-01, -3.499999701976775e-01, -3.000000596046448e-01, -2.5e-01, -1.999999552964453e-01, -1.500000298023223e-01, -9.999997764824031e-02, -5.000004842880945e-02, 0e+00, 5.000004842880945e-02, 9.999997764824053e-02, 1.500000298023225e-01, 1.999999552964455e-01, 2.5e-01, 3.000000596046446e-01, 3.499999701976777e-01, 4.000000298023223e-01, 4.499999403953554e-01, 5e-01, 5.500000596046446e-01, 6.000001192092896e-01, 6.499998807937309e-01, 6.999999403953554e-01, 7.5e-01, 8.00000059604645e-01, 8.500001192092892e-01, 8.999998807907104e-01, 9.499999403956485e-01, 1e+00, 1.05e+00, 1.10000011920929e+00, 1.149999880790711e+00, 1.2e+00, 1.25e+00, 1.3e+00, 1.350000119209289e+00, 1.39999988079071e+00, 1.45e+00, 1.5e+00, 1.55e+00, 1.60000011920929e+00, 1.64999988079071e+00, 1.7e+00, 1.75e+00, 1.8e+00, 1.85000011920929e+00, 1.899999880790711e+00, 1.95e+00, 2e+00, 2.05e+00, 2.1e+00, 2.15e+00, 2.2e+00, 2.25e+00, 2.3e+00, 2.35e+00, 2.4e+00, 2.45e+00, 2.5e+00, 2.549999761585969e+00, 2.599999999997726e+00, 2.650000000002273e+00, 2.700000238414032e+00, 2.75e+00, 2.799999761585968e+00, 2.849999999997726e+00, 2.900000000002274e+00, 2.950000238414032e+00, 3e+00, 3.049999761585968e+00, 3.099999999997727e+00, 3.150000000002274e+00, 3.200000238414031e+00, 3.25e+00, 3.299999761585968e+00, 3.349999999997726e+00, 3.400000000002274e+00, 3.450000238414032e+00, 3.5e+00] +gre.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1.266945395828056e-05, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +greHys.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 4.916541686217357e-06, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_GreaterThreshold.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_GreaterThreshold.txt new file mode 100644 index 0000000000..c79b6f451b --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_GreaterThreshold.txt @@ -0,0 +1,12 @@ +last-generated=2023-03-17 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +time=[0e+00, 1e+01] +gre.u=[-2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -1.497676015340886e+00, -9.973343606335472e-01, -5.009492668417413e-01, -1.048078720206188e-02, 4.721359610557556e-01, 9.449963048679213e-01, 1.406234166075659e+00, 1.85402962634291e+00, 2.286614518809852e+00, 2.702281951904297e+00, 3.099392304686385e+00, 3.47637659617823e+00, 3.831749125375993e+00, 4.164105584308051e+00, 4.4721360206604e+00, 4.754623667394541e+00, 5.010453107397214e+00, 5.238616567209061e+00, 5.438211738613346e+00, 5.608452320098877e+00, 5.748665449086841e+00, 5.858297778469661e+00, 5.93691781037549e+00, 5.984213795934889e+00, 6e+00, 5.984213795934889e+00, 5.93691781037549e+00, 5.858297778469661e+00, 5.74866544908684e+00, 5.608452320098877e+00, 5.438211738613347e+00, 5.238616052869989e+00, 5.010453680767095e+00, 4.75462366739454e+00, 4.4721360206604e+00, 4.164105584308049e+00, 3.831748301726575e+00, 3.476377466676903e+00, 3.099392304686384e+00, 2.702281951904297e+00, 2.286614011680809e+00, 1.85402857400833e+00, 1.406235248488341e+00, 9.449968616175726e-01, 4.721359610557556e-01, -1.048136813505908e-02, -5.009504448522509e-01, -9.973331722587795e-01, -1.49767541746905e+00, -2e+00, -2.502324582530945e+00, -3.002666708533068e+00, -3.499049674355329e+00, -3.989518654217149e+00, -4.4721360206604e+00, -4.944996801550559e+00, -5.406235129281329e+00, -5.854028335594302e+00, -6.286614011680805e+00, -6.702281951904297e+00, -7.09939230468752e+00, -7.476377705090932e+00, -7.831748301726572e+00, -8.164106061140663e+00, -8.472135543823242e+00, -8.75462366739454e+00, -9.010453680767094e+00, -9.238615576037381e+00, -9.438211261778463e+00, -9.608451843261719e+00, -9.748664367460419e+00, -9.858298475415383e+00, -9.936917178866837e+00, -9.984213937413436e+00, -1e+01, -9.984213937413436e+00, -9.936917178866837e+00, -9.858298475415383e+00, -9.748664367460417e+00, -9.608451843261719e+00, -9.438212135678004e+00, -9.238615576047238e+00, -9.010453680756207e+00, -8.754622375521754e+00, -8.472135543823242e+00, -8.16410758191112e+00, -7.831748301742326e+00, -7.476377705074368e+00, -7.099390452212329e+00, -6.702281951904297e+00] +gre.t=[2e+00, 2e+00] +gre.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +greHys.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 8.091269490084763e-06, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Hysteresis.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Hysteresis.txt new file mode 100644 index 0000000000..f52ffb2fd8 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Hysteresis.txt @@ -0,0 +1,14 @@ +last-generated=2023-03-17 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +time=[0e+00, 1e+00] +hysteresis.u=[0e+00, 1.56976301000347e-01, 3.133330712786273e-01, 4.684532984120606e-01, 6.217247383500868e-01, 7.725424655010872e-01, 9.203114108910556e-01, 1.064448233170911e+00, 1.204384232253481e+00, 1.339566898410891e+00, 1.469463091020046e+00, 1.593559987568817e+00, 1.711367756856865e+00, 1.822421601679775e+00, 1.92628311509584e+00, 2.022542421147277e+00, 2.110819846391163e+00, 2.190766559266606e+00, 2.262067507907246e+00, 2.324441208101661e+00, 2.377641186273779e+00, 2.421458030889631e+00, 2.455718043859428e+00, 2.480286828001585e+00, 2.49506688594207e+00, 2.5e+00, 2.495066870834328e+00, 2.48028685669509e+00, 2.455718043859427e+00, 2.421457972510137e+00, 2.37764125870761e+00, 2.324441208101661e+00, 2.262067507907246e+00, 2.190766909464202e+00, 2.110819846391163e+00, 2.022542421147278e+00, 1.9262832632491e+00, 1.822421720889064e+00, 1.711367790613847e+00, 1.59355992556915e+00, 1.469463304577051e+00, 1.339567017620181e+00, 1.204384145815707e+00, 1.06444845798415e+00, 9.203114756564897e-01, 7.725424174162248e-01, 6.217249707299275e-01, 4.684533888724105e-01, 3.133330460020628e-01, 1.569765810520877e-01, 1.339744812867139e-07, -1.569763128289594e-01, -3.133332421028605e-01, -4.684535799669168e-01, -6.217242785806794e-01, -7.725421790003055e-01, -9.203111776327465e-01, -1.064448219564059e+00, -1.204384317440418e+00, -1.339567173246441e+00, -1.469462686407816e+00, -1.593559687153164e+00, -1.711367552196086e+00, -1.822421482469726e+00, -1.926283144037693e+00, -2.022542694869402e+00, -2.11081959367541e+00, -2.190766445221302e+00, -2.262067507907116e+00, -2.324441208101863e+00, -2.377641257762269e+00, -2.421457849255299e+00, -2.455717953487118e+00, -2.480286797207312e+00, -2.495066870834482e+00, -2.5e+00, -2.495066870834482e+00, -2.480286797207312e+00, -2.455718191902287e+00, -2.42145808767132e+00, -2.377641496180849e+00, -2.324441208101863e+00, -2.262067746325695e+00, -2.190766683637892e+00, -2.110819593678535e+00, -2.022542933287981e+00, -1.926283382456272e+00, -1.822421720888305e+00, -1.711367909823955e+00, -1.593559925571743e+00, -1.469463044035685e+00, -1.33956753087431e+00, -1.204384675068287e+00, -1.064448577191928e+00, -9.203115948652599e-01, -7.725425366281742e-01, -6.21724636208548e-01, -4.684539971990039e-01, -3.133336295330515e-01, -1.569767151603116e-01, -2.679489625734277e-07] +hysteresis.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +hysteresis1.u=[0e+00, 5.877852548020184e-01, 9.510565469929613e-01, 9.51056524512735e-01, 5.877851965882408e-01, 4.669026060222237e-08, -5.877853088719246e-01, -9.510565331236185e-01, -9.510564986800658e-01, -5.877854170114153e-01, -9.361950796191176e-08, 5.877852728252668e-01, 9.510565818958913e-01, 9.510564297929095e-01, 5.877852728252662e-01, 3.735213902900103e-07, -5.877854170114153e-01, -9.510564986800661e-01, -9.510566517017776e-01, -5.877851175888156e-01, -1.867606946037714e-07, 5.877855611975631e-01, 9.510565586272626e-01, 9.510566051645198e-01, 5.877849595897895e-01, 6.123233998228043e-16, -5.877857053837123e-01, -9.510562920185974e-01, -9.510565586272621e-01, -5.877848015907633e-01, -7.489560659400263e-07, 5.877851175888156e-01, 9.510566517017776e-01, 9.510567447762921e-01, 5.87785417011414e-01, -3.735213908874251e-07, -5.87784485592708e-01, -9.510564297929095e-01, -9.510564297929095e-01, -5.87784485592708e-01, -3.735213891520317e-07, 5.87785417011414e-01, 9.510567447762921e-01, 9.510566517017776e-01, 5.877851175888156e-01, -7.47042778760458e-07, -5.877848015907633e-01, -9.510565586272621e-01, -9.510562920185974e-01, -5.877857053837123e-01, -1.224646799645609e-15, 5.877857053768371e-01, 9.510568378463694e-01, 9.510558787055131e-01, 5.877862821128343e-01, 7.470316425728374e-07, -5.877851175869351e-01, -9.510566517001124e-01, -9.510561542500338e-01, -5.877838536173216e-01, -1.494063297968751e-06, 5.877844856040088e-01, 9.510564297945518e-01, 9.510564297945518e-01, 5.877844856040088e-01, -1.494063298453019e-06, -5.877838536173214e-01, -9.510561542500338e-01, -9.510566517001124e-01, -5.87785117586935e-01, 7.470316501584374e-07, 5.877862821128343e-01, 9.510558787055131e-01, 9.510568378463694e-01, 5.877857053768371e-01, 5.389683772389795e-15, -5.877857053768371e-01, -9.510568378463694e-01, -9.510558787055131e-01, -5.877862821128343e-01, -7.470316467361737e-07, 5.877851175869351e-01, 9.510566517001124e-01, 9.510561542500338e-01, 5.877838536173216e-01, 1.494063302132087e-06, -5.877844856040088e-01, -9.510564297945518e-01, -9.510564297945518e-01, -5.877844856040088e-01, 1.494063294288032e-06, 5.877838536173214e-01, 9.510561542500338e-01, 9.510566517001124e-01, 5.87785117586935e-01, -7.470316459934253e-07, -5.877862821128343e-01, -9.510558787055131e-01, -9.510568378463694e-01, -5.877857053768371e-01, -2.449293599291217e-15] +hysteresis1.y=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +hysteresis2.u=[0e+00, 3.090170091883316e-01, 5.877852550831602e-01, 8.090170144214469e-01, 9.510565478473709e-01, 9.999999992648992e-01, 9.510565257429763e-01, 8.090170078442965e-01, 5.877851975336643e-01, 3.090171082748573e-01, 4.681209514814655e-08, -3.090170201979346e-01, -5.87785310558651e-01, -8.090170867701829e-01, -9.510565336704234e-01, -9.999999941192049e-01, -9.510565019607415e-01, -8.090170341529122e-01, -5.877854215096746e-01, -3.090169306671733e-01, -9.356497701618061e-08, 3.090171963517797e-01, 5.877852735749767e-01, 8.090169222575976e-01, 9.510565870223401e-01, 1e+00, 9.510564385413781e-01, 8.090171920047236e-01, 5.87785273574976e-01, 3.090167508787323e-01, 3.744967623110079e-07, -3.090169306671733e-01, -5.877854215096746e-01, -8.090167501326991e-01, -9.510565019607419e-01, -9.99999994119205e-01, -9.510566653723079e-01, -8.090170867701829e-01, -5.877851201097095e-01, -3.090165710902895e-01, -1.871299540184834e-07, 3.090171082748565e-01, 5.877855694443719e-01, 8.09016864882631e-01, 9.510565609056844e-01, 9.9999998823841e-01, 9.510566131389959e-01, 8.090169796325641e-01, 5.877849652618008e-01, 3.090172844287029e-01, 6.123233998228043e-16, -3.090172844245031e-01, -5.877857173720165e-01, -8.090175077008204e-01, -9.51056311706054e-01, -9.999999882385853e-01, -9.510565609059952e-01, -8.090168648846839e-01, -5.877848104203527e-01, -3.090162115251951e-01, -7.48508664688563e-07, 3.090165710967192e-01, 5.877851201115555e-01, 8.090170867689285e-01, 9.5105666537044e-01, 9.999999764771703e-01, 9.510567698355064e-01, 8.090172972348735e-01, 5.877854215070279e-01, 3.090169306661034e-01, -3.742543329311947e-07, -3.090176367269428e-01, -5.877845007291471e-01, -8.090166353882378e-01, -9.510564385428901e-01, -1e+00, -9.510564385428901e-01, -8.090166353882378e-01, -5.87784500729147e-01, -3.090176367269428e-01, -3.742543312201807e-07, 3.090169306661034e-01, 5.877854215070281e-01, 8.090172972348735e-01, 9.510567698355064e-01, 9.999999764771703e-01, 9.5105666537044e-01, 8.090170867689285e-01, 5.877851201115555e-01, 3.090165710967192e-01, -7.485086628548458e-07, -3.090162115251951e-01, -5.877848104203527e-01, -8.090168648846841e-01, -9.510565609059952e-01, -9.999999882385853e-01, -9.51056311706054e-01, -8.090175077008204e-01, -5.877857173720165e-01, -3.090172844245031e-01, -1.224646799645609e-15] +hysteresis2.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 4.681209607171333e-06, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 3.744967703145363e-05, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_IntegratorWithReset.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_IntegratorWithReset.txt new file mode 100644 index 0000000000..df0eccdac5 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_IntegratorWithReset.txt @@ -0,0 +1,20 @@ +last-generated=2023-03-23 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "number of continuous time states": "3", + "numerical Jacobians": "0" +} +time=[0e+00, 1e+00] +cons.y=[1e+01, 1e+01] +booleanPulse.y=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.999940396364401e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.999880792728245e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +intDef.y_start=[-2e+00, -2e+00] +intDef.y=[-2e+00, -1.89999997392297e+00, -1.799999947845941e+00, -1.700000040978167e+00, -1.600000014901171e+00, -1.500000007450572e+00, -1.399999962747112e+00, -1.299999955296536e+00, -1.200000029802269e+00, -1.100000059604538e+00, -1.000000014901117e+00, -8.999999701976954e-01, -7.999999850988389e-01, -6.999999403954973e-01, -6.000000298023045e-01, -5.000000596044671e-01, -3.999999701977309e-01, -3.00000029802269e-01, -2.000000745056462e-01, -9.99999776483026e-02, -2.980226099236205e-08, -2.099999839067654e+00, -1.999999988079107e+00, -1.900000017881269e+00, -1.799999898672264e+00, -1.700000047683716e+00, -1.59999992847471e+00, -1.500000107288041e+00, -1.399999988079035e+00, -1.29999986887003e+00, -1.20000016689265e+00, -1.100000047683645e+00, -9.999999284746394e-01, -9.000001072883604e-01, -8.00000047683609e-01, -6.999999284746041e-01, -6.000001668925792e-01, -5.000000476835738e-01, -3.999999582768197e-01, -2.999998688699945e-01, -2.000000625847436e-01, -2.299999916553604e+00, -2.199999916553888e+00, -2.099999976157929e+00, -1.999999976158213e+00, -1.899999856949208e+00, -1.800000035763035e+00, -1.700000035762752e+00, -1.599999916553817e+00, -1.500000095367148e+00, -1.399999976158142e+00, -1.299999856950558e+00, -1.199999856951126e+00, -1.099999737744679e+00, -1.000000214572884e+00, -9.000000953656548e-01, -8.000000357630705e-01, -6.999999165547768e-01, -5.999998569513398e-01, -4.99999737743862e-01, -4.000002443747806e-01, -2.50000014304859e+00, -2.400000143050295e+00, -2.299999904633421e+00, -2.199999904635126e+00, -2.099999666218252e+00, -2.000000262255747e+00, -1.900000143048163e+00, -1.800000023841005e+00, -1.700000023841432e+00, -1.5999999046347e+00, -1.499999785427116e+00, -1.400000262255321e+00, -1.300000143048874e+00, -1.200000143049442e+00, -1.100000023841858e+00, -9.999999046342736e-01, -8.999997854266891e-01, -7.999997258228969e-01, -7.000002026525944e-01, -6.000001430490154e-01, -2.700000071525857e+00, -2.599999833108274e+00, -2.499999833109979e+00, -2.399999833111684e+00, -2.3000001907306e+00, -2.200000190732306e+00, -2.099999952315432e+00, -1.999999952317137e+00, -1.899999833109552e+00, -1.799999713901968e+00, -1.700000309939463e+00, -1.600000190731879e+00, -1.500000071524294e+00, -1.399999952316e+00, -1.299999833109127e+00, -1.199999833109553e+00, -1.100000309939037e+00, -1.000000190731453e+00, -9.000000715241527e-01, -8.00000011920929e-01] +intDef.y_reset_in=[-2e+00, -2.009999990686785e+00, -2.019999981373569e+00, -2.029999972060353e+00, -2.039999962747139e+00, -2.04999995157128e+00, -2.059999944120708e+00, -2.069999932944796e+00, -2.079999925494274e+00, -2.089999910593299e+00, -2.099999903142563e+00, -2.109999895691898e+00, -2.119999888241411e+00, -2.130000119208934e+00, -2.140000104308102e+00, -2.150000089406701e+00, -2.160000089406701e+00, -2.170000074505726e+00, -2.180000059604325e+00, -2.190000059604467e+00, -2.200000044703351e+00, -2.210000044702995e+00, -2.220000029802234e+00, -2.230000014900975e+00, -2.240000014901401e+00, -2.25e+00, -2.260000000000426e+00, -2.269999970197198e+00, -2.279999970197766e+00, -2.289999970198051e+00, -2.299999940396243e+00, -2.309999940395533e+00, -2.319999940395675e+00, -2.32999991059401e+00, -2.339999910593299e+00, -2.349999910593299e+00, -2.359999880791776e+00, -2.369999880791066e+00, -2.380000119208934e+00, -2.390000119208224e+00, -2.400000089406701e+00, -2.410000089406701e+00, -2.42000008940599e+00, -2.430000059604325e+00, -2.440000059604467e+00, -2.450000059603757e+00, -2.460000029801949e+00, -2.470000029802234e+00, -2.480000029802802e+00, -2.489999999999574e+00, -2.5e+00, -2.510000000000284e+00, -2.520000000000568e+00, -2.530000000000852e+00, -2.539999940397274e+00, -2.549999940396421e+00, -2.559999940395497e+00, -2.569999940395568e+00, -2.579999940395853e+00, -2.589999940396137e+00, -2.599999880792842e+00, -2.609999880791989e+00, -2.619999880791137e+00, -2.630000119208863e+00, -2.640000119208011e+00, -2.650000119207158e+00, -2.660000059603863e+00, -2.670000059604147e+00, -2.680000059604432e+00, -2.690000059604503e+00, -2.700000059603579e+00, -2.710000059602726e+00, -2.719999999999148e+00, -2.729999999999432e+00, -2.739999999999716e+00, -2.75e+00, -2.760000000000284e+00, -2.770000000000568e+00, -2.780000000000852e+00, -2.789999940397274e+00, -2.799999940396421e+00, -2.809999940395497e+00, -2.819999940395568e+00, -2.829999940395853e+00, -2.839999940396137e+00, -2.849999880792842e+00, -2.859999880791989e+00, -2.869999880791137e+00, -2.880000119208863e+00, -2.890000119208011e+00, -2.900000119207158e+00, -2.910000059603863e+00, -2.920000059604147e+00, -2.930000059604432e+00, -2.940000059604503e+00, -2.950000059603579e+00, -2.960000059602726e+00, -2.969999999999148e+00, -2.979999999999432e+00, -2.989999999999716e+00, -3e+00] +intWitRes1.y_start=[-2e+00, -2e+00] +intWitRes1.y=[-2e+00, -1.95000004656613e+00, -1.89999997392297e+00, -1.850000020489104e+00, -1.799999947845941e+00, -1.750000003725286e+00, -1.700000040978201e+00, -1.649999977648259e+00, -1.600000014901188e+00, -1.549999970197624e+00, -1.500000007450558e+00, -1.450000044703492e+00, -1.399999962747137e+00, -1.350000000000071e+00, -1.299999955296507e+00, -1.250000029802234e+00, -1.200000029802376e+00, -1.149999985098812e+00, -1.100000059604538e+00, -1.049999940395391e+00, -1.000000014901117e+00, -2.150000062584975e+00, -2.099999898672122e+00, -2.049999973177848e+00, -1.99999997317799e+00, -1.950000047683716e+00, -1.899999928474568e+00, -1.850000077485878e+00, -1.799999958276731e+00, -1.749999958276873e+00, -1.700000107288183e+00, -1.649999988079035e+00, -1.599999988079178e+00, -1.550000017881198e+00, -1.50000001788134e+00, -1.450000017881482e+00, -1.400000047683503e+00, -1.350000047683645e+00, -1.299999928474497e+00, -1.249999928474639e+00, -1.200000077485949e+00, -2.349999886751228e+00, -2.29999988675137e+00, -2.25000003576268e+00, -2.200000035762822e+00, -2.150000035762965e+00, -2.099999946355695e+00, -2.049999946355837e+00, -1.99999994635598e+00, -1.95000009536729e+00, -1.899999976158142e+00, -1.849999976158995e+00, -1.799999856950558e+00, -1.74999985695141e+00, -1.700000154970158e+00, -1.650000035761721e+00, -1.600000035762929e+00, -1.549999916554137e+00, -1.49999991655499e+00, -1.449999916555842e+00, -1.4000000953653e+00, -2.550000023840579e+00, -2.500000023841431e+00, -2.450000023842284e+00, -2.400000023843137e+00, -2.34999978542541e+00, -2.300000083444158e+00, -2.25000008344501e+00, -2.200000083445863e+00, -2.150000083446361e+00, -2.099999845028989e+00, -2.049999845029842e+00, -2.00000014304859e+00, -1.950000143049442e+00, -1.900000023841005e+00, -1.850000023841858e+00, -1.799999904633421e+00, -1.749999904634274e+00, -1.699999904635126e+00, -1.650000083444584e+00, -1.600000083445437e+00, -2.750000011921071e+00, -2.700000011921569e+00, -2.650000011922421e+00, -2.599999773504695e+00, -2.550000071523442e+00, -2.500000071524295e+00, -2.450000071525147e+00, -2.400000071526e+00, -2.349999833108273e+00, -2.299999833109126e+00, -2.250000131127873e+00, -2.200000131128726e+00, -2.150000131129579e+00, -2.099999892711498e+00, -2.049999892712705e+00, -1.999999892713558e+00, -1.950000190732305e+00, -1.900000071523869e+00, -1.850000071524721e+00, -1.799999952316284e+00] +intWitRes1.y_reset_in=[-2e+00, -2.009999990686785e+00, -2.019999981373569e+00, -2.029999972060353e+00, -2.039999962747139e+00, -2.04999995157128e+00, -2.059999944120708e+00, -2.069999932944796e+00, -2.079999925494274e+00, -2.089999910593299e+00, -2.099999903142563e+00, -2.109999895691898e+00, -2.119999888241411e+00, -2.130000119208934e+00, -2.140000104308102e+00, -2.150000089406701e+00, -2.160000089406701e+00, -2.170000074505726e+00, -2.180000059604325e+00, -2.190000059604467e+00, -2.200000044703351e+00, -2.210000044702995e+00, -2.220000029802234e+00, -2.230000014900975e+00, -2.240000014901401e+00, -2.25e+00, -2.260000000000426e+00, -2.269999970197198e+00, -2.279999970197766e+00, -2.289999970198051e+00, -2.299999940396243e+00, -2.309999940395533e+00, -2.319999940395675e+00, -2.32999991059401e+00, -2.339999910593299e+00, -2.349999910593299e+00, -2.359999880791776e+00, -2.369999880791066e+00, -2.380000119208934e+00, -2.390000119208224e+00, -2.400000089406701e+00, -2.410000089406701e+00, -2.42000008940599e+00, -2.430000059604325e+00, -2.440000059604467e+00, -2.450000059603757e+00, -2.460000029801949e+00, -2.470000029802234e+00, -2.480000029802802e+00, -2.489999999999574e+00, -2.5e+00, -2.510000000000284e+00, -2.520000000000568e+00, -2.530000000000852e+00, -2.539999940397274e+00, -2.549999940396421e+00, -2.559999940395497e+00, -2.569999940395568e+00, -2.579999940395853e+00, -2.589999940396137e+00, -2.599999880792842e+00, -2.609999880791989e+00, -2.619999880791137e+00, -2.630000119208863e+00, -2.640000119208011e+00, -2.650000119207158e+00, -2.660000059603863e+00, -2.670000059604147e+00, -2.680000059604432e+00, -2.690000059604503e+00, -2.700000059603579e+00, -2.710000059602726e+00, -2.719999999999148e+00, -2.729999999999432e+00, -2.739999999999716e+00, -2.75e+00, -2.760000000000284e+00, -2.770000000000568e+00, -2.780000000000852e+00, -2.789999940397274e+00, -2.799999940396421e+00, -2.809999940395497e+00, -2.819999940395568e+00, -2.829999940395853e+00, -2.839999940396137e+00, -2.849999880792842e+00, -2.859999880791989e+00, -2.869999880791137e+00, -2.880000119208863e+00, -2.890000119208011e+00, -2.900000119207158e+00, -2.910000059603863e+00, -2.920000059604147e+00, -2.930000059604432e+00, -2.940000059604503e+00, -2.950000059603579e+00, -2.960000059602726e+00, -2.969999999999148e+00, -2.979999999999432e+00, -2.989999999999716e+00, -3e+00] +intWitRes2.y_start=[-5e+00, -5e+00] +intWitRes2.y=[-5e+00, -4.949999808147577e+00, -4.900000093132206e+00, -4.849999901279894e+00, -4.800000186264413e+00, -4.750000003725375e+00, -4.699999802559781e+00, -4.650000096857513e+00, -4.599999895692111e+00, -4.550000208615777e+00, -4.500000007450736e+00, -4.449999806284985e+00, -4.400000081956107e+00, -4.34999988079135e+00, -4.300000193715015e+00, -4.250000029802944e+00, -4.199999791384223e+00, -4.150000104307889e+00, -4.099999940396101e+00, -4.050000178813685e+00, -4.000000014901472e+00, -2.150000062584975e+00, -2.099999898672122e+00, -2.049999973177848e+00, -1.99999997317799e+00, -1.950000047683716e+00, -1.899999928474568e+00, -1.850000077485878e+00, -1.799999958276731e+00, -1.749999958276873e+00, -1.700000107288183e+00, -1.649999988079035e+00, -1.599999988079178e+00, -1.550000017881198e+00, -1.50000001788134e+00, -1.450000017881482e+00, -1.400000047683503e+00, -1.350000047683645e+00, -1.299999928474497e+00, -1.249999928474639e+00, -1.200000077485949e+00, -2.349999886751228e+00, -2.29999988675137e+00, -2.25000003576268e+00, -2.200000035762822e+00, -2.150000035762965e+00, -2.099999946355695e+00, -2.049999946355837e+00, -1.99999994635598e+00, -1.95000009536729e+00, -1.899999976158142e+00, -1.849999976158995e+00, -1.799999856950558e+00, -1.74999985695141e+00, -1.700000154970158e+00, -1.650000035761721e+00, -1.600000035762929e+00, -1.549999916554137e+00, -1.49999991655499e+00, -1.449999916555842e+00, -1.4000000953653e+00, -2.550000023840579e+00, -2.500000023841431e+00, -2.450000023842284e+00, -2.400000023843137e+00, -2.34999978542541e+00, -2.300000083444158e+00, -2.25000008344501e+00, -2.200000083445863e+00, -2.150000083446361e+00, -2.099999845028989e+00, -2.049999845029842e+00, -2.00000014304859e+00, -1.950000143049442e+00, -1.900000023841005e+00, -1.850000023841858e+00, -1.799999904633421e+00, -1.749999904634274e+00, -1.699999904635126e+00, -1.650000083444584e+00, -1.600000083445437e+00, -2.750000011921071e+00, -2.700000011921569e+00, -2.650000011922421e+00, -2.599999773504695e+00, -2.550000071523442e+00, -2.500000071524295e+00, -2.450000071525147e+00, -2.400000071526e+00, -2.349999833108273e+00, -2.299999833109126e+00, -2.250000131127873e+00, -2.200000131128726e+00, -2.150000131129579e+00, -2.099999892711498e+00, -2.049999892712705e+00, -1.999999892713558e+00, -1.950000190732305e+00, -1.900000071523869e+00, -1.850000071524721e+00, -1.799999952316284e+00] +intWitRes2.y_reset_in=[-2e+00, -2.009999990686785e+00, -2.019999981373569e+00, -2.029999972060353e+00, -2.039999962747139e+00, -2.04999995157128e+00, -2.059999944120708e+00, -2.069999932944796e+00, -2.079999925494274e+00, -2.089999910593299e+00, -2.099999903142563e+00, -2.109999895691898e+00, -2.119999888241411e+00, -2.130000119208934e+00, -2.140000104308102e+00, -2.150000089406701e+00, -2.160000089406701e+00, -2.170000074505726e+00, -2.180000059604325e+00, -2.190000059604467e+00, -2.200000044703351e+00, -2.210000044702995e+00, -2.220000029802234e+00, -2.230000014900975e+00, -2.240000014901401e+00, -2.25e+00, -2.260000000000426e+00, -2.269999970197198e+00, -2.279999970197766e+00, -2.289999970198051e+00, -2.299999940396243e+00, -2.309999940395533e+00, -2.319999940395675e+00, -2.32999991059401e+00, -2.339999910593299e+00, -2.349999910593299e+00, -2.359999880791776e+00, -2.369999880791066e+00, -2.380000119208934e+00, -2.390000119208224e+00, -2.400000089406701e+00, -2.410000089406701e+00, -2.42000008940599e+00, -2.430000059604325e+00, -2.440000059604467e+00, -2.450000059603757e+00, -2.460000029801949e+00, -2.470000029802234e+00, -2.480000029802802e+00, -2.489999999999574e+00, -2.5e+00, -2.510000000000284e+00, -2.520000000000568e+00, -2.530000000000852e+00, -2.539999940397274e+00, -2.549999940396421e+00, -2.559999940395497e+00, -2.569999940395568e+00, -2.579999940395853e+00, -2.589999940396137e+00, -2.599999880792842e+00, -2.609999880791989e+00, -2.619999880791137e+00, -2.630000119208863e+00, -2.640000119208011e+00, -2.650000119207158e+00, -2.660000059603863e+00, -2.670000059604147e+00, -2.680000059604432e+00, -2.690000059604503e+00, -2.700000059603579e+00, -2.710000059602726e+00, -2.719999999999148e+00, -2.729999999999432e+00, -2.739999999999716e+00, -2.75e+00, -2.760000000000284e+00, -2.770000000000568e+00, -2.780000000000852e+00, -2.789999940397274e+00, -2.799999940396421e+00, -2.809999940395497e+00, -2.819999940395568e+00, -2.829999940395853e+00, -2.839999940396137e+00, -2.849999880792842e+00, -2.859999880791989e+00, -2.869999880791137e+00, -2.880000119208863e+00, -2.890000119208011e+00, -2.900000119207158e+00, -2.910000059603863e+00, -2.920000059604147e+00, -2.930000059604432e+00, -2.940000059604503e+00, -2.950000059603579e+00, -2.960000059602726e+00, -2.969999999999148e+00, -2.979999999999432e+00, -2.989999999999716e+00, -3e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Less.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Less.txt new file mode 100644 index 0000000000..c31e776f9f --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Less.txt @@ -0,0 +1,12 @@ +last-generated=2023-03-17 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +time=[0e+00, 1e+01] +les.u1=[-2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -1.811628505752779e+00, -1.624000400138706e+00, -1.43785598996685e+00, -1.253930286818943e+00, -1.072949051856995e+00, -8.956264080262712e-01, -7.226622324250406e-01, -5.547389199236601e-01, -3.925195852485924e-01, -2.366442382335663e-01, -8.7727893193044e-02, 5.364125336904336e-02, 1.869059369170518e-01, 3.115396239174152e-01, 4.270509779453278e-01, 5.329838752732372e-01, 6.289199748783157e-01, 7.1448121270354e-01, 7.89329401980005e-01, 8.531695604324341e-01, 9.057495434078494e-01, 9.468617265306255e-01, 9.763441192861637e-01, 9.940801734758675e-01, 1e+00, 9.940801734758675e-01, 9.763441192861637e-01, 9.468617265306255e-01, 9.057495434078492e-01, 8.531695604324341e-01, 7.893294019800053e-01, 7.144810198268143e-01, 6.289201898923054e-01, 5.329838752732368e-01, 4.270509779453278e-01, 3.115396244887637e-01, 1.869056280486268e-01, 5.364157980559271e-02, -8.772789319304464e-02, -2.366442382335663e-01, -3.925197754217349e-01, -5.547393145486301e-01, -7.226618265200716e-01, -8.956261994185419e-01, -1.072949051856995e+00, -1.253930504668855e+00, -1.437856431721111e+00, -1.623999954498346e+00, -1.811628281550894e+00, -2e+00, -2.188371837658394e+00, -2.376000045501654e+00, -2.562143687488177e+00, -2.746069495331147e+00, -2.927051067352295e+00, -3.10437386018582e+00, -3.277338113875285e+00, -3.445260685450803e+00, -3.607480135171581e+00, -3.763355731964111e+00, -3.912272114257252e+00, -4.053641579804455e+00, -4.186905613149738e+00, -4.311539534512012e+00, -4.427051067352295e+00, -4.532983875272384e+00, -4.628920249494676e+00, -4.714481198640749e+00, -4.789329461585503e+00, -4.853169441223145e+00, -4.905749137797657e+00, -4.946861809072616e+00, -4.976344061279806e+00, -4.994080107325297e+00, -5e+00, -4.994080107325297e+00, -4.976344061279806e+00, -4.946861809072616e+00, -4.905749137797656e+00, -4.853169441223145e+00, -4.78932978929101e+00, -4.714481198644446e+00, -4.628920249490593e+00, -4.532983390825205e+00, -4.427051067352295e+00, -4.311540104800364e+00, -4.186905613155646e+00, -4.053641579798243e+00, -3.91227141957735e+00, -3.763355731964111e+00] +les.u2=[-2e+00, -1.950000048428773e+00, -1.899999977648257e+00, -1.850000029802314e+00, -1.799999955296512e+00, -1.75e+00, -1.700000059604609e+00, -1.649999970197695e+00, -1.600000029802305e+00, -1.549999940395391e+00, -1.5e+00, -1.450000059604645e+00, -1.399999999999858e+00, -1.350000000000142e+00, -1.299999940395355e+00, -1.25e+00, -1.200000059604645e+00, -1.149999999999858e+00, -1.100000000000142e+00, -1.049999940395355e+00, -1e+00, -9.499999403953552e-01, -9.00000000000142e-01, -8.499999999998578e-01, -8.000000596046448e-01, -7.5e-01, -6.999999403953552e-01, -6.50000000000142e-01, -5.999999999998578e-01, -5.500000596046448e-01, -5e-01, -4.499999403953552e-01, -4.000000298023223e-01, -3.499999701976775e-01, -3.000000596046446e-01, -2.5e-01, -1.999999552964455e-01, -1.500000298023223e-01, -9.999997764824053e-02, -5.000004842880923e-02, 0e+00, 5.000004842880923e-02, 1.000000968576189e-01, 1.499999105928906e-01, 1.999999552964455e-01, 2.5e-01, 3.000000596050649e-01, 3.50000089407251e-01, 3.999999105927485e-01, 4.499999403953554e-01, 5e-01, 5.500000596046446e-01, 6.000001192092896e-01, 6.499998807907108e-01, 6.999999403953554e-01, 7.5e-01, 8.00000059604645e-01, 8.500001192092892e-01, 8.999998807907104e-01, 9.49999940395355e-01, 1e+00, 1.05e+00, 1.10000011920929e+00, 1.14999988079071e+00, 1.2e+00, 1.25e+00, 1.3e+00, 1.35000011920929e+00, 1.399999880790711e+00, 1.45e+00, 1.5e+00, 1.55e+00, 1.600000119209289e+00, 1.64999988079071e+00, 1.7e+00, 1.75e+00, 1.8e+00, 1.85000011920929e+00, 1.899999880790711e+00, 1.95e+00, 2e+00, 2.049999761585969e+00, 2.099999999997726e+00, 2.150000000002273e+00, 2.200000238414032e+00, 2.25e+00, 2.299999761585968e+00, 2.349999999997726e+00, 2.400000000002274e+00, 2.450000238414032e+00, 2.5e+00, 2.549999761585968e+00, 2.599999999997727e+00, 2.650000000002274e+00, 2.700000238414031e+00, 2.75e+00, 2.799999761585968e+00, 2.849999999997726e+00, 2.900000000002274e+00, 2.950000238414032e+00, 3e+00] +les.y=[0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +lesHys.y=[0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_LessThreshold.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_LessThreshold.txt new file mode 100644 index 0000000000..f2e3fda820 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_LessThreshold.txt @@ -0,0 +1,12 @@ +last-generated=2023-03-17 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +time=[0e+00, 1e+01] +les.u=[-2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -1.497676015340886e+00, -9.973343606335472e-01, -5.009492668417413e-01, -1.048078720206188e-02, 4.721359610557556e-01, 9.449963048679213e-01, 1.406234166075659e+00, 1.85402962634291e+00, 2.286614518809852e+00, 2.702281951904297e+00, 3.099392304686385e+00, 3.47637659617823e+00, 3.831749125375993e+00, 4.164105584308051e+00, 4.4721360206604e+00, 4.754623667394541e+00, 5.010453107397214e+00, 5.238616567209061e+00, 5.438211738613346e+00, 5.608452320098877e+00, 5.748665449086841e+00, 5.858297778469661e+00, 5.93691781037549e+00, 5.984213795934889e+00, 6e+00, 5.984213795934889e+00, 5.93691781037549e+00, 5.858297778469661e+00, 5.74866544908684e+00, 5.608452320098877e+00, 5.438211738613347e+00, 5.238616052869989e+00, 5.010453680767095e+00, 4.75462366739454e+00, 4.4721360206604e+00, 4.164105584308049e+00, 3.831748301726575e+00, 3.476377466676903e+00, 3.099392304686384e+00, 2.702281951904297e+00, 2.286614011680809e+00, 1.85402857400833e+00, 1.406235248488341e+00, 9.449968611549155e-01, 4.721359610557556e-01, -1.048136813505908e-02, -5.009504448522509e-01, -9.973331722587795e-01, -1.49767541746905e+00, -2e+00, -2.502324582530945e+00, -3.002666708533068e+00, -3.499049674355329e+00, -3.989518654217149e+00, -4.4721360206604e+00, -4.944996801550559e+00, -5.406235129281329e+00, -5.854028335594302e+00, -6.286614011680805e+00, -6.702281951904297e+00, -7.09939230468752e+00, -7.476377705090932e+00, -7.831748301726572e+00, -8.164106061140663e+00, -8.472135543823242e+00, -8.75462366739454e+00, -9.010453680767094e+00, -9.238615576037381e+00, -9.438211261778463e+00, -9.608451843261719e+00, -9.748664367460419e+00, -9.858298475415383e+00, -9.936917178866837e+00, -9.984213937413436e+00, -1e+01, -9.984213937413436e+00, -9.936917178866837e+00, -9.858298475415383e+00, -9.748664367460417e+00, -9.608451843261719e+00, -9.438212135678004e+00, -9.238615576047238e+00, -9.010453680756207e+00, -8.754622375521754e+00, -8.472135543823242e+00, -8.16410758191112e+00, -7.831748301742326e+00, -7.476377705074368e+00, -7.099390452212329e+00, -6.702281951904297e+00] +les.t=[2e+00, 2e+00] +les.y=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +lesHys.y=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_LimitSlewRate.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_LimitSlewRate.txt new file mode 100644 index 0000000000..e750a219d2 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_LimitSlewRate.txt @@ -0,0 +1,11 @@ +last-generated=2017-10-24 +statistics-simulation= +{ + "numerical Jacobians": "0", + "nonlinear": " ", + "number of continuous time states": "1", + "linear": " " +} +sleRatLim.y=[0e+00, 0e+00, 0e+00, 1.437176146109914e-01, 3.037175877889218e-01, 4.637176096439362e-01, 6.237176314989503e-01, 7.837176831560915e-01, 9.437175480526151e-01, 1.103717540105203e+00, 1.263717651367188e+00, 1.423717643419882e+00, 1.499997735027099e+00, 1.422950080235559e+00, 1.262949961027015e+00, 1.102949976921082e+00, 9.429501120242484e-01, 7.829499332110463e-01, 6.229500683149274e-01, 4.629499193039529e-01, 3.02949994802475e-01, 1.429501150044332e-01, 8.814942139984681e-04, 2.059985892636918e-08, 4.000724315966706e-10, 2.597874519671972e-11, 1.549918677416678e-01, 3.149917773419613e-01, 4.749921806639448e-01, 6.349920455607775e-01, 7.949919700622559e-01, 9.549918945637342e-01, 1.114991819064833e+00, 1.274992192584495e+00, 1.434992057481897e+00, 1.499999284744263e+00, 1.5e+00, 1.5e+00, 1.42501119295857e+00, 1.265011208853016e+00, 1.105011343955994e+00, 9.450114194545162e-01, 7.850115545576826e-01, 6.250111214333758e-01, 4.650112565365431e-01, 3.050113320350647e-01, 1.450114522370225e-01, 1.060648718873344e-03, 9.954553664997234e-09, 3.021871829589923e-10, 5.703153227454294e-12, 1.519405420628424e-01, 3.119404367619747e-01, 4.719408400839582e-01, 6.319402559690765e-01, 7.919406294822693e-01, 9.519410626001087e-01, 1.111940418877725e+00, 1.271940792403854e+00, 1.431940267889246e+00, 1.499998569488525e+00, 1.5e+00, 1.5e+00, 1.42805973211702e+00, 1.268060256631628e+00, 1.108059883117676e+00, 9.480595096044812e-01, 7.880600937225974e-01, 6.280597201964679e-01, 4.680603043145862e-01, 3.080599009990692e-01, 1.480594976836488e-01, 1.396376906567395e-03, -3.14243751486786e-08, -6.434689225771209e-10, -4.178314638725311e-11, 1.340002801339638e-01, 2.77999814031906e-01, 4.220001740472615e-01, 5.659996185385207e-01, 7.099999785423279e-01, 8.540003385461368e-01, 9.97999842642039e-01, 1.142000143052845e+00, 1.285999647148748e+00, 1.429999947547913e+00, 1.49999713901343e+00, 1.5e+00, 1.437991555263012e+00, 1.29400039576508e+00, 1.149999976158142e+00, 1.00599967575822e+00, 8.62000171663074e-01, 7.179998116476237e-01, 5.740003671563663e-01, 4.300000071525574e-01, 2.859996471487502e-01, 1.420001877562351e-01, 3.011352473554726e-03, -6.480208271559414e-08, -5.38217415080311e-10] +sleRatLim.u=[0e+00, 0e+00, 0e+00, 3.300000417232489e-01, 6.89999940395393e-01, 1.049999952316284e+00, 1.41000002384182e+00, 1.5e+00, 1.5e+00, 1.5e+00, 1.5e+00, 1.5e+00, 1.5e+00, 1.320000166892512e+00, 9.59999749662197e-01, 6.000000238418579e-01, 2.400002235158549e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2.399998420487814e-01, 4.799996840976575e-01, 7.200003337837373e-01, 9.600001311292705e-01, 1.200000047683716e+00, 1.439999904633327e+00, 1.5e+00, 1.5e+00, 1.5e+00, 1.5e+00, 1.5e+00, 1.5e+00, 1.379999690058121e+00, 1.139999833108131e+00, 8.999999761581421e-01, 6.600001788127983e-01, 4.200002920606755e-01, 1.799997019788601e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.799998927123977e-01, 3.599997854247955e-01, 5.400002503376135e-01, 7.199995708568667e-01, 8.999999761581421e-01, 1.080000500668709e+00, 1.259999761579297e+00, 1.440000286103658e+00, 1.5e+00, 1.5e+00, 1.5e+00, 1.5e+00, 1.409999737737442e+00, 1.230000476826851e+00, 1.049999952316284e+00, 8.699995470150067e-01, 6.900002264997714e-01, 5.099997615794869e-01, 3.300004708660078e-01, 1.500000059604645e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.440003600038089e-01, 2.879998044952576e-01, 4.320001943126512e-01, 5.759996090025354e-01, 7.200000286102295e-01, 8.640003886132804e-01, 1.007999833105296e+00, 1.152000133516101e+00, 1.295999637612005e+00, 1.440000057220459e+00, 1.5e+00, 1.5e+00, 1.427999790189953e+00, 1.284000405303339e+00, 1.139999985694885e+00, 9.959996256910764e-01, 8.520001811998171e-01, 7.079998211843669e-01, 5.640003766931094e-01, 4.199999868869781e-01, 2.759996268833604e-01, 1.32000182391817e-01, 0e+00, 0e+00, 0e+00] +time=[0e+00, 4.8e+02] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Limiter.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Limiter.txt new file mode 100644 index 0000000000..9624b14eb3 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Limiter.txt @@ -0,0 +1,10 @@ +last-generated=2017-03-22 +statistics-simulation= +{ + "numerical Jacobians": "0", + "nonlinear": " ", + "linear": " " +} +limiter1.u=[0e+00, 4e-02, 8e-02, 1.2e-01, 1.6e-01, 2e-01, 2.4e-01, 2.8e-01, 3.2e-01, 3.6e-01, 4e-01, 4.4e-01, 4.8e-01, 5.2e-01, 5.600000000000001e-01, 6e-01, 6.4e-01, 6.8e-01, 7.2e-01, 7.6e-01, 8e-01, 8.4e-01, 8.8e-01, 9.2e-01, 9.6e-01, 1e+00, 1.04e+00, 1.08e+00, 1.12e+00, 1.16e+00, 1.2e+00, 1.24e+00, 1.28e+00, 1.32e+00, 1.36e+00, 1.4e+00, 1.44e+00, 1.48e+00, 1.52e+00, 1.56e+00, 1.6e+00, 1.64e+00, 1.68e+00, 1.72e+00, 1.76e+00, 1.8e+00, 1.84e+00, 1.88e+00, 1.92e+00, 1.96e+00, 2e+00, 2.04e+00, 2.08e+00, 2.12e+00, 2.16e+00, 2.2e+00, 2.24e+00, 2.28e+00, 2.32e+00, 2.36e+00, 2.4e+00, 2.44e+00, 2.48e+00, 2.52e+00, 2.56e+00, 2.6e+00, 2.64e+00, 2.68e+00, 2.72e+00, 2.76e+00, 2.8e+00, 2.84e+00, 2.88e+00, 2.92e+00, 2.96e+00, 3e+00, 3.04e+00, 3.08e+00, 3.12e+00, 3.16e+00, 3.2e+00, 3.24e+00, 3.28e+00, 3.32e+00, 3.36e+00, 3.4e+00, 3.44e+00, 3.48e+00, 3.52e+00, 3.56e+00, 3.6e+00, 3.64e+00, 3.68e+00, 3.72e+00, 3.76e+00, 3.8e+00, 3.84e+00, 3.88e+00, 3.92e+00, 3.96e+00, 4e+00] +limiter1.y=[1.200000047683716e+00, 1.200000047683716e+00, 1.200000047683716e+00, 1.200000047683716e+00, 1.200000047683716e+00, 1.200000047683716e+00, 1.200000047683716e+00, 1.200000047683716e+00, 1.200000047683716e+00, 1.200000047683716e+00, 1.200000047683716e+00, 1.200000047683716e+00, 1.200000047683716e+00, 1.200000047683716e+00, 1.200000047683716e+00, 1.200000047683716e+00, 1.200000047683716e+00, 1.200000047683716e+00, 1.200000047683716e+00, 1.200000047683716e+00, 1.200000047683716e+00, 1.200000047683716e+00, 1.200000047683716e+00, 1.200000047683716e+00, 1.200000047683716e+00, 1.200000047683716e+00, 1.200000047683716e+00, 1.200000047683716e+00, 1.200000047683716e+00, 1.200000047683716e+00, 1.200000047683716e+00, 1.24e+00, 1.28e+00, 1.32e+00, 1.36e+00, 1.4e+00, 1.44e+00, 1.48e+00, 1.52e+00, 1.56e+00, 1.6e+00, 1.64e+00, 1.68e+00, 1.72e+00, 1.76e+00, 1.8e+00, 1.84e+00, 1.88e+00, 1.92e+00, 1.96e+00, 2e+00, 2.04e+00, 2.08e+00, 2.12e+00, 2.16e+00, 2.2e+00, 2.24e+00, 2.28e+00, 2.32e+00, 2.36e+00, 2.4e+00, 2.44e+00, 2.48e+00, 2.5e+00, 2.5e+00, 2.5e+00, 2.5e+00, 2.5e+00, 2.5e+00, 2.5e+00, 2.5e+00, 2.5e+00, 2.5e+00, 2.5e+00, 2.5e+00, 2.5e+00, 2.5e+00, 2.5e+00, 2.5e+00, 2.5e+00, 2.5e+00, 2.5e+00, 2.5e+00, 2.5e+00, 2.5e+00, 2.5e+00, 2.5e+00, 2.5e+00, 2.5e+00, 2.5e+00, 2.5e+00, 2.5e+00, 2.5e+00, 2.5e+00, 2.5e+00, 2.5e+00, 2.5e+00, 2.5e+00, 2.5e+00, 2.5e+00, 2.5e+00] +time=[0e+00, 1e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Line.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Line.txt new file mode 100644 index 0000000000..2833030a15 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Line.txt @@ -0,0 +1,12 @@ +last-generated=2018-03-25 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +line1.u=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 6.000005587923019e-02, 1.199999329449346e-01, 1.80000000000009e-01, 2.400000447034213e-01, 2.999999403953552e-01, 3.6e-01, 4.200000298023224e-01, 4.799999105932283e-01, 5.400000000000001e-01, 6.00000059604467e-01, 6.599999403953551e-01, 7.2e-01, 7.8e-01, 8.400000596046449e-01, 8.99999940395533e-01, 9.599999999999999e-01, 1.020000059604254e+00, 1.079999999999787e+00, 1.139999999999929e+00, 1.200000119208934e+00, 1.259999940395604e+00, 1.320000059604609e+00, 1.380000059604325e+00, 1.439999999999716e+00, 1.5e+00, 1.559999999999432e+00, 1.620000119207016e+00, 1.680000119207584e+00, 1.739999880793269e+00, 1.799999880792132e+00, 1.859999999999858e+00, 1.919999999999573e+00, 1.9800001192073e+00, 2.040000119207726e+00, 2.099999761585684e+00, 2.160000000000852e+00, 2.220000000000284e+00, 2.279999999999716e+00, 2.339999999999148e+00, 2.400000238414316e+00, 2.459999880792274e+00, 2.519999880791705e+00, 2.579999880791989e+00, 2.640000119209289e+00, 2.700000119207158e+00, 2.76000011920801e+00, 2.819999761586537e+00, 2.880000000001137e+00, 2.940000000000568e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00] +line1.y=[5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5.200000596046447e-01, 5.799999403955683e-01, 6.4e-01, 7.000000596046448e-01, 7.59999940395604e-01, 8.199999999999998e-01, 8.800000596046447e-01, 9.399999403953552e-01, 1e+00, 1.059999999999432e+00, 1.120000119207016e+00, 1.180000119207584e+00, 1.239999880793269e+00, 1.299999880792132e+00, 1.359999999999858e+00, 1.419999999999573e+00, 1.4800001192073e+00, 1.5e+00, 1.5e+00, 1.5e+00, 1.5e+00, 1.5e+00, 1.5e+00, 1.5e+00, 1.5e+00, 1.5e+00, 1.5e+00, 1.5e+00, 1.5e+00, 1.5e+00, 1.5e+00, 1.5e+00, 1.5e+00, 1.5e+00, 1.5e+00, 1.5e+00, 1.5e+00, 1.5e+00, 1.5e+00, 1.5e+00, 1.5e+00, 1.5e+00, 1.5e+00, 1.5e+00, 1.5e+00, 1.5e+00, 1.5e+00, 1.5e+00, 1.5e+00, 1.5e+00, 1.5e+00, 1.5e+00, 1.5e+00, 1.5e+00, 1.5e+00, 1.5e+00, 1.5e+00, 1.5e+00, 1.5e+00] +time=[0e+00, 1e+00] +line3.y=[5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5.200000596046447e-01, 5.799999403955683e-01, 6.4e-01, 7.000000596046448e-01, 7.59999940395604e-01, 8.199999999999998e-01, 8.800000596046447e-01, 9.399999403953552e-01, 1e+00, 1.059999999999432e+00, 1.120000119207016e+00, 1.180000119207584e+00, 1.239999880793269e+00, 1.299999880792132e+00, 1.359999999999858e+00, 1.419999999999573e+00, 1.4800001192073e+00, 1.540000119207726e+00, 1.599999880793552e+00, 1.659999880792416e+00, 1.720000000000284e+00, 1.779999999999716e+00, 1.840000119207584e+00, 1.900000119206448e+00, 1.959999880792274e+00, 2.019999880791705e+00, 2.079999880791989e+00, 2.140000119209289e+00, 2.200000119207158e+00, 2.26000011920801e+00, 2.319999761586537e+00, 2.380000000001137e+00, 2.440000000000568e+00, 2.5e+00, 2.5e+00, 2.5e+00, 2.5e+00, 2.5e+00, 2.5e+00, 2.5e+00, 2.5e+00, 2.5e+00, 2.5e+00, 2.5e+00, 2.5e+00, 2.5e+00, 2.5e+00, 2.5e+00, 2.5e+00, 2.5e+00, 2.5e+00, 2.5e+00, 2.5e+00, 2.5e+00, 2.5e+00, 2.5e+00, 2.5e+00, 2.5e+00, 2.5e+00] +line2.y=[-5e-01, -5e-01, -5e-01, -5e-01, -5e-01, -5e-01, -5e-01, -5e-01, -5e-01, -5e-01, -5e-01, -5e-01, -5e-01, -5e-01, -5e-01, -5e-01, -5e-01, -5e-01, -5e-01, -5e-01, -5e-01, -5e-01, -5e-01, -5e-01, -5e-01, -5e-01, -4.399999403954973e-01, -3.800000596044848e-01, -3.199999999999821e-01, -2.599999403954797e-01, -2.000000745056284e-01, -1.400000149011257e-01, -7.999995529662296e-02, -2.000007823094963e-02, 3.999997764830499e-02, 1.000000372528362e-01, 1.599999105932459e-01, 2.199999701977486e-01, 2.800000298022514e-01, 3.400000894067541e-01, 3.999999701977666e-01, 4.60000029802269e-01, 5.200000596046447e-01, 5.799999403955683e-01, 6.4e-01, 7.000000596046448e-01, 7.59999940395604e-01, 8.199999999999998e-01, 8.800000596046447e-01, 9.399999403953552e-01, 1e+00, 1.059999999999432e+00, 1.120000119207016e+00, 1.180000119207584e+00, 1.239999880793269e+00, 1.299999880792132e+00, 1.359999999999858e+00, 1.419999999999573e+00, 1.4800001192073e+00, 1.5e+00, 1.5e+00, 1.5e+00, 1.5e+00, 1.5e+00, 1.5e+00, 1.5e+00, 1.5e+00, 1.5e+00, 1.5e+00, 1.5e+00, 1.5e+00, 1.5e+00, 1.5e+00, 1.5e+00, 1.5e+00, 1.5e+00, 1.5e+00, 1.5e+00, 1.5e+00, 1.5e+00, 1.5e+00, 1.5e+00, 1.5e+00, 1.5e+00, 1.5e+00, 1.5e+00, 1.5e+00, 1.5e+00, 1.5e+00, 1.5e+00, 1.5e+00, 1.5e+00, 1.5e+00, 1.5e+00, 1.5e+00, 1.5e+00, 1.5e+00, 1.5e+00, 1.5e+00, 1.5e+00, 1.5e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Log.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Log.txt new file mode 100644 index 0000000000..d136279727 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Log.txt @@ -0,0 +1,10 @@ +last-generated=2017-03-22 +statistics-simulation= +{ + "numerical Jacobians": "0", + "nonlinear": " ", + "linear": " " +} +log1.y=[0e+00, 4.87901653511907e-02, 9.531018340211317e-02, 1.397619425476533e-01, 1.823215670729271e-01, 2.231435447811441e-01, 2.623642734412664e-01, 3.001045871622895e-01, 3.364722494340859e-01, 3.715635414354568e-01, 4.054650912516052e-01, 4.382549245449546e-01, 4.700036430470175e-01, 5.007752920205341e-01, 5.306282621920957e-01, 5.596157737652154e-01, 5.877866844061271e-01, 6.151856135546999e-01, 6.418538500892152e-01, 6.678294004381674e-01, 6.931471749953008e-01, 7.178397934221931e-01, 7.419373421374558e-01, 7.654678128261045e-01, 7.884573462059203e-01, 8.109301924705505e-01, 8.329091278955197e-01, 8.544153342368299e-01, 8.754687284378073e-01, 8.960880211074321e-01, 9.162907361504637e-01, 9.360933256992704e-01, 9.555114644960276e-01, 9.745596399379585e-01, 9.932517939020038e-01, 1.011600982039204e+00, 1.029619429746953e+00, 1.047318927014163e+00, 1.064710744481755e+00, 1.081805253391175e+00, 1.098612298551422e+00, 1.115141636025742e+00, 1.131402156010907e+00, 1.147402394367896e+00, 1.163150791073057e+00, 1.17865504665456e+00, 1.193922507021068e+00, 1.208960296500148e+00, 1.223775402565348e+00, 1.238374219404505e+00, 1.252762913703918e+00, 1.266947640480112e+00, 1.280933883417454e+00, 1.2947272453679e+00, 1.308332771830331e+00, 1.321755870161993e+00, 1.335001107889229e+00, 1.348073134162674e+00, 1.360976598174184e+00, 1.373715553061437e+00, 1.386294335089752e+00, 1.398716908891871e+00, 1.410987013716791e+00, 1.423108345047654e+00, 1.435084598384375e+00, 1.446918992402212e+00, 1.458615034090746e+00, 1.470175843106814e+00, 1.4816045679737e+00, 1.492904069715428e+00, 1.504077447769877e+00, 1.515127205561355e+00, 1.526056258541375e+00, 1.536867240401427e+00, 1.547562469816798e+00, 1.558144569396973e+00, 1.568615923314669e+00, 1.578978677366089e+00, 1.589235215740434e+00, 1.599387504817228e+00, 1.60943793057223e+00, 1.619388220331528e+00, 1.629240519853165e+00, 1.638996736501479e+00, 1.648658658424125e+00, 1.658228017014481e+00, 1.667706833682531e+00, 1.677096600840192e+00, 1.686398987412684e+00, 1.695615662334325e+00, 1.704748056132789e+00, 1.713797903255172e+00, 1.722766622887942e+00, 1.731655591351249e+00, 1.740466119948478e+00, 1.749199877605231e+00, 1.757857937221502e+00, 1.766441678368624e+00, 1.774952276264959e+00, 1.783391229237872e+00, 1.791759490966797e+00] +log1.u=[1e+00, 1.04999995343387e+00, 1.10000002607703e+00, 1.149999979510896e+00, 1.200000052154059e+00, 1.249999996274714e+00, 1.299999959021799e+00, 1.350000022351741e+00, 1.399999985098812e+00, 1.450000029802376e+00, 1.499999992549442e+00, 1.549999955296508e+00, 1.600000037252863e+00, 1.649999999999929e+00, 1.700000044703493e+00, 1.749999970197766e+00, 1.799999970197624e+00, 1.850000014901188e+00, 1.899999940395462e+00, 1.950000059604609e+00, 1.999999985098883e+00, 2.049999985098741e+00, 2.099999910593015e+00, 2.150000074505868e+00, 2.200000074505726e+00, 2.25e+00, 2.299999999999858e+00, 2.349999850988548e+00, 2.400000089406985e+00, 2.450000089406843e+00, 2.499999940395533e+00, 2.549999940395391e+00, 2.599999940395249e+00, 2.650000029802518e+00, 2.700000029802376e+00, 2.750000029802234e+00, 2.799999880790923e+00, 2.849999880790782e+00, 2.900000119209218e+00, 2.950000119209077e+00, 2.999999970197766e+00, 3.049999970197624e+00, 3.099999970197482e+00, 3.150000059604751e+00, 3.200000059604609e+00, 3.250000059604467e+00, 3.299999910593157e+00, 3.349999910593015e+00, 3.400000149011452e+00, 3.450000000000142e+00, 3.5e+00, 3.549999999999148e+00, 3.599999999998295e+00, 3.650000238416022e+00, 3.699999940397274e+00, 3.749999940396421e+00, 3.799999940395213e+00, 3.849999940394715e+00, 3.900000178812442e+00, 3.950000178811589e+00, 3.999999880792842e+00, 4.050000119208863e+00, 4.099999880791705e+00, 4.150000119208295e+00, 4.199999880791137e+00, 4.25000011921e+00, 4.300000059603863e+00, 4.349999821189548e+00, 4.400000059604432e+00, 4.449999821186492e+00, 4.500000059605e+00, 4.550000298018747e+00, 4.599999761587389e+00, 4.649999999999432e+00, 4.699999761583411e+00, 4.75e+00, 4.800000238416589e+00, 4.850000000000568e+00, 4.900000238412611e+00, 4.949999701981253e+00, 4.999999940395e+00, 5.050000178813508e+00, 5.099999940395568e+00, 5.150000178810452e+00, 5.199999940396137e+00, 5.24999988079e+00, 5.300000119208863e+00, 5.349999880791705e+00, 5.400000119208295e+00, 5.449999880791137e+00, 5.50000011921e+00, 5.550000059603863e+00, 5.599999821189548e+00, 5.650000059604432e+00, 5.699999821186492e+00, 5.750000059605e+00, 5.800000298018747e+00, 5.849999761587389e+00, 5.899999999999432e+00, 5.949999761583411e+00, 6e+00] +time=[0e+00, 1e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Log10.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Log10.txt new file mode 100644 index 0000000000..a14c5cda78 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Log10.txt @@ -0,0 +1,10 @@ +last-generated=2017-03-22 +statistics-simulation= +{ + "numerical Jacobians": "0", + "nonlinear": " ", + "linear": " " +} +log10_1.u=[1e+00, 1.090000035390258e+00, 1.179999951571227e+00, 1.26999998696148e+00, 1.360000022351743e+00, 1.450000040978192e+00, 1.53999997392297e+00, 1.629999992549414e+00, 1.720000044703457e+00, 1.809999910593299e+00, 1.899999962747119e+00, 1.990000014901117e+00, 2.079999947846056e+00, 2.170000119208934e+00, 2.259999985098883e+00, 2.349999850988832e+00, 2.440000089406701e+00, 2.52999995529665e+00, 2.619999821186599e+00, 2.710000059604467e+00, 2.799999925494416e+00, 2.890000163912285e+00, 2.980000029802234e+00, 3.069999895692183e+00, 3.160000134110051e+00, 3.25e+00, 3.340000000000426e+00, 3.429999970197198e+00, 3.519999970197767e+00, 3.609999970198051e+00, 3.699999940394822e+00, 3.789999940395533e+00, 3.880000178813401e+00, 3.969999910592447e+00, 4.059999910592873e+00, 4.150000149011878e+00, 4.239999642374903e+00, 4.329999880790497e+00, 4.420000119209503e+00, 4.510000357625097e+00, 4.599999850988122e+00, 4.690000089407127e+00, 4.780000327823006e+00, 4.869999821187451e+00, 4.960000059604751e+00, 5.050000298020914e+00, 5.13999979138536e+00, 5.230000029802375e+00, 5.320000268218823e+00, 5.409999761583268e+00, 5.5e+00, 5.590000238415453e+00, 5.679999999998295e+00, 5.770000238416022e+00, 5.859999940397274e+00, 5.949999701980684e+00, 6.039999940394929e+00, 6.130000178811589e+00, 6.219999940393863e+00, 6.310000178811589e+00, 6.399999880792842e+00, 6.489999642376821e+00, 6.579999880791137e+00, 6.670000119208863e+00, 6.760000357623179e+00, 6.850000119207158e+00, 6.939999821188411e+00, 7.030000059606137e+00, 7.119999821188411e+00, 7.210000059605071e+00, 7.300000298019316e+00, 7.390000059602726e+00, 7.479999761583978e+00, 7.570000000001705e+00, 7.659999761584547e+00, 7.75e+00, 7.840000238415453e+00, 7.929999999998295e+00, 8.020000715246358e+00, 8.109999463565231e+00, 8.199999701980685e+00, 8.289999940395498e+00, 8.380000178811589e+00, 8.470000417227041e+00, 8.560000655642495e+00, 8.649999403961369e+00, 8.739999642376821e+00, 8.829999880792274e+00, 8.920000119207726e+00, 9.010000357623179e+00, 9.100000596038631e+00, 9.189999344357505e+00, 9.279999582772959e+00, 9.369999821188411e+00, 9.460000059604502e+00, 9.550000298019315e+00, 9.640000536434769e+00, 9.729999284753642e+00, 9.819999523169095e+00, 9.909999761584547e+00, 1e+01] +log10_1.y=[0e+00, 3.742649858220613e-02, 7.18820109758098e-02, 1.038037260997729e-01, 1.335389043585886e-01, 1.613679955061617e-01, 1.875207308993131e-01, 2.121876023974158e-01, 2.355284582269037e-01, 2.576785606016807e-01, 2.787536053851314e-01, 2.98853070709295e-01, 3.180633535502984e-01, 3.364597346486957e-01, 3.541084517619527e-01, 3.710678418299149e-01, 3.873898444033221e-01, 4.031205149583229e-01, 4.18301273605842e-01, 4.329693053663421e-01, 4.471580344425053e-01, 4.608978419489416e-01, 4.742162541242582e-01, 4.871383554110801e-01, 4.996870822313831e-01, 5.118833780288696e-01, 5.237465016087187e-01, 5.352941032853558e-01, 5.465426431736189e-01, 5.575072259428951e-01, 5.682017080907371e-01, 5.786392068058227e-01, 5.888317299250471e-01, 5.987905134503726e-01, 6.085260475937914e-01, 6.180480774629971e-01, 6.273658143452093e-01, 6.364878968975151e-01, 6.454222840428571e-01, 6.541765455954225e-01, 6.627578088560032e-01, 6.711728602593336e-01, 6.794279324743894e-01, 6.875289621060264e-01, 6.954816598572753e-01, 7.032913657739597e-01, 7.109631236405023e-01, 7.185016879392503e-01, 7.25911625148262e-01, 7.331972649222533e-01, 7.403627038002014e-01, 7.47411794167591e-01, 7.54348350754759e-01, 7.611758306413343e-01, 7.678975915621049e-01, 7.745169322743997e-01, 7.810369118497619e-01, 7.874604509116604e-01, 7.937904105003856e-01, 8.000293536287113e-01, 8.061799857236646e-01, 8.12244704679021e-01, 8.182259173639093e-01, 8.241258291493335e-01, 8.299467050181898e-01, 8.356905715427533e-01, 8.413594813267283e-01, 8.469552900865419e-01, 8.524799903655191e-01, 8.57935251096381e-01, 8.633228604169347e-01, 8.686444276676255e-01, 8.739015906380392e-01, 8.790958425157064e-01, 8.842287610925411e-01, 8.893017172813416e-01, 8.943160819812639e-01, 8.992732261147696e-01, 9.041744013828096e-01, 9.090208307691702e-01, 9.138138237338435e-01, 9.185545433234805e-01, 9.232440028137323e-01, 9.278833943052808e-01, 9.324737906868101e-01, 9.370161187092783e-01, 9.415114457938731e-01, 9.459606983990982e-01, 9.503648301971384e-01, 9.54724794865294e-01, 9.590414268752712e-01, 9.633154757430347e-01, 9.675479460929975e-01, 9.717395871814256e-01, 9.758911142654354e-01, 9.800033618081897e-01, 9.840770450725479e-01, 9.881128553747331e-01, 9.921114964792118e-01, 9.960736594697506e-01, 1e+00] +time=[0e+00, 1e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_MatrixGain.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_MatrixGain.txt new file mode 100644 index 0000000000..c228439473 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_MatrixGain.txt @@ -0,0 +1,17 @@ +last-generated=2019-02-11 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +matGai.y[1]=[0e+00, 2e-02, 4e-02, 6e-02, 8e-02, 1e-01, 1.2e-01, 1.4e-01, 1.6e-01, 1.8e-01, 2e-01, 2.2e-01, 2.4e-01, 2.6e-01, 2.8e-01, 3e-01, 3.2e-01, 3.4e-01, 3.6e-01, 3.8e-01, 4e-01, 4.2e-01, 4.4e-01, 4.6e-01, 4.8e-01, 5e-01, 5.2e-01, 5.4e-01, 5.600000000000001e-01, 5.8e-01, 6e-01, 6.2e-01, 6.4e-01, 6.6e-01, 6.8e-01, 7e-01, 7.2e-01, 7.4e-01, 7.6e-01, 7.8e-01, 8e-01, 8.2e-01, 8.4e-01, 8.6e-01, 8.8e-01, 9e-01, 9.2e-01, 9.399999999999999e-01, 9.6e-01, 9.8e-01, 1e+00, 1.02e+00, 1.04e+00, 1.06e+00, 1.08e+00, 1.1e+00, 1.12e+00, 1.14e+00, 1.16e+00, 1.18e+00, 1.2e+00, 1.22e+00, 1.24e+00, 1.26e+00, 1.28e+00, 1.3e+00, 1.32e+00, 1.34e+00, 1.36e+00, 1.38e+00, 1.4e+00, 1.42e+00, 1.44e+00, 1.46e+00, 1.48e+00, 1.5e+00, 1.52e+00, 1.54e+00, 1.56e+00, 1.58e+00, 1.6e+00, 1.62e+00, 1.64e+00, 1.66e+00, 1.68e+00, 1.7e+00, 1.72e+00, 1.74e+00, 1.76e+00, 1.78e+00, 1.8e+00, 1.82e+00, 1.84e+00, 1.86e+00, 1.88e+00, 1.9e+00, 1.92e+00, 1.94e+00, 1.96e+00, 1.98e+00, 2e+00] +matGai.y[2]=[0e+00, 4e-02, 8e-02, 1.2e-01, 1.6e-01, 2e-01, 2.4e-01, 2.8e-01, 3.2e-01, 3.6e-01, 4e-01, 4.4e-01, 4.8e-01, 5.2e-01, 5.600000000000001e-01, 6e-01, 6.4e-01, 6.8e-01, 7.2e-01, 7.6e-01, 8e-01, 8.4e-01, 8.8e-01, 9.2e-01, 9.6e-01, 1e+00, 1.04e+00, 1.08e+00, 1.12e+00, 1.16e+00, 1.2e+00, 1.24e+00, 1.28e+00, 1.32e+00, 1.36e+00, 1.4e+00, 1.44e+00, 1.48e+00, 1.52e+00, 1.56e+00, 1.6e+00, 1.64e+00, 1.68e+00, 1.72e+00, 1.76e+00, 1.8e+00, 1.84e+00, 1.88e+00, 1.92e+00, 1.96e+00, 2e+00, 2.04e+00, 2.08e+00, 2.12e+00, 2.16e+00, 2.2e+00, 2.24e+00, 2.28e+00, 2.32e+00, 2.36e+00, 2.4e+00, 2.44e+00, 2.48e+00, 2.52e+00, 2.56e+00, 2.6e+00, 2.64e+00, 2.68e+00, 2.72e+00, 2.76e+00, 2.8e+00, 2.84e+00, 2.88e+00, 2.92e+00, 2.96e+00, 3e+00, 3.04e+00, 3.08e+00, 3.12e+00, 3.16e+00, 3.2e+00, 3.24e+00, 3.28e+00, 3.32e+00, 3.36e+00, 3.4e+00, 3.44e+00, 3.48e+00, 3.52e+00, 3.56e+00, 3.6e+00, 3.64e+00, 3.68e+00, 3.72e+00, 3.76e+00, 3.8e+00, 3.84e+00, 3.88e+00, 3.92e+00, 3.96e+00, 4e+00] +matGai.y[3]=[0e+00, 5.999999999999959e-02, 1.2e-01, 1.800000111758646e-01, 2.400000000000033e-01, 3.000000074505723e-01, 3.600000223517368e-01, 4.199999850988366e-01, 4.8e-01, 5.4e-01, 6.000000149011613e-01, 6.600000298023047e-01, 7.200000447034036e-01, 7.8e-01, 8.399999701976955e-01, 8.999999403955328e-01, 9.6e-01, 1.019999970197731e+00, 1.079999999999787e+00, 1.139999999999929e+00, 1.200000029802234e+00, 1.260000029802127e+00, 1.320000059604609e+00, 1.379999970197802e+00, 1.440000089406807e+00, 1.5e+00, 1.560000000000284e+00, 1.619999940395675e+00, 1.679999940395391e+00, 1.740000059604396e+00, 1.799999880791066e+00, 1.860000000000071e+00, 1.920000000000213e+00, 1.979999940395746e+00, 2.039999940395675e+00, 2.099999940395533e+00, 2.159999999999574e+00, 2.219999999999858e+00, 2.280000000000142e+00, 2.340000000000426e+00, 2.400000059604467e+00, 2.460000059604325e+00, 2.520000059605036e+00, 2.57999988079135e+00, 2.640000119209077e+00, 2.700000119208224e+00, 2.759999940395107e+00, 2.819999940395391e+00, 2.880000178812975e+00, 2.939999999999716e+00, 3e+00, 3.059999999999432e+00, 3.119999999998863e+00, 3.180000238413463e+00, 3.23999988079199e+00, 3.299999880792842e+00, 3.359999880790711e+00, 3.420000119208011e+00, 3.480000119208295e+00, 3.540000119207726e+00, 3.599999761585684e+00, 3.660000000000852e+00, 3.720000000000284e+00, 3.779999999999716e+00, 3.839999999999148e+00, 3.900000238414316e+00, 3.959999880792274e+00, 4.019999880791706e+00, 4.079999880791137e+00, 4.139999880790994e+00, 4.19999988079e+00, 4.260000357621474e+00, 4.320000000001705e+00, 4.380000000001137e+00, 4.440000000000568e+00, 4.5e+00, 4.559999999999432e+00, 4.619999999998863e+00, 4.679999999998295e+00, 4.739999642378526e+00, 4.80000011921e+00, 4.860000119209006e+00, 4.920000119208863e+00, 4.980000119208294e+00, 5.040000119207726e+00, 5.099999761582842e+00, 5.159999761582274e+00, 5.219999761582842e+00, 5.280000238417158e+00, 5.340000238417726e+00, 5.400000238417158e+00, 5.459999880792274e+00, 5.519999880791706e+00, 5.579999880791137e+00, 5.639999880790994e+00, 5.69999988079e+00, 5.760000357621474e+00, 5.820000000001705e+00, 5.880000000001137e+00, 5.940000000000568e+00, 6e+00] +time=[0e+00, 1e+00] +matGai.u[2]=[0e+00, 2e-02, 4e-02, 6e-02, 8e-02, 1e-01, 1.2e-01, 1.4e-01, 1.6e-01, 1.8e-01, 2e-01, 2.2e-01, 2.4e-01, 2.6e-01, 2.8e-01, 3e-01, 3.2e-01, 3.4e-01, 3.6e-01, 3.8e-01, 4e-01, 4.2e-01, 4.4e-01, 4.6e-01, 4.8e-01, 5e-01, 5.2e-01, 5.4e-01, 5.600000000000001e-01, 5.8e-01, 6e-01, 6.2e-01, 6.4e-01, 6.6e-01, 6.8e-01, 7e-01, 7.2e-01, 7.4e-01, 7.6e-01, 7.8e-01, 8e-01, 8.2e-01, 8.4e-01, 8.6e-01, 8.8e-01, 9e-01, 9.2e-01, 9.399999999999999e-01, 9.6e-01, 9.8e-01, 1e+00, 1.02e+00, 1.04e+00, 1.06e+00, 1.08e+00, 1.1e+00, 1.12e+00, 1.14e+00, 1.16e+00, 1.18e+00, 1.2e+00, 1.22e+00, 1.24e+00, 1.26e+00, 1.28e+00, 1.3e+00, 1.32e+00, 1.34e+00, 1.36e+00, 1.38e+00, 1.4e+00, 1.42e+00, 1.44e+00, 1.46e+00, 1.48e+00, 1.5e+00, 1.52e+00, 1.54e+00, 1.56e+00, 1.58e+00, 1.6e+00, 1.62e+00, 1.64e+00, 1.66e+00, 1.68e+00, 1.7e+00, 1.72e+00, 1.74e+00, 1.76e+00, 1.78e+00, 1.8e+00, 1.82e+00, 1.84e+00, 1.86e+00, 1.88e+00, 1.9e+00, 1.92e+00, 1.94e+00, 1.96e+00, 1.98e+00, 2e+00] +matGai.u[1]=[0e+00, 2e-02, 4e-02, 6e-02, 8e-02, 1e-01, 1.2e-01, 1.4e-01, 1.6e-01, 1.8e-01, 2e-01, 2.2e-01, 2.4e-01, 2.6e-01, 2.8e-01, 3e-01, 3.2e-01, 3.4e-01, 3.6e-01, 3.8e-01, 4e-01, 4.2e-01, 4.4e-01, 4.6e-01, 4.8e-01, 5e-01, 5.2e-01, 5.4e-01, 5.600000000000001e-01, 5.8e-01, 6e-01, 6.2e-01, 6.4e-01, 6.6e-01, 6.8e-01, 7e-01, 7.2e-01, 7.4e-01, 7.6e-01, 7.8e-01, 8e-01, 8.2e-01, 8.4e-01, 8.6e-01, 8.8e-01, 9e-01, 9.2e-01, 9.399999999999999e-01, 9.6e-01, 9.8e-01, 1e+00, 1.02e+00, 1.04e+00, 1.06e+00, 1.08e+00, 1.1e+00, 1.12e+00, 1.14e+00, 1.16e+00, 1.18e+00, 1.2e+00, 1.22e+00, 1.24e+00, 1.26e+00, 1.28e+00, 1.3e+00, 1.32e+00, 1.34e+00, 1.36e+00, 1.38e+00, 1.4e+00, 1.42e+00, 1.44e+00, 1.46e+00, 1.48e+00, 1.5e+00, 1.52e+00, 1.54e+00, 1.56e+00, 1.58e+00, 1.6e+00, 1.62e+00, 1.64e+00, 1.66e+00, 1.68e+00, 1.7e+00, 1.72e+00, 1.74e+00, 1.76e+00, 1.78e+00, 1.8e+00, 1.82e+00, 1.84e+00, 1.86e+00, 1.88e+00, 1.9e+00, 1.92e+00, 1.94e+00, 1.96e+00, 1.98e+00, 2e+00] +matGai1.y[1]=[0e+00, 5.000000186264474e-02, 1.000000037252895e-01, 1.500000093132189e-01, 2.000000074505756e-01, 2.499999962747083e-01, 3.00000018626444e-01, 3.499999925494183e-01, 4.000000149011346e-01, 4.499999701977309e-01, 4.999999925494416e-01, 5.500000149011524e-01, 6.00000037252863e-01, 6.500000000000711e-01, 6.999999850988478e-01, 7.499999701977664e-01, 8.000000298022691e-01, 8.500000149011346e-01, 8.999999403954617e-01, 9.499999999999645e-01, 9.999999850988832e-01, 1.049999985098741e+00, 1.100000029802305e+00, 1.149999955296579e+00, 1.200000074505726e+00, 1.25e+00, 1.299999999999858e+00, 1.349999970197838e+00, 1.399999970197696e+00, 1.450000089406843e+00, 1.499999940395533e+00, 1.549999940395391e+00, 1.600000059604538e+00, 1.649999910593228e+00, 1.700000029802376e+00, 1.750000029802234e+00, 1.799999880790923e+00, 1.850000000000071e+00, 1.899999999999929e+00, 1.950000119209077e+00, 1.999999970197766e+00, 2.049999970197624e+00, 2.099999970197482e+00, 2.150000059604751e+00, 2.200000059604609e+00, 2.250000059604467e+00, 2.299999910593157e+00, 2.349999910593015e+00, 2.400000149011452e+00, 2.450000000000142e+00, 2.5e+00, 2.549999999999148e+00, 2.599999999998295e+00, 2.650000238416022e+00, 2.699999940397274e+00, 2.749999940396421e+00, 2.799999940395213e+00, 2.849999940394715e+00, 2.900000178812442e+00, 2.950000178811589e+00, 2.999999880792842e+00, 3.049999880791989e+00, 3.099999880791137e+00, 3.150000119208863e+00, 3.200000119208011e+00, 3.250000119207158e+00, 3.299999821188411e+00, 3.349999821187558e+00, 3.400000059605285e+00, 3.450000059604787e+00, 3.500000059603579e+00, 3.550000059602726e+00, 3.599999761583978e+00, 3.650000000001705e+00, 3.700000000000852e+00, 3.75e+00, 3.799999999999148e+00, 3.849999999998295e+00, 3.900000238416022e+00, 3.949999940397274e+00, 3.999999940396421e+00, 4.050000178813508e+00, 4.099999940395568e+00, 4.150000178810452e+00, 4.199999940396137e+00, 4.24999988079e+00, 4.300000119208863e+00, 4.349999880791705e+00, 4.400000119208295e+00, 4.449999880791137e+00, 4.50000011921e+00, 4.550000059603863e+00, 4.599999821189548e+00, 4.650000059604432e+00, 4.699999821186492e+00, 4.750000059605e+00, 4.800000298018747e+00, 4.849999761587389e+00, 4.899999999999432e+00, 4.949999761583411e+00, 5e+00] +matGai1.y[2]=[0e+00, 1.100000018626447e-01, 2.200000037252895e-01, 3.300000204890835e-01, 4.400000074505856e-01, 5.500000037252861e-01, 6.600000409781608e-01, 7.699999776482593e-01, 8.800000149011346e-01, 9.899999701977309e-01, 1.100000007450558e+00, 1.210000044703457e+00, 1.320000081956267e+00, 1.430000000000071e+00, 1.539999955296543e+00, 1.649999910593299e+00, 1.760000029802163e+00, 1.869999985098919e+00, 1.979999940395249e+00, 2.089999940395391e+00, 2.200000014901117e+00, 2.310000014901259e+00, 2.420000089406843e+00, 2.529999925494132e+00, 2.640000163912214e+00, 2.75e+00, 2.860000000000142e+00, 2.969999910592873e+00, 3.079999910593157e+00, 3.190000149010741e+00, 3.299999821187309e+00, 3.410000059604609e+00, 3.520000059604751e+00, 3.629999970197483e+00, 3.739999970197625e+00, 3.849999970197766e+00, 3.959999880790497e+00, 4.07000011920865e+00, 4.17999988079135e+00, 4.290000119207797e+00, 4.400000029801523e+00, 4.510000268220528e+00, 4.620000029804081e+00, 4.729999940396101e+00, 4.840000178813685e+00, 4.949999940396954e+00, 5.059999850989259e+00, 5.170000089406843e+00, 5.280000327824427e+00, 5.389999761582415e+00, 5.5e+00, 5.610000238416021e+00, 5.719999999999432e+00, 5.830000238417727e+00, 5.939999821191821e+00, 6.050000059605001e+00, 6.159999821185924e+00, 6.270000059602726e+00, 6.380000298018747e+00, 6.490000059603863e+00, 6.599999642378526e+00, 6.709999880794547e+00, 6.820000119209432e+00, 6.929999880790568e+00, 7.040000119205453e+00, 7.150000357621474e+00, 7.259999940396137e+00, 7.369999701981253e+00, 7.479999940397274e+00, 7.590000178814076e+00, 7.699999940394999e+00, 7.810000178808179e+00, 7.919999761582273e+00, 8.029999523172505e+00, 8.140000238418864e+00, 8.25e+00, 8.359999761581136e+00, 8.470000476827495e+00, 8.580000238417727e+00, 8.689999344359778e+00, 8.800000059605001e+00, 8.909999821185355e+00, 9.020000536438179e+00, 9.130000298022726e+00, 9.240000059603863e+00, 9.35000011921e+00, 9.459999880791136e+00, 9.569999642374547e+00, 9.680000357625453e+00, 9.790000119208864e+00, 9.89999988079e+00, 1.000999994039614e+01, 1.011999970197727e+01, 1.022999946356182e+01, 1.034000017881464e+01, 1.0449999940395e+01, 1.056000065564022e+01, 1.066999976158227e+01, 1.07799995231725e+01, 1.089000023841886e+01, 1.1e+01] +matGai1.u[1]=[0e+00, 1e-02, 2e-02, 3e-02, 4e-02, 5e-02, 6e-02, 7.000000000000001e-02, 8e-02, 9e-02, 1e-01, 1.1e-01, 1.2e-01, 1.3e-01, 1.4e-01, 1.5e-01, 1.6e-01, 1.7e-01, 1.8e-01, 1.9e-01, 2e-01, 2.1e-01, 2.2e-01, 2.3e-01, 2.4e-01, 2.5e-01, 2.6e-01, 2.7e-01, 2.8e-01, 2.9e-01, 3e-01, 3.1e-01, 3.2e-01, 3.3e-01, 3.4e-01, 3.5e-01, 3.6e-01, 3.7e-01, 3.8e-01, 3.9e-01, 4e-01, 4.1e-01, 4.2e-01, 4.3e-01, 4.4e-01, 4.5e-01, 4.6e-01, 4.7e-01, 4.8e-01, 4.9e-01, 5e-01, 5.1e-01, 5.2e-01, 5.3e-01, 5.4e-01, 5.5e-01, 5.600000000000001e-01, 5.7e-01, 5.8e-01, 5.9e-01, 6e-01, 6.1e-01, 6.2e-01, 6.3e-01, 6.4e-01, 6.5e-01, 6.6e-01, 6.7e-01, 6.8e-01, 6.899999999999999e-01, 7e-01, 7.1e-01, 7.2e-01, 7.3e-01, 7.4e-01, 7.5e-01, 7.6e-01, 7.7e-01, 7.8e-01, 7.9e-01, 8e-01, 8.100000000000001e-01, 8.2e-01, 8.3e-01, 8.4e-01, 8.5e-01, 8.6e-01, 8.7e-01, 8.8e-01, 8.9e-01, 9e-01, 9.1e-01, 9.2e-01, 9.3e-01, 9.399999999999999e-01, 9.5e-01, 9.6e-01, 9.7e-01, 9.8e-01, 9.9e-01, 1e+00] +matGai1.u[2]=[0e+00, 2e-02, 4e-02, 6e-02, 8e-02, 1e-01, 1.2e-01, 1.4e-01, 1.6e-01, 1.8e-01, 2e-01, 2.2e-01, 2.4e-01, 2.6e-01, 2.8e-01, 3e-01, 3.2e-01, 3.4e-01, 3.6e-01, 3.8e-01, 4e-01, 4.2e-01, 4.4e-01, 4.6e-01, 4.8e-01, 5e-01, 5.2e-01, 5.4e-01, 5.600000000000001e-01, 5.8e-01, 6e-01, 6.2e-01, 6.4e-01, 6.6e-01, 6.8e-01, 7e-01, 7.2e-01, 7.4e-01, 7.6e-01, 7.8e-01, 8e-01, 8.2e-01, 8.4e-01, 8.6e-01, 8.8e-01, 9e-01, 9.2e-01, 9.399999999999999e-01, 9.6e-01, 9.8e-01, 1e+00, 1.02e+00, 1.04e+00, 1.06e+00, 1.08e+00, 1.1e+00, 1.12e+00, 1.14e+00, 1.16e+00, 1.18e+00, 1.2e+00, 1.22e+00, 1.24e+00, 1.26e+00, 1.28e+00, 1.3e+00, 1.32e+00, 1.34e+00, 1.36e+00, 1.38e+00, 1.4e+00, 1.42e+00, 1.44e+00, 1.46e+00, 1.48e+00, 1.5e+00, 1.52e+00, 1.54e+00, 1.56e+00, 1.58e+00, 1.6e+00, 1.62e+00, 1.64e+00, 1.66e+00, 1.68e+00, 1.7e+00, 1.72e+00, 1.74e+00, 1.76e+00, 1.78e+00, 1.8e+00, 1.82e+00, 1.84e+00, 1.86e+00, 1.88e+00, 1.9e+00, 1.92e+00, 1.94e+00, 1.96e+00, 1.98e+00, 2e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_MatrixMax.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_MatrixMax.txt new file mode 100644 index 0000000000..beac4d5f52 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_MatrixMax.txt @@ -0,0 +1,15 @@ +last-generated=2019-05-24 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +matMax.y[1]=[6e+00, 6e+00] +matMax.y[3]=[6e+00, 6e+00] +matMax.y[2]=[9e+00, 9e+00] +time=[0e+00, 1e+00] +matMax1.y[1]=[4e+00, 4e+00] +matMax1.y[2]=[6e+00, 6e+00] +matMax2.y[2]=[6e+00, 6e+00] +matMax2.y[1]=[3e+00, 3e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_MatrixMin.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_MatrixMin.txt new file mode 100644 index 0000000000..beba9ec7f0 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_MatrixMin.txt @@ -0,0 +1,16 @@ +last-generated=2019-05-24 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +matMin.y[2]=[-9e+00, -9e+00] +matMin.y[3]=[-6e+00, -6e+00] +matMin.y[1]=[-6e+00, -6e+00] +time=[0e+00, 1e+00] +matMin1.y[2]=[-4e+00, -4e+00] +matMin1.y[1]=[-2e+00, -2e+00] +matMin1.y[3]=[-6e+00, -6e+00] +matMin2.y[1]=[-3e+00, -3e+00] +matMin2.y[2]=[-6e+00, -6e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Max.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Max.txt new file mode 100644 index 0000000000..d98f8b0265 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Max.txt @@ -0,0 +1,11 @@ +last-generated=2017-03-22 +statistics-simulation= +{ + "numerical Jacobians": "0", + "nonlinear": " ", + "linear": " " +} +max1.u2=[-1e+00, -9.800000186264507e-01, -9.599999776482565e-01, -9.399999962747084e-01, -9.200000149011579e-01, -8.99999977648261e-01, -8.799999925494144e-01, -8.600000149011634e-01, -8.399999701977309e-01, -8.200000000000001e-01, -8.000000149011612e-01, -7.799999701976954e-01, -7.599999850988388e-01, -7.4e-01, -7.200000298023046e-01, -7e-01, -6.799999999999999e-01, -6.60000029802269e-01, -6.4e-01, -6.2e-01, -6.000000298022335e-01, -5.799999701976777e-01, -5.600000000000001e-01, -5.400000298023224e-01, -5.199999701976776e-01, -5e-01, -4.799999701978197e-01, -4.600000298021625e-01, -4.399999999999999e-01, -4.19999970197802e-01, -4.000000298023224e-01, -3.8e-01, -3.6e-01, -3.400000298023224e-01, -3.2e-01, -3e-01, -2.800000298023224e-01, -2.6e-01, -2.399999850988743e-01, -2.199999701977842e-01, -2.000000149011167e-01, -1.8e-01, -1.599999701977753e-01, -1.400000149011079e-01, -1.199999925494283e-01, -9.99999776483026e-02, -8.000001490113007e-02, -5.999999627471642e-02, -3.999997764829821e-02, -2.000001862641598e-02, 0e+00, 2.000001862613177e-02, 4.000003725226355e-02, 6.00000558784486e-02, 7.99999552972359e-02, 9.999997764865798e-02, 1.199999925493573e-01, 1.400000149008946e-01, 1.600000298018249e-01, 1.800000596036677e-01, 1.999999552972269e-01, 2.199999701982105e-01, 2.399999850990164e-01, 2.599999999998579e-01, 2.800000298018961e-01, 3.00000059603579e-01, 3.199999403965277e-01, 3.399999701981751e-01, 3.600000000002133e-01, 3.800000000000709e-01, 4.00000029801967e-01, 4.200000298016828e-01, 4.399999403962078e-01, 4.59999970198246e-01, 4.799999701981039e-01, 5e-01, 5.199999999997158e-01, 5.400000596040764e-01, 5.600000596037922e-01, 5.799999403959948e-01, 6.000000000003554e-01, 6.199999999999291e-01, 6.399999999997867e-01, 6.600000596036499e-01, 6.800000596038631e-01, 6.999999403960657e-01, 7.200000000004263e-01, 7.400000000001421e-01, 7.599999999998579e-01, 7.799999999995737e-01, 8.000000596039343e-01, 8.199999403961369e-01, 8.399999403963501e-01, 8.600000000002133e-01, 8.800000000000709e-01, 8.999999999996446e-01, 9.200000596040052e-01, 9.399999403962078e-01, 9.599999403959236e-01, 9.800000000002842e-01, 1e+00] +max1.u1=[-2e+00, -1.960000037252901e+00, -1.919999955296513e+00, -1.879999992549417e+00, -1.840000029802316e+00, -1.799999955296522e+00, -1.759999985098829e+00, -1.720000029802327e+00, -1.679999940395462e+00, -1.64e+00, -1.600000029802322e+00, -1.559999940395391e+00, -1.519999970197678e+00, -1.48e+00, -1.440000059604609e+00, -1.4e+00, -1.36e+00, -1.320000059604538e+00, -1.28e+00, -1.24e+00, -1.200000059604467e+00, -1.159999940395355e+00, -1.12e+00, -1.080000059604645e+00, -1.039999940395355e+00, -1e+00, -9.599999403956394e-01, -9.20000059604325e-01, -8.799999999999999e-01, -8.39999940395604e-01, -8.000000596046448e-01, -7.6e-01, -7.2e-01, -6.800000596046447e-01, -6.399999999999999e-01, -6.000000000000001e-01, -5.600000596046448e-01, -5.2e-01, -4.799999701977486e-01, -4.399999403955683e-01, -4.000000298022335e-01, -3.600000000000001e-01, -3.199999403955507e-01, -2.800000298022158e-01, -2.399999850988566e-01, -1.999999552966052e-01, -1.600000298022601e-01, -1.199999925494328e-01, -7.999995529659643e-02, -4.000003725283197e-02, 0e+00, 4.000003725226355e-02, 8.000007450452709e-02, 1.200001117568972e-01, 1.599999105944718e-01, 1.99999955297316e-01, 2.399999850987147e-01, 2.800000298017893e-01, 3.200000596036499e-01, 3.600001192073355e-01, 3.999999105944538e-01, 4.39999940396421e-01, 4.799999701980329e-01, 5.199999999997158e-01, 5.600000596037922e-01, 6.00000119207158e-01, 6.399998807930554e-01, 6.799999403963501e-01, 7.200000000004265e-01, 7.600000000001419e-01, 8.000000596039341e-01, 8.400000596033657e-01, 8.799998807924156e-01, 9.19999940396492e-01, 9.599999403962078e-01, 1e+00, 1.039999999999432e+00, 1.080000119208153e+00, 1.120000119207584e+00, 1.15999988079199e+00, 1.200000000000711e+00, 1.239999999999858e+00, 1.279999999999573e+00, 1.3200001192073e+00, 1.360000119207726e+00, 1.399999880792131e+00, 1.440000000000853e+00, 1.480000000000284e+00, 1.519999999999716e+00, 1.559999999999147e+00, 1.600000119207869e+00, 1.639999880792274e+00, 1.6799998807927e+00, 1.720000000000427e+00, 1.760000000000142e+00, 1.799999999999289e+00, 1.84000011920801e+00, 1.879999880792416e+00, 1.919999880791847e+00, 1.960000000000568e+00, 2e+00] +max1.y=[-1e+00, -9.800000186264507e-01, -9.599999776482565e-01, -9.399999962747084e-01, -9.200000149011579e-01, -8.99999977648261e-01, -8.799999925494144e-01, -8.600000149011634e-01, -8.399999701977309e-01, -8.200000000000001e-01, -8.000000149011612e-01, -7.799999701976954e-01, -7.599999850988388e-01, -7.4e-01, -7.200000298023046e-01, -7e-01, -6.799999999999999e-01, -6.60000029802269e-01, -6.4e-01, -6.2e-01, -6.000000298022335e-01, -5.799999701976777e-01, -5.600000000000001e-01, -5.400000298023224e-01, -5.199999701976776e-01, -5e-01, -4.799999701978197e-01, -4.600000298021625e-01, -4.399999999999999e-01, -4.19999970197802e-01, -4.000000298023224e-01, -3.8e-01, -3.6e-01, -3.400000298023224e-01, -3.2e-01, -3e-01, -2.800000298023224e-01, -2.6e-01, -2.399999850988743e-01, -2.199999701977842e-01, -2.000000149011167e-01, -1.8e-01, -1.599999701977753e-01, -1.400000149011079e-01, -1.199999925494283e-01, -9.99999776483026e-02, -8.000001490113007e-02, -5.999999627471642e-02, -3.999997764829821e-02, -2.000001862641598e-02, 0e+00, 4.000003725226355e-02, 8.000007450452709e-02, 1.200001117568972e-01, 1.599999105944718e-01, 1.99999955297316e-01, 2.399999850987147e-01, 2.800000298017893e-01, 3.200000596036499e-01, 3.600001192073355e-01, 3.999999105944538e-01, 4.39999940396421e-01, 4.799999701980329e-01, 5.199999999997158e-01, 5.600000596037922e-01, 6.00000119207158e-01, 6.399998807930554e-01, 6.799999403963501e-01, 7.200000000004265e-01, 7.600000000001419e-01, 8.000000596039341e-01, 8.400000596033657e-01, 8.799998807924156e-01, 9.19999940396492e-01, 9.599999403962078e-01, 1e+00, 1.039999999999432e+00, 1.080000119208153e+00, 1.120000119207584e+00, 1.15999988079199e+00, 1.200000000000711e+00, 1.239999999999858e+00, 1.279999999999573e+00, 1.3200001192073e+00, 1.360000119207726e+00, 1.399999880792131e+00, 1.440000000000853e+00, 1.480000000000284e+00, 1.519999999999716e+00, 1.559999999999147e+00, 1.600000119207869e+00, 1.639999880792274e+00, 1.6799998807927e+00, 1.720000000000427e+00, 1.760000000000142e+00, 1.799999999999289e+00, 1.84000011920801e+00, 1.879999880792416e+00, 1.919999880791847e+00, 1.960000000000568e+00, 2e+00] +time=[0e+00, 1e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Min.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Min.txt new file mode 100644 index 0000000000..415d8c6e85 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Min.txt @@ -0,0 +1,11 @@ +last-generated=2017-03-22 +statistics-simulation= +{ + "numerical Jacobians": "0", + "nonlinear": " ", + "linear": " " +} +min1.y=[-2e+00, -1.960000037252901e+00, -1.919999955296513e+00, -1.879999992549417e+00, -1.840000029802316e+00, -1.799999955296522e+00, -1.759999985098829e+00, -1.720000029802327e+00, -1.679999940395462e+00, -1.64e+00, -1.600000029802322e+00, -1.559999940395391e+00, -1.519999970197678e+00, -1.48e+00, -1.440000059604609e+00, -1.4e+00, -1.36e+00, -1.320000059604538e+00, -1.28e+00, -1.24e+00, -1.200000059604467e+00, -1.159999940395355e+00, -1.12e+00, -1.080000059604645e+00, -1.039999940395355e+00, -1e+00, -9.599999403956394e-01, -9.20000059604325e-01, -8.799999999999999e-01, -8.39999940395604e-01, -8.000000596046448e-01, -7.6e-01, -7.2e-01, -6.800000596046447e-01, -6.399999999999999e-01, -6.000000000000001e-01, -5.600000596046448e-01, -5.2e-01, -4.799999701977486e-01, -4.399999403955683e-01, -4.000000298022335e-01, -3.600000000000001e-01, -3.199999403955507e-01, -2.800000298022158e-01, -2.399999850988566e-01, -1.999999552966052e-01, -1.600000298022601e-01, -1.199999925494328e-01, -7.999995529659643e-02, -4.000003725283197e-02, 0e+00, 2.000001862613177e-02, 4.000003725226355e-02, 6.00000558784486e-02, 7.99999552972359e-02, 9.999997764865798e-02, 1.199999925493573e-01, 1.400000149008946e-01, 1.600000298018249e-01, 1.800000596036677e-01, 1.999999552972269e-01, 2.199999701982105e-01, 2.399999850990164e-01, 2.599999999998579e-01, 2.800000298018961e-01, 3.00000059603579e-01, 3.199999403965277e-01, 3.399999701981751e-01, 3.600000000002133e-01, 3.800000000000709e-01, 4.00000029801967e-01, 4.200000298016828e-01, 4.399999403962078e-01, 4.59999970198246e-01, 4.799999701981039e-01, 5e-01, 5.199999999997158e-01, 5.400000596040764e-01, 5.600000596037922e-01, 5.799999403959948e-01, 6.000000000003554e-01, 6.199999999999291e-01, 6.399999999997867e-01, 6.600000596036499e-01, 6.800000596038631e-01, 6.999999403960657e-01, 7.200000000004263e-01, 7.400000000001421e-01, 7.599999999998579e-01, 7.799999999995737e-01, 8.000000596039343e-01, 8.199999403961369e-01, 8.399999403963501e-01, 8.600000000002133e-01, 8.800000000000709e-01, 8.999999999996446e-01, 9.200000596040052e-01, 9.399999403962078e-01, 9.599999403959236e-01, 9.800000000002842e-01, 1e+00] +min1.u2=[-1e+00, -9.800000186264507e-01, -9.599999776482565e-01, -9.399999962747084e-01, -9.200000149011579e-01, -8.99999977648261e-01, -8.799999925494144e-01, -8.600000149011634e-01, -8.399999701977309e-01, -8.200000000000001e-01, -8.000000149011612e-01, -7.799999701976954e-01, -7.599999850988388e-01, -7.4e-01, -7.200000298023046e-01, -7e-01, -6.799999999999999e-01, -6.60000029802269e-01, -6.4e-01, -6.2e-01, -6.000000298022335e-01, -5.799999701976777e-01, -5.600000000000001e-01, -5.400000298023224e-01, -5.199999701976776e-01, -5e-01, -4.799999701978197e-01, -4.600000298021625e-01, -4.399999999999999e-01, -4.19999970197802e-01, -4.000000298023224e-01, -3.8e-01, -3.6e-01, -3.400000298023224e-01, -3.2e-01, -3e-01, -2.800000298023224e-01, -2.6e-01, -2.399999850988743e-01, -2.199999701977842e-01, -2.000000149011167e-01, -1.8e-01, -1.599999701977753e-01, -1.400000149011079e-01, -1.199999925494283e-01, -9.99999776483026e-02, -8.000001490113007e-02, -5.999999627471642e-02, -3.999997764829821e-02, -2.000001862641598e-02, 0e+00, 2.000001862613177e-02, 4.000003725226355e-02, 6.00000558784486e-02, 7.99999552972359e-02, 9.999997764865798e-02, 1.199999925493573e-01, 1.400000149008946e-01, 1.600000298018249e-01, 1.800000596036677e-01, 1.999999552972269e-01, 2.199999701982105e-01, 2.399999850990164e-01, 2.599999999998579e-01, 2.800000298018961e-01, 3.00000059603579e-01, 3.199999403965277e-01, 3.399999701981751e-01, 3.600000000002133e-01, 3.800000000000709e-01, 4.00000029801967e-01, 4.200000298016828e-01, 4.399999403962078e-01, 4.59999970198246e-01, 4.799999701981039e-01, 5e-01, 5.199999999997158e-01, 5.400000596040764e-01, 5.600000596037922e-01, 5.799999403959948e-01, 6.000000000003554e-01, 6.199999999999291e-01, 6.399999999997867e-01, 6.600000596036499e-01, 6.800000596038631e-01, 6.999999403960657e-01, 7.200000000004263e-01, 7.400000000001421e-01, 7.599999999998579e-01, 7.799999999995737e-01, 8.000000596039343e-01, 8.199999403961369e-01, 8.399999403963501e-01, 8.600000000002133e-01, 8.800000000000709e-01, 8.999999999996446e-01, 9.200000596040052e-01, 9.399999403962078e-01, 9.599999403959236e-01, 9.800000000002842e-01, 1e+00] +min1.u1=[-2e+00, -1.960000037252901e+00, -1.919999955296513e+00, -1.879999992549417e+00, -1.840000029802316e+00, -1.799999955296522e+00, -1.759999985098829e+00, -1.720000029802327e+00, -1.679999940395462e+00, -1.64e+00, -1.600000029802322e+00, -1.559999940395391e+00, -1.519999970197678e+00, -1.48e+00, -1.440000059604609e+00, -1.4e+00, -1.36e+00, -1.320000059604538e+00, -1.28e+00, -1.24e+00, -1.200000059604467e+00, -1.159999940395355e+00, -1.12e+00, -1.080000059604645e+00, -1.039999940395355e+00, -1e+00, -9.599999403956394e-01, -9.20000059604325e-01, -8.799999999999999e-01, -8.39999940395604e-01, -8.000000596046448e-01, -7.6e-01, -7.2e-01, -6.800000596046447e-01, -6.399999999999999e-01, -6.000000000000001e-01, -5.600000596046448e-01, -5.2e-01, -4.799999701977486e-01, -4.399999403955683e-01, -4.000000298022335e-01, -3.600000000000001e-01, -3.199999403955507e-01, -2.800000298022158e-01, -2.399999850988566e-01, -1.999999552966052e-01, -1.600000298022601e-01, -1.199999925494328e-01, -7.999995529659643e-02, -4.000003725283197e-02, 0e+00, 4.000003725226355e-02, 8.000007450452709e-02, 1.200001117568972e-01, 1.599999105944718e-01, 1.99999955297316e-01, 2.399999850987147e-01, 2.800000298017893e-01, 3.200000596036499e-01, 3.600001192073355e-01, 3.999999105944538e-01, 4.39999940396421e-01, 4.799999701980329e-01, 5.199999999997158e-01, 5.600000596037922e-01, 6.00000119207158e-01, 6.399998807930554e-01, 6.799999403963501e-01, 7.200000000004265e-01, 7.600000000001419e-01, 8.000000596039341e-01, 8.400000596033657e-01, 8.799998807924156e-01, 9.19999940396492e-01, 9.599999403962078e-01, 1e+00, 1.039999999999432e+00, 1.080000119208153e+00, 1.120000119207584e+00, 1.15999988079199e+00, 1.200000000000711e+00, 1.239999999999858e+00, 1.279999999999573e+00, 1.3200001192073e+00, 1.360000119207726e+00, 1.399999880792131e+00, 1.440000000000853e+00, 1.480000000000284e+00, 1.519999999999716e+00, 1.559999999999147e+00, 1.600000119207869e+00, 1.639999880792274e+00, 1.6799998807927e+00, 1.720000000000427e+00, 1.760000000000142e+00, 1.799999999999289e+00, 1.84000011920801e+00, 1.879999880792416e+00, 1.919999880791847e+00, 1.960000000000568e+00, 2e+00] +time=[0e+00, 1e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Modulo.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Modulo.txt new file mode 100644 index 0000000000..a9faa35745 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Modulo.txt @@ -0,0 +1,11 @@ +last-generated=2017-03-22 +statistics-simulation= +{ + "numerical Jacobians": "0", + "nonlinear": " ", + "linear": " " +} +mod1.y=[1e+00, 1.120000007450586e+00, 1.240000014901171e+00, 1.360000022351709e+00, 1.480000029802289e+00, 1.600000014901145e+00, 4.000001117586838e-02, 1.299999925494161e-01, 2.200000149011346e-01, 3.099999701977308e-01, 3.999999925494416e-01, 4.900000149011523e-01, 5.800000074505406e-01, 6.700000596045738e-01, 7.599999850988478e-01, 8.499999701977664e-01, 9.400000298022692e-01, 1.029999955296543e+00, 1.119999940395462e+00, 1.210000059604609e+00, 1.299999925494238e+00, 1.390000044703386e+00, 1.480000029802305e+00, 1.570000014901223e+00, 1.660000014901081e+00, 1.75e+00, 1.840000119209148e+00, 1.929999850988548e+00, 2.019999970197767e+00, 2.109999970198051e+00, 2.199999940394822e+00, 2.289999940395533e+00, 2.380000178813401e+00, 2.469999910592447e+00, 3.999997764830499e-02, 1.000000372528362e-01, 1.599999105932459e-01, 2.199999701977486e-01, 2.800000298022514e-01, 3.400000894067541e-01, 3.999999701977666e-01, 4.60000029802269e-01, 5.200000596046447e-01, 5.799999403955683e-01, 6.4e-01, 7.000000596046448e-01, 7.59999940395604e-01, 8.199999999999998e-01, 8.800000596046447e-01, 9.399999403953552e-01, 1e+00, 1.059999999999432e+00, 1.120000119207016e+00, 1.180000119207584e+00, 1.239999880793269e+00, 1.299999880792132e+00, 1.359999999999858e+00, 1.419999999999573e+00, 1.4800001192073e+00, 1.540000119207726e+00, 1.599999880793552e+00, 1.659999880792416e+00, 1.720000000000284e+00, 1.779999999999716e+00, 1.840000119207584e+00, 1.900000119206448e+00, 1.959999880792274e+00, 2.019999880791705e+00, 2.079999880791989e+00, 2.140000119209289e+00, 2.200000119207158e+00, 2.26000011920801e+00, 2.319999761586537e+00, 2.380000000001137e+00, 2.440000000000568e+00, 2.5e+00, 2.559999999999432e+00, 2.619999999998863e+00, 2.680000238413463e+00, 2.73999988079199e+00, 2.799999880792842e+00, 2.859999880790711e+00, 2.920000119208011e+00, 2.980000119208295e+00, 3.040000119207726e+00, 3.099999761585684e+00, 3.160000000000852e+00, 3.220000000000284e+00, 3.279999999999716e+00, 3.339999999999148e+00, 3.400000238414316e+00, 3.459999880792274e+00, 3.519999880791705e+00, 3.579999880791989e+00, 3.640000119209289e+00, 3.700000119207158e+00, 3.76000011920801e+00, 3.819999761586537e+00, 3.880000000001137e+00, 3.940000000000568e+00, 4e+00] +mod1.u2=[1.5e+00, 1.529999972060327e+00, 1.559999944120655e+00, 1.59000003539023e+00, 1.620000007450599e+00, 1.649999973922997e+00, 1.679999951571254e+00, 1.710000037252895e+00, 1.740000014901188e+00, 1.769999970197838e+00, 1.799999947846002e+00, 1.830000044703457e+00, 1.860000022351782e+00, 1.890000000000071e+00, 1.919999955296543e+00, 1.950000029802234e+00, 1.980000029802162e+00, 2.009999985098812e+00, 2.039999940395249e+00, 2.069999940395391e+00, 2.099999895692183e+00, 2.130000134109767e+00, 2.160000089406843e+00, 2.190000044703421e+00, 2.220000044703563e+00, 2.25e+00, 2.280000000000142e+00, 2.309999910592873e+00, 2.339999910593157e+00, 2.369999910593157e+00, 2.400000059604467e+00, 2.430000059604609e+00, 2.460000059604751e+00, 2.489999970197482e+00, 2.519999970197624e+00, 2.549999970197766e+00, 2.579999880790497e+00, 2.609999880791208e+00, 2.640000119208792e+00, 2.670000119209503e+00, 2.700000029802234e+00, 2.730000029802376e+00, 2.760000029802518e+00, 2.789999940395249e+00, 2.819999940395391e+00, 2.849999940395533e+00, 2.880000089406843e+00, 2.910000089406843e+00, 2.940000089407127e+00, 2.969999999999858e+00, 3e+00, 3.029999999999716e+00, 3.059999999999432e+00, 3.089999999999148e+00, 3.119999821189263e+00, 3.150000059605e+00, 3.180000059604503e+00, 3.210000059604432e+00, 3.240000059604147e+00, 3.270000059603863e+00, 3.299999880791421e+00, 3.329999880791137e+00, 3.359999880791421e+00, 3.390000119208579e+00, 3.420000119208863e+00, 3.450000119208579e+00, 3.479999940396137e+00, 3.509999940395853e+00, 3.539999940395568e+00, 3.569999940395497e+00, 3.599999940395e+00, 3.630000178810737e+00, 3.660000000000852e+00, 3.690000000000568e+00, 3.720000000000284e+00, 3.75e+00, 3.779999999999716e+00, 3.809999999999432e+00, 3.839999999999148e+00, 3.869999821189263e+00, 3.900000059605e+00, 3.930000059604503e+00, 3.960000059604432e+00, 3.990000059604147e+00, 4.020000059603863e+00, 4.05000011921e+00, 4.079999880791137e+00, 4.110000119209432e+00, 4.139999880790568e+00, 4.170000119208863e+00, 4.19999988079e+00, 4.229999940396137e+00, 4.260000178814431e+00, 4.289999940395568e+00, 4.320000178814077e+00, 4.349999940395e+00, 4.380000178813295e+00, 4.409999761582274e+00, 4.440000000000568e+00, 4.469999761583979e+00, 4.5e+00] +mod1.u1=[-2e+00, -1.940000055879345e+00, -1.879999992549428e+00, -1.82000004842875e+00, -1.759999985098855e+00, -1.70000005215405e+00, -1.639999977648283e+00, -1.580000044703481e+00, -1.519999970197731e+00, -1.460000059604538e+00, -1.399999985098794e+00, -1.340000029802305e+00, -1.279999955296596e+00, -1.219999999999858e+00, -1.159999970197695e+00, -1.100000059604467e+00, -1.039999940395462e+00, -9.800000298022691e-01, -9.200000596044317e-01, -8.6e-01, -8.000000298022335e-01, -7.399999701976776e-01, -6.799999999999999e-01, -6.200000298023223e-01, -5.599999701976777e-01, -5e-01, -4.399999403954973e-01, -3.800000596044848e-01, -3.199999999999821e-01, -2.599999403954797e-01, -2.000000745056284e-01, -1.400000149011257e-01, -7.999995529662296e-02, -2.000007823094963e-02, 3.999997764830499e-02, 1.000000372528362e-01, 1.599999105932459e-01, 2.199999701977486e-01, 2.800000298022514e-01, 3.400000894067541e-01, 3.999999701977666e-01, 4.60000029802269e-01, 5.200000596046447e-01, 5.799999403955683e-01, 6.4e-01, 7.000000596046448e-01, 7.59999940395604e-01, 8.199999999999998e-01, 8.800000596046447e-01, 9.399999403953552e-01, 1e+00, 1.059999999999432e+00, 1.120000119207016e+00, 1.180000119207584e+00, 1.239999880793269e+00, 1.299999880792132e+00, 1.359999999999858e+00, 1.419999999999573e+00, 1.4800001192073e+00, 1.540000119207726e+00, 1.599999880793552e+00, 1.659999880792416e+00, 1.720000000000284e+00, 1.779999999999716e+00, 1.840000119207584e+00, 1.900000119206448e+00, 1.959999880792274e+00, 2.019999880791705e+00, 2.079999880791989e+00, 2.140000119209289e+00, 2.200000119207158e+00, 2.26000011920801e+00, 2.319999761586537e+00, 2.380000000001137e+00, 2.440000000000568e+00, 2.5e+00, 2.559999999999432e+00, 2.619999999998863e+00, 2.680000238413463e+00, 2.73999988079199e+00, 2.799999880792842e+00, 2.859999880790711e+00, 2.920000119208011e+00, 2.980000119208295e+00, 3.040000119207726e+00, 3.099999761585684e+00, 3.160000000000852e+00, 3.220000000000284e+00, 3.279999999999716e+00, 3.339999999999148e+00, 3.400000238414316e+00, 3.459999880792274e+00, 3.519999880791705e+00, 3.579999880791989e+00, 3.640000119209289e+00, 3.700000119207158e+00, 3.76000011920801e+00, 3.819999761586537e+00, 3.880000000001137e+00, 3.940000000000568e+00, 4e+00] +time=[0e+00, 1e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_MovingAverage.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_MovingAverage.txt new file mode 100644 index 0000000000..42b814e474 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_MovingAverage.txt @@ -0,0 +1,20 @@ +last-generated=2017-09-15 +statistics-simulation= +{ + "numerical Jacobians": "0", + "nonlinear": " ", + "number of continuous time states": "9", + "linear": " " +} +movAve1.y=[0e+00, 3.389549851417542e-01, 5.967000126838684e-01, 7.179645895957947e-01, 6.900429725646973e-01, 5.443436503410339e-01, 3.428270518779755e-01, 1.549198031425475e-01, 3.377144038677216e-02, 4.830255929846317e-04, 4.143456369638443e-02, 1.185182109475136e-01, 1.775919497013092e-01, 1.534560471773148e-01, 5.578513815999012e-02, -6.861740350723267e-02, -1.601397693157196e-01, -1.749258190393448e-01, -1.058895289897919e-01, 1.388753578066826e-02, 1.270097196102142e-01, 1.792702227830887e-01, 1.45626425743103e-01, 4.220050200819969e-02, -8.144774287939072e-02, -1.660671085119247e-01, -1.711090207099915e-01, -9.415744990110361e-02, 2.791333012282888e-02, 1.366084516048431e-01, 1.798425167798996e-01, 1.368982791900635e-01, 2.83540915697813e-02, -9.377695620059967e-02, -1.709713339805603e-01, -1.662381142377853e-01, -8.184557408094406e-02, 4.176636412739754e-02, 1.453643590211868e-01, 1.793054938316345e-01, 1.273255795240402e-01, 1.433276198804379e-02, -1.055281385779381e-01, -1.74821212887764e-01, -1.603420525789261e-01, -6.902889907360077e-02, 5.536215379834175e-02, 1.532242596149445e-01, 1.776631772518158e-01, 1.169678941369057e-01, 2.230705140391365e-04, -1.166287064552307e-01, -1.775934398174286e-01, -1.534575521945953e-01, -5.57866729795925e-02, 6.861647218465877e-02, 1.601391136646274e-01, 1.749250739812851e-01, 1.058888733386993e-01, -1.388819981366396e-02, -1.270102709531784e-01, -1.792707592248917e-01, -1.45626962184906e-01, -4.220058396458626e-02, 8.144768327474594e-02, 1.660670638084412e-01, 1.711089611053467e-01, 9.415764361619949e-02, -2.791319787502289e-02, -1.366083472967148e-01, -1.7984239757061e-01, -1.368981301784515e-01, -2.835390157997608e-02, 9.377717226743698e-02, 1.709713488817215e-01, 1.66238084435463e-01, 8.184552192687988e-02, -4.176643863320351e-02, -1.453644186258316e-01, -1.793055087327957e-01, -1.273255348205566e-01, -1.433268282562494e-02, 1.055282205343246e-01, 1.748212575912476e-01, 1.603420376777649e-01, 6.90288245677948e-02, -5.536217615008354e-02, -1.532242894172668e-01, -1.776631325483322e-01, -1.169679388403893e-01, -2.230993122793734e-04, 1.166286468505859e-01, 1.775933355093002e-01, 1.534574180841446e-01, 5.578653514385223e-02, -6.86165913939476e-02, -1.601394712924957e-01, -1.749254167079926e-01, -1.058892011642456e-01, 1.38878608122468e-02, 1.270100176334381e-01] +sinInpNoDel.y=[0e+00, 6.49448037147522e-01, 9.876883625984192e-01, 8.526401519775391e-01, 3.0901700258255e-01, -3.826834261417389e-01, -8.910065293312073e-01, -9.723699092864988e-01, -5.877852439880371e-01, 7.845909893512726e-02, 7.071067690849304e-01, 9.969173073768616e-01, 8.0901700258255e-01, 2.334453612565994e-01, -4.53990489244462e-01, -9.238795042037964e-01, -9.510565400123596e-01, -5.224985480308533e-01, 1.564344614744186e-01, 7.60405957698822e-01, 1e+00, 7.60405957698822e-01, 1.564344614744186e-01, -5.224985480308533e-01, -9.510565400123596e-01, -9.238795042037964e-01, -4.539904892444611e-01, 2.334453612566016e-01, 8.090170025825513e-01, 9.969173073768616e-01, 7.071067690849304e-01, 7.845909893512726e-02, -5.877852439880371e-01, -9.72369909286499e-01, -8.910065293312073e-01, -3.826834261417389e-01, 3.0901700258255e-01, 8.526401519775391e-01, 9.876883625984192e-01, 6.49448037147522e-01, 1.102182140856871e-15, -6.49448037147522e-01, -9.876883625984192e-01, -8.526401519775391e-01, -3.0901700258255e-01, 3.826834261417389e-01, 8.910065293312073e-01, 9.72369909286499e-01, 5.877852439880371e-01, -7.845909893512726e-02, -7.071067690849304e-01, -9.969173073768616e-01, -8.0901700258255e-01, -2.334453612565994e-01, 4.539904892444649e-01, 9.238795042037978e-01, 9.51056540012358e-01, 5.224985480308533e-01, -1.564344614744186e-01, -7.60405957698822e-01, -1e+00, -7.60405957698822e-01, -1.564344614744186e-01, 5.224985480308533e-01, 9.510565400123596e-01, 9.238795042037964e-01, 4.539904892444611e-01, -2.334453612565994e-01, -8.0901700258255e-01, -9.969173073768616e-01, -7.071067690849304e-01, -7.845909893512726e-02, 5.877852439880371e-01, 9.72369909286499e-01, 8.910065293312073e-01, 3.826834261417389e-01, -3.0901700258255e-01, -8.526401519775391e-01, -9.876883625984192e-01, -6.49448037147522e-01, -2.204364281713743e-15, 6.49448037147522e-01, 9.876883625984192e-01, 8.526401519775391e-01, 3.0901700258255e-01, -3.826834261417389e-01, -8.910065293312073e-01, -9.72369909286499e-01, -5.877852439880371e-01, 7.845909893512726e-02, 7.071067690849304e-01, 9.969173073768616e-01, 8.0901700258255e-01, 2.334453612565994e-01, -4.539904892444611e-01, -9.238795042037964e-01, -9.510565400123596e-01, -5.224985480308533e-01, 1.564344614744186e-01, 7.60405957698822e-01, 1e+00] +movAve4.y=[0e+00, 3.389549851417542e-01, 5.967000126838684e-01, 7.179645895957947e-01, 6.900429725646973e-01, 5.443436503410339e-01, 3.428270518779755e-01, 1.549198031425475e-01, 3.377144038677216e-02, 4.830255929846317e-04, 4.143456369638443e-02, 1.185182109475136e-01, 1.871866881847382e-01, 2.146396785974503e-01, 1.91086396574974e-01, 1.304052621126175e-01, 6.109518557786942e-02, 1.226198859512806e-02, 9.666834957897663e-04, 2.610068395733833e-02, 7.073471695184708e-02, 1.111178696155548e-01, 1.278175860643387e-01, 1.139536648988724e-01, 7.71610289812088e-02, 3.493234887719154e-02, 5.929954349994659e-03, 1.447161193937098e-03, 2.082676999270925e-02, 5.261008813977242e-02, 8.050157129764557e-02, 9.113048017024994e-02, 7.997562736272812e-02, 5.287735536694527e-02, 2.271851897239685e-02, 3.076368942856789e-03, 1.922936644405127e-03, 1.825706288218498e-02, 4.305276647210121e-02, 6.385768949985504e-02, 7.07351490855217e-02, 6.074267253279686e-02, 3.895249217748642e-02, 1.570955663919449e-02, 1.573308371007442e-03, -5.161688386579044e-05, -2.652381408552174e-05, 1.11070066850516e-05, 4.338383587310091e-05, 5.479332685354166e-05, 1.508346159084795e-08, 5.686097665602574e-06, -3.118301174254157e-05, -5.31343393959105e-05, -4.964845356880675e-05, -2.239601417386416e-05, 1.556374263600469e-05, 4.604352216119878e-05, 5.443870759336278e-05, 3.672677848953754e-05, 1.394584046465752e-06, -3.46267297572922e-05, -5.407609569374472e-05, -4.763405377161689e-05, -1.838718708313536e-05, 1.964964758371934e-05, 4.824979259865358e-05, 5.367425183067098e-05, 3.335780638735741e-05, -2.975371899083257e-06, -3.792411007452756e-05, -5.474135105032474e-05, -4.536812411970459e-05, -1.429644180461764e-05, 2.358484380238224e-05, 5.012346446164884e-05, 5.260223406367004e-05, 2.983349259011447e-05, -7.28563964003115e-06, -4.092561357538216e-05, -5.502470230567269e-05, -4.278573032934219e-05, -1.008700746751856e-05, 2.74038320640102e-05, 5.172134478925727e-05, 5.121333742863499e-05, 2.612258322187699e-05, -1.152718778030248e-05, -4.369488669908606e-05, -3.926824138034135e-05, -3.994911457994021e-05, -5.825782409374369e-06, 3.104283314314671e-05, 5.300846169120632e-05, 4.953418465447612e-05, 2.228274570370559e-05, -1.567616345710121e-05, -4.61555719084572e-05, -5.454964411910623e-05, -3.683657268993556e-05, -6.57378507185058e-08] +time=[0e+00, 9e+02] +movAve2.y=[0e+00, 3.389549851417542e-01, 5.967000126838684e-01, 7.179645895957947e-01, 6.900429725646973e-01, 5.443436503410339e-01, 3.428270518779755e-01, 1.549198031425475e-01, 3.377144038677216e-02, 4.830255929846317e-04, 4.143456369638443e-02, 1.185182109475136e-01, 1.871866881847382e-01, 2.146396785974503e-01, 1.91086396574974e-01, 1.304052621126175e-01, 6.109518557786942e-02, 1.226198859512806e-02, 9.666834957897663e-04, 2.610068395733833e-02, 7.073471695184708e-02, 1.111178696155548e-01, 1.278175860643387e-01, 1.085061728954315e-01, 3.932303562760353e-02, -4.870355501770973e-02, -1.133919879794121e-01, -1.237445101141929e-01, -7.480045408010459e-02, 9.987063705921173e-03, 8.998884260654449e-02, 1.268690228462219e-01, 1.029550358653069e-01, 2.970620058476925e-02, -5.777739733457565e-02, -1.175748407840729e-01, -1.210317835211754e-01, -6.649170815944672e-02, 1.991044729948044e-02, 9.677179157733917e-02, 1.2726129591465e-01, 9.676873683929443e-02, 1.990580186247826e-02, -6.649571657180786e-02, -1.210332363843918e-01, -1.175731346011162e-01, -5.777328088879585e-02, 2.971081808209419e-02, 1.029578596353531e-01, 1.268686652183533e-01, 8.998555690050125e-02, 9.982417337596416e-03, -7.480420172214508e-02, -1.237455531954765e-01, -1.133895292878148e-01, -4.869861900806373e-02, 3.932791948318534e-02, 1.085090786218643e-01, 1.256938576698303e-01, 8.264757692813873e-02, -2.524623596400488e-06, -8.265150338411331e-02, -1.256949454545975e-01, -1.085069552063942e-01, -3.932381048798561e-02, 4.870275408029556e-02, 1.133914589881897e-01, 1.237442493438721e-01, 7.480016350746155e-02, -9.987335652112961e-03, -8.998911827802658e-02, -1.268692165613174e-01, -1.029552146792412e-01, -2.970636263489723e-02, 5.777736380696297e-02, 1.175748035311699e-01, 1.210317313671112e-01, 6.649164110422134e-02, -1.991038583219051e-02, -9.67717319726944e-02, -1.272612065076828e-01, -9.676863998174667e-02, -1.990568824112415e-02, 6.649582833051682e-02, 1.210333406925201e-01, 1.17573119699955e-01, 5.777325853705406e-02, -2.971085347235203e-02, -1.029578819870949e-01, -1.26868724822998e-01, -8.998557925224304e-02, -9.982426650822163e-03, 7.480418682098389e-02, 1.237455308437347e-01, 1.133894845843315e-01, 4.86985556781292e-02, -3.932813927531242e-02, -1.085092648863792e-01, -1.256940364837646e-01, -8.264773339033127e-02, 2.379947545705363e-06] +movAve3.y=[0e+00, 3.389549851417542e-01, 5.967000126838684e-01, 7.179645895957947e-01, 6.900429725646973e-01, 5.443436503410339e-01, 3.428270518779755e-01, 1.549198031425475e-01, 3.377144038677216e-02, 4.830255929846317e-04, 4.143456369638443e-02, 1.185182109475136e-01, 1.871866881847382e-01, 2.146396785974503e-01, 1.91086396574974e-01, 1.304052621126175e-01, 6.109518557786942e-02, 1.226198859512806e-02, 9.666834957897663e-04, 2.610068395733833e-02, 7.073471695184708e-02, 1.111178696155548e-01, 1.278175860643387e-01, 1.139536648988724e-01, 7.71610289812088e-02, 3.493234887719154e-02, 5.929954349994659e-03, 1.447161193937098e-03, 2.082676999270925e-02, 5.261008813977242e-02, 8.050157129764557e-02, 9.113048017024994e-02, 7.997562736272812e-02, 5.287735536694527e-02, 1.846384629607201e-02, -2.300418727099895e-02, -5.34491091966629e-02, -5.828188359737396e-02, -3.5186767578125e-02, 4.769257269799709e-03, 4.243981093168259e-02, 5.977372825145721e-02, 4.846476763486862e-02, 1.393204927444458e-02, -2.727676182985306e-02, -5.541480705142021e-02, -5.699878558516502e-02, -3.126960620284081e-02, 9.443630464375019e-03, 4.563158005475998e-02, 5.9953473508358e-02, 4.554638639092445e-02, 9.314027614891529e-03, -3.138148784637451e-02, -5.703935027122504e-02, -5.536462366580951e-02, -2.715996652841543e-02, 1.405951008200645e-02, 4.854177683591843e-02, 5.97633495926857e-02, 4.234698414802551e-02, 4.638391546905041e-03, -3.529291599988937e-02, -5.831233412027359e-02, -5.338923260569572e-02, -2.288270182907581e-02, 1.858889125287533e-02, 5.115284025669098e-02, 5.920493602752686e-02, 3.888664767146111e-02, -6.570218101842329e-05, -3.898662328720093e-02, -5.922567471861839e-02, -5.108454450964928e-02, -1.846436597406864e-02, 2.300366014242172e-02, 5.344855412840843e-02, 5.828148126602173e-02, 3.518656641244888e-02, -4.769404418766499e-03, -4.243997856974602e-02, -5.977388471364975e-02, -4.846488684415817e-02, -1.393215637654066e-02, 2.72766500711441e-02, 5.541476979851723e-02, 5.699874833226204e-02, 3.126956522464752e-02, -9.443662129342556e-03, -4.563158750534058e-02, -5.995343998074532e-02, -4.554635286331177e-02, -9.313995018601418e-03, 3.13815176486969e-02, 5.703938379883766e-02, 5.536465346813202e-02, 2.715984545648098e-02, -1.405963767319918e-02, -4.854191094636917e-02, -5.976347997784615e-02, -4.234709963202477e-02] +sinInp50sDel.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 3.0901700258255e-01, 8.526401519775393e-01, 9.876883625984192e-01, 6.49448037147522e-01, 1.224646852585168e-16, -6.49448037147522e-01, -9.876883625984192e-01, -8.526401519775391e-01, -3.09017002582549e-01, 3.826834261417389e-01, 8.910065293312073e-01, 9.72369909286499e-01, 5.877852439880371e-01, -7.845909893512726e-02, -7.071067690849304e-01, -9.969173073768616e-01, -8.0901700258255e-01, -2.334453612565994e-01, 4.539904892444611e-01, 9.238795042037964e-01, 9.510565400123596e-01, 5.224985480308513e-01, -1.564344614744208e-01, -7.60405957698822e-01, -1e+00, -7.60405957698822e-01, -1.564344614744186e-01, 5.224985480308533e-01, 9.510565400123596e-01, 9.238795042037964e-01, 4.539904892444611e-01, -2.334453612565994e-01, -8.0901700258255e-01, -9.969173073768616e-01, -7.071067690849304e-01, -7.845909893512726e-02, 5.877852439880371e-01, 9.72369909286499e-01, 8.910065293312073e-01, 3.826834261417389e-01, -3.0901700258255e-01, -8.526401519775391e-01, -9.876883625984192e-01, -6.49448037147522e-01, -1.224646799645609e-15, 6.49448037147522e-01, 9.876883625984192e-01, 8.526401519775391e-01, 3.090170025825457e-01, -3.826834261417429e-01, -8.910065293312091e-01, -9.72369909286499e-01, -5.877852439880371e-01, 7.845909893512726e-02, 7.071067690849304e-01, 9.969173073768616e-01, 8.0901700258255e-01, 2.334453612565994e-01, -4.539904892444611e-01, -9.238795042037964e-01, -9.510565400123596e-01, -5.224985480308533e-01, 1.564344614744186e-01, 7.60405957698822e-01, 1e+00, 7.60405957698822e-01, 1.564344614744186e-01, -5.224985480308533e-01, -9.510565400123596e-01, -9.238795042037964e-01, -4.539904892444611e-01, 2.334453612565994e-01, 8.0901700258255e-01, 9.969173073768616e-01, 7.071067690849304e-01, 7.845909893512726e-02, -5.877852439880371e-01, -9.72369909286499e-01, -8.910065293312073e-01, -3.826834261417389e-01, 3.0901700258255e-01, 8.526401519775391e-01, 9.876883625984192e-01, 6.49448037147522e-01, 5.879542407544744e-15, -6.49448037147522e-01, -9.876883625984192e-01, -8.526401519775391e-01, -3.0901700258255e-01, 3.826834261417389e-01, 8.910065293312073e-01, 9.72369909286499e-01, 5.877852439880371e-01, -7.845909893512726e-02, -7.071067690849304e-01] +movAve7.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.154010277241468e-02, 9.650379419326791e-02, 2.045025527477264e-01, 2.767183482646942e-01, 2.829421162605286e-01, 2.264058738946915e-01, 1.36335164308548e-01, 5.196370929479599e-02, 4.945940803736421e-03, 7.179423701018095e-03, 4.827805608510971e-02, 1.026454046368599e-01, 1.42179936170578e-01, 1.486875265836716e-01, 1.20753213763237e-01, 7.265282422304153e-02, 2.650756761431694e-02, 1.759030041284859e-03, 6.938789505511522e-03, 3.929964825510979e-02, 8.333466947078705e-02, 1.17942787706852e-01, 1.256940960884094e-01, 8.264781534671783e-02, -2.284115907968953e-06, -8.265126496553421e-02, -1.256947219371796e-01, -1.085067391395569e-01, -3.932375088334084e-02, 4.870285093784332e-02, 1.133915483951569e-01, 1.237443387508392e-01, 7.48002752661705e-02, -9.987222030758858e-03, -8.998899906873703e-02, -1.268691569566727e-01, -1.029551699757576e-01, -2.97063309699297e-02, 5.777739360928535e-02, 1.175748705863953e-01, 1.210318729281425e-01, 6.649181246757507e-02, -1.991033367812634e-02, -9.677165746688843e-02, -1.272611618041992e-01, -9.676861017942429e-02, -1.990567333996296e-02, 6.649584323167801e-02, 1.210333704948427e-01, 1.175731644034383e-01, 5.777350440621324e-02, -2.971065975725651e-02, -1.029576882719994e-01, -1.268685460090637e-01, -8.99854302406311e-02, -9.98228695243597e-03, 7.480432838201523e-02, 1.237456798553467e-01, 1.133896633982658e-01, 4.869874939322472e-02, -3.932794183492661e-02, -1.085090339183807e-01, -1.256938725709915e-01, -8.264758437871933e-02, 2.518237351978314e-06, 8.265148103237152e-02, 1.256949007511139e-01, 1.0850690305233e-01, 3.932373970746994e-02, -4.870282858610153e-02, -1.133915260434151e-01, -1.237442940473557e-01, -7.480032742023468e-02, 9.987172670662403e-03, 8.998894691467285e-02, 1.268690973520279e-01, 1.029550805687904e-01, 2.970622479915619e-02, -5.777750164270401e-02, -1.175749376416206e-01, -1.21031865477562e-01, -6.649176776409149e-02, 1.991038955748081e-02, 9.67717319726944e-02, 1.272612065076828e-01, 9.676863998174667e-02, 1.990568824112415e-02, -6.649582833051682e-02, -1.210333406925201e-01, -1.17573119699955e-01, -5.777325853705406e-02, 2.971085347235203e-02, 1.029578819870949e-01, 1.26868724822998e-01, 8.998557925224304e-02] +movAve6.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.154010277241468e-02, 9.650379419326791e-02, 2.045025527477264e-01, 2.767183482646942e-01, 2.829421162605286e-01, 2.264058738946915e-01, 1.472419798374176e-01, 6.079754233360291e-02, 6.231885403394665e-03, 9.692221879959106e-03, 6.952039897441864e-02, 1.532245576381683e-01, 1.776634305715561e-01, 1.169682368636131e-01, 2.233896520920098e-04, -1.166283786296844e-01, -1.775930970907211e-01, -1.534575521945953e-01, -5.578670650720596e-02, 6.861639022827148e-02, 1.60139262676239e-01, 1.749252229928969e-01, 1.058890447020527e-01, -1.388798281550407e-02, -1.270101219415665e-01, -1.792706102132797e-01, -1.456268280744553e-01, -4.22004833817482e-02, 8.144780248403549e-02, 1.660672873258591e-01, 1.711092293262482e-01, 9.415767341852188e-02, -2.791311964392662e-02, -1.366082727909088e-01, -1.798423826694489e-01, -1.368981599807739e-01, -2.835397608578205e-02, 9.377709031105042e-02, 1.709712892770767e-01, 1.662381291389465e-01, 8.184558153152466e-02, -4.176635295152664e-02, -1.453643590211868e-01, -1.793054342269897e-01, -1.273254901170731e-01, -1.433264836668968e-02, 1.055282801389694e-01, 1.748213618993759e-01, 1.603421717882152e-01, 6.902897357940598e-02, -5.536172911524847e-02, -1.532239466905594e-01, -1.776628494262695e-01, -1.169676631689072e-01, -2.228574303444475e-04, 1.16628885269165e-01, 1.775935888290405e-01, 1.534576714038849e-01, 5.578678846359253e-02, -6.861633807420731e-02, -1.601392179727554e-01, -1.749254167079926e-01, -1.058892011642456e-01, 1.38878608122468e-02, 1.270100176334381e-01, 1.792705059051514e-01, 1.456266939640045e-01, 4.220030829310417e-02, -8.144795894622803e-02, -1.660673320293427e-01, -1.711092293262482e-01, -9.415761381387711e-02, 2.791319601237774e-02, 1.366083472967148e-01, 1.7984239757061e-01, 1.368981152772903e-01, 2.835390157997608e-02, -9.377717226743698e-02, -1.709713488817215e-01, -1.66238084435463e-01, -8.184552192687988e-02, 4.176643863320351e-02, 1.453644186258316e-01, 1.793055087327957e-01, 1.273255348205566e-01, 1.433268282562494e-02, -1.055282205343246e-01, -1.748212575912476e-01, -1.603420376777649e-01, -6.90288245677948e-02, 5.536217615008354e-02, 1.532242894172668e-01, 1.776631325483322e-01, 1.169679388403893e-01, 2.231020189356059e-04] +sinInp100sDel.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5.877852439880371e-01, 9.72369909286499e-01, 8.910065293312067e-01, 3.826834261417389e-01, -3.0901700258255e-01, -8.526401519775391e-01, -9.876883625984192e-01, -6.49448037147522e-01, -2.449293705170336e-16, 6.49448037147522e-01, 9.876883625984192e-01, 8.526401519775391e-01, 3.0901700258255e-01, -3.826834261417389e-01, -8.910065293312073e-01, -9.723699092864984e-01, -5.877852439880352e-01, 7.845909893512726e-02, 7.071067690849304e-01, 9.969173073768616e-01, 8.0901700258255e-01, 2.334453612565994e-01, -4.539904892444611e-01, -9.238795042037964e-01, -9.510565400123596e-01, -5.224985480308533e-01, 1.564344614744186e-01, 7.60405957698822e-01, 1e+00, 7.60405957698822e-01, 1.564344614744186e-01, -5.224985480308533e-01, -9.510565400123596e-01, -9.238795042037964e-01, -4.539904892444611e-01, 2.334453612565994e-01, 8.0901700258255e-01, 9.969173073768616e-01, 7.071067690849304e-01, 7.845909893512726e-02, -5.877852439880371e-01, -9.72369909286499e-01, -8.910065293312049e-01, -3.826834261417347e-01, 3.090170025825542e-01, 8.526401519775391e-01, 9.876883625984192e-01, 6.49448037147522e-01, 4.899825137234847e-15, -6.49448037147522e-01, -9.876883625984192e-01, -8.526401519775391e-01, -3.0901700258255e-01, 3.826834261417389e-01, 8.910065293312073e-01, 9.72369909286499e-01, 5.877852439880371e-01, -7.845909893512726e-02, -7.071067690849304e-01, -9.969173073768616e-01, -8.0901700258255e-01, -2.334453612565994e-01, 4.539904892444611e-01, 9.238795042037964e-01, 9.510565400123596e-01, 5.224985480308533e-01, -1.564344614744186e-01, -7.60405957698822e-01, -1e+00, -7.60405957698822e-01, -1.564344614744186e-01, 5.224985480308533e-01, 9.510565400123596e-01, 9.238795042037964e-01, 4.539904892444611e-01, -2.334453612565994e-01, -8.0901700258255e-01, -9.969173073768616e-01, -7.071067690849304e-01, -7.845909893512726e-02, 5.877852439880371e-01, 9.72369909286499e-01, 8.910065293312073e-01, 3.826834261417389e-01, -3.0901700258255e-01, -8.526401519775391e-01, -9.876883625984192e-01, -6.49448037147522e-01, -2.449293599291217e-15] +movAve8.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2.431668154895306e-02, 9.760077297687531e-02, 1.851278245449067e-01, 2.449559271335602e-01, 2.484161555767059e-01, 1.938504129648209e-01, 1.074059531092644e-01, 3.050593286752701e-02, -7.859007666866091e-08, 3.050603531301022e-02, 1.074061095714569e-01, 1.748212426900864e-01, 1.603420525789261e-01, 6.902888417243958e-02, -5.536208301782608e-02, -1.532241702079775e-01, -1.77663043141365e-01, -1.169678792357445e-01, -2.230770041933283e-04, 1.166286468505859e-01, 1.775933355093002e-01, 1.53457447886467e-01, 5.578674748539925e-02, -6.861650198698044e-02, -1.60139411687851e-01, -1.749254167079926e-01, -1.058892533183098e-01, 1.388778164982796e-02, 1.270099580287933e-01, 1.79270476102829e-01, 1.456267237663269e-01, 4.220037907361984e-02, -8.144787698984146e-02, -1.660673320293427e-01, -1.711092889308929e-01, -9.415771812200546e-02, 2.791306935250759e-02, 1.3660828769207e-01, 1.798423677682877e-01, 1.368981301784515e-01, 2.835391089320183e-02, -9.377718716859818e-02, -1.709713935852053e-01, -1.662381738424298e-01, -8.184581249952243e-02, 4.176630824804306e-02, 1.453643292188644e-01, 1.793054640293121e-01, 1.273254454135895e-01, 1.43326111137867e-02, -1.055282950401306e-01, -1.748213320970535e-01, -1.603421121835709e-01, -6.902890652418137e-02, 5.536209419369698e-02, 1.532242596149445e-01, 1.776631325483322e-01, 1.169679388403893e-01, 2.230985701316968e-04, -1.166286468505859e-01, -1.775933355093002e-01, -1.534574180841446e-01, -5.578653514385223e-02, 6.86165913939476e-02, 1.601394712924957e-01, 1.749254167079926e-01, 1.058892011642456e-01, -1.38878608122468e-02, -1.270100176334381e-01, -1.792704910039902e-01, -1.456266939640045e-01, -4.220030829310417e-02, 8.144795894622803e-02, 1.660673320293427e-01, 1.711092293262482e-01, 9.415761381387711e-02, -2.791319787502289e-02, -1.366083472967148e-01, -1.7984239757061e-01, -1.368981152772903e-01, -2.835390157997608e-02, 9.377717226743698e-02, 1.709713488817215e-01, 1.66238084435463e-01, 8.184552192687988e-02, -4.176643863320351e-02, -1.453644186258316e-01, -1.793055087327957e-01, -1.273255348205566e-01] +movAve9.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2.251544594764709e-02, 8.341946452856064e-02, 1.469268500804902e-01, 1.81448832154274e-01, 1.725112199783325e-01, 1.266996115446091e-01, 6.629997491836548e-02, 1.783972606062889e-02, -4.366115291531969e-08, 1.614075899124146e-02, 5.424550920724869e-02, 9.692526608705521e-02, 1.24208115041256e-01, 1.224779635667801e-01, 9.256388992071152e-02, 4.880036413669572e-02, 1.215833984315388e-02, 1.96241308003664e-04, 1.864616200327873e-02, 5.866712331771851e-02, 1.010815501213074e-01, 1.255649626255035e-01, 1.133895814418793e-01, 4.869861528277397e-02, -3.932808339595795e-02, -1.085092127323151e-01, -1.256940066814423e-01, -8.264772593975067e-02, 2.376630618527997e-06, 8.265135437250137e-02, 1.256947964429855e-01, 1.085068136453629e-01, 3.932366520166397e-02, -4.870283976197243e-02, -1.133916303515434e-01, -1.23744435608387e-01, -7.480039447546005e-02, 9.987125173211098e-03, 8.998889476060867e-02, 1.268690526485443e-01, 1.029550731182098e-01, 2.970622852444649e-02, -5.77774979174142e-02, -1.175749450922014e-01, -1.210319921374319e-01, -6.649186462163925e-02, 1.991029642522335e-02, 9.677164256572723e-02, 1.272611320018768e-01, 9.67685878276825e-02, 1.990565285086632e-02, -6.64958655834198e-02, -1.210333853960037e-01, -1.175731867551804e-01, -5.777334794402122e-02, 2.971069142222404e-02, 1.029578149318695e-01, 1.268686652183533e-01, 8.998555690050125e-02, 9.982380084693432e-03, -7.480422407388687e-02, -1.237455680966377e-01, -1.133895292878151e-01, -4.869860038161278e-02, 3.932809829711914e-02, 1.085092201828957e-01, 1.256940215826035e-01, 8.264773339033127e-02, -2.380326577622327e-06, -8.265135437250137e-02, -1.256947815418243e-01, -1.085067763924599e-01, -3.932361304759979e-02, 4.870295524597168e-02, 1.133916452527046e-01, 1.237444132566452e-01, 7.480033487081528e-02, -9.987172670662403e-03, -8.998894691467285e-02, -1.268690973520279e-01, -1.029550805687904e-01, -2.970622479915619e-02, 5.777750164270401e-02, 1.175749376416206e-01, 1.21031865477562e-01, 6.649176776409149e-02, -1.991038955748081e-02, -9.67717319726944e-02, -1.272612065076828e-01] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_MovingAverage_nonZeroStart.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_MovingAverage_nonZeroStart.txt new file mode 100644 index 0000000000..68dd68242d --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_MovingAverage_nonZeroStart.txt @@ -0,0 +1,20 @@ +last-generated=2017-10-24 +statistics-simulation= +{ + "numerical Jacobians": "0", + "nonlinear": " ", + "number of continuous time states": "9", + "linear": " " +} +movAve1.y=[0e+00, 9.353725910186768e-01, 7.567793726921082e-01, 5.045299530029297e-01, 2.338647693395615e-01, -2.310188307319549e-07, -1.559118181467056e-01, -2.162324488162994e-01, -1.892037689685822e-01, -1.03941798210144e-01, 3.116154445592656e-08, 8.50435346364975e-02, 1.261364668607712e-01, 8.182483166456223e-02, -2.796485461294651e-02, -1.270727664232254e-01, -1.776431202888489e-01, -1.60359799861908e-01, -8.182444423437119e-02, 2.796507067978382e-02, 1.270729303359985e-01, 1.776432991027832e-01, 1.603600382804871e-01, 8.182474225759506e-02, -2.796476148068905e-02, -1.273238658905029e-01, -1.776432693004608e-01, -1.60359725356102e-01, -8.182428032159805e-02, 2.796526625752449e-02, 1.270730793476105e-01, 1.776434332132339e-01, 1.603601574897766e-01, 8.182486891746521e-02, -2.796462923288345e-02, -1.270724833011627e-01, -1.776428669691086e-01, -1.603595912456512e-01, -8.182430267333984e-02, 2.79652401804924e-02, 1.270729303359985e-01, 1.776432245969772e-01, 1.603598296642303e-01, 8.18244069814682e-02, -2.796521224081516e-02, -1.270731389522552e-01, -1.776435077190399e-01, -1.603601574897766e-01, -8.182476460933685e-02, 2.796478196978569e-02, 1.273239105939865e-01, 1.776430755853653e-01, 1.60359799861908e-01, 8.182451874017715e-02, -2.79649943113327e-02, -1.270727515220642e-01, -1.776429861783981e-01, -1.603596210479736e-01, -8.182430267333984e-02, 2.796515822410583e-02, 1.270729005336761e-01, 1.77643209695816e-01, 1.603599041700363e-01, 8.182483166456223e-02, -2.796485461294651e-02, -1.270727664232254e-01, -1.776431202888489e-01, -1.60359799861908e-01, -8.182444423437119e-02, 2.796507067978382e-02, 1.270729303359985e-01, 1.776432991027832e-01, 1.603600382804871e-01, 8.182474225759506e-02, -2.796476148068905e-02, -1.273238658905029e-01, -1.776431798934937e-01, -1.603597402572632e-01, -8.182443678379059e-02, 2.796502783894539e-02, 1.270727962255478e-01, 1.776431649923325e-01, 1.603598743677139e-01, 8.182458579540253e-02, -2.796491421759129e-02, -1.270727664232254e-01, -1.776431500911713e-01, -1.603598743677139e-01, -8.182458579540253e-02, 2.796491421759129e-02, 1.270727664232254e-01, 1.776431500911713e-01, 1.603598743677139e-01, 8.182458579540253e-02, -2.796491421759129e-02, -1.270727664232254e-01, -1.776431500911713e-01, -1.603598743677139e-01, -8.182458579540253e-02, 2.796491421759129e-02, 1.270727664232254e-01] +sinInpNoDel.y=[1e+00, 8.0901700258255e-01, 3.0901700258255e-01, -3.0901700258255e-01, -8.0901700258255e-01, -1e+00, -8.0901700258255e-01, -3.0901700258255e-01, 3.0901700258255e-01, 8.0901700258255e-01, 1e+00, 8.0901700258255e-01, 3.0901700258255e-01, -3.0901700258255e-01, -8.0901700258255e-01, -1e+00, -8.0901700258255e-01, -3.0901700258255e-01, 3.0901700258255e-01, 8.0901700258255e-01, 1e+00, 8.0901700258255e-01, 3.0901700258255e-01, -3.0901700258255e-01, -8.0901700258255e-01, -1e+00, -8.0901700258255e-01, -3.0901700258255e-01, 3.0901700258255e-01, 8.0901700258255e-01, 1e+00, 8.0901700258255e-01, 3.0901700258255e-01, -3.0901700258255e-01, -8.0901700258255e-01, -1e+00, -8.0901700258255e-01, -3.0901700258255e-01, 3.0901700258255e-01, 8.0901700258255e-01, 1e+00, 8.0901700258255e-01, 3.0901700258255e-01, -3.0901700258255e-01, -8.0901700258255e-01, -1e+00, -8.0901700258255e-01, -3.0901700258255e-01, 3.0901700258255e-01, 8.0901700258255e-01, 1e+00, 8.0901700258255e-01, 3.0901700258255e-01, -3.0901700258255e-01, -8.0901700258255e-01, -1e+00, -8.0901700258255e-01, -3.0901700258255e-01, 3.0901700258255e-01, 8.0901700258255e-01, 1e+00, 8.0901700258255e-01, 3.0901700258255e-01, -3.0901700258255e-01, -8.0901700258255e-01, -1e+00, -8.0901700258255e-01, -3.0901700258255e-01, 3.0901700258255e-01, 8.0901700258255e-01, 1e+00, 8.0901700258255e-01, 3.0901700258255e-01, -3.0901700258255e-01, -8.0901700258255e-01, -1e+00, -8.0901700258255e-01, -3.0901700258255e-01, 3.0901700258255e-01, 8.0901700258255e-01, 1e+00, 8.0901700258255e-01, 3.0901700258255e-01, -3.0901700258255e-01, -8.0901700258255e-01, -1e+00, -8.0901700258255e-01, -3.0901700258255e-01, 3.0901700258255e-01, 8.0901700258255e-01, 1e+00, 8.0901700258255e-01, 3.0901700258255e-01, -3.0901700258255e-01, -8.0901700258255e-01, -1e+00, -8.0901700258255e-01, -3.0901700258255e-01, 3.0901700258255e-01, 8.0901700258255e-01, 1e+00] +movAve4.y=[0e+00, 9.353725910186768e-01, 7.567793726921082e-01, 5.045299530029297e-01, 2.338647693395615e-01, -2.310188307319549e-07, -1.559118181467056e-01, -2.162324488162994e-01, -1.892037689685822e-01, -1.03941798210144e-01, 3.116154445592656e-08, 8.50435346364975e-02, 1.261364668607712e-01, 1.164339482784271e-01, 6.682006269693375e-02, -6.769826654817734e-08, -5.846767500042915e-02, -8.903776854276657e-02, -8.409120142459869e-02, -4.923585057258606e-02, 1.104353088976495e-07, 4.45469468832016e-02, 6.88021257519722e-02, 6.581072509288788e-02, 3.897856175899506e-02, 3.547783222757062e-08, -3.598019108176231e-02, -5.606092140078545e-02, -5.405868217349052e-02, -3.225794062018394e-02, 1.883551874470868e-07, 3.017713129520416e-02, 4.730165004730225e-02, 4.586826264858246e-02, 2.751442603766918e-02, 1.277221883810853e-07, -2.59855967015028e-02, -4.09092865884304e-02, -3.983272612094879e-02, -2.398668602108955e-02, 1.386083710031016e-07, 2.281687781214714e-02, 3.603937104344368e-02, 3.520120307803154e-02, 2.126107737421989e-02, -4.953704113574986e-09, -2.033666893839836e-02, -3.220527991652489e-02, -3.153429925441742e-02, -1.909148879349232e-02, 8.822250663342857e-08, 8.822294716992474e-08, 8.822324559787376e-08, 8.822373587236143e-08, 8.822419772513967e-08, 8.822443220424248e-08, 8.822430430655004e-08, 8.822383534834444e-08, 8.822321007073697e-08, 8.822274821795872e-08, 8.822274821795872e-08, 8.822334507385676e-08, 8.822302532962567e-08, 8.82239419297548e-08, 8.822436825539626e-08, 8.822436825539626e-08, 8.822438957167833e-08, 8.822458141821699e-08, 8.822472352676414e-08, 8.822499353300373e-08, 8.822508590355937e-08, 8.822509300898673e-08, 8.822508590355937e-08, 8.822509300898673e-08, 8.822507169270466e-08, 8.8130697406541e-08, 1.105350975194597e-07, 8.234263049189394e-08, 4.855630919564646e-08, 2.850643987528656e-08, 1.920682102252158e-08, 1.950479422418994e-08, 1.887384470933284e-08, 1.806473903798178e-08, 1.719193321036983e-08, 1.64713984673881e-08, 1.644577629633659e-08, 1.706795060840705e-08, 2.310959068552165e-08, 1.859148390792598e-08, 2.133713650209756e-08, 2.045716662735231e-08, 3.335275167160034e-08, 6.44280078176962e-08, 9.393030353521681e-08, 1.10341574099948e-07, 1.073056239420112e-07, 8.610344792714386e-08, 5.975112316036757e-08, 4.987021995361829e-08, 4.390302521528611e-08] +time=[1e+02, 9e+02] +movAve2.y=[0e+00, 9.353725910186768e-01, 7.567793726921082e-01, 5.045299530029297e-01, 2.338647693395615e-01, -2.310188307319549e-07, -1.559118181467056e-01, -2.162324488162994e-01, -1.892037689685822e-01, -1.03941798210144e-01, 3.116154445592656e-08, 8.50435346364975e-02, 1.261364668607712e-01, 1.164339482784271e-01, 6.682006269693375e-02, -6.769826654817734e-08, -5.846767500042915e-02, -8.903776854276657e-02, -8.409120142459869e-02, -4.923585057258606e-02, 1.104353088976495e-07, 4.45469468832016e-02, 6.88021257519722e-02, 6.581072509288788e-02, 3.897856175899506e-02, 3.547783222757062e-08, -7.483915984630585e-02, -1.21092215180397e-01, -1.210921108722687e-01, -7.483890652656555e-02, 2.722320857628802e-07, 7.483940571546555e-02, 1.210925206542015e-01, 1.210924834012985e-01, 7.483932375907898e-02, 1.663469220147817e-07, -7.483897358179092e-02, -1.210920810699463e-01, -1.21092177927494e-01, -7.483892142772675e-02, 2.623933994527761e-07, 7.483939826488495e-02, 1.210924461483955e-01, 1.21092326939106e-01, 7.483909279108047e-02, -9.726549166089171e-08, -7.483922690153122e-02, -1.210922971367836e-01, -1.210922077298164e-01, -7.48390257358551e-02, 1.409674439400987e-07, 7.483933866024017e-02, 1.210923865437508e-01, 1.21092289686203e-01, 7.483907788991928e-02, -9.578322135439521e-08, -7.483923435211182e-02, -1.210923418402672e-01, -1.210923120379448e-01, -7.483914494514465e-02, 1.009856376299467e-08, 7.483914494514465e-02, 1.210922598838806e-01, 1.210923567414284e-01, 7.483909279108047e-02, -8.594464873112884e-08, -7.483921945095062e-02, -1.210922747850418e-01, -1.210921481251717e-01, -7.483892142772675e-02, 2.737156705734378e-07, 7.483940571546555e-02, 1.210924759507179e-01, 1.210923865437508e-01, 7.483920454978943e-02, 3.529395442569694e-08, -7.483911514282227e-02, -1.210922226309776e-01, -1.210921928286552e-01, -7.48390257358551e-02, 1.34196866952152e-07, 7.48392716050148e-02, 1.210923790931702e-01, 1.210923492908478e-01, 7.483918219804764e-02, 2.284423494813836e-08, -7.483911514282227e-02, -1.210922226309776e-01, -1.210923045873642e-01, -7.483905553817749e-02, 1.28618921735324e-07, 7.483925670385361e-02, 1.210923418402672e-01, 1.210922822356224e-01, 7.483910769224167e-02, -5.303251171540069e-08, -7.483918964862823e-02, -1.210922971367836e-01, -1.210922673344612e-01, -7.483910769224167e-02, 5.25120924521616e-08] +movAve3.y=[0e+00, 9.353725910186768e-01, 7.567793726921082e-01, 5.045299530029297e-01, 2.338647693395615e-01, -2.310188307319549e-07, -1.559118181467056e-01, -2.162324488162994e-01, -1.892037689685822e-01, -1.03941798210144e-01, 3.116154445592656e-08, 8.50435346364975e-02, 1.261364668607712e-01, 1.164339482784271e-01, 6.682006269693375e-02, -6.769826654817734e-08, -5.846767500042915e-02, -8.903776854276657e-02, -8.409120142459869e-02, -4.923585057258606e-02, 1.104353088976495e-07, 4.45469468832016e-02, 6.88021257519722e-02, 6.581072509288788e-02, 3.897856175899506e-02, 3.547783222757062e-08, -3.598019108176231e-02, -5.606092140078545e-02, -5.405868217349052e-02, -3.225794062018394e-02, 1.883551874470868e-07, 3.017713129520416e-02, 4.730165004730225e-02, 4.586826264858246e-02, 2.751442603766918e-02, 1.277221883810853e-07, -2.59855967015028e-02, -4.09092865884304e-02, -5.345317348837852e-02, -5.921423062682152e-02, -4.235741496086121e-02, -9.321445599198341e-03, 2.727503515779972e-02, 5.345340073108673e-02, 5.921442061662674e-02, 4.235757887363434e-02, 9.321615099906921e-03, -2.727485448122025e-02, -5.3453229367733e-02, -5.92142716050148e-02, -4.244119301438332e-02, -9.321532212197781e-03, 2.727501839399338e-02, 5.345343053340912e-02, 5.921447649598122e-02, 4.235762730240822e-02, 9.321657009422779e-03, -2.727484330534935e-02, -5.345325171947479e-02, -5.921430885791779e-02, -4.235748946666718e-02, -9.32152196764946e-03, 2.72749736905098e-02, 5.34534677863121e-02, 5.921447649598122e-02, 4.235758632421494e-02, 9.321593679487705e-03, -2.727490477263927e-02, -5.345329642295837e-02, -5.921434983611107e-02, -4.235753044486046e-02, -9.321565739810467e-03, 2.727492898702621e-02, 5.345333740115166e-02, 5.921439826488495e-02, 4.244132712483406e-02, 9.321614168584347e-03, -2.727488055825233e-02, -5.345328897237778e-02, -5.921434611082077e-02, -4.235749319195747e-02, -9.321482852101326e-03, 2.727504633367062e-02, 5.34534640610218e-02, 5.92145062983036e-02, 4.235764965415001e-02, 9.321662597358227e-03, -2.72748451679945e-02, -5.345325917005539e-02, -5.921432375907898e-02, -4.235750436782837e-02, -9.321535937488079e-03, 2.727496065199375e-02, 5.345337092876434e-02, 5.921442806720734e-02, 4.235760867595673e-02, 9.321640245616436e-03, -2.727485634386539e-02, -5.345326662063599e-02, -5.921432375907898e-02, -4.244125261902809e-02] +sinInp50sDel.y=[-7.071067690849304e-01, -9.876883625984192e-01, -8.910065293312073e-01, -4.539904892444611e-01, 1.564344614744186e-01, 7.071067690849304e-01, 9.876883625984192e-01, 8.910065293312073e-01, 4.539904892444611e-01, -1.564344614744186e-01, -7.071067690849304e-01, -9.876883625984192e-01, -8.910065293312073e-01, -4.539904892444611e-01, 1.564344614744186e-01, 7.071067690849304e-01, 9.876883625984192e-01, 8.910065293312073e-01, 4.539904892444611e-01, -1.564344614744186e-01, -7.071067690849304e-01, -9.876883625984192e-01, -8.910065293312073e-01, -4.539904892444611e-01, 1.564344614744186e-01, 7.071067690849304e-01, 9.876883625984192e-01, 8.910065293312073e-01, 4.539904892444611e-01, -1.564344614744186e-01, -7.071067690849304e-01, -9.876883625984192e-01, -8.910065293312073e-01, -4.539904892444611e-01, 1.564344614744186e-01, 7.071067690849304e-01, 9.876883625984192e-01, 8.910065293312073e-01, 4.539904892444611e-01, -1.564344614744186e-01, -7.071067690849304e-01, -9.876883625984192e-01, -8.910065293312073e-01, -4.539904892444611e-01, 1.564344614744186e-01, 7.071067690849304e-01, 9.876883625984192e-01, 8.910065293312073e-01, 4.539904892444611e-01, -1.564344614744186e-01, -7.071067690849304e-01, -9.876883625984192e-01, -8.910065293312073e-01, -4.539904892444611e-01, 1.564344614744186e-01, 7.071067690849304e-01, 9.876883625984192e-01, 8.910065293312073e-01, 4.539904892444611e-01, -1.564344614744186e-01, -7.071067690849304e-01, -9.876883625984192e-01, -8.910065293312073e-01, -4.539904892444611e-01, 1.564344614744186e-01, 7.071067690849304e-01, 9.876883625984192e-01, 8.910065293312073e-01, 4.539904892444611e-01, -1.564344614744186e-01, -7.071067690849304e-01, -9.876883625984192e-01, -8.910065293312073e-01, -4.539904892444611e-01, 1.564344614744186e-01, 7.071067690849304e-01, 9.876883625984192e-01, 8.910065293312073e-01, 4.539904892444611e-01, -1.564344614744186e-01, -7.071067690849304e-01, -9.876883625984192e-01, -8.910065293312073e-01, -4.539904892444611e-01, 1.564344614744186e-01, 7.071067690849304e-01, 9.876883625984192e-01, 8.910065293312073e-01, 4.539904892444611e-01, -1.564344614744186e-01, -7.071067690849304e-01, -9.876883625984192e-01, -8.910065293312073e-01, -4.539904892444611e-01, 1.564344614744186e-01, 7.071067690849304e-01, 9.876883625984192e-01, 8.910065293312073e-01, 4.539904892444611e-01, -1.564344614744186e-01, -7.071067690849304e-01] +movAve7.y=[0e+00, -8.763125538825989e-01, -9.239140748977661e-01, -8.47790002822876e-01, -6.743162870407104e-01, -4.501466453075409e-01, -2.290564030408859e-01, -5.754833295941353e-02, 3.658527880907059e-02, 4.961711913347244e-02, 4.036843392896117e-08, -7.967382669448853e-02, -1.5399369597435e-01, -1.956502497196198e-01, -1.926662027835846e-01, -1.500514000654221e-01, -8.589723706245422e-02, -2.369659021496773e-02, 1.626027747988701e-02, 2.35030185431242e-02, 1.479662703474105e-08, -4.173414036631584e-02, -8.39969590306282e-02, -1.105853095650673e-01, -1.12388975918293e-01, -9.003113955259323e-02, -1.99178084731102e-02, 5.78039214015007e-02, 1.134464740753174e-01, 1.257563084363937e-01, 9.003148972988129e-02, 1.991769857704639e-02, -5.780402198433876e-02, -1.134466081857681e-01, -1.257564872503281e-01, -9.00317057967186e-02, -1.991790905594826e-02, 5.780381336808205e-02, 1.134464517235756e-01, 1.257563531398773e-01, 9.003152698278427e-02, 1.991771161556244e-02, -5.780400708317757e-02, -1.134465485811234e-01, -1.257563531398773e-01, -9.003150463104248e-02, -1.991766691207886e-02, 5.780405551195145e-02, 1.134466156363487e-01, 1.257564723491669e-01, 9.003166854381561e-02, 1.991789229214191e-02, -5.780383944511414e-02, -1.134463921189308e-01, -1.257562339305878e-01, -9.003140777349472e-02, -1.991761662065983e-02, 5.780410394072533e-02, 1.134466901421547e-01, 1.257565766572952e-01, 9.003178775310516e-02, 1.991799101233482e-02, -5.780372768640518e-02, -1.13446369767189e-01, -1.257562786340714e-01, -9.003144502639771e-02, -1.991762965917587e-02, 5.780408903956413e-02, 1.134466305375099e-01, 1.257564425468445e-01, 9.003158658742905e-02, 1.991775073111057e-02, -5.780397355556488e-02, -1.134465336799622e-01, -1.257563978433609e-01, -9.003158658742905e-02, -1.991780661046505e-02, 5.78039139509201e-02, 1.134465038776398e-01, 1.257563829421997e-01, 9.003159403800964e-02, 1.991779543459415e-02, -5.7803925126791e-02, -1.134465113282204e-01, -1.257563978433609e-01, -9.003160148859024e-02, -1.991780661046505e-02, 5.78039139509201e-02, 1.134465709328651e-01, 1.257564425468445e-01, 9.003160148859024e-02, 1.991777680814266e-02, -5.780394747853279e-02, -1.13446518778801e-01, -1.257563978433609e-01, -9.003160148859024e-02, -1.99178047478199e-02, 5.78039176762104e-02, 1.134465038776398e-01, 1.257563829421997e-01, 9.003160148859024e-02] +movAve6.y=[0e+00, -8.763125538825989e-01, -9.239140748977661e-01, -8.47790002822876e-01, -6.743162870407104e-01, -4.501466453075409e-01, -2.290564030408859e-01, -5.754833295941353e-02, 3.658527880907059e-02, 4.961711913347244e-02, 4.036843392896117e-08, -7.967382669448853e-02, -1.5399369597435e-01, -1.711364090442657e-01, -1.058778911828995e-01, -1.775890996214002e-04, 1.055904924869537e-01, 1.710265576839447e-01, 1.71136274933815e-01, 1.058777794241905e-01, 1.775654527591541e-04, -1.055904552340508e-01, -1.710265278816223e-01, -1.71136274933815e-01, -1.058777868747711e-01, 6.788108919408842e-08, 1.055906414985657e-01, 1.710265725851059e-01, 1.711361855268478e-01, 1.058775782585144e-01, 1.773427793523297e-04, -1.055906638503075e-01, -1.710267066955566e-01, -1.711364537477493e-01, -1.058779805898666e-01, -1.777841680450365e-04, 1.055902391672134e-01, 1.710263043642044e-01, 1.711360961198807e-01, 1.058775931596756e-01, 1.774590200511739e-04, -1.055904850363731e-01, -1.710264533758163e-01, -1.711361259222031e-01, -1.058775186538696e-01, -1.771975657902658e-04, 1.055909171700478e-01, 1.710269898176193e-01, 1.711366921663284e-01, 1.058781668543816e-01, 2.697746310786897e-07, -1.055900901556015e-01, -1.710261851549149e-01, -1.711359620094299e-01, -1.05877473950386e-01, -1.773055701050907e-04, 1.055906265974045e-01, 1.710265725851059e-01, 1.71136200428009e-01, 1.058776676654816e-01, 1.774982520146295e-04, -1.055904850363731e-01, -1.710264980792999e-01, -1.711364090442657e-01, -1.058778911828995e-01, -1.775890996214002e-04, 1.055904924869537e-01, 1.710265576839447e-01, 1.71136274933815e-01, 1.058777794241905e-01, 1.775654673110694e-04, -1.055904552340508e-01, -1.710265278816223e-01, -1.71136274933815e-01, -1.058777868747711e-01, 6.968446797372962e-08, 1.055906489491463e-01, 1.710265576839447e-01, 1.711362302303314e-01, 1.058777198195457e-01, 1.775437995092943e-04, -1.055904701352119e-01, -1.710265129804611e-01, -1.711362600326538e-01, -1.058777794241905e-01, -1.775825512595475e-04, 1.055904477834702e-01, 1.710265129804611e-01, 1.711362600326538e-01, 1.058777794241905e-01, 1.775821583578363e-04, -1.055904477834702e-01, -1.710265129804611e-01, -1.711362600326538e-01, -1.058777794241905e-01, -1.775827549863607e-04, 1.055904477834702e-01, 1.710265129804611e-01, 1.711362600326538e-01, 1.058777794241905e-01, 1.775841228663921e-04] +sinInp100sDel.y=[0e+00, 5.877852439880371e-01, 9.510565400123596e-01, 9.510565400123596e-01, 5.877852439880371e-01, 1.224646852585168e-16, -5.877852439880371e-01, -9.510565400123596e-01, -9.510565400123596e-01, -5.877852439880371e-01, -2.449293705170336e-16, 5.877852439880371e-01, 9.510565400123596e-01, 9.510565400123596e-01, 5.877852439880371e-01, 3.673940293057708e-16, -5.877852439880371e-01, -9.510565400123596e-01, -9.510565400123596e-01, -5.877852439880371e-01, -4.898587410340671e-16, 5.877852439880371e-01, 9.510565400123596e-01, 9.510565400123596e-01, 5.877852439880371e-01, 6.123233998228043e-16, -5.877852439880371e-01, -9.510565400123596e-01, -9.510565400123596e-01, -5.877852439880371e-01, -7.347880586115415e-16, 5.877852439880371e-01, 9.510565400123596e-01, 9.510565400123596e-01, 5.877852439880371e-01, 8.572527703398379e-16, -5.877852439880371e-01, -9.510565400123596e-01, -9.510565400123596e-01, -5.877852439880371e-01, -9.797174820681343e-16, 5.877852439880371e-01, 9.510565400123596e-01, 9.510565400123596e-01, 5.877852439880371e-01, 1.102182140856871e-15, -5.877852439880371e-01, -9.510565400123596e-01, -9.510565400123596e-01, -5.877852439880371e-01, -1.224646799645609e-15, 5.877852439880371e-01, 9.510565400123596e-01, 9.510565400123596e-01, 5.877852439880371e-01, 4.899825137234847e-15, -5.877852439880371e-01, -9.510565400123596e-01, -9.510565400123596e-01, -5.877852439880371e-01, -1.469576117223083e-15, 5.877852439880371e-01, 9.510565400123596e-01, 9.510565400123596e-01, 5.877852439880371e-01, -1.960672902788681e-15, -5.877852439880371e-01, -9.510565400123596e-01, -9.510565400123596e-01, -5.877852439880371e-01, -1.714505540679676e-15, 5.877852439880371e-01, 9.510565400123596e-01, 9.510565400123596e-01, 5.877852439880371e-01, 5.389683772389795e-15, -5.877852439880371e-01, -9.510565400123596e-01, -9.510565400123596e-01, -5.877852439880371e-01, -1.959434964136269e-15, 5.877852439880371e-01, 9.510565400123596e-01, 9.510565400123596e-01, 5.877852439880371e-01, -1.470814161754614e-15, -5.877852439880371e-01, -9.510565400123596e-01, -9.510565400123596e-01, -5.877852439880371e-01, -2.204364281713743e-15, 5.877852439880371e-01, 9.510565400123596e-01, 9.510565400123596e-01, 5.877852439880371e-01, 5.879542407544744e-15, -5.877852439880371e-01, -9.510565400123596e-01, -9.510565400123596e-01, -5.877852439880371e-01, -2.449293599291217e-15] +movAve8.y=[0e+00, 3.039204776287079e-01, 5.498324036598206e-01, 6.944261193275452e-01, 7.197624444961548e-01, 6.366037130355835e-01, 4.798464775085449e-01, 2.976180911064148e-01, 1.374643594026566e-01, 3.377259895205498e-02, -8.825113440025234e-08, 2.763227373361588e-02, 9.164350479841232e-02, 1.601985991001129e-01, 1.776988059282303e-01, 1.273239105939865e-01, 2.831562049686909e-02, -8.150828629732132e-02, -1.601988077163696e-01, -1.776988506317139e-01, -1.273240447044373e-01, -2.831584401428699e-02, 8.150799572467804e-02, 1.601984947919846e-01, 1.776985675096512e-01, 1.273237615823746e-01, 2.831554971635342e-02, -8.150837570428848e-02, -1.601988226175308e-01, -1.776987761259079e-01, -1.273238807916641e-01, -2.831568941473961e-02, 8.150812983512878e-02, 1.601986289024353e-01, 1.776987016201019e-01, 1.273239105939865e-01, 2.831570990383625e-02, -8.150812983512878e-02, -1.601986736059189e-01, -1.776987612247467e-01, -1.273238956928253e-01, -2.831572294235229e-02, 8.15081000328064e-02, 1.601986140012741e-01, 1.776986420154572e-01, 1.273237317800522e-01, 2.831540070474148e-02, -8.150853961706161e-02, -1.601990759372711e-01, -1.776991188526154e-01, -1.273242980241776e-01, -2.831613458693027e-02, 8.150774985551834e-02, 1.601982712745667e-01, 1.776983588933945e-01, 1.273234933614731e-01, 2.831529453396797e-02, -8.150846511125565e-02, -1.601988524198532e-01, -1.776987910270691e-01, -1.273239254951477e-01, -2.831572107970715e-02, 8.15080851316452e-02, 1.601985991001129e-01, 1.776988059282303e-01, 1.273239105939865e-01, 2.831562049686909e-02, -8.150828629732132e-02, -1.601988077163696e-01, -1.776988506317139e-01, -1.273240447044373e-01, -2.831584401428699e-02, 8.150799572467804e-02, 1.601984947919846e-01, 1.776985675096512e-01, 1.273237615823746e-01, 2.831545099616051e-02, -8.15083310008049e-02, -1.601987481117249e-01, -1.776987314224243e-01, -1.273238807916641e-01, -2.831568941473961e-02, 8.150813728570938e-02, 1.601986438035965e-01, 1.776987016201019e-01, 1.273239105939865e-01, 2.831570617854595e-02, -8.150813728570938e-02, -1.601986438035965e-01, -1.776987016201019e-01, -1.273239105939865e-01, -2.831570617854595e-02, 8.150813728570938e-02, 1.601986438035965e-01, 1.776987016201019e-01, 1.273239105939865e-01, 2.831570617854595e-02, -8.150813728570938e-02, -1.601986438035965e-01, -1.776987016201019e-01, -1.273239105939865e-01] +movAve9.y=[0e+00, 3.039204776287079e-01, 5.498324036598206e-01, 6.944261193275452e-01, 7.197624444961548e-01, 6.366037130355835e-01, 4.798464775085449e-01, 2.976180911064148e-01, 1.374643594026566e-01, 3.377259895205498e-02, -8.825113440025234e-08, 2.763227373361588e-02, 9.164350479841232e-02, 1.602572798728943e-01, 2.056510895490646e-01, 2.12204784154892e-01, 1.79944708943367e-01, 1.225498095154762e-01, 6.10956959426403e-02, 1.599756442010403e-02, -1.313608919417675e-07, 1.447403989732265e-02, 4.998751729726791e-02, 9.05805230140686e-02, 1.199634522199631e-01, 1.273232251405716e-01, 1.030071973800659e-01, 3.934512287378311e-02, -3.934543207287788e-02, -1.030073761940002e-01, -1.273240298032761e-01, -1.030072867870331e-01, -3.934529051184654e-02, 3.934524580836296e-02, 1.030072122812271e-01, 1.273238956928253e-01, 1.030071452260017e-01, 3.93451489508152e-02, -3.934533521533012e-02, -1.030074208974838e-01, -1.273240745067596e-01, -1.030072942376137e-01, -3.934523835778236e-02, 3.934532031416893e-02, 1.030072495341301e-01, 1.273238658905029e-01, 1.030070632696152e-01, 3.934501484036446e-02, -3.934553638100624e-02, -1.030074879527092e-01, -1.273241490125656e-01, -1.030074879527092e-01, -3.934541717171669e-02, 3.93451415002346e-02, 1.03007085621357e-01, 1.273237317800522e-01, 1.030069962143898e-01, 3.934499621391296e-02, -3.934554010629654e-02, -1.030075028538704e-01, -1.27324178814888e-01, -1.030074432492256e-01, -3.934543952345848e-02, 3.934504091739655e-02, 1.030071303248405e-01, 1.273237764835358e-01, 1.030070036649704e-01, 3.934494405984879e-02, -3.934561088681221e-02, -1.03007547557354e-01, -1.273241639137268e-01, -1.030073538422585e-01, -3.934530913829803e-02, 3.934524208307266e-02, 1.030071899294853e-01, 1.273238509893417e-01, 1.030071452260017e-01, 3.93451452255249e-02, -3.93453910946846e-02, -1.030073538422585e-01, -1.273240298032761e-01, -1.030072867870331e-01, -3.934528678655624e-02, 3.934524953365326e-02, 1.030072122812271e-01, 1.273238956928253e-01, 1.030071452260017e-01, 3.93451452255249e-02, -3.934537246823311e-02, -1.030074059963226e-01, -1.273240447044373e-01, -1.030072495341301e-01, -3.934521600604057e-02, 3.934532776474953e-02, 1.030072867870331e-01, 1.273239552974701e-01, 1.030072197318077e-01, 3.934521973133087e-02, -3.934531658887863e-02, -1.030072793364525e-01, -1.273239701986313e-01] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_MultiMax.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_MultiMax.txt new file mode 100644 index 0000000000..ea59238eed --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_MultiMax.txt @@ -0,0 +1,14 @@ +last-generated=2017-09-14 +statistics-simulation= +{ + "numerical Jacobians": "0", + "nonlinear": " ", + "linear": " " +} +con[3].y=[3e+00, 3e+00] +con[5].y=[5e+00, 5e+00] +con[1].y=[1e+00, 1e+00] +con[4].y=[4e+00, 4e+00] +time=[0e+00, 1e+00] +con[2].y=[2e+00, 2e+00] +maxVal.y=[5e+00, 5e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_MultiMin.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_MultiMin.txt new file mode 100644 index 0000000000..46c2056b44 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_MultiMin.txt @@ -0,0 +1,14 @@ +last-generated=2017-09-14 +statistics-simulation= +{ + "numerical Jacobians": "0", + "nonlinear": " ", + "linear": " " +} +con[3].y=[3e+00, 3e+00] +con[5].y=[5e+00, 5e+00] +con[1].y=[1e+00, 1e+00] +con[4].y=[4e+00, 4e+00] +time=[0e+00, 1e+00] +con[2].y=[2e+00, 2e+00] +minVal.y=[1e+00, 1e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_MultiSum.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_MultiSum.txt new file mode 100644 index 0000000000..6f2ef7f4be --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_MultiSum.txt @@ -0,0 +1,19 @@ +last-generated=2017-06-30 +statistics-simulation= +{ + "numerical Jacobians": "0", + "nonlinear": " ", + "linear": " " +} +mulSum_1.u[1]=[-2e+00, -1.960000037252901e+00, -1.919999955296513e+00, -1.879999992549417e+00, -1.840000029802316e+00, -1.799999955296522e+00, -1.759999985098829e+00, -1.720000029802327e+00, -1.679999940395462e+00, -1.64e+00, -1.600000029802322e+00, -1.559999940395391e+00, -1.519999970197678e+00, -1.48e+00, -1.440000059604609e+00, -1.4e+00, -1.36e+00, -1.320000059604538e+00, -1.28e+00, -1.24e+00, -1.200000059604467e+00, -1.159999940395355e+00, -1.12e+00, -1.080000059604645e+00, -1.039999940395355e+00, -1e+00, -9.599999403956394e-01, -9.20000059604325e-01, -8.799999999999999e-01, -8.39999940395604e-01, -8.000000596046448e-01, -7.6e-01, -7.2e-01, -6.800000596046447e-01, -6.399999999999999e-01, -6.000000000000001e-01, -5.600000596046448e-01, -5.2e-01, -4.799999701977486e-01, -4.399999403955683e-01, -4.000000298022335e-01, -3.600000000000001e-01, -3.199999403955507e-01, -2.800000298022158e-01, -2.399999850988566e-01, -1.999999552966052e-01, -1.600000298022601e-01, -1.199999925494328e-01, -7.999995529659643e-02, -4.000003725283197e-02, 0e+00, 4.000003725226355e-02, 8.000007450452709e-02, 1.200001117568972e-01, 1.599999105944718e-01, 1.99999955297316e-01, 2.399999850987147e-01, 2.800000298017893e-01, 3.200000596036499e-01, 3.600001192073355e-01, 3.999999105944538e-01, 4.39999940396421e-01, 4.799999701980329e-01, 5.199999999997158e-01, 5.600000596037922e-01, 6.00000119207158e-01, 6.399998807930554e-01, 6.799999403963501e-01, 7.200000000004265e-01, 7.600000000001419e-01, 8.000000596039341e-01, 8.400000596033657e-01, 8.799998807924156e-01, 9.19999940396492e-01, 9.599999403962078e-01, 1e+00, 1.039999999999432e+00, 1.080000119208153e+00, 1.120000119207584e+00, 1.15999988079199e+00, 1.200000000000711e+00, 1.239999999999858e+00, 1.279999999999573e+00, 1.3200001192073e+00, 1.360000119207726e+00, 1.399999880792131e+00, 1.440000000000853e+00, 1.480000000000284e+00, 1.519999999999716e+00, 1.559999999999147e+00, 1.600000119207869e+00, 1.639999880792274e+00, 1.6799998807927e+00, 1.720000000000427e+00, 1.760000000000142e+00, 1.799999999999289e+00, 1.84000011920801e+00, 1.879999880792416e+00, 1.919999880791847e+00, 1.960000000000568e+00, 2e+00] +mulSum_1.y=[-2e+00, -1.960000037252901e+00, -1.919999955296513e+00, -1.879999992549417e+00, -1.840000029802316e+00, -1.799999955296522e+00, -1.759999985098829e+00, -1.720000029802327e+00, -1.679999940395462e+00, -1.64e+00, -1.600000029802322e+00, -1.559999940395391e+00, -1.519999970197678e+00, -1.48e+00, -1.440000059604609e+00, -1.4e+00, -1.36e+00, -1.320000059604538e+00, -1.28e+00, -1.24e+00, -1.200000059604467e+00, -1.159999940395355e+00, -1.12e+00, -1.080000059604645e+00, -1.039999940395355e+00, -1e+00, -9.599999403956394e-01, -9.20000059604325e-01, -8.799999999999999e-01, -8.39999940395604e-01, -8.000000596046448e-01, -7.6e-01, -7.2e-01, -6.800000596046447e-01, -6.399999999999999e-01, -6.000000000000001e-01, -5.600000596046448e-01, -5.2e-01, -4.799999701977486e-01, -4.399999403955683e-01, -4.000000298022335e-01, -3.600000000000001e-01, -3.199999403955507e-01, -2.800000298022158e-01, -2.399999850988566e-01, -1.999999552966052e-01, -1.600000298022601e-01, -1.199999925494328e-01, -7.999995529659643e-02, -4.000003725283197e-02, 0e+00, 4.000003725226355e-02, 8.000007450452709e-02, 1.200001117568972e-01, 1.599999105944718e-01, 1.99999955297316e-01, 2.399999850987147e-01, 2.800000298017893e-01, 3.200000596036499e-01, 3.600001192073355e-01, 3.999999105944538e-01, 4.39999940396421e-01, 4.799999701980329e-01, 5.199999999997158e-01, 5.600000596037922e-01, 6.00000119207158e-01, 6.399998807930554e-01, 6.799999403963501e-01, 7.200000000004265e-01, 7.600000000001419e-01, 8.000000596039341e-01, 8.400000596033657e-01, 8.799998807924156e-01, 9.19999940396492e-01, 9.599999403962078e-01, 1e+00, 1.039999999999432e+00, 1.080000119208153e+00, 1.120000119207584e+00, 1.15999988079199e+00, 1.200000000000711e+00, 1.239999999999858e+00, 1.279999999999573e+00, 1.3200001192073e+00, 1.360000119207726e+00, 1.399999880792131e+00, 1.440000000000853e+00, 1.480000000000284e+00, 1.519999999999716e+00, 1.559999999999147e+00, 1.600000119207869e+00, 1.639999880792274e+00, 1.6799998807927e+00, 1.720000000000427e+00, 1.760000000000142e+00, 1.799999999999289e+00, 1.84000011920801e+00, 1.879999880792416e+00, 1.919999880791847e+00, 1.960000000000568e+00, 2e+00] +time=[0e+00, 1e+00] +mulSum_2.u[2]=[-1e+00, -9.800000186264507e-01, -9.599999776482565e-01, -9.399999962747084e-01, -9.200000149011579e-01, -8.99999977648261e-01, -8.799999925494144e-01, -8.600000149011634e-01, -8.399999701977309e-01, -8.200000000000001e-01, -8.000000149011612e-01, -7.799999701976954e-01, -7.599999850988388e-01, -7.4e-01, -7.200000298023046e-01, -7e-01, -6.799999999999999e-01, -6.60000029802269e-01, -6.4e-01, -6.2e-01, -6.000000298022335e-01, -5.799999701976777e-01, -5.600000000000001e-01, -5.400000298023224e-01, -5.199999701976776e-01, -5e-01, -4.799999701978197e-01, -4.600000298021625e-01, -4.399999999999999e-01, -4.19999970197802e-01, -4.000000298023224e-01, -3.8e-01, -3.6e-01, -3.400000298023224e-01, -3.2e-01, -3e-01, -2.800000298023224e-01, -2.6e-01, -2.399999850988743e-01, -2.199999701977842e-01, -2.000000149011167e-01, -1.8e-01, -1.599999701977753e-01, -1.400000149011079e-01, -1.199999925494283e-01, -9.99999776483026e-02, -8.000001490113007e-02, -5.999999627471642e-02, -3.999997764829821e-02, -2.000001862641598e-02, 0e+00, 2.000001862613177e-02, 4.000003725226355e-02, 6.00000558784486e-02, 7.99999552972359e-02, 9.999997764865798e-02, 1.199999925493573e-01, 1.400000149008946e-01, 1.600000298018249e-01, 1.800000596036677e-01, 1.999999552972269e-01, 2.199999701982105e-01, 2.399999850990164e-01, 2.599999999998579e-01, 2.800000298018961e-01, 3.00000059603579e-01, 3.199999403965277e-01, 3.399999701981751e-01, 3.600000000002133e-01, 3.800000000000709e-01, 4.00000029801967e-01, 4.200000298016828e-01, 4.399999403962078e-01, 4.59999970198246e-01, 4.799999701981039e-01, 5e-01, 5.199999999997158e-01, 5.400000596040764e-01, 5.600000596037922e-01, 5.799999403959948e-01, 6.000000000003554e-01, 6.199999999999291e-01, 6.399999999997867e-01, 6.600000596036499e-01, 6.800000596038631e-01, 6.999999403960657e-01, 7.200000000004263e-01, 7.400000000001421e-01, 7.599999999998579e-01, 7.799999999995737e-01, 8.000000596039343e-01, 8.199999403961369e-01, 8.399999403963501e-01, 8.600000000002133e-01, 8.800000000000709e-01, 8.999999999996446e-01, 9.200000596040052e-01, 9.399999403962078e-01, 9.599999403959236e-01, 9.800000000002842e-01, 1e+00] +mulSum_2.u[1]=[-2e+00, -1.960000037252901e+00, -1.919999955296513e+00, -1.879999992549417e+00, -1.840000029802316e+00, -1.799999955296522e+00, -1.759999985098829e+00, -1.720000029802327e+00, -1.679999940395462e+00, -1.64e+00, -1.600000029802322e+00, -1.559999940395391e+00, -1.519999970197678e+00, -1.48e+00, -1.440000059604609e+00, -1.4e+00, -1.36e+00, -1.320000059604538e+00, -1.28e+00, -1.24e+00, -1.200000059604467e+00, -1.159999940395355e+00, -1.12e+00, -1.080000059604645e+00, -1.039999940395355e+00, -1e+00, -9.599999403956394e-01, -9.20000059604325e-01, -8.799999999999999e-01, -8.39999940395604e-01, -8.000000596046448e-01, -7.6e-01, -7.2e-01, -6.800000596046447e-01, -6.399999999999999e-01, -6.000000000000001e-01, -5.600000596046448e-01, -5.2e-01, -4.799999701977486e-01, -4.399999403955683e-01, -4.000000298022335e-01, -3.600000000000001e-01, -3.199999403955507e-01, -2.800000298022158e-01, -2.399999850988566e-01, -1.999999552966052e-01, -1.600000298022601e-01, -1.199999925494328e-01, -7.999995529659643e-02, -4.000003725283197e-02, 0e+00, 4.000003725226355e-02, 8.000007450452709e-02, 1.200001117568972e-01, 1.599999105944718e-01, 1.99999955297316e-01, 2.399999850987147e-01, 2.800000298017893e-01, 3.200000596036499e-01, 3.600001192073355e-01, 3.999999105944538e-01, 4.39999940396421e-01, 4.799999701980329e-01, 5.199999999997158e-01, 5.600000596037922e-01, 6.00000119207158e-01, 6.399998807930554e-01, 6.799999403963501e-01, 7.200000000004265e-01, 7.600000000001419e-01, 8.000000596039341e-01, 8.400000596033657e-01, 8.799998807924156e-01, 9.19999940396492e-01, 9.599999403962078e-01, 1e+00, 1.039999999999432e+00, 1.080000119208153e+00, 1.120000119207584e+00, 1.15999988079199e+00, 1.200000000000711e+00, 1.239999999999858e+00, 1.279999999999573e+00, 1.3200001192073e+00, 1.360000119207726e+00, 1.399999880792131e+00, 1.440000000000853e+00, 1.480000000000284e+00, 1.519999999999716e+00, 1.559999999999147e+00, 1.600000119207869e+00, 1.639999880792274e+00, 1.6799998807927e+00, 1.720000000000427e+00, 1.760000000000142e+00, 1.799999999999289e+00, 1.84000011920801e+00, 1.879999880792416e+00, 1.919999880791847e+00, 1.960000000000568e+00, 2e+00] +mulSum_2.y=[-2.5e+00, -2.45000004656613e+00, -2.40000009313226e+00, -2.349999901279814e+00, -2.299999947845941e+00, -2.250000003725286e+00, -2.200000040978201e+00, -2.150000096857549e+00, -2.099999895691898e+00, -2.049999970197624e+00, -2.000000007450558e+00, -1.950000044703492e+00, -1.899999962747137e+00, -1.850000000000071e+00, -1.799999955296507e+00, -1.750000029802234e+00, -1.700000029802376e+00, -1.649999985098812e+00, -1.600000059604538e+00, -1.549999940395391e+00, -1.500000014901117e+00, -1.450000014901259e+00, -1.399999970197695e+00, -1.350000044703421e+00, -1.299999925494274e+00, -1.25e+00, -1.200000000000142e+00, -1.150000029802162e+00, -1.100000029802304e+00, -1.049999910593157e+00, -1.000000059604467e+00, -9.499999999999644e-01, -8.999999403954617e-01, -8.500000894067716e-01, -8.000000298022689e-01, -7.499999701977665e-01, -7.000000596044317e-01, -6.500000000000711e-01, -5.999999999999289e-01, -5.499999403955683e-01, -5.000000298022335e-01, -4.49999970197731e-01, -3.999999403953553e-01, -3.500000298023224e-01, -3e-01, -2.49999940395444e-01, -2.000000447033591e-01, -1.50000000000009e-01, -9.999994784605581e-02, -5.000004842866734e-02, 0e+00, 5.000004842795681e-02, 1.000000968559136e-01, 1.500001490090542e-01, 1.999998956936304e-01, 2.499999403963324e-01, 2.999999999998226e-01, 3.500000298017892e-01, 4.000000894054748e-01, 4.500001192073355e-01, 4.999998807928419e-01, 5.499999403966341e-01, 6.000000000002842e-01, 6.499999999997158e-01, 7.000000596033659e-01, 7.50000119207158e-01, 7.999998807930554e-01, 8.499999403963502e-01, 8.99999940395995e-01, 9.500000000001418e-01, 1.000000059603579e+00, 1.050000059602726e+00, 1.099999880793268e+00, 1.149999880792416e+00, 1.200000000000853e+00, 1.25e+00, 1.299999999999147e+00, 1.350000119207584e+00, 1.400000119206732e+00, 1.449999940397274e+00, 1.499999940396421e+00, 1.549999940395213e+00, 1.600000059604005e+00, 1.650000059603153e+00, 1.700000178811589e+00, 1.749999880792842e+00, 1.799999880791989e+00, 1.850000000000426e+00, 1.899999999999574e+00, 1.950000119208011e+00, 2.000000119207158e+00, 2.049999821188411e+00, 2.099999821187558e+00, 2.150000059605285e+00, 2.200000059604787e+00, 2.250000059603579e+00, 2.300000059602726e+00, 2.349999761583978e+00, 2.400000000001705e+00, 2.450000000000852e+00, 2.5e+00] +mulSum_5.u[1]=[-2e+00, -1.960000037252901e+00, -1.919999955296513e+00, -1.879999992549417e+00, -1.840000029802316e+00, -1.799999955296522e+00, -1.759999985098829e+00, -1.720000029802327e+00, -1.679999940395462e+00, -1.64e+00, -1.600000029802322e+00, -1.559999940395391e+00, -1.519999970197678e+00, -1.48e+00, -1.440000059604609e+00, -1.4e+00, -1.36e+00, -1.320000059604538e+00, -1.28e+00, -1.24e+00, -1.200000059604467e+00, -1.159999940395355e+00, -1.12e+00, -1.080000059604645e+00, -1.039999940395355e+00, -1e+00, -9.599999403956394e-01, -9.20000059604325e-01, -8.799999999999999e-01, -8.39999940395604e-01, -8.000000596046448e-01, -7.6e-01, -7.2e-01, -6.800000596046447e-01, -6.399999999999999e-01, -6.000000000000001e-01, -5.600000596046448e-01, -5.2e-01, -4.799999701977486e-01, -4.399999403955683e-01, -4.000000298022335e-01, -3.600000000000001e-01, -3.199999403955507e-01, -2.800000298022158e-01, -2.399999850988566e-01, -1.999999552966052e-01, -1.600000298022601e-01, -1.199999925494328e-01, -7.999995529659643e-02, -4.000003725283197e-02, 0e+00, 4.000003725226355e-02, 8.000007450452709e-02, 1.200001117568972e-01, 1.599999105944718e-01, 1.99999955297316e-01, 2.399999850987147e-01, 2.800000298017893e-01, 3.200000596036499e-01, 3.600001192073355e-01, 3.999999105944538e-01, 4.39999940396421e-01, 4.799999701980329e-01, 5.199999999997158e-01, 5.600000596037922e-01, 6.00000119207158e-01, 6.399998807930554e-01, 6.799999403963501e-01, 7.200000000004265e-01, 7.600000000001419e-01, 8.000000596039341e-01, 8.400000596033657e-01, 8.799998807924156e-01, 9.19999940396492e-01, 9.599999403962078e-01, 1e+00, 1.039999999999432e+00, 1.080000119208153e+00, 1.120000119207584e+00, 1.15999988079199e+00, 1.200000000000711e+00, 1.239999999999858e+00, 1.279999999999573e+00, 1.3200001192073e+00, 1.360000119207726e+00, 1.399999880792131e+00, 1.440000000000853e+00, 1.480000000000284e+00, 1.519999999999716e+00, 1.559999999999147e+00, 1.600000119207869e+00, 1.639999880792274e+00, 1.6799998807927e+00, 1.720000000000427e+00, 1.760000000000142e+00, 1.799999999999289e+00, 1.84000011920801e+00, 1.879999880792416e+00, 1.919999880791847e+00, 1.960000000000568e+00, 2e+00] +mulSum_5.u[3]=[-1e+00, -9.700000279396727e-01, -9.399999962747139e-01, -9.100000242143751e-01, -8.799999925494277e-01, -8.500000260770252e-01, -8.199999888241416e-01, -7.900000223517407e-01, -7.599999850988655e-01, -7.300000298022691e-01, -6.999999925493972e-01, -6.700000149011524e-01, -6.399999776482982e-01, -6.099999999999289e-01, -5.799999850988476e-01, -5.500000298022336e-01, -5.199999701977309e-01, -4.900000149011345e-01, -4.600000298022158e-01, -4.3e-01, -4.000000149011168e-01, -3.699999850988388e-01, -3.4e-01, -3.100000149011611e-01, -2.799999850988388e-01, -2.5e-01, -2.199999701977486e-01, -1.900000298022424e-01, -1.59999999999991e-01, -1.299999701977398e-01, -1.000000372528142e-01, -7.000000745056284e-02, -3.999997764831148e-02, -1.000003911547481e-02, 1.999998882415249e-02, 5.000001862641812e-02, 7.999995529662296e-02, 1.099999850988743e-01, 1.400000149011257e-01, 1.70000044703377e-01, 1.999999850988833e-01, 2.300000149011345e-01, 2.600000298023223e-01, 2.899999701977842e-01, 3.2e-01, 3.500000298023224e-01, 3.79999970197802e-01, 4.099999999999999e-01, 4.400000298023223e-01, 4.699999701976776e-01, 5e-01, 5.299999999997158e-01, 5.60000059603508e-01, 5.900000596037922e-01, 6.199999403966343e-01, 6.499999403960659e-01, 6.799999999999291e-01, 7.099999999997867e-01, 7.400000596036499e-01, 7.700000596038631e-01, 7.999999403967762e-01, 8.299999403962078e-01, 8.600000000001421e-01, 8.899999999998579e-01, 9.200000596037922e-01, 9.500000596032238e-01, 9.799999403961369e-01, 1.009999940395853e+00, 1.039999940395995e+00, 1.070000059604645e+00, 1.100000059603579e+00, 1.130000059604005e+00, 1.159999880793268e+00, 1.190000000000568e+00, 1.220000000000284e+00, 1.25e+00, 1.279999999999716e+00, 1.309999999999432e+00, 1.340000119206732e+00, 1.369999940395995e+00, 1.399999940396421e+00, 1.429999940395355e+00, 1.460000059604005e+00, 1.490000059604147e+00, 1.520000059603863e+00, 1.549999880792842e+00, 1.580000000000426e+00, 1.610000000000142e+00, 1.639999999999858e+00, 1.669999999999574e+00, 1.700000119207158e+00, 1.729999940396137e+00, 1.759999940395853e+00, 1.789999940395995e+00, 1.820000059604645e+00, 1.850000059603579e+00, 1.880000059604005e+00, 1.909999880793268e+00, 1.940000000000568e+00, 1.970000000000284e+00, 2e+00] +mulSum_5.u[2]=[-1e+00, -9.800000186264507e-01, -9.599999776482565e-01, -9.399999962747084e-01, -9.200000149011579e-01, -8.99999977648261e-01, -8.799999925494144e-01, -8.600000149011634e-01, -8.399999701977309e-01, -8.200000000000001e-01, -8.000000149011612e-01, -7.799999701976954e-01, -7.599999850988388e-01, -7.4e-01, -7.200000298023046e-01, -7e-01, -6.799999999999999e-01, -6.60000029802269e-01, -6.4e-01, -6.2e-01, -6.000000298022335e-01, -5.799999701976777e-01, -5.600000000000001e-01, -5.400000298023224e-01, -5.199999701976776e-01, -5e-01, -4.799999701978197e-01, -4.600000298021625e-01, -4.399999999999999e-01, -4.19999970197802e-01, -4.000000298023224e-01, -3.8e-01, -3.6e-01, -3.400000298023224e-01, -3.2e-01, -3e-01, -2.800000298023224e-01, -2.6e-01, -2.399999850988743e-01, -2.199999701977842e-01, -2.000000149011167e-01, -1.8e-01, -1.599999701977753e-01, -1.400000149011079e-01, -1.199999925494283e-01, -9.99999776483026e-02, -8.000001490113007e-02, -5.999999627471642e-02, -3.999997764829821e-02, -2.000001862641598e-02, 0e+00, 2.000001862613177e-02, 4.000003725226355e-02, 6.00000558784486e-02, 7.99999552972359e-02, 9.999997764865798e-02, 1.199999925493573e-01, 1.400000149008946e-01, 1.600000298018249e-01, 1.800000596036677e-01, 1.999999552972269e-01, 2.199999701982105e-01, 2.399999850990164e-01, 2.599999999998579e-01, 2.800000298018961e-01, 3.00000059603579e-01, 3.199999403965277e-01, 3.399999701981751e-01, 3.600000000002133e-01, 3.800000000000709e-01, 4.00000029801967e-01, 4.200000298016828e-01, 4.399999403962078e-01, 4.59999970198246e-01, 4.799999701981039e-01, 5e-01, 5.199999999997158e-01, 5.400000596040764e-01, 5.600000596037922e-01, 5.799999403959948e-01, 6.000000000003554e-01, 6.199999999999291e-01, 6.399999999997867e-01, 6.600000596036499e-01, 6.800000596038631e-01, 6.999999403960657e-01, 7.200000000004263e-01, 7.400000000001421e-01, 7.599999999998579e-01, 7.799999999995737e-01, 8.000000596039343e-01, 8.199999403961369e-01, 8.399999403963501e-01, 8.600000000002133e-01, 8.800000000000709e-01, 8.999999999996446e-01, 9.200000596040052e-01, 9.399999403962078e-01, 9.599999403959236e-01, 9.800000000002842e-01, 1e+00] +mulSum_5.u[5]=[-3e+00, -2.970000027939673e+00, -2.940000055879345e+00, -2.91000008381902e+00, -2.880000111758691e+00, -2.849999906867758e+00, -2.819999929219457e+00, -2.789999962747105e+00, -2.759999985098812e+00, -2.730000029802376e+00, -2.700000052154087e+00, -2.670000074505797e+00, -2.640000096857508e+00, -2.609999880791208e+00, -2.579999925494203e+00, -2.549999970197766e+00, -2.519999970197624e+00, -2.490000014901188e+00, -2.460000059604751e+00, -2.430000059604609e+00, -2.400000104307817e+00, -2.369999865890233e+00, -2.339999910593157e+00, -2.309999955296579e+00, -2.279999955296437e+00, -2.25e+00, -2.219999999999858e+00, -2.190000089407127e+00, -2.160000089406843e+00, -2.130000089406843e+00, -2.099999940395533e+00, -2.069999940395391e+00, -2.039999940395249e+00, -2.010000029802518e+00, -1.980000029802162e+00, -1.950000029802234e+00, -1.920000000000213e+00, -1.890000000000071e+00, -1.859999999999929e+00, -1.829999999999787e+00, -1.799999970197766e+00, -1.769999970197838e+00, -1.739999970197482e+00, -1.710000059604325e+00, -1.679999940395462e+00, -1.649999940395888e+00, -1.620000029802447e+00, -1.590000029802305e+00, -1.559999910593513e+00, -1.530000000000142e+00, -1.5e+00, -1.470000000000284e+00, -1.440000000000568e+00, -1.409999880793268e+00, -1.380000059604005e+00, -1.350000059603579e+00, -1.320000059604645e+00, -1.289999940395995e+00, -1.259999940395853e+00, -1.229999940396137e+00, -1.200000119207158e+00, -1.169999999999574e+00, -1.139999999999858e+00, -1.110000000000142e+00, -1.080000000000426e+00, -1.049999880792842e+00, -1.020000059603863e+00, -9.900000596036499e-01, -9.599999999997867e-01, -9.299999999999291e-01, -8.999999403960659e-01, -8.699999403966343e-01, -8.400000596037922e-01, -8.10000059603508e-01, -7.799999999997158e-01, -7.5e-01, -7.200000000002842e-01, -6.89999940396492e-01, -6.599999403962078e-01, -6.300000596033657e-01, -6.000000596039341e-01, -5.700000000000709e-01, -5.400000000002133e-01, -5.099999403963501e-01, -4.799999105945961e-01, -4.50000059603579e-01, -4.200000298016829e-01, -3.899999999997869e-01, -3.600000000002131e-01, -3.299999701983171e-01, -2.99999940396421e-01, -2.700000894054039e-01, -2.400000447027374e-01, -2.100000149008413e-01, -1.799999999998936e-01, -1.499999701982107e-01, -1.199999329458938e-01, -9.000008940547513e-02, -6.000005587839531e-02, -3.000002793918877e-02, 0e+00] +mulSum_5.y=[-1.060000038146973e+01, -1.045699977555129e+01, -1.031400012330717e+01, -1.017099951738874e+01, -1.002799986514461e+01, -9.885000239536067e+00, -9.741999606982052e+00, -9.598999981373517e+00, -9.456000302493004e+00, -9.312999776483718e+00, -9.170000097602369e+00, -9.027000418722441e+00, -8.883999786168765e+00, -8.741000107289121e+00, -8.597999581277559e+00, -8.455000008939747e+00, -8.312000223516282e+00, -8.168999697506996e+00, -8.026000125168613e+00, -7.882999862909697e+00, -7.739999813735721e+00, -7.597000028311689e+00, -7.45399997913828e+00, -7.310999929964872e+00, -7.16800014454084e+00, -7.025000095367432e+00, -6.881999833108515e+00, -6.738999997020615e+00, -6.596000211596299e+00, -6.452999949335394e+00, -6.310000113249767e+00, -6.166999850988576e+00, -6.024000065564544e+00, -5.881000229475791e+00, -5.737999967217728e+00, -5.594999704957959e+00, -5.452000345704659e+00, -5.309000083446879e+00, -5.165999821186826e+00, -5.02299955892791e+00, -4.880000199674609e+00, -4.736999937414841e+00, -4.593999675156777e+00, -4.451000315903477e+00, -4.308000053643992e+00, -4.164999791385644e+00, -4.021999955297175e+00, -3.878999931454707e+00, -3.735999907613233e+00, -3.59300007152519e+00, -3.450000047683716e+00, -3.306999785425695e+00, -3.163999761586252e+00, -3.020999499328231e+00, -2.87800032782011e+00, -2.73500006556351e+00, -2.592000041723663e+00, -2.448999779464627e+00, -2.305999755625185e+00, -2.162999731782616e+00, -2.020000321859043e+00, -1.877000178810311e+00, -1.734000035761579e+00, -1.590999892712847e+00, -1.447999749664115e+00, -1.304999606615384e+00, -1.162000315899537e+00, -1.019000292058531e+00, -8.760000894053678e-01, -7.329999463554083e-01, -5.899998033076926e-01, -4.469996900609635e-01, -3.040003993442993e-01, -1.610002711965866e-01, -1.800013559825776e-02, 1.25e-01, 2.680001430488739e-01, 4.110002860974636e-01, 5.540004291461954e-01, 6.969997198629662e-01, 8.399998033076926e-01, 9.829999463554083e-01, 1.126000149009799e+00, 1.269000292058531e+00, 1.412000315899537e+00, 1.554999606615384e+00, 1.697999749664115e+00, 1.840999892712847e+00, 1.984000035761579e+00, 2.1270002980196e+00, 2.270000321859043e+00, 2.412999731782616e+00, 2.555999755625185e+00, 2.698999779464627e+00, 2.842000041723663e+00, 2.98500006556351e+00, 3.12800032782011e+00, 3.270999499328231e+00, 3.413999761586252e+00, 3.556999785425695e+00, 3.700000047683716e+00] +mulSum_5.u[4]=[-2e+00, -1.970000027939673e+00, -1.940000055879345e+00, -1.90999996460977e+00, -1.879999992549401e+00, -1.850000026077003e+00, -1.820000048428746e+00, -1.789999962747105e+00, -1.759999985098812e+00, -1.730000029802162e+00, -1.700000052153998e+00, -1.669999955296543e+00, -1.639999977648218e+00, -1.609999999999929e+00, -1.580000044703457e+00, -1.549999970197766e+00, -1.519999970197838e+00, -1.490000014901188e+00, -1.460000059604325e+00, -1.429999940395462e+00, -1.399999985098883e+00, -1.369999985098741e+00, -1.340000029802305e+00, -1.309999955296579e+00, -1.279999955296756e+00, -1.25e+00, -1.219999999999858e+00, -1.190000089406487e+00, -1.159999970197695e+00, -1.129999970197553e+00, -1.100000059604112e+00, -1.070000059604538e+00, -1.039999940395675e+00, -1.010000029802518e+00, -9.800000298022691e-01, -9.499999701977665e-01, -9.200000596044317e-01, -8.900000000000711e-01, -8.599999999999289e-01, -8.299999403955683e-01, -8.000000298022335e-01, -7.699999701977309e-01, -7.39999970197873e-01, -7.100000000001065e-01, -6.800000000000355e-01, -6.499999403955328e-01, -6.200000298021979e-01, -5.899999701976955e-01, -5.599999701978375e-01, -5.300000000001421e-01, -5e-01, -4.699999701981039e-01, -4.399999403962078e-01, -4.09999910594738e-01, -3.800000596036854e-01, -3.500000298017893e-01, -3.200000000001064e-01, -2.899999701981041e-01, -2.599999403963501e-01, -2.299999254955619e-01, -2.000000745045626e-01, -1.700000447027376e-01, -1.400000149009125e-01, -1.099999850990875e-01, -7.999995529726243e-02, -4.999992922068328e-02, -2.000007822977725e-02, 9.999949709432063e-03, 3.999997764863138e-02, 7.000000745066925e-02, 1.000000372522811e-01, 1.300000596036855e-01, 1.599999105945249e-01, 1.899999403963499e-01, 2.19999970198175e-01, 2.5e-01, 2.800000298018961e-01, 3.100000596037922e-01, 3.40000089405262e-01, 3.699999403963146e-01, 3.999999701982107e-01, 4.299999999998936e-01, 4.600000298018959e-01, 4.900000596036499e-01, 5.200000596038631e-01, 5.499999403967762e-01, 5.799999403962078e-01, 6.100000000001421e-01, 6.399999999998579e-01, 6.700000596037922e-01, 7.000000596032238e-01, 7.299999403961369e-01, 7.599999403963501e-01, 7.900000000002133e-01, 8.200000000000709e-01, 8.500000596039341e-01, 8.800000596033657e-01, 9.099999403962078e-01, 9.39999940396492e-01, 9.700000000002842e-01, 1e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Multiply.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Multiply.txt new file mode 100644 index 0000000000..55dc2f87e3 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Multiply.txt @@ -0,0 +1,11 @@ +last-generated=2017-03-22 +statistics-simulation= +{ + "numerical Jacobians": "0", + "nonlinear": " ", + "linear": " " +} +product1.u1=[-2e+00, -1.960000037252901e+00, -1.919999955296513e+00, -1.879999992549417e+00, -1.840000029802316e+00, -1.799999955296522e+00, -1.759999985098829e+00, -1.720000029802327e+00, -1.679999940395462e+00, -1.64e+00, -1.600000029802322e+00, -1.559999940395391e+00, -1.519999970197678e+00, -1.48e+00, -1.440000059604609e+00, -1.4e+00, -1.36e+00, -1.320000059604538e+00, -1.28e+00, -1.24e+00, -1.200000059604467e+00, -1.159999940395355e+00, -1.12e+00, -1.080000059604645e+00, -1.039999940395355e+00, -1e+00, -9.599999403956394e-01, -9.20000059604325e-01, -8.799999999999999e-01, -8.39999940395604e-01, -8.000000596046448e-01, -7.6e-01, -7.2e-01, -6.800000596046447e-01, -6.399999999999999e-01, -6.000000000000001e-01, -5.600000596046448e-01, -5.2e-01, -4.799999701977486e-01, -4.399999403955683e-01, -4.000000298022335e-01, -3.600000000000001e-01, -3.199999403955507e-01, -2.800000298022158e-01, -2.399999850988566e-01, -1.999999552966052e-01, -1.600000298022601e-01, -1.199999925494328e-01, -7.999995529659643e-02, -4.000003725283197e-02, 0e+00, 4.000003725226355e-02, 8.000007450452709e-02, 1.200001117568972e-01, 1.599999105944718e-01, 1.99999955297316e-01, 2.399999850987147e-01, 2.800000298017893e-01, 3.200000596036499e-01, 3.600001192073355e-01, 3.999999105944538e-01, 4.39999940396421e-01, 4.799999701980329e-01, 5.199999999997158e-01, 5.600000596037922e-01, 6.00000119207158e-01, 6.399998807930554e-01, 6.799999403963501e-01, 7.200000000004265e-01, 7.600000000001419e-01, 8.000000596039341e-01, 8.400000596033657e-01, 8.799998807924156e-01, 9.19999940396492e-01, 9.599999403962078e-01, 1e+00, 1.039999999999432e+00, 1.080000119208153e+00, 1.120000119207584e+00, 1.15999988079199e+00, 1.200000000000711e+00, 1.239999999999858e+00, 1.279999999999573e+00, 1.3200001192073e+00, 1.360000119207726e+00, 1.399999880792131e+00, 1.440000000000853e+00, 1.480000000000284e+00, 1.519999999999716e+00, 1.559999999999147e+00, 1.600000119207869e+00, 1.639999880792274e+00, 1.6799998807927e+00, 1.720000000000427e+00, 1.760000000000142e+00, 1.799999999999289e+00, 1.84000011920801e+00, 1.879999880792416e+00, 1.919999880791847e+00, 1.960000000000568e+00, 2e+00] +product1.u2=[-1e+00, -9.700000279396727e-01, -9.399999962747139e-01, -9.100000242143751e-01, -8.799999925494277e-01, -8.500000260770252e-01, -8.199999888241416e-01, -7.900000223517407e-01, -7.599999850988655e-01, -7.300000298022691e-01, -6.999999925493972e-01, -6.700000149011524e-01, -6.399999776482982e-01, -6.099999999999289e-01, -5.799999850988476e-01, -5.500000298022336e-01, -5.199999701977309e-01, -4.900000149011345e-01, -4.600000298022158e-01, -4.3e-01, -4.000000149011168e-01, -3.699999850988388e-01, -3.4e-01, -3.100000149011611e-01, -2.799999850988388e-01, -2.5e-01, -2.199999701977486e-01, -1.900000298022424e-01, -1.59999999999991e-01, -1.299999701977398e-01, -1.000000372528142e-01, -7.000000745056284e-02, -3.999997764831148e-02, -1.000003911547481e-02, 1.999998882415249e-02, 5.000001862641812e-02, 7.999995529662296e-02, 1.099999850988743e-01, 1.400000149011257e-01, 1.70000044703377e-01, 1.999999850988833e-01, 2.300000149011345e-01, 2.600000298023223e-01, 2.899999701977842e-01, 3.2e-01, 3.500000298023224e-01, 3.79999970197802e-01, 4.099999999999999e-01, 4.400000298023223e-01, 4.699999701976776e-01, 5e-01, 5.299999999997158e-01, 5.60000059603508e-01, 5.900000596037922e-01, 6.199999403966343e-01, 6.499999403960659e-01, 6.799999999999291e-01, 7.099999999997867e-01, 7.400000596036499e-01, 7.700000596038631e-01, 7.999999403967762e-01, 8.299999403962078e-01, 8.600000000001421e-01, 8.899999999998579e-01, 9.200000596037922e-01, 9.500000596032238e-01, 9.799999403961369e-01, 1.009999940395853e+00, 1.039999940395995e+00, 1.070000059604645e+00, 1.100000059603579e+00, 1.130000059604005e+00, 1.159999880793268e+00, 1.190000000000568e+00, 1.220000000000284e+00, 1.25e+00, 1.279999999999716e+00, 1.309999999999432e+00, 1.340000119206732e+00, 1.369999940395995e+00, 1.399999940396421e+00, 1.429999940395355e+00, 1.460000059604005e+00, 1.490000059604147e+00, 1.520000059603863e+00, 1.549999880792842e+00, 1.580000000000426e+00, 1.610000000000142e+00, 1.639999999999858e+00, 1.669999999999574e+00, 1.700000119207158e+00, 1.729999940396137e+00, 1.759999940395853e+00, 1.789999940395995e+00, 1.820000059604645e+00, 1.850000059603579e+00, 1.880000059604005e+00, 1.909999880793268e+00, 1.940000000000568e+00, 1.970000000000284e+00, 2e+00] +product1.y=[2e+00, 1.901200053899884e+00, 1.804800029324279e+00, 1.71080004548252e+00, 1.619199983165286e+00, 1.529999977964155e+00, 1.44319998073223e+00, 1.358800056083205e+00, 1.276800022025058e+00, 1.197199968805464e+00, 1.12000001612895e+00, 1.045199985899922e+00, 9.727999973702217e-01, 9.027999908637505e-01, 8.352000157022442e-01, 7.700000192165183e-01, 7.07199968805357e-01, 6.467999922227886e-01, 5.888000538633404e-01, 5.332000126457337e-01, 4.800000048398786e-01, 4.291999612475442e-01, 3.80800003175733e-01, 3.348000237512006e-01, 2.911999893522698e-01, 2.5e-01, 2.111999632264212e-01, 1.748000316571716e-01, 1.408000031757241e-01, 1.091999755955357e-01, 8.000003187650792e-02, 5.320000519513086e-02, 2.87999830830445e-02, 6.800027679893472e-03, -1.279999301047575e-02, -3.000000872312006e-02, -4.479997860436594e-02, -5.719999423505268e-02, -6.720000168561552e-02, -7.480000840660841e-02, -7.999999568464292e-02, -8.280000139236056e-02, -8.319999886276018e-02, -8.120000574109125e-02, -7.680000225543641e-02, -6.999999047518948e-02, -6.08000095033342e-02, -4.91999968242692e-02, -3.519998324396963e-02, -1.880001628455318e-02, 0e+00, 2.120002096795705e-02, 4.480004616180527e-02, 7.08000774441898e-02, 9.919993985040314e-02, 1.299999573714438e-01, 1.631999977444513e-01, 1.988000240607829e-01, 2.368000658930474e-01, 2.772001231268431e-01, 3.199998885173765e-01, 3.651999468908919e-01, 4.127999908641666e-01, 4.628000206657075e-01, 5.152000959001592e-01, 5.700001269316927e-01, 6.271998549102407e-01, 6.867999019828859e-01, 7.487999346551485e-01, 8.132000126458961e-01, 8.800000765788678e-01, 9.492001261116404e-01, 1.020799786877195e+00, 1.094799852449942e+00, 1.171199963227307e+00, 1.25e+00, 1.331200082434323e+00, 1.414800210072127e+00, 1.500800263705827e+00, 1.589199828094172e+00, 1.679999838163842e+00, 1.773200012645329e+00, 1.868800113466951e+00, 1.966800140397485e+00, 2.067200212532638e+00, 2.169999828912732e+00, 2.27519973827698e+00, 2.382800050469167e+00, 2.492800050467746e+00, 2.60520021510817e+00, 2.720000305742785e+00, 2.837199616497133e+00, 2.956799782775586e+00, 3.078799875051357e+00, 3.203200131855327e+00, 3.330000076578157e+00, 3.459200185714367e+00, 3.590799667667905e+00, 3.724799852451079e+00, 3.861199963228444e+00, 4e+00] +time=[0e+00, 1e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_MultiplyByParameter.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_MultiplyByParameter.txt new file mode 100644 index 0000000000..b394853149 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_MultiplyByParameter.txt @@ -0,0 +1,10 @@ +last-generated=2017-03-22 +statistics-simulation= +{ + "numerical Jacobians": "0", + "nonlinear": " ", + "linear": " " +} +gain1.u=[0e+00, 2e-02, 4e-02, 6e-02, 8e-02, 1e-01, 1.2e-01, 1.4e-01, 1.6e-01, 1.8e-01, 2e-01, 2.2e-01, 2.4e-01, 2.6e-01, 2.8e-01, 3e-01, 3.2e-01, 3.4e-01, 3.6e-01, 3.8e-01, 4e-01, 4.2e-01, 4.4e-01, 4.6e-01, 4.8e-01, 5e-01, 5.2e-01, 5.4e-01, 5.600000000000001e-01, 5.8e-01, 6e-01, 6.2e-01, 6.4e-01, 6.6e-01, 6.8e-01, 7e-01, 7.2e-01, 7.4e-01, 7.6e-01, 7.8e-01, 8e-01, 8.2e-01, 8.4e-01, 8.6e-01, 8.8e-01, 9e-01, 9.2e-01, 9.399999999999999e-01, 9.6e-01, 9.8e-01, 1e+00, 1.02e+00, 1.04e+00, 1.06e+00, 1.08e+00, 1.1e+00, 1.12e+00, 1.14e+00, 1.16e+00, 1.18e+00, 1.2e+00, 1.22e+00, 1.24e+00, 1.26e+00, 1.28e+00, 1.3e+00, 1.32e+00, 1.34e+00, 1.36e+00, 1.38e+00, 1.4e+00, 1.42e+00, 1.44e+00, 1.46e+00, 1.48e+00, 1.5e+00, 1.52e+00, 1.54e+00, 1.56e+00, 1.58e+00, 1.6e+00, 1.62e+00, 1.64e+00, 1.66e+00, 1.68e+00, 1.7e+00, 1.72e+00, 1.74e+00, 1.76e+00, 1.78e+00, 1.8e+00, 1.82e+00, 1.84e+00, 1.86e+00, 1.88e+00, 1.9e+00, 1.92e+00, 1.94e+00, 1.96e+00, 1.98e+00, 2e+00] +gain1.y=[0e+00, 5.000000186264474e-02, 1.000000037252895e-01, 1.500000093132189e-01, 2.000000074505756e-01, 2.499999962747083e-01, 3.00000018626444e-01, 3.499999925494183e-01, 4.000000149011346e-01, 4.499999701977309e-01, 4.999999925494416e-01, 5.500000149011524e-01, 6.00000037252863e-01, 6.500000000000711e-01, 6.999999850988478e-01, 7.499999701977664e-01, 8.000000298022691e-01, 8.500000149011346e-01, 8.999999403954617e-01, 9.499999999999645e-01, 9.999999850988832e-01, 1.049999985098741e+00, 1.100000029802305e+00, 1.149999955296579e+00, 1.200000074505726e+00, 1.25e+00, 1.299999999999858e+00, 1.349999970197838e+00, 1.399999970197696e+00, 1.450000089406843e+00, 1.499999940395533e+00, 1.549999940395391e+00, 1.600000059604538e+00, 1.649999910593228e+00, 1.700000029802376e+00, 1.750000029802234e+00, 1.799999880790923e+00, 1.850000000000071e+00, 1.899999999999929e+00, 1.950000119209077e+00, 1.999999970197766e+00, 2.049999970197624e+00, 2.099999970197482e+00, 2.150000059604751e+00, 2.200000059604609e+00, 2.250000059604467e+00, 2.299999910593157e+00, 2.349999910593015e+00, 2.400000149011452e+00, 2.450000000000142e+00, 2.5e+00, 2.549999999999148e+00, 2.599999999998295e+00, 2.650000238416022e+00, 2.699999940397274e+00, 2.749999940396421e+00, 2.799999940395213e+00, 2.849999940394715e+00, 2.900000178812442e+00, 2.950000178811589e+00, 2.999999880792842e+00, 3.049999880791989e+00, 3.099999880791137e+00, 3.150000119208863e+00, 3.200000119208011e+00, 3.250000119207158e+00, 3.299999821188411e+00, 3.349999821187558e+00, 3.400000059605285e+00, 3.450000059604787e+00, 3.500000059603579e+00, 3.550000059602726e+00, 3.599999761583978e+00, 3.650000000001705e+00, 3.700000000000852e+00, 3.75e+00, 3.799999999999148e+00, 3.849999999998295e+00, 3.900000238416022e+00, 3.949999940397274e+00, 3.999999940396421e+00, 4.050000178813508e+00, 4.099999940395568e+00, 4.150000178810452e+00, 4.199999940396137e+00, 4.24999988079e+00, 4.300000119208863e+00, 4.349999880791705e+00, 4.400000119208295e+00, 4.449999880791137e+00, 4.50000011921e+00, 4.550000059603863e+00, 4.599999821189548e+00, 4.650000059604432e+00, 4.699999821186492e+00, 4.750000059605e+00, 4.800000298018747e+00, 4.849999761587389e+00, 4.899999999999432e+00, 4.949999761583411e+00, 5e+00] +time=[0e+00, 1e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_PID.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_PID.txt new file mode 100644 index 0000000000..93cd17da6d --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_PID.txt @@ -0,0 +1,16 @@ +last-generated=2020-10-15 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "number of continuous time states": "6", + "numerical Jacobians": "0" +} +time=[0e+00, 1e+00] +limPID.u_s=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +limPID.u_m=[5e-01, 5e-01] +limPID.y=[5e-01, 5.049999953433857e-01, 5.099999906867714e-01, 5.149999860301567e-01, 5.199999813735693e-01, 5.24999975785618e-01, 5.29999972060354e-01, 5.350000260770249e-01, 5.400000223517285e-01, 5.450000149011879e-01, 5.50000011175882e-01, 5.550000074505762e-01, 5.600000037252704e-01, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00] +noLimPID.y=[5e-01, 5.049999953433857e-01, 5.099999906867714e-01, 5.149999860301567e-01, 5.199999813735693e-01, 5.24999975785618e-01, 5.29999972060354e-01, 5.350000260770249e-01, 5.400000223517285e-01, 5.450000149011879e-01, 5.50000011175882e-01, 5.550000074505762e-01, 5.600000037252704e-01, -9.952290088252989e+00, -9.052030614875273e+00, -8.237973679077834e+00, -7.501870384452208e+00, -6.836279029675234e+00, -6.23449319202321e+00, -5.690451499972388e+00, -5.198658607042629e+00, -4.754133427134535e+00, -4.352372601280627e+00, -3.98933115239112e+00, -3.661329580766244e+00, -3.365019559860229e+00, 6.960971704256596e+00, 6.351591737898935e+00, 5.8007050191013e+00, 5.302713956885609e+00, 4.852592506524368e+00, 4.445779416682665e+00, 4.078145256666335e+00, 3.74596351470655e+00, 3.445863826758359e+00, 3.174799290371137e+00, 2.930009462690693e+00, 2.708991867097916e+00, -8.007813098757234e+00, -7.292609205784988e+00, -6.645978820816525e+00, -6.061356824613599e+00, -5.532839123044156e+00, -5.055091232277409e+00, -4.623283289384259e+00, -4.233044186743177e+00, -3.880417867810531e+00, -3.561817610306849e+00, -3.274007745282737e+00, -3.01406478829128e+00, -2.779341697692871e+00, 7.490917981460541e+00, 6.831112154355686e+00, 6.234584633073051e+00, 5.69529882897934e+00, 5.207799992553523e+00, 4.767168145892856e+00, 4.368945807517083e+00, 4.009095103929908e+00, 3.683965357884337e+00, 3.390244679198751e+00, 3.124947673692733e+00, 2.88537703985181e+00, -7.848211417913685e+00, -7.148197185545346e+00, -6.515319835095553e+00, -5.94315959038448e+00, -5.425887459776115e+00, -4.958320461878563e+00, -4.535723591436895e+00, -4.153816748590518e+00, -3.808730621090627e+00, -3.496962926543181e+00, -3.215338745630475e+00, -2.960990423273568e+00, -2.731321811676025e+00, 7.534368809725732e+00, 6.870428324297951e+00, 6.270159536016375e+00, 5.727487728321822e+00, 5.236925686520907e+00, 4.793522459424533e+00, 4.392791955273442e+00, 4.030672458608609e+00, 3.703489211834343e+00, 3.407910069650518e+00, 3.14093197280038e+00, 2.899841418905063e+00, -7.835122715376613e+00, -7.136355890073677e+00, -6.504606737191692e+00, -5.93346405788314e+00, -5.417114608259317e+00, -4.950382553132984e+00, -4.528540993492846e+00, -4.147317935728741e+00, -3.802850504922505e+00, -3.491642375993794e+00, -3.210524596755862e+00, -2.956634515413885e+00, -2.727380275726318e+00] +limP.y=[5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, -5e-01, -5e-01, -5e-01, -5e-01, -5e-01, -5e-01, -5e-01, -5e-01, -5e-01, -5e-01, -5e-01, -5e-01, -5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, -5e-01, -5e-01, -5e-01, -5e-01, -5e-01, -5e-01, -5e-01, -5e-01, -5e-01, -5e-01, -5e-01, -5e-01, -5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, -5e-01, -5e-01, -5e-01, -5e-01, -5e-01, -5e-01, -5e-01, -5e-01, -5e-01, -5e-01, -5e-01, -5e-01, -5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, -5e-01, -5e-01, -5e-01, -5e-01, -5e-01, -5e-01, -5e-01, -5e-01, -5e-01, -5e-01, -5e-01, -5e-01, -5e-01] +limPI.y=[5e-01, 5.049999953433857e-01, 5.099999906867714e-01, 5.149999860301567e-01, 5.199999813735693e-01, 5.24999975785618e-01, 5.29999972060354e-01, 5.350000260770249e-01, 5.400000223517285e-01, 5.450000149011879e-01, 5.50000011175882e-01, 5.550000074505762e-01, 5.600000037252704e-01, -4.400000000000355e-01, -4.449999925494239e-01, -4.499999850988832e-01, -4.550000149011346e-01, -4.600000074505673e-01, -4.649999999999467e-01, -4.699999999999823e-01, -4.749999925494416e-01, -4.799999925494682e-01, -4.850000149011523e-01, -4.900000074505495e-01, -4.950000074505406e-01, -5e-01, 5.04999999999929e-01, 5.099999850989188e-01, 5.149999850988477e-01, 5.199999850990253e-01, 5.249999701977665e-01, 5.299999701976954e-01, 5.350000298022691e-01, 5.400000149008681e-01, 5.450000149011879e-01, 5.500000149011168e-01, 5.550000000001065e-01, 5.600000000000355e-01, -4.400000000000355e-01, -4.450000000001066e-01, -4.499999850988832e-01, -4.550000149011346e-01, -4.600000149010635e-01, -4.649999999999467e-01, -4.699999999999823e-01, -4.750000000000888e-01, -4.79999985098901e-01, -4.850000149011523e-01, -4.900000149010812e-01, -4.949999999999289e-01, -5e-01, 5.049999999998579e-01, 5.099999999997158e-01, 5.149999999995737e-01, 5.199999701979974e-01, 5.249999701978553e-01, 5.299999701976776e-01, 5.350000298022158e-01, 5.400000298020737e-01, 5.450000298019316e-01, 5.500000000003552e-01, 5.550000000002131e-01, 5.60000000000071e-01, -4.4e-01, -4.45e-01, -4.5e-01, -4.55e-01, -4.6e-01, -4.65e-01, -4.7e-01, -4.75e-01, -4.8e-01, -4.85e-01, -4.9e-01, -4.95e-01, -5e-01, 5.049999999998579e-01, 5.099999999997158e-01, 5.149999999995737e-01, 5.199999701979974e-01, 5.249999701978553e-01, 5.299999701976776e-01, 5.350000298022158e-01, 5.400000298020737e-01, 5.450000298019316e-01, 5.500000000003552e-01, 5.550000000002131e-01, 5.60000000000071e-01, -4.4e-01, -4.45e-01, -4.5e-01, -4.55e-01, -4.6e-01, -4.65e-01, -4.7e-01, -4.75e-01, -4.8e-01, -4.85e-01, -4.9e-01, -4.95e-01, -5e-01] +limPD.y=[5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_PIDInitialDerivativeOutput.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_PIDInitialDerivativeOutput.txt new file mode 100644 index 0000000000..c4e8eb30f9 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_PIDInitialDerivativeOutput.txt @@ -0,0 +1,13 @@ +last-generated=2021-04-30 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "number of continuous time states": "3", + "numerical Jacobians": "0" +} +time=[0e+00, 2.000000029802322e-01] +limPID.y=[2.000000029802322e-01, 1.637323956657642e-01, 1.340515780397024e-01, 1.09754651384102e-01, 8.985718578826983e-02, 7.356503337125767e-02, 6.022717387193266e-02, 4.930820801069234e-02, 4.036892047772475e-02, 3.305059706008012e-02, 2.706082340238934e-02, 2.215831070928619e-02, 1.814527410623112e-02, 1.485992618116706e-02, 1.21706925285995e-02, 9.967099716310648e-03, 8.162441600101095e-03, 6.684211996261016e-03, 5.473475251068925e-03, 4.482537654406879e-03, 3.670969908470475e-03, 3.006509154281315e-03, 2.462431107340098e-03, 2.016579381817847e-03, 1.651466543068693e-03, 1.352334162220359e-03, 1.107365857944015e-03, 9.068860641001513e-04, 7.42683778607608e-04, 6.082897544349083e-04, 4.981867461559625e-04, 4.079847521410948e-04, 3.341136744959179e-04, 2.736095271319089e-04, 2.242045912022062e-04, 1.839660849048837e-04, 1.512768050662869e-04, 1.248629106112001e-04, 1.033595493413561e-04, 8.538121270281738e-05, 7.0968813177785e-05, 5.925938804931915e-05, 4.945088970149428e-05, 4.10868915459759e-05, 3.399928178485262e-05, 2.794677580029565e-05, 2.278315771174431e-05, 1.822647352836766e-05, 1.445348601678522e-05, 1.158960614542508e-05, 8.962206266005524e-06, 6.87781013609358e-06, 5.382428668839482e-06, 4.229282179437137e-06, 3.341101553592752e-06, 2.712020327639719e-06, 2.280988483331259e-06, 1.986948322969379e-06, 1.768846750216611e-06, 1.619389787543014e-06, 1.688792042613292e-06, 1.793147954684967e-06, 1.892675225944911e-06, 1.947590360710273e-06, 1.918111517577516e-06, 1.764454254397068e-06, 1.732127867411867e-06, 1.794568299161417e-06, 1.824927797560019e-06, 1.809138302137314e-06, 1.733132219732508e-06, 1.582841951293076e-06, 1.370469477191658e-06, 1.315187765014957e-06, 1.257571048272755e-06, 1.197619326095723e-06, 1.135332012902917e-06, 1.070710151381813e-06, 1.003753285085139e-06, 9.3446141349261e-07, 8.628339384870768e-07, 7.888719844620687e-07, 7.125749685413921e-07, 6.339423527455374e-07, 5.52975253941089e-07, 4.701715763985888e-07, 4.464904567869981e-07, 4.228091323183344e-07, 3.99128012706161e-07, 3.754468646728182e-07, 3.517657450608672e-07, 3.280844205922038e-07, 3.044033009801152e-07, 2.807221529467724e-07, 2.570408568990455e-07, 2.33359708865888e-07, 2.096785750427311e-07, 1.859974412206259e-07, 1.623161309624308e-07, 1.386349971397998e-07, 1.149538633171687e-07] +limPD.y=[2.000000029802322e-01, 1.637323956657642e-01, 1.340515780397024e-01, 1.09754651384102e-01, 8.985718578826983e-02, 7.356503337125767e-02, 6.022717387193266e-02, 4.930820801069234e-02, 4.036892047772475e-02, 3.305059706008012e-02, 2.706082340238934e-02, 2.215831070928619e-02, 1.814527410623112e-02, 1.485992618116706e-02, 1.21706925285995e-02, 9.967099716310648e-03, 8.162441600101095e-03, 6.684211996261016e-03, 5.473475251068925e-03, 4.482537654406879e-03, 3.670969908470475e-03, 3.006509154281315e-03, 2.462431107340098e-03, 2.016579381817847e-03, 1.651466543068693e-03, 1.352334162220359e-03, 1.107365857944015e-03, 9.068860641001513e-04, 7.42683778607608e-04, 6.082897544349083e-04, 4.981867461559625e-04, 4.079847521410948e-04, 3.341136744959179e-04, 2.736095271319089e-04, 2.242045912022062e-04, 1.839660849048837e-04, 1.512768050662869e-04, 1.248629106112001e-04, 1.033595493413561e-04, 8.538121270281738e-05, 7.0968813177785e-05, 5.925938804931915e-05, 4.945088970149428e-05, 4.10868915459759e-05, 3.399928178485262e-05, 2.794677580029565e-05, 2.278315771174431e-05, 1.822647352836766e-05, 1.445348601678522e-05, 1.158960614542508e-05, 8.962206266005524e-06, 6.87781013609358e-06, 5.382428668839482e-06, 4.229292638655176e-06, 3.341136341748155e-06, 2.712093542017845e-06, 2.281117176774641e-06, 1.987152049854319e-06, 1.769147906936282e-06, 1.619804176113647e-06, 1.689299086122983e-06, 1.793752541310205e-06, 1.893381107719632e-06, 1.948400265734409e-06, 1.919026923774287e-06, 1.765475730988474e-06, 1.733257346290996e-06, 1.795806917185211e-06, 1.826274645236826e-06, 1.810591561272234e-06, 1.734689274737751e-06, 1.584499391575665e-06, 1.372223551816418e-06, 1.317038586938171e-06, 1.259516457453738e-06, 1.199657276179317e-06, 1.137460571884735e-06, 1.072927272227134e-06, 1.006056807752684e-06, 9.368492916266704e-07, 8.653041831810642e-07, 7.914224918991872e-07, 7.15203692365974e-07, 6.366471903184391e-07, 5.557542720185668e-07, 4.730222738656287e-07, 4.493711959405873e-07, 4.257199418035838e-07, 4.020688922999236e-07, 3.78417814374554e-07, 3.547667648708938e-07, 3.311155107338906e-07, 3.074644612302304e-07, 2.838133833048608e-07, 2.601621291678576e-07, 2.365110796641974e-07, 2.12860001738345e-07, 1.892089380243129e-07, 1.655576980981644e-07, 1.419066343836495e-07, 1.182555706691346e-07] +limPID.D.y=[2.000000029802322e-01, 1.637323956657642e-01, 1.340515780397024e-01, 1.09754651384102e-01, 8.985718578826983e-02, 7.356503337125767e-02, 6.022717387193266e-02, 4.930820801069234e-02, 4.036892047772475e-02, 3.305059706008012e-02, 2.706082340238934e-02, 2.215831070928619e-02, 1.814527410623112e-02, 1.485992618116706e-02, 1.21706925285995e-02, 9.967099716310648e-03, 8.162441600101095e-03, 6.684211996261016e-03, 5.473475251068925e-03, 4.482537654406879e-03, 3.670969908470475e-03, 3.006509154281315e-03, 2.462431107340098e-03, 2.016579381817847e-03, 1.651466543068693e-03, 1.352334162220359e-03, 1.107365857944015e-03, 9.068860641001513e-04, 7.42683778607608e-04, 6.082897544349083e-04, 4.981867461559625e-04, 4.079847521410948e-04, 3.341136744959179e-04, 2.736095271319089e-04, 2.242045912022062e-04, 1.839660849048837e-04, 1.512768050662869e-04, 1.248629106112001e-04, 1.033595493413561e-04, 8.538121270281738e-05, 7.0968813177785e-05, 5.925938804931915e-05, 4.945088970149428e-05, 4.10868915459759e-05, 3.399928178485262e-05, 2.794677580029565e-05, 2.278315771174431e-05, 1.822647352836766e-05, 1.445348601678522e-05, 1.158960614542508e-05, 8.962206266005524e-06, 6.87781013609358e-06, 5.382428668839482e-06, 4.229292638655176e-06, 3.341136341748155e-06, 2.712093542017845e-06, 2.281117176774641e-06, 1.987152049854319e-06, 1.769147906936282e-06, 1.619804176113647e-06, 1.689299086122983e-06, 1.793752541310205e-06, 1.893381107719632e-06, 1.948400265734409e-06, 1.919026923774287e-06, 1.765475730988474e-06, 1.733257346290996e-06, 1.795806917185211e-06, 1.826274645236826e-06, 1.810591561272234e-06, 1.734689274737751e-06, 1.584499391575665e-06, 1.372223551816418e-06, 1.317038586938171e-06, 1.259516457453738e-06, 1.199657276179317e-06, 1.137460571884735e-06, 1.072927272227134e-06, 1.006056807752684e-06, 9.368492916266704e-07, 8.653041831810642e-07, 7.914224918991872e-07, 7.15203692365974e-07, 6.366471903184391e-07, 5.557542720185668e-07, 4.730222738656287e-07, 4.493711959405873e-07, 4.257199418035838e-07, 4.020688922999236e-07, 3.78417814374554e-07, 3.547667648708938e-07, 3.311155107338906e-07, 3.074644612302304e-07, 2.838133833048608e-07, 2.601621291678576e-07, 2.365110796641974e-07, 2.12860001738345e-07, 1.892089380243129e-07, 1.655576980981644e-07, 1.419066343836495e-07, 1.182555706691346e-07] +limPD.D.y=[2.000000029802322e-01, 1.637323956657642e-01, 1.340515780397024e-01, 1.09754651384102e-01, 8.985718578826983e-02, 7.356503337125767e-02, 6.022717387193266e-02, 4.930820801069234e-02, 4.036892047772475e-02, 3.305059706008012e-02, 2.706082340238934e-02, 2.215831070928619e-02, 1.814527410623112e-02, 1.485992618116706e-02, 1.21706925285995e-02, 9.967099716310648e-03, 8.162441600101095e-03, 6.684211996261016e-03, 5.473475251068925e-03, 4.482537654406879e-03, 3.670969908470475e-03, 3.006509154281315e-03, 2.462431107340098e-03, 2.016579381817847e-03, 1.651466543068693e-03, 1.352334162220359e-03, 1.107365857944015e-03, 9.068860641001513e-04, 7.42683778607608e-04, 6.082897544349083e-04, 4.981867461559625e-04, 4.079847521410948e-04, 3.341136744959179e-04, 2.736095271319089e-04, 2.242045912022062e-04, 1.839660849048837e-04, 1.512768050662869e-04, 1.248629106112001e-04, 1.033595493413561e-04, 8.538121270281738e-05, 7.0968813177785e-05, 5.925938804931915e-05, 4.945088970149428e-05, 4.10868915459759e-05, 3.399928178485262e-05, 2.794677580029565e-05, 2.278315771174431e-05, 1.822647352836766e-05, 1.445348601678522e-05, 1.158960614542508e-05, 8.962206266005524e-06, 6.87781013609358e-06, 5.382428668839482e-06, 4.229292638655176e-06, 3.341136341748155e-06, 2.712093542017845e-06, 2.281117176774641e-06, 1.987152049854319e-06, 1.769147906936282e-06, 1.619804176113647e-06, 1.689299086122983e-06, 1.793752541310205e-06, 1.893381107719632e-06, 1.948400265734409e-06, 1.919026923774287e-06, 1.765475730988474e-06, 1.733257346290996e-06, 1.795806917185211e-06, 1.826274645236826e-06, 1.810591561272234e-06, 1.734689274737751e-06, 1.584499391575665e-06, 1.372223551816418e-06, 1.317038586938171e-06, 1.259516457453738e-06, 1.199657276179317e-06, 1.137460571884735e-06, 1.072927272227134e-06, 1.006056807752684e-06, 9.368492916266704e-07, 8.653041831810642e-07, 7.914224918991872e-07, 7.15203692365974e-07, 6.366471903184391e-07, 5.557542720185668e-07, 4.730222738656287e-07, 4.493711959405873e-07, 4.257199418035838e-07, 4.020688922999236e-07, 3.78417814374554e-07, 3.547667648708938e-07, 3.311155107338906e-07, 3.074644612302304e-07, 2.838133833048608e-07, 2.601621291678576e-07, 2.365110796641974e-07, 2.12860001738345e-07, 1.892089380243129e-07, 1.655576980981644e-07, 1.419066343836495e-07, 1.182555706691346e-07] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_PIDInitialState.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_PIDInitialState.txt new file mode 100644 index 0000000000..21a37f9c7f --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_PIDInitialState.txt @@ -0,0 +1,13 @@ +last-generated=2021-04-30 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "number of continuous time states": "3", + "numerical Jacobians": "0" +} +time=[0e+00, 1e+00] +limPID.I.y=[2.5e-01, 2.648347917490785e-01, 2.793437248907814e-01, 2.935335645527695e-01, 3.074113738859043e-01, 3.209841539373645e-01, 3.342584985179366e-01, 3.472410734633364e-01, 3.599384151450494e-01, 3.723565892071595e-01, 3.84501962060119e-01, 3.963803953958113e-01, 4.079977602711207e-01, 4.193598979527058e-01, 4.304722838989572e-01, 4.413404996562728e-01, 4.519699849445077e-01, 4.62365863864955e-01, 4.725333082123843e-01, 4.824772798567049e-01, 4.922026963116993e-01, 5.017144145513708e-01, 5.110171448205825e-01, 5.201153121517313e-01, 5.290136384380102e-01, 5.377163290977478e-01, 5.462277611718898e-01, 5.545521289999338e-01, 5.626935949242997e-01, 5.706561273333302e-01, 5.7844357762517e-01, 5.860599857452123e-01, 5.935089640737523e-01, 6.007941866605983e-01, 6.079193328397474e-01, 6.148878972985005e-01, 6.21703257434822e-01, 6.283689109770939e-01, 6.348879964029885e-01, 6.412638515819924e-01, 6.474994980213683e-01, 6.535981915060304e-01, 6.595627742698355e-01, 6.653963286052201e-01, 6.711016906808966e-01, 6.766816443276022e-01, 6.821389153168573e-01, 6.874763375838584e-01, 6.926963980626114e-01, 6.978017639540424e-01, 7.027949690818787e-01, 7.076783822237548e-01, 7.124545068026762e-01, 7.171256078028178e-01, 7.216941021078125e-01, 7.261621899264453e-01, 7.305320491001064e-01, 7.348058849934973e-01, 7.389857837848666e-01, 7.430738316465465e-01, 7.470719719828374e-01, 7.509822790020536e-01, 7.548066955611739e-01, 7.585470097974096e-01, 7.622051290645097e-01, 7.657827819116673e-01, 7.692818550709694e-01, 7.72703999580809e-01, 7.760509824867914e-01, 7.793244131159823e-01, 7.825259007918748e-01, 7.856569952502227e-01, 7.887192877721296e-01, 7.917142453799036e-01, 7.946434589354581e-01, 7.975082397460938e-01, 8.003101375240484e-01, 8.030504039839153e-01, 8.057304696397266e-01, 8.08351570753951e-01, 8.109151094667852e-01, 8.134223812853699e-01, 8.158744590899536e-01, 8.182727137961237e-01, 8.206182778974773e-01, 8.229122107658846e-01, 8.251557914397522e-01, 8.273500193716818e-01, 8.294960866534324e-01, 8.315949469627308e-01, 8.336477327950753e-01, 8.356553263929984e-01, 8.376188245719883e-01, 8.395391689039631e-01, 8.414173726685362e-01, 8.432542107254821e-01, 8.450507559665463e-01, 8.468077728996652e-01, 8.485262361465952e-01, 8.502069099751266e-01, 8.518506288528442e-01] +limPID.D.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +limPI.I.y=[2.5e-01, 2.648347917490785e-01, 2.793437248907814e-01, 2.935335645527695e-01, 3.074113738859043e-01, 3.209841539373645e-01, 3.342584985179366e-01, 3.472410734633364e-01, 3.599384151450494e-01, 3.723565892071595e-01, 3.84501962060119e-01, 3.963803953958113e-01, 4.079977602711207e-01, 4.193598979527058e-01, 4.304722838989572e-01, 4.413404996562728e-01, 4.519699849445077e-01, 4.62365863864955e-01, 4.725333082123843e-01, 4.824772798567049e-01, 4.922026963116993e-01, 5.017144145513708e-01, 5.110171448205825e-01, 5.201153121517313e-01, 5.290136384380102e-01, 5.377163290977478e-01, 5.462277611718898e-01, 5.545521289999338e-01, 5.626935949242997e-01, 5.706561273333302e-01, 5.7844357762517e-01, 5.860599857452123e-01, 5.935089640737523e-01, 6.007941866605983e-01, 6.079193328397474e-01, 6.148878972985005e-01, 6.21703257434822e-01, 6.283689109770939e-01, 6.348879964029885e-01, 6.412638515819924e-01, 6.474994980213683e-01, 6.535981915060304e-01, 6.595627742698355e-01, 6.653963286052201e-01, 6.711016906808966e-01, 6.766816443276022e-01, 6.821389153168573e-01, 6.874763375838584e-01, 6.926963980626114e-01, 6.978017639540424e-01, 7.027949690818787e-01, 7.076783822237548e-01, 7.124545068026762e-01, 7.171256078028178e-01, 7.216941021078125e-01, 7.261621899264453e-01, 7.305320491001064e-01, 7.348058849934973e-01, 7.389857837848666e-01, 7.430738316465465e-01, 7.470719719828374e-01, 7.509822790020536e-01, 7.548066955611739e-01, 7.585470097974096e-01, 7.622051290645097e-01, 7.657827819116673e-01, 7.692818550709694e-01, 7.72703999580809e-01, 7.760509824867914e-01, 7.793244131159823e-01, 7.825259007918748e-01, 7.856569952502227e-01, 7.887192877721296e-01, 7.917142453799036e-01, 7.946434589354581e-01, 7.975082397460938e-01, 8.003101375240484e-01, 8.030504039839153e-01, 8.057304696397266e-01, 8.08351570753951e-01, 8.109151094667852e-01, 8.134223812853699e-01, 8.158744590899536e-01, 8.182727137961237e-01, 8.206182778974773e-01, 8.229122107658846e-01, 8.251557914397522e-01, 8.273500193716818e-01, 8.294960866534324e-01, 8.315949469627308e-01, 8.336477327950753e-01, 8.356553263929984e-01, 8.376188245719883e-01, 8.395391689039631e-01, 8.414173726685362e-01, 8.432542107254821e-01, 8.450507559665463e-01, 8.468077728996652e-01, 8.485262361465952e-01, 8.502069099751266e-01, 8.518506288528442e-01] +limPID.D.u=[2.5e-01, 2.5e-01] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_PIDScale.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_PIDScale.txt new file mode 100644 index 0000000000..6fef86583b --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_PIDScale.txt @@ -0,0 +1,14 @@ +last-generated=2020-10-27 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "number of continuous time states": "6", + "numerical Jacobians": "0" +} +time=[0e+00, 1e+02] +pidSca.y=[1e+00, 4.789353311061859e-01, 3.822728991508484e-01, 2.069125473499298e-01, 3.256407380104065e-02, -8.96126925945282e-02, -1.420066803693771e-01, -1.338689178228378e-01, -8.905824273824692e-02, -3.38137298822403e-02, 1.184174045920372e-02, 3.781681135296822e-02, 4.341181367635727e-02, 3.41964103281498e-02, 1.814253069460389e-02, 2.417445881292224e-03, -8.448862470686436e-03, -1.296756137162447e-02, -1.205309107899666e-02, -7.901253178715706e-03, -2.886770758777857e-03, 1.20341859292239e-03, 3.488563466817141e-03, 3.933259751647711e-03, 3.058372065424919e-03, 1.590027124620974e-03, -9.014930576086044e-02, -2.367985099554062e-01, -2.615013122558593e-01, -2.001792341470721e-01, -1.014385521411896e-01, -7.719055749475956e-03, 5.506547912955284e-02, 7.932742685079575e-02, 7.155080139636993e-02, 4.538770765066147e-02, 1.508557889610529e-02, -8.934730663895607e-03, -2.180192992091179e-02, -2.366667613387108e-02, -1.787730678915977e-02, -8.857160806655884e-03, -4.166644066572189e-04, 5.155478604137897e-03, 7.229476235806942e-03, 6.432235240936279e-03, 4.016883671283722e-03, 1.270608510822058e-03, -8.77715356182307e-04, -2.005331218242645e-03, -2.140825847163796e-03, 8.873914927244186e-02, 2.351881712675095e-01, 2.602470219135284e-01, 1.995226591825485e-01, 1.013631001114838e-01, 8.041718974708961e-03, -5.458016321063008e-02, -7.888056337833398e-02, -7.126054912805557e-02, -4.528459161520004e-02, -1.513375155627728e-02, 8.803180418908596e-03, 2.165543287992477e-02, 2.355383709073067e-02, 1.781958527863026e-02, 8.852324448525906e-03, 4.481221840251237e-04, -5.110226105898619e-03, -7.18884589150548e-03, -6.406914442777634e-03, -4.009198397397995e-03, -1.276727532967925e-03, 8.645629859529436e-04, 1.991549739614129e-03, 2.1307363640517e-03, -8.870939910411835e-02, -2.351909279823303e-01, -2.602469623088837e-01, -1.995230317115784e-01, -1.013630777597427e-01, -8.040299639105797e-03, 5.458372458815575e-02, 7.888416945934296e-02, 7.126276195049286e-02, 4.528495669364929e-02, 1.513325050473213e-02, -8.804482407867908e-03, -2.165680006146431e-02, -2.355478145182133e-02, -1.781991124153137e-02, -8.851906284689903e-03, -4.466319514904171e-04, 5.111661273986101e-03, 7.189638447016478e-03, 6.406730972230434e-03, 4.00816835463047e-03, 1.275305286981165e-03, -8.658168953843415e-04, -1.99226732365787e-03, -2.130822045728564e-03] +pidNoSca.y=[1e+00, 4.789353311061859e-01, 3.822728991508484e-01, 2.069125473499298e-01, 3.256407380104065e-02, -8.96126925945282e-02, -1.420066803693771e-01, -1.338689178228378e-01, -8.905824273824692e-02, -3.38137298822403e-02, 1.184174045920372e-02, 3.781681135296822e-02, 4.341181367635727e-02, 3.41964103281498e-02, 1.814253069460389e-02, 2.417445881292224e-03, -8.448862470686436e-03, -1.296756137162447e-02, -1.205309107899666e-02, -7.901253178715706e-03, -2.886770758777857e-03, 1.20341859292239e-03, 3.488563466817141e-03, 3.933259751647711e-03, 3.058372065424919e-03, 1.590027124620974e-03, -9.014930576086044e-02, -2.367985099554062e-01, -2.615013122558593e-01, -2.001792341470721e-01, -1.014385521411896e-01, -7.719055749475956e-03, 5.506547912955284e-02, 7.932742685079575e-02, 7.155080139636993e-02, 4.538770765066147e-02, 1.508557889610529e-02, -8.934730663895607e-03, -2.180192992091179e-02, -2.366667613387108e-02, -1.787730678915977e-02, -8.857160806655884e-03, -4.166644066572189e-04, 5.155478604137897e-03, 7.229476235806942e-03, 6.432235240936279e-03, 4.016883671283722e-03, 1.270608510822058e-03, -8.77715356182307e-04, -2.005331218242645e-03, -2.140825847163796e-03, 8.873914927244186e-02, 2.351881712675095e-01, 2.602470219135284e-01, 1.995226591825485e-01, 1.013631001114838e-01, 8.041718974708961e-03, -5.458016321063008e-02, -7.888056337833398e-02, -7.126054912805557e-02, -4.528459161520004e-02, -1.513375155627728e-02, 8.803180418908596e-03, 2.165543287992477e-02, 2.355383709073067e-02, 1.781958527863026e-02, 8.852324448525906e-03, 4.481221840251237e-04, -5.110226105898619e-03, -7.18884589150548e-03, -6.406914442777634e-03, -4.009198397397995e-03, -1.276727532967925e-03, 8.645629859529436e-04, 1.991549739614129e-03, 2.1307363640517e-03, -8.870939910411835e-02, -2.351909279823303e-01, -2.602469623088837e-01, -1.995230317115784e-01, -1.013630777597427e-01, -8.040299639105797e-03, 5.458372458815575e-02, 7.888416945934296e-02, 7.126276195049286e-02, 4.528495669364929e-02, 1.513325050473213e-02, -8.804482407867908e-03, -2.165680006146431e-02, -2.355478145182133e-02, -1.781991124153137e-02, -8.851906284689903e-03, -4.466319514904171e-04, 5.111661273986101e-03, 7.189638447016478e-03, 6.406730972230434e-03, 4.00816835463047e-03, 1.275305286981165e-03, -8.658168953843415e-04, -1.99226732365787e-03, -2.130822045728564e-03] +pla1.y=[0e+00, 5.1559033203125e+02, 9.565138549804688e+02, 1.254010986328125e+03, 1.37100830078125e+03, 1.336908569335938e+03, 1.215340942382812e+03, 1.07322900390625e+03, 9.598469848632812e+02, 8.985159912109375e+02, 8.889110717773438e+02, 9.155338745117188e+02, 9.576796875e+02, 9.973937377929688e+02, 1.023802917480469e+03, 1.033819091796875e+03, 1.03029248046875e+03, 1.019064758300781e+03, 1.006182922363281e+03, 9.960396118164062e+02, 9.906620483398438e+02, 9.8994873046875e+02, 9.924576416015625e+02, 9.963055419921875e+02, 9.998812255859375e+02, 1.002224792480469e+03, 6.671682739257812e+02, 4.928116455078125e+02, 2.346250152587882e+02, -1.384116291999078e+00, -1.533397521972656e+02, -2.061290283203125e+02, -1.793009490966797e+02, -1.090006256103516e+02, -3.140669250488281e+01, 2.796784400939941e+01, 5.80350341796875e+01, 6.029745101928711e+01, 4.39409065246582e+01, 2.039728736877441e+01, -8.29462468624115e-01, -1.428817462921143e+01, -1.875493621826172e+01, -1.609680938720703e+01, -9.624416351318359e+00, -2.601985216140747e+00, 2.700508117675781e+00, 5.325768947601318e+00, 5.446922779083252e+00, 3.915814161300659e+00, 1.770267128944397e+00, 3.3592041015625e+02, 5.087093811035156e+02, 7.654321899414062e+02, 1.000479064941406e+03, 1.152078125000001e+03, 1.205006713867188e+03, 1.178601928710938e+03, 1.108780639648438e+03, 1.031561401367188e+03, 9.723833618164062e+02, 9.423389282226562e+02, 9.399805297851562e+02, 9.561929931640625e+02, 9.796039428710938e+02, 1.00074462890625e+03, 1.014172607421875e+03, 1.018653625488281e+03, 1.016035705566406e+03, 1.009607849121094e+03, 1.002619445800781e+03, 9.973338012695312e+02, 9.947091064453125e+02, 9.945777587890625e+02, 9.96094970703125e+02, 9.982282104492188e+02, 6.64072509765625e+02, 4.912832946777344e+02, 2.345622406005859e+02, -4.835880100727081e-01, -1.520836639404297e+02, -2.050157165527344e+02, -1.7860791015625e+02, -1.087823944091797e+02, -3.155963516235352e+01, 2.762020492553711e+01, 5.766434860229492e+01, 6.002176284790039e+01, 4.380791091918945e+01, 2.039565658569336e+01, -7.457870244979858e-01, -1.417414283752441e+01, -1.865499687194824e+01, -1.603548431396484e+01, -9.606104850769043e+00, -2.616883277893066e+00, 2.668593168258667e+00, 5.292293071746826e+00, 5.422306537628174e+00, 3.904057502746582e+00, 1.770305633544922e+00] +pla2.y=[0e+00, 5.1559033203125e+02, 9.565138549804688e+02, 1.254010986328125e+03, 1.37100830078125e+03, 1.336908569335938e+03, 1.215340942382812e+03, 1.07322900390625e+03, 9.598469848632812e+02, 8.985159912109375e+02, 8.889110717773438e+02, 9.155338745117188e+02, 9.576796875e+02, 9.973937377929688e+02, 1.023802917480469e+03, 1.033819091796875e+03, 1.03029248046875e+03, 1.019064758300781e+03, 1.006182922363281e+03, 9.960396118164062e+02, 9.906620483398438e+02, 9.8994873046875e+02, 9.924576416015625e+02, 9.963055419921875e+02, 9.998812255859375e+02, 1.002224792480469e+03, 6.671682739257812e+02, 4.928116455078125e+02, 2.346250152587882e+02, -1.384116291999078e+00, -1.533397521972656e+02, -2.061290283203125e+02, -1.793009490966797e+02, -1.090006256103516e+02, -3.140669250488281e+01, 2.796784400939941e+01, 5.80350341796875e+01, 6.029745101928711e+01, 4.39409065246582e+01, 2.039728736877441e+01, -8.29462468624115e-01, -1.428817462921143e+01, -1.875493621826172e+01, -1.609680938720703e+01, -9.624416351318359e+00, -2.601985216140747e+00, 2.700508117675781e+00, 5.325768947601318e+00, 5.446922779083252e+00, 3.915814161300659e+00, 1.770267128944397e+00, 3.3592041015625e+02, 5.087093811035156e+02, 7.654321899414062e+02, 1.000479064941406e+03, 1.152078125000001e+03, 1.205006713867188e+03, 1.178601928710938e+03, 1.108780639648438e+03, 1.031561401367188e+03, 9.723833618164062e+02, 9.423389282226562e+02, 9.399805297851562e+02, 9.561929931640625e+02, 9.796039428710938e+02, 1.00074462890625e+03, 1.014172607421875e+03, 1.018653625488281e+03, 1.016035705566406e+03, 1.009607849121094e+03, 1.002619445800781e+03, 9.973338012695312e+02, 9.947091064453125e+02, 9.945777587890625e+02, 9.96094970703125e+02, 9.982282104492188e+02, 6.64072509765625e+02, 4.912832946777344e+02, 2.345622406005859e+02, -4.835880100727081e-01, -1.520836639404297e+02, -2.050157165527344e+02, -1.7860791015625e+02, -1.087823944091797e+02, -3.155963516235352e+01, 2.762020492553711e+01, 5.766434860229492e+01, 6.002176284790039e+01, 4.380791091918945e+01, 2.039565658569336e+01, -7.457870244979858e-01, -1.417414283752441e+01, -1.865499687194824e+01, -1.603548431396484e+01, -9.606104850769043e+00, -2.616883277893066e+00, 2.668593168258667e+00, 5.292293071746826e+00, 5.422306537628174e+00, 3.904057502746582e+00, 1.770305633544922e+00] +pidSca.u_s=[1e+03, 1e+03, 1e+03, 1e+03, 1e+03, 1e+03, 1e+03, 1e+03, 1e+03, 1e+03, 1e+03, 1e+03, 1e+03, 1e+03, 1e+03, 1e+03, 1e+03, 1e+03, 1e+03, 1e+03, 1e+03, 1e+03, 1e+03, 1e+03, 1e+03, 1e+03, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+03, 1e+03, 1e+03, 1e+03, 1e+03, 1e+03, 1e+03, 1e+03, 1e+03, 1e+03, 1e+03, 1e+03, 1e+03, 1e+03, 1e+03, 1e+03, 1e+03, 1e+03, 1e+03, 1e+03, 1e+03, 1e+03, 1e+03, 1e+03, 1e+03, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_PIDWithReset.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_PIDWithReset.txt new file mode 100644 index 0000000000..2500bae31e --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_PIDWithReset.txt @@ -0,0 +1,21 @@ +last-generated=2020-10-15 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "number of continuous time states": "10", + "numerical Jacobians": "0" +} +time=[0e+00, 1e+01] +limPIDPar.u_s=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +limPIDPar.u_m=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, -8.79280626828014e-02, -1.879213720517086e-01, -2.879234433172002e-01, -3.879229068745091e-01, -4.879210591316223e-01, -5.879210591316935e-01, -6.879212379456989e-01, -7.879218339918621e-01, -8.879218935966491e-01, -9.879218339920044e-01, -1.087921953201294e+00, -1.187921833992005e+00, -1.287921833992289e+00, -1.381839551714315e+00, -1.45594322681427e+00, -1.513909863363823e+00, -1.556925159839278e+00, -1.585616002250968e+00, -1.600569596667006e+00, -1.602407693862915e+00, -1.591777546102873e+00, -1.569351328362883e+00, -1.535826306404697e+00, -1.491918371093377e+00, -1.438355445861816e+00, -1.375874216550922e+00, -1.305217539666989e+00, -1.227130373851045e+00, -1.142356955786533e+00, -1.051634311676025e+00, -9.556918394485152e-01, -8.560215711587942e-01, -7.560193657903485e-01, -6.560179352788733e-01, -5.560178756713867e-01, -4.560212433356634e-01, -3.560218989834887e-01, -2.560220777988436e-01, -1.560226142398644e-01, -5.602335557341576e-02, 4.397630915040374e-02, 1.439763873819802e-01, 2.439760744568851e-01, 3.439761936663164e-01, 4.439762532711029e-01, 5.438222035577714e-01, 6.407830737459236e-01, 7.343493729497963e-01, 8.244631636811489e-01, 9.109043478965759e-01, 9.934408832596249e-01, 1.071879412470618e+00, 1.146054725771687e+00, 1.215826088923502e+00, 1.281080842018127e+00, 1.341734941354783e+00, 1.397730094303694e+00, 1.449032450825054e+00, 1.495633440282818e+00, 1.537546157836914e+00, 1.574805769434224e+00, 1.607467470043329e+00, 1.63560635785934e+00, 1.659314849890373e+00, 1.678702116012573e+00, 1.69389201424691e+00, 1.705022113340208e+00, 1.712242354021772e+00, 1.715713856685396e+00, 1.715607643127441e+00, 1.712103266027532e+00, 1.705387337573175e+00, 1.69565250567414e+00, 1.683095877988634e+00, 1.667918920516968e+00, 1.650324415253383e+00, 1.630516965781917e+00, 1.608701868188442e+00, 1.585082437090352e+00, 1.55986225605011e+00, 1.533240541017126e+00, 1.505414312433337e+00, 1.476576145548368e+00, 1.446913485237826e+00, 1.416609287261963e+00, 1.38583910337232e+00, 1.3547729851316e+00, 1.323573172025364e+00, 1.292395115476197e+00, 1.261385917663574e+00] +limPIDPar.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -8.315523503317991e-01, -6.571659445762634e-01, -5.037250889426798e-01, -3.575196356073688e-01, -2.171710226446507e-01, -8.290482958321294e-02, 4.505741223692894e-02, 1.664286778186083e-01, 2.809155348876749e-01, 3.883358731785239e-01, 4.88552417948793e-01, 5.81452488899231e-01, 6.669358787605854e-01, 7.449573516662384e-01, 8.155255632948994e-01, 8.786920926935432e-01, 9.345236420631409e-01, 9.831281130858944e-01, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.883176297633638e-01, 9.522520859825896e-01, 9.187181644735511e-01, 8.831523409044501e-01, 8.451948165893555e-01, 8.051964248354775e-01, 7.633561270882084e-01, 7.199461106456174e-01, 6.752906871646882e-01, 6.296642422676086e-01, 5.833237322271572e-01, 5.365244446481083e-01, 4.895150366530458e-01, 4.425296038834719e-01, 3.957895338535309e-01, 3.495044866330811e-01, 3.038718733146516e-01, 2.59076650225576e-01, 2.152896936843513e-01, 1.726691275835037e-01, 1.31359046850277e-01, 9.149040303039171e-02, 5.318083346648168e-02, 1.653424354411175e-02, -1.835806481540203e-02, -5.141770063036036e-02, -8.25795432876338e-02, -1.117895076048865e-01, -1.390072056313474e-01, -1.642016470432281e-01, -1.873551649217861e-01, -2.084596834170176e-01, -2.275169143860018e-01, -2.445394254793154e-01, -2.59547233581543e-01, -2.725703547479723e-01, -2.836458574309051e-01, -2.928184408220585e-01, -3.001396893892218e-01, -3.056672513484955e-01, -3.094646215580948e-01, -3.11600240316983e-01, -3.121470810327165e-01, -3.111819852843394e-01, -3.087852001190186e-01] +limPIDInp.u_s=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +limPIDInp.u_m=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, -8.371426761435474e-02, -1.837109744530678e-01, -2.837121367451687e-01, -3.837118387216607e-01, -4.837108850479126e-01, -5.83710825443339e-01, -6.837109446526997e-01, -7.837113022801416e-01, -8.837113022804259e-01, -9.837112426757812e-01, -1.083711361885071e+00, -1.183711242675781e+00, -1.283711361821691e+00, -1.374566357692213e+00, -1.445965051651001e+00, -1.501631900515733e+00, -1.542549116532241e+00, -1.569318660992175e+00, -1.582526199408328e+00, -1.582790851593018e+00, -1.57075903976725e+00, -1.547101511069753e+00, -1.512512664396392e+00, -1.467704700205489e+00, -1.41340172290802e+00, -1.350336129189652e+00, -1.279246007977496e+00, -1.200870713033018e+00, -1.11594840275344e+00, -1.025209903717041e+00, -9.293778194664486e-01, -8.297811627353893e-01, -7.297785997424855e-01, -6.297770500214366e-01, -5.297769904136658e-01, -4.29780775310598e-01, -3.297815203652483e-01, -2.297816693781387e-01, -1.297822803250366e-01, -2.978312224149704e-02, 7.021649032827604e-02, 1.702165722849829e-01, 2.702162742611911e-01, 3.702163636684421e-01, 4.702164530754089e-01, 5.693567724828519e-01, 6.650879979284234e-01, 7.575094154946715e-01, 8.464483380428528e-01, 9.316664934158325e-01, 1.012947992166304e+00, 1.090102814874307e+00, 1.162969215168103e+00, 1.231416281077994e+00, 1.295339226722717e+00, 1.354660207304443e+00, 1.409327367516065e+00, 1.459313181665179e+00, 1.504614550180082e+00, 1.545250058174133e+00, 1.581259639986827e+00, 1.612703020549413e+00, 1.639659714348636e+00, 1.662225941814408e+00, 1.680514216423035e+00, 1.694651376445346e+00, 1.704777851649411e+00, 1.711045732950188e+00, 1.713618277421118e+00, 1.712668061256409e+00, 1.708375832878995e+00, 1.700929147234723e+00, 1.690521381464301e+00, 1.677349988017718e+00, 1.661616206169128e+00, 1.643522692636159e+00, 1.623273570152632e+00, 1.601073308814556e+00, 1.5771242622085e+00, 1.551628947257996e+00, 1.524784788459216e+00, 1.496787612716273e+00, 1.467827972029084e+00, 1.43809152080111e+00, 1.407759189605713e+00, 1.377004502800933e+00, 1.345995009249002e+00, 1.314890801629196e+00, 1.283844829765231e+00, 1.253001809120178e+00] +limPIDInp.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -9.99999973254151e-01, -8.000264236424139e-01, -6.328510046005249e-01, -4.818284304294963e-01, -3.374447009943612e-01, -1.988495689497846e-01, -6.630807851962334e-02, 5.993176251649857e-02, 1.795891284477222e-01, 2.92391694779745e-01, 3.981587476615014e-01, 4.967532139385454e-01, 5.880676507949829e-01, 6.720146102949381e-01, 7.485565192309829e-01, 8.177044104242848e-01, 8.795092736464234e-01, 9.340423941612244e-01, 9.814127498790235e-01, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.741310147169567e-01, 9.409131376596037e-01, 9.072059457074095e-01, 8.711721057802945e-01, 8.328462243080139e-01, 7.924685678720118e-01, 7.503446115679606e-01, 7.067650801590964e-01, 6.620021893223066e-01, 6.163281202316284e-01, 5.70007339385441e-01, 5.232926905753459e-01, 4.764259159503862e-01, 4.29636850790459e-01, 3.831445872783661e-01, 3.371553880206348e-01, 2.91862819587753e-01, 2.474477981771719e-01, 2.04077240028109e-01, 1.619054675102234e-01, 1.210730067165422e-01, 8.170703173186773e-02, 4.392154890954791e-02, 7.816802021325057e-03, -2.651932835578918e-02, -5.901181511445989e-02, -8.959873416525865e-02, -1.182291870833367e-01, -1.448656396424864e-01, -1.694801449775696e-01, -1.920575563516094e-01, -2.125924299900059e-01, -2.310888578964286e-01, -2.475616024186451e-01, -2.620328068733215e-01, -2.745342999565994e-01, -2.851049483902419e-01, -2.93790980921989e-01, -3.00645433065888e-01, -3.0572709441185e-01, -3.091005877726137e-01, -3.10835273568125e-01, -3.110048481237108e-01, -3.096868014804011e-01, -3.06961864233017e-01] +limPIPar.u_s=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +limPIPar.u_m=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5.233544684060405e-02, 1.087012239084785e-01, 1.681779168646253e-01, 2.299038321298853e-01, 2.930780947208405e-01, 3.569621589180014e-01, 4.20881062135091e-01, 4.842238129377911e-01, 5.464428213420117e-01, 6.070534586906433e-01, 6.656325408886753e-01, 7.218162750490399e-01, 7.752985604982948e-01, 8.258277899773936e-01, 8.732047080993652e-01, 9.172787471222633e-01, 9.579450300762851e-01, 9.951413441182685e-01, 1.028844087308555e+00, 1.059065341949463e+00, 1.085849189520695e+00, 1.10926782031304e+00, 1.129418977852546e+00, 1.146421894287514e+00, 1.160414576530457e+00, 1.171550402158582e+00, 1.179995414061235e+00, 1.185925247431159e+00, 1.189523098268862e+00, 1.190976619720459e+00, 1.190475819979041e+00, 1.18821143486229e+00, 1.184373029562502e+00, 1.179146891343071e+00, 1.172714591026306e+00, 1.16525220107507e+00, 1.156928760969079e+00, 1.147905248195928e+00, 1.138334045176416e+00, 1.128358244895935e+00, 1.118111362119171e+00, 1.107716659673296e+00, 1.09728684028416e+00, 1.086924681961259e+00, 1.076722025871277e+00, 1.066760769096268e+00, 1.057112675795662e+00, 1.047839658946958e+00, 1.038994201339286e+00, 1.030619740486145e+00, 1.02275108570813e+00, 1.015414939865637e+00, 1.00863040744913e+00, 1.00240934466729e+00, 9.96757447719574e-01, 9.916742994843118e-01, 9.871540585772814e-01, 9.831861329084927e-01, 9.797556431005917e-01, 9.768441319465637e-01, 9.7443002259598e-01, 9.724888769742362e-01, 9.709939981897857e-01, 9.699171790282443e-01, 9.692286849021912e-01, 9.688981770235613e-01, 9.688947800243571e-01, 9.691874973224223e-01, 9.697453373369734e-01, 9.705377817153931e-01, 9.715349633332634e-01, 9.72707929641105e-01, 9.740285847220238e-01, 9.754705486419477e-01, 9.770081639289856e-01, 9.786181387568439e-01, 9.802780779466905e-01, 9.819674459522106e-01, 9.836677377650966e-01, 9.853613376617432e-01, 9.87033182011973e-01, 9.886692197017489e-01, 9.902573198006168e-01, 9.917870220771028e-01, 9.93249237537384e-01, 9.946365304730354e-01, 9.959427142248976e-01, 9.971632934852386e-01, 9.982946556157427e-01, 9.993345737457275e-01] +limPIPar.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5.450853011109351e-01, 5.806973424172009e-01, 6.073990567275639e-01, 6.257843407786541e-01, 6.36469841003418e-01, 6.400867698330044e-01, 6.372733141098353e-01, 6.286682430263679e-01, 6.149043997325625e-01, 5.966036915779114e-01, 5.743717915239932e-01, 5.487942823310853e-01, 5.204326368357647e-01, 4.898215235591296e-01, 4.574660062789917e-01, 4.238397749025439e-01, 3.893835709992872e-01, 3.545038533367642e-01, 3.195727204021954e-01, 2.849270403385162e-01, 2.508691527039111e-01, 2.176670439487871e-01, 1.855548172632807e-01, 1.547342529401153e-01, 1.253753006458282e-01, 9.761810732392881e-02, 7.157421575139448e-02, 4.732814072890985e-02, 2.493944778549746e-02, 4.444160964339972e-03, -1.414309987942256e-02, -3.082707882610681e-02, -4.563018605784491e-02, -5.859078790173513e-02, -6.976092606782913e-02, -7.920476854091935e-02, -8.699680678719619e-02, -9.322011144488272e-02, -9.796482671420013e-02, -1.013264805078506e-01, -1.034047318487777e-01, -1.043019969759631e-01, -1.041221629822797e-01, -1.029694243831414e-01, -1.009473279118538e-01, -9.81578945343002e-02, -9.470059740009892e-02, -9.067187520936021e-02, -8.616438209051297e-02, -8.126655220985413e-02, -7.606210049074007e-02, -7.062969790895993e-02, -6.504270018519835e-02, -5.936891383472603e-02, -5.367056280374527e-02, -4.800416737856335e-02, -4.242057791755788e-02, -3.696503401531982e-02, -3.167716910807649e-02, -2.65913438051939e-02, -2.173671050203403e-02, -1.71374780245221e-02, -1.281300058904001e-02, -8.778225639892051e-03, -5.043917335569859e-03, -1.616964867765253e-03, 1.499274978072234e-03, 4.304715905359772e-03, 6.802266060792552e-03, 8.997461758553982e-03, 1.089819491649592e-02, 1.251445056003914e-02, 1.385791922527596e-02, 1.49418020875133e-02, 1.578055508434772e-02, 1.638948159935722e-02, 1.67847187833652e-02, 1.698283827637153e-02, 1.700063204471304e-02, 1.685522124171257e-02, 1.656331812880113e-02, 1.614183093629522e-02, 1.560693251022519e-02, 1.497454959737543e-02, 1.42600042745471e-02, 1.347781373216321e-02, 1.264198146213004e-02, 1.176541654616715e-02, 1.086048804621077e-02, 9.938377887010574e-03] +limPIInp.u_s=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +limPIInp.u_m=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 7.608645812209094e-02, 1.537172124242489e-01, 2.320072577347836e-01, 3.101492411436375e-01, 3.874143958091736e-01, 4.631514370483004e-01, 5.367856871282899e-01, 6.078172060369745e-01, 6.758180418060683e-01, 7.404302358627319e-01, 8.013619147463339e-01, 8.583836887297627e-01, 9.113258959954695e-01, 9.600729493613611e-01, 1.004560828208923e+00, 1.044771826412477e+00, 1.08073042189106e+00, 1.112499489448125e+00, 1.140175675327759e+00, 1.163885235786438e+00, 1.183780329400195e+00, 1.200034730509394e+00, 1.21284032384205e+00, 1.222403637582935e+00, 1.228942155838013e+00, 1.232681514893786e+00, 1.233852624797976e+00, 1.232688902634492e+00, 1.229423407603012e+00, 1.224287390708923e+00, 1.217507355052242e+00, 1.209304315639185e+00, 1.199891824429887e+00, 1.189474473735582e+00, 1.178246736526489e+00, 1.166392672393033e+00, 1.154084539396968e+00, 1.141482735028626e+00, 1.128734720013893e+00, 1.115975856781006e+00, 1.103328335255912e+00, 1.090902066707691e+00, 1.078794025344245e+00, 1.067088972592511e+00, 1.055859804153442e+00, 1.045168270734611e+00, 1.035064559493531e+00, 1.025589006836088e+00, 1.016771801517401e+00, 1.008634209632874e+00, 1.001188986752134e+00, 9.944409011262563e-01, 9.883878937274736e-01, 9.830212641668414e-01, 9.783268570899963e-01, 9.74285301056167e-01, 9.708728732172121e-01, 9.680621673145471e-01, 9.658225197974294e-01, 9.641210436820984e-01, 9.629227510335446e-01, 9.621912232051946e-01, 9.6188867118849e-01, 9.619773028032907e-01, 9.62418794631958e-01, 9.631755360885004e-01, 9.642103337017737e-01, 9.654869411189086e-01, 9.669703230306922e-01, 9.686265587806702e-01, 9.704235721744019e-01, 9.723306931693113e-01, 9.743193349554273e-01, 9.763628919229648e-01, 9.784364104270935e-01, 9.805176178769667e-01, 9.825860301058597e-01, 9.846230110730149e-01, 9.866125658202803e-01, 9.8853999376297e-01, 9.903931548287117e-01, 9.921613368287969e-01, 9.938358633323364e-01, 9.954097328592115e-01, 9.968774318695068e-01, 9.982352206685629e-01, 9.994804881619698e-01, 1.000612256839806e+00, 1.001630548289003e+00, 1.002536416053772e+00] +limPIInp.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 7.701259812574753e-01, 7.810140812976732e-01, 7.83439873548849e-01, 7.781856633381188e-01, 7.660322189331055e-01, 7.477515984889085e-01, 7.24100780782858e-01, 6.958155485389337e-01, 6.636060990661925e-01, 6.281519532203674e-01, 5.900989991751754e-01, 5.500564769261771e-01, 5.08594314061478e-01, 4.662419963726553e-01, 4.234867691993713e-01, 3.807735633781033e-01, 3.385046324739895e-01, 2.970394297412139e-01, 2.566959045654549e-01, 2.177507430315018e-01, 1.80441255581594e-01, 1.449666188712954e-01, 1.114893774536151e-01, 8.013792262172278e-02, 5.100790038704872e-02, 2.41649485540805e-02, -3.532763978867821e-04, -2.253497637885324e-02, -4.239149448716678e-02, -5.995539948344231e-02, -7.527784103722571e-02, -8.842638910599764e-02, -9.948285205799845e-02, -1.085412795820342e-01, -1.157056391239166e-01, -1.210880544684909e-01, -1.248069085947258e-01, -1.269851594598463e-01, -1.277486977785001e-01, -1.272248178720474e-01, -1.255410738478538e-01, -1.228238654114844e-01, -1.191974283306721e-01, -1.147827327385727e-01, -1.096967682242393e-01, -1.040518227264132e-01, -9.795470819773575e-02, -9.150645644051054e-02, -8.480173251453403e-02, -7.792872190475464e-02, -7.096879263762979e-02, -6.399639860473072e-02, -5.707904518672367e-02, -5.027721347664993e-02, -4.364462569355965e-02, -3.722824303551557e-02, -3.106850360716937e-02, -2.519957326977693e-02, -1.964952754479794e-02, -1.444084011018276e-02, -9.590590614275276e-03, -5.110859207831562e-03, -1.008840011699738e-03, 2.71242307066287e-03, 6.053843069821596e-03, 9.01980307845811e-03, 1.161779731262847e-02, 1.385810291294451e-02, 1.575344260500007e-02, 1.731861941516399e-02, 1.857016735740225e-02, 1.952607334722362e-02, 2.020540724103641e-02, 2.062799142399704e-02, 2.081440389156342e-02, 2.078519244931444e-02, 2.056123811830473e-02, 2.016320912898916e-02, 1.961127985084094e-02, 1.892556436359882e-02, 1.812502876724874e-02, 1.722845813423258e-02, 1.625332986295078e-02, 1.521644893127395e-02, 1.413359586149454e-02, 1.301934160404057e-02, 1.188740662429479e-02, 1.075008262682264e-02, 9.618862904750352e-03, 8.50379467010498e-03] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_PIDWithResetScale.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_PIDWithResetScale.txt new file mode 100644 index 0000000000..da1812e4b7 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_PIDWithResetScale.txt @@ -0,0 +1,15 @@ +last-generated=2020-10-27 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "number of continuous time states": "6", + "numerical Jacobians": "0" +} +time=[0e+00, 1e+02] +pidSca.y=[1e+00, 4.789353311061859e-01, 3.822728991508484e-01, 2.069125473499298e-01, 3.256407380104065e-02, -8.96126925945282e-02, -1.420066803693771e-01, -1.338689178228378e-01, -8.905824273824692e-02, -3.38137298822403e-02, 1.184174045920372e-02, 3.781681135296822e-02, 4.341181367635727e-02, 3.41964103281498e-02, 1.814253069460389e-02, 2.417445881292224e-03, -8.449100889265537e-03, -1.296858675777912e-02, -1.205248478800058e-02, -7.89909902960062e-03, -2.884963992983103e-03, 1.204618019983172e-03, 3.488857299089432e-03, 3.932801075279713e-03, 3.057450754567981e-03, 1.588993705809116e-03, -9.014783799648285e-02, -2.367986738681793e-01, -2.615011334419249e-01, -2.001790106296542e-01, -1.014383360743523e-01, 4.137855721637607e-04, 5.458060279488564e-02, 7.342061400413513e-02, 6.388809531927109e-02, 3.885588049888611e-02, 1.121398527175188e-02, -9.944651275873184e-03, -2.066577598452568e-02, -2.148099988698959e-02, -1.565990038216114e-02, -7.274489849805832e-03, 2.88546405499801e-04, 5.085897631943226e-03, 6.680207792669535e-03, 5.735563579946756e-03, 3.430895507335663e-03, 9.292137110605836e-04, -9.603649959899485e-04, -1.896467409096658e-03, -1.940432237461209e-03, 8.891788125038147e-02, 2.353428900241852e-01, 2.603276669979095e-01, 1.995340436697006e-01, 1.013261377811425e-01, 7.983366958796428e-03, -5.46367987990376e-02, -7.89192467927932e-02, -7.127602398395538e-02, -4.528040811419487e-02, -1.146174967288971e-02, 8.608768694102764e-03, 1.903318054974079e-02, 2.014057524502277e-02, 1.490404549986124e-02, 7.11924908682704e-03, -9.016035619424656e-06, -4.608259536325932e-03, -6.215888541191816e-03, -5.417254287749529e-03, -3.301070304587483e-03, -9.595282026566565e-04, 8.35668935906142e-04, 1.747739035636187e-03, 1.82018184568733e-03, -8.898844569921494e-02, -2.353599071502686e-01, -2.603070139884949e-01, -1.994939297437668e-01, -1.01285457611084e-01, -7.955091074109077e-03, 5.464806035161018e-02, 7.891583442687988e-02, 7.126430422067642e-02, 4.526663944125175e-02, 1.510731875896454e-02, -8.827473036944866e-03, -2.167111076414585e-02, -2.355927787721157e-02, -1.781675405800343e-02, -7.416092790663242e-03, -5.240460741333663e-04, 4.080183804035187e-03, 5.846962798386812e-03, 5.259867291897535e-03, 3.32660460844636e-03, 1.095537794753909e-03, -6.685389671474695e-04, -1.609862665645778e-03, -1.741873566061258e-03] +pidNoSca.y=[1e+00, 4.789353311061859e-01, 3.822728991508484e-01, 2.069125473499298e-01, 3.256407380104065e-02, -8.96126925945282e-02, -1.420066803693771e-01, -1.338689178228378e-01, -8.905824273824692e-02, -3.38137298822403e-02, 1.184174045920372e-02, 3.781681135296822e-02, 4.341181367635727e-02, 3.41964103281498e-02, 1.814253069460389e-02, 2.417445881292224e-03, -8.449100889265537e-03, -1.296858675777912e-02, -1.205248478800058e-02, -7.89909902960062e-03, -2.884963992983103e-03, 1.204618019983172e-03, 3.488857299089432e-03, 3.932801075279713e-03, 3.057450754567981e-03, 1.588993705809116e-03, -9.014783799648285e-02, -2.367986738681793e-01, -2.615011334419249e-01, -2.001790106296542e-01, -1.014383360743523e-01, 4.137855721637607e-04, 5.458060279488564e-02, 7.342061400413513e-02, 6.388809531927109e-02, 3.885588049888611e-02, 1.121398527175188e-02, -9.944651275873184e-03, -2.066577598452568e-02, -2.148099988698959e-02, -1.565990038216114e-02, -7.274489849805832e-03, 2.88546405499801e-04, 5.085897631943226e-03, 6.680207792669535e-03, 5.735563579946756e-03, 3.430895507335663e-03, 9.292137110605836e-04, -9.603649959899485e-04, -1.896467409096658e-03, -1.940432237461209e-03, 8.891788125038147e-02, 2.353428900241852e-01, 2.603276669979095e-01, 1.995340436697006e-01, 1.013261377811425e-01, 7.983366958796428e-03, -5.46367987990376e-02, -7.89192467927932e-02, -7.127602398395538e-02, -4.528040811419487e-02, -1.146174967288971e-02, 8.608768694102764e-03, 1.903318054974079e-02, 2.014057524502277e-02, 1.490404549986124e-02, 7.11924908682704e-03, -9.016035619424656e-06, -4.608259536325932e-03, -6.215888541191816e-03, -5.417254287749529e-03, -3.301070304587483e-03, -9.595282026566565e-04, 8.35668935906142e-04, 1.747739035636187e-03, 1.82018184568733e-03, -8.898844569921494e-02, -2.353599071502686e-01, -2.603070139884949e-01, -1.994939297437668e-01, -1.01285457611084e-01, -7.955091074109077e-03, 5.464806035161018e-02, 7.891583442687988e-02, 7.126430422067642e-02, 4.526663944125175e-02, 1.510731875896454e-02, -8.827473036944866e-03, -2.167111076414585e-02, -2.355927787721157e-02, -1.781675405800343e-02, -7.416092790663242e-03, -5.240460741333663e-04, 4.080183804035187e-03, 5.846962798386812e-03, 5.259867291897535e-03, 3.32660460844636e-03, 1.095537794753909e-03, -6.685389671474695e-04, -1.609862665645778e-03, -1.741873566061258e-03] +pla1.y=[0e+00, 5.1559033203125e+02, 9.565138549804688e+02, 1.254010986328125e+03, 1.37100830078125e+03, 1.336908569335938e+03, 1.215340942382812e+03, 1.07322900390625e+03, 9.598469848632812e+02, 8.985159912109375e+02, 8.889110717773438e+02, 9.155338745117188e+02, 9.576796875e+02, 9.973937377929688e+02, 1.023802917480469e+03, 1.033819091796875e+03, 1.030292602539062e+03, 1.019063049316406e+03, 1.006180297851562e+03, 9.960380859375e+02, 9.90662109375e+02, 9.899501342773438e+02, 9.924597778320312e+02, 9.963078002929688e+02, 9.998829345703125e+02, 1.002225646972656e+03, 6.671683349609375e+02, 4.92811279296875e+02, 2.346244201660147e+02, -1.384420633315294e+00, -1.533398132324219e+02, -1.899775238037109e+02, -1.595258483886719e+02, -9.272840881347656e+01, -2.22052001953125e+01, 2.988444328308105e+01, 5.468190383911133e+01, 5.453292083740234e+01, 3.832336044311523e+01, 1.653451728820801e+01, -2.417987108230591e+00, -1.393906307220459e+01, -1.725805854797363e+01, -1.430122852325439e+01, -8.16649341583252e+00, -1.792871713638306e+00, 2.851693868637085e+00, 5.007420063018799e+00, 4.919456481933594e+00, 3.409096240997314e+00, 1.426660895347595e+00, 3.357417297363281e+02, 5.087078857421875e+02, 7.655446166992188e+02, 1.000633850097656e+03, 1.152218017578126e+03, 1.2051005859375e+03, 1.17863623046875e+03, 1.10876611328125e+03, 1.03151953125e+03, 9.723362426757812e+02, 9.495113525390625e+02, 9.48788818359375e+02, 9.634554443359375e+02, 9.837218017578125e+02, 1.001614624023438e+03, 1.012687438964844e+03, 1.01608642578125e+03, 1.013528076171875e+03, 1.00787939453125e+03, 1.001904541015625e+03, 9.974844970703125e+02, 9.953741455078125e+02, 9.953784790039062e+02, 9.967467041015625e+02, 9.9859130859375e+02, 6.642059936523438e+02, 4.911957092285156e+02, 2.34359375e+02, -7.000811696052551e-01, -1.522427062988281e+02, -2.050886383056641e+02, -1.786044921875e+02, -1.087309417724609e+02, -3.149297904968262e+01, 2.767750358581543e+01, 5.769866561889648e+01, 6.003094482421875e+01, 4.379818344116211e+01, 2.037660789489746e+01, -7.652122378349304e-01, -1.135125350952148e+01, -1.518834590911865e+01, -1.317745399475098e+01, -7.985503673553467e+00, -2.273990392684937e+00, 2.085249662399292e+00, 4.283353328704834e+00, 4.43674373626709e+00, 3.224758863449097e+00, 1.489430665969849e+00] +pla2.y=[0e+00, 5.1559033203125e+02, 9.565138549804688e+02, 1.254010986328125e+03, 1.37100830078125e+03, 1.336908569335938e+03, 1.215340942382812e+03, 1.07322900390625e+03, 9.598469848632812e+02, 8.985159912109375e+02, 8.889110717773438e+02, 9.155338745117188e+02, 9.576796875e+02, 9.973937377929688e+02, 1.023802917480469e+03, 1.033819091796875e+03, 1.030292602539062e+03, 1.019063049316406e+03, 1.006180297851562e+03, 9.960380859375e+02, 9.90662109375e+02, 9.899501342773438e+02, 9.924597778320312e+02, 9.963078002929688e+02, 9.998829345703125e+02, 1.002225646972656e+03, 6.671683349609375e+02, 4.92811279296875e+02, 2.346244201660147e+02, -1.384420633315294e+00, -1.533398132324219e+02, -1.899775238037109e+02, -1.595258483886719e+02, -9.272840881347656e+01, -2.22052001953125e+01, 2.988444328308105e+01, 5.468190383911133e+01, 5.453292083740234e+01, 3.832336044311523e+01, 1.653451728820801e+01, -2.417987108230591e+00, -1.393906307220459e+01, -1.725805854797363e+01, -1.430122852325439e+01, -8.16649341583252e+00, -1.792871713638306e+00, 2.851693868637085e+00, 5.007420063018799e+00, 4.919456481933594e+00, 3.409096240997314e+00, 1.426660895347595e+00, 3.357417297363281e+02, 5.087078857421875e+02, 7.655446166992188e+02, 1.000633850097656e+03, 1.152218017578126e+03, 1.2051005859375e+03, 1.17863623046875e+03, 1.10876611328125e+03, 1.03151953125e+03, 9.723362426757812e+02, 9.495113525390625e+02, 9.48788818359375e+02, 9.634554443359375e+02, 9.837218017578125e+02, 1.001614624023438e+03, 1.012687438964844e+03, 1.01608642578125e+03, 1.013528076171875e+03, 1.00787939453125e+03, 1.001904541015625e+03, 9.974844970703125e+02, 9.953741455078125e+02, 9.953784790039062e+02, 9.967467041015625e+02, 9.9859130859375e+02, 6.642059936523438e+02, 4.911957092285156e+02, 2.34359375e+02, -7.000811696052551e-01, -1.522427062988281e+02, -2.050886383056641e+02, -1.786044921875e+02, -1.087309417724609e+02, -3.149297904968262e+01, 2.767750358581543e+01, 5.769866561889648e+01, 6.003094482421875e+01, 4.379818344116211e+01, 2.037660789489746e+01, -7.652122378349304e-01, -1.135125350952148e+01, -1.518834590911865e+01, -1.317745399475098e+01, -7.985503673553467e+00, -2.273990392684937e+00, 2.085249662399292e+00, 4.283353328704834e+00, 4.43674373626709e+00, 3.224758863449097e+00, 1.489430665969849e+00] +pidSca.u_s=[1e+03, 1e+03, 1e+03, 1e+03, 1e+03, 1e+03, 1e+03, 1e+03, 1e+03, 1e+03, 1e+03, 1e+03, 1e+03, 1e+03, 1e+03, 1e+03, 1e+03, 1e+03, 1e+03, 1e+03, 1e+03, 1e+03, 1e+03, 1e+03, 1e+03, 1e+03, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+03, 1e+03, 1e+03, 1e+03, 1e+03, 1e+03, 1e+03, 1e+03, 1e+03, 1e+03, 1e+03, 1e+03, 1e+03, 1e+03, 1e+03, 1e+03, 1e+03, 1e+03, 1e+03, 1e+03, 1e+03, 1e+03, 1e+03, 1e+03, 1e+03, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +pidSca.trigger=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Ramp.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Ramp.txt new file mode 100644 index 0000000000..0eb29a79ba --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Ramp.txt @@ -0,0 +1,19 @@ +last-generated=2023-03-28 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "number of continuous time states": "4", + "numerical Jacobians": "0" +} +time=[0e+00, 1e+01] +ramUp.u=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +ramUp.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5.000004656618207e-03, 9.999997392294135e-03, 1.500000204891456e-02, 1.999999478458825e-02, 2.500000037252903e-02, 3.000000409782466e-02, 3.499999776482761e-02, 4.000000149012324e-02, 4.499999701975355e-02, 5.000000074505806e-02, 5.500000447036257e-02, 5.999999627471149e-02, 6.500000000000712e-02, 6.999999552963745e-02, 7.500000298023224e-02, 8.000000298024643e-02, 8.499999850987679e-02, 9.000000596045381e-02, 9.499999403952133e-02, 1.000000014901161e-01, 1.050000014901303e-01, 1.100000089407251e-01, 1.14999992549391e-01, 1.199999925494407e-01, 1.25e-01, 1.300000000000142e-01, 1.350000149011896e-01, 1.399999910592749e-01, 1.449999910592891e-01, 1.500000059604645e-01, 1.550000059604787e-01, 1.600000059604929e-01, 1.649999970197394e-01, 1.699999970197536e-01, 1.749999970197678e-01, 1.800000119208721e-01, 1.850000119209573e-01, 1.899999880790426e-01, 1.949999880791279e-01, 2.000000029802322e-01, 2.050000029802464e-01, 2.100000029802607e-01, 2.149999940395071e-01, 2.199999940395213e-01, 2.249999940395355e-01, 2.30000008940711e-01, 2.350000089407251e-01, 2.399999850988104e-01, 2.449999999999858e-01, 2.5e-01, 2.550000000000853e-01, 2.600000000001705e-01, 2.649999761582558e-01, 2.700000059603792e-01, 2.750000059604645e-01, 2.800000059604076e-01, 2.85000005960635e-01, 2.899999821187203e-01, 2.949999821186634e-01, 3.00000011920929e-01, 3.049999880791848e-01, 3.100000119205878e-01, 3.14999988079412e-01, 3.200000119208153e-01, 3.24999988079071e-01, 3.299999940396492e-01, 3.350000178810523e-01, 3.399999940395924e-01, 3.450000178807113e-01, 3.499999940395355e-01, 3.549999701983597e-01, 3.600000238415169e-01, 3.650000000000569e-01, 3.700000238411758e-01, 3.75e-01, 3.799999761588242e-01, 3.849999999999431e-01, 3.899999761584832e-01, 3.950000298016403e-01, 4.000000059604645e-01] +ramUp1.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.000000931323641e-02, 1.999999478458827e-02, 3.000000409782912e-02, 3.99999895691765e-02, 5.000000074505806e-02, 6.000000819564932e-02, 6.999999552965522e-02, 8.000000298024648e-02, 8.999999403950709e-02, 1.000000014901161e-01, 1.100000089407251e-01, 1.19999992549423e-01, 1.300000000000142e-01, 1.399999910592749e-01, 1.500000059604645e-01, 1.600000059604929e-01, 1.699999970197536e-01, 1.800000119209076e-01, 1.899999880790427e-01, 2.000000029802322e-01, 2.100000029802606e-01, 2.200000178814503e-01, 2.299999850987819e-01, 2.399999850988815e-01, 2.5e-01, 2.600000000000285e-01, 2.700000298023791e-01, 2.799999821185497e-01, 2.899999821185782e-01, 3.00000011920929e-01, 3.100000119209573e-01, 3.200000119209858e-01, 3.299999940394788e-01, 3.399999940395071e-01, 3.499999940395355e-01, 3.600000238417443e-01, 3.700000238419147e-01, 3.799999761580852e-01, 3.899999761582557e-01, 4.000000059604645e-01, 4.100000059604929e-01, 4.200000059605213e-01, 4.299999880790142e-01, 4.399999880790427e-01, 4.49999988079071e-01, 4.600000178814219e-01, 4.700000178814503e-01, 4.799999701976209e-01, 4.899999999999715e-01, 5e-01, 5.100000000001705e-01, 5.20000000000341e-01, 5.299999523165115e-01, 5.400000119207584e-01, 5.50000011920929e-01, 5.600000119208153e-01, 5.7000001192127e-01, 5.799999642374406e-01, 5.899999642373268e-01, 6.000000238418579e-01, 6.099999761583697e-01, 6.200000238411757e-01, 6.299999761588241e-01, 6.400000238416306e-01, 6.499999761581421e-01, 6.599999880792984e-01, 6.700000357621047e-01, 6.799999880791848e-01, 6.900000357614227e-01, 6.99999988079071e-01, 7.099999403967194e-01, 7.200000476830338e-01, 7.300000000001138e-01, 7.400000476823515e-01, 7.5e-01, 7.599999523176484e-01, 7.699999999998862e-01, 7.799999523169664e-01, 7.900000596032806e-01, 8.00000011920929e-01] +ramUp.active=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +ramUpDow.u=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +ramUpDow.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.800000190734863e-01, 9.599999594687848e-01, 9.399999594687278e-01, 9.200000548363869e-01, 8.999999952316852e-01, 8.799999952316284e-01, 8.599999952315714e-01, 8.399999356274386e-01, 8.20000030994529e-01, 8.00000030994472e-01, 7.799999713897705e-01, 7.599999713897138e-01, 7.399999713896568e-01, 7.200000667567472e-01, 7.000000071526141e-01, 6.800000071525574e-01, 6.600000071525004e-01, 6.399999475477991e-01, 6.20000042915458e-01, 6.00000042915117e-01, 5.799999833106995e-01, 5.599999833106427e-01, 5.399999833105857e-01, 5.200000190736001e-01, 5.000000190735431e-01, 4.799999892711639e-01, 4.59999989271107e-01, 4.399999594687278e-01, 4.200000250340644e-01, 4.000000250340078e-01, 3.799999952316284e-01, 3.599999952315717e-01, 3.399999654291925e-01, 3.20000030994529e-01, 3.000000309943299e-01, 2.800000011920929e-01, 2.599999713898559e-01, 2.399999564886377e-01, 2.200000369549933e-01, 2.000000220537043e-01, 1.800000071525574e-01, 1.600000727160747e-01, 1.399999624500118e-01, 1.20000035463897e-01, 9.999992519790442e-02, 7.999999821186066e-02, 6.000007495117825e-02, 3.999996095982466e-02, 2.000003769907083e-02, 1.654991040090673e-05, -1.337800787574832e-14, -1.152299585677677e-14, -9.667965300336471e-15, -7.812953281364924e-15, -5.957923571949559e-15, -4.102911129469583e-15, -2.247898686985601e-15, -3.928687922851386e-16, -3.674245277820885e-18, -3.464357956574596e-18, -3.25447243012328e-18] +ramUpDow.active=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +ramUpDow1.u=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.999952316238438e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +ramUpDow1.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2.000001862647283e-02, 3.999998956917654e-02, 6.000000819565825e-02, 7.999997913835308e-02, 1.000000014901161e-01, 1.200000163912986e-01, 1.399999910593104e-01, 1.600000059604929e-01, 1.799999880790143e-01, 2.000000029802322e-01, 2.200000178814502e-01, 2.400000327826683e-01, 2.599999523164547e-01, 2.799999821185498e-01, 3.00000011920929e-01, 3.200000119209859e-01, 3.400000417233649e-01, 3.599999761580284e-01, 3.799999761580853e-01, 4.000000059604645e-01, 4.200000059605212e-01, 4.400000357629006e-01, 4.599999701975641e-01, 4.79999970197763e-01, 5e-01, 5.20000000000057e-01, 5.400000596047583e-01, 5.599999642370994e-01, 5.799999642371562e-01, 6.000000238418579e-01, 6.200000238419147e-01, 6.400000238419716e-01, 6.599999880789573e-01, 6.799999880790143e-01, 6.99999988079071e-01, 7.199999809262292e-01, 6.699999213218688e-01, 6.200001001358029e-01, 5.700000405311587e-01, 5.199999809265137e-01, 4.699999511241915e-01, 4.199998915195469e-01, 3.700001001358033e-01, 3.200000405313004e-01, 2.700000107288361e-01, 2.199999511241204e-01, 1.699999064205655e-01, 1.200000926852933e-01, 7.000004798177439e-02, 1.999999955296516e-02, 3.456860272040785e-12, 8.392204344646765e-15, 3.564259052427321e-15, 8.406577137190336e-18, 3.669769416798644e-18, 7.784740607393769e-21, 3.532305444331691e-22, 3.734793079691984e-24, 4.505978274761481e-37, -0e+00, 0e+00, 0e+00, 0e+00, 0e+00, -0e+00, 0e+00, 0e+00, 0e+00, 0e+00, -0e+00] +ramUpDow1.active=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Round.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Round.txt new file mode 100644 index 0000000000..6cdc7c5e33 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Round.txt @@ -0,0 +1,14 @@ +last-generated=2017-09-15 +statistics-simulation= +{ + "numerical Jacobians": "0", + "nonlinear": " ", + "linear": " " +} +round1.u=[-3.5e+00, -3.430000065192561e+00, -3.359999891966595e+00, -3.289999957159187e+00, -3.22000002235177e+00, -3.150000100582814e+00, -3.079999914318365e+00, -3.009999992549414e+00, -2.940000044703563e+00, -2.869999910593299e+00, -2.79999996274703e+00, -2.730000014901188e+00, -2.660000067055026e+00, -2.589999880790923e+00, -2.519999985098812e+00, -2.450000089406701e+00, -2.380000089406701e+00, -2.309999955296437e+00, -2.240000059604325e+00, -2.170000059604467e+00, -2.099999925494416e+00, -2.029999925494487e+00, -1.960000029802305e+00, -1.890000014901223e+00, -1.820000014901081e+00, -1.75e+00, -1.679999880791137e+00, -1.610000089406487e+00, -1.539999970197695e+00, -1.469999970197553e+00, -1.400000059604823e+00, -1.330000059604538e+00, -1.259999940395675e+00, -1.190000149011026e+00, -1.120000029802162e+00, -1.049999910593299e+00, -9.800001192090765e-01, -9.100000596045738e-01, -8.399999403954262e-01, -7.699998807909235e-01, -7.000000298022334e-01, -6.29999970197731e-01, -5.599999105932283e-01, -4.900000596044956e-01, -4.199999701977131e-01, -3.499999105932104e-01, -2.800000596045203e-01, -2.099999850988568e-01, -1.39999925494354e-01, -7.000006705508333e-02, 0e+00, 7.000006705408858e-02, 1.400001341081772e-01, 2.100001937118983e-01, 2.799998509909462e-01, 3.499999105944542e-01, 4.199999701974648e-01, 4.900000596034507e-01, 5.600001192072998e-01, 6.300001788108077e-01, 6.999998211889077e-01, 7.699998807924157e-01, 8.399999403959236e-01, 9.100000596040764e-01, 9.800001192075843e-01, 1.050000119207158e+00, 1.119999821188411e+00, 1.189999940396848e+00, 1.259999940396421e+00, 1.330000059604787e+00, 1.400000059603579e+00, 1.470000178810737e+00, 1.539999761585684e+00, 1.609999880792416e+00, 1.679999880792131e+00, 1.75e+00, 1.820000119207869e+00, 1.890000119207584e+00, 1.960000238414316e+00, 2.029999821189263e+00, 2.099999821187842e+00, 2.170000059604219e+00, 2.240000059603579e+00, 2.310000059602157e+00, 2.380000298019316e+00, 2.449999880794263e+00, 2.519999880792842e+00, 2.589999880791421e+00, 2.660000119208579e+00, 2.730000119207158e+00, 2.800000119205737e+00, 2.869999701980684e+00, 2.939999940397843e+00, 3.009999940396421e+00, 3.079999940395781e+00, 3.150000178812158e+00, 3.220000178810737e+00, 3.289999761585684e+00, 3.359999761584263e+00, 3.430000000000284e+00, 3.5e+00] +round1.y=[-4e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -3e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -5.006780019356505e-06, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00] +time=[0e+00, 1e+00] +round2.y=[-4.000000059604645e-01, -3.00000011920929e-01, -3.00000011920929e-01, -3.00000011920929e-01, -3.00000011920929e-01, -3.00000011920929e-01, -3.00000011920929e-01, -3.00000011920929e-01, -3.00000011920929e-01, -3.00000011920929e-01, -3.00000011920929e-01, -3.00000011920929e-01, -3.00000011920929e-01, -3.00000011920929e-01, -3.00000011920929e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -1.000000014901161e-01, -1.000000014901161e-01, -1.000000014901161e-01, -1.000000014901161e-01, -1.000000014901161e-01, -1.000000014901161e-01, -1.000000014901161e-01, -1.000000014901161e-01, -1.000000014901161e-01, -1.000000014901161e-01, -1.000000014901161e-01, -1.000000014901161e-01, -1.000000014901161e-01, -1.000000014901161e-01, -5.00678009385247e-07, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 3.00000011920929e-01, 3.00000011920929e-01, 3.00000011920929e-01, 3.00000011920929e-01, 3.00000011920929e-01, 3.00000011920929e-01, 3.00000011920929e-01, 3.00000011920929e-01, 3.00000011920929e-01, 3.00000011920929e-01, 3.00000011920929e-01, 3.00000011920929e-01, 3.00000011920929e-01, 3.00000011920929e-01, 3.00000011920929e-01] +round2.u=[-3.499999940395355e-01, -3.429999945983297e-01, -3.35999995157124e-01, -3.289999957159187e-01, -3.219999962747125e-01, -3.149999981373525e-01, -3.079999973923011e-01, -3.009999992549414e-01, -2.939999985098919e-01, -2.870000029802163e-01, -2.800000022351675e-01, -2.730000014901188e-01, -2.660000007450701e-01, -2.590000000000213e-01, -2.520000044703457e-01, -2.450000089406701e-01, -2.380000029802216e-01, -2.310000074505726e-01, -2.24000011920897e-01, -2.169999910593139e-01, -2.099999955296605e-01, -2.029999895692165e-01, -1.959999940395409e-01, -1.889999985098963e-01, -1.819999925494434e-01, -1.749999970197678e-01, -1.679999910593459e-01, -1.610000059604964e-01, -1.539999999999946e-01, -1.469999940395728e-01, -1.400000089406434e-01, -1.330000029802216e-01, -1.259999970197731e-01, -1.190000119208703e-01, -1.120000059604485e-01, -1.049999925494461e-01, -9.800000745056994e-02, -9.100000149011257e-02, -8.399999552965519e-02, -7.699998956919782e-02, -7.000000447034391e-02, -6.299999850988657e-02, -5.599999254942918e-02, -4.90000037252903e-02, -4.199999776483204e-02, -3.499999180437022e-02, -2.800000670550853e-02, -2.099999888241493e-02, -1.399999292196144e-02, -7.000006891771072e-03, 0e+00, 7.000006891671597e-03, 1.400001378334319e-02, 2.100001974369222e-02, 2.79999858441367e-02, 3.49999918044946e-02, 4.199999776480721e-02, 4.900000372518581e-02, 5.600001341082745e-02, 6.300001937121644e-02, 6.999998360898912e-02, 7.699998956934702e-02, 8.399999552970493e-02, 9.100000149006283e-02, 9.800000745042074e-02, 1.050000134107786e-01, 1.119999850991319e-01, 1.189999910594898e-01, 1.259999970198477e-01, 1.330000029802464e-01, 1.400000089405191e-01, 1.470000149008414e-01, 1.539999791388006e-01, 1.60999985099123e-01, 1.679999910594454e-01, 1.749999970197678e-01, 1.820000029801612e-01, 1.890000089405546e-01, 1.960000149009481e-01, 2.029999791386941e-01, 2.099999850990165e-01, 2.169999910592891e-01, 2.240000119208223e-01, 2.310000178811447e-01, 2.380000238414671e-01, 2.449999880792487e-01, 2.519999940397487e-01, 2.590000000000711e-01, 2.660000059603934e-01, 2.730000119207158e-01, 2.800000178810382e-01, 2.869999821189974e-01, 2.939999880793198e-01, 3.009999940396421e-01, 3.080000000000142e-01, 3.150000059602868e-01, 3.220000119206092e-01, 3.289999761585684e-01, 3.359999821188908e-01, 3.429999880792132e-01, 3.499999940395355e-01] +round3.u=[-3.5e+01, -3.42999992214144e+01, -3.35999984428288e+01, -3.290000147893922e+01, -3.220000070035486e+01, -3.150000005215383e+01, -3.079999914318365e+01, -3.01000004023313e+01, -2.939999949336132e+01, -2.870000101327736e+01, -2.800000010430746e+01, -2.729999919533756e+01, -2.660000019371374e+01, -2.589999928474639e+01, -2.520000080466244e+01, -2.450000041722985e+01, -2.379999898672264e+01, -2.310000050663868e+01, -2.240000011921292e+01, -2.170000059604524e+01, -2.100000020861492e+01, -2.029999877810771e+01, -1.960000029802262e+01, -1.889999991059515e+01, -1.820000038742747e+01, -1.75e+01, -1.679999856949279e+01, -1.610000113248345e+01, -1.539999970197681e+01, -1.469999922514335e+01, -1.400000083446538e+01, -1.33000003576268e+01, -1.25999998807905e+01, -1.190000053644219e+01, -1.120000005960475e+01, -1.049999958276731e+01, -9.800001192086501e+00, -9.100000715253605e+00, -8.399999284746395e+00, -7.699998807910088e+00, -7.000000417231268e+00, -6.29999994039525e+00, -5.599998986723776e+00, -4.900000596044956e+00, -4.199999642372629e+00, -3.499999165536038e+00, -2.800000536441055e+00, -2.099999821186316e+00, -1.399999225141218e+00, -7.000006556496721e-01, 0e+00, 7.000006556397247e-01, 1.400001311279449e+00, 2.100001907316234e+00, 2.799998450306096e+00, 3.499999165548476e+00, 4.199999642370146e+00, 4.900000596034507e+00, 5.600001072862714e+00, 6.300002026525093e+00, 6.999998331099787e+00, 7.699998807925009e+00, 8.399999284751368e+00, 9.100000715248632e+00, 9.80000119207158e+00, 1.05000016689059e+01, 1.119999797348116e+01, 1.189999845030411e+01, 1.259999988079796e+01, 1.330000035762929e+01, 1.400000083445294e+01, 1.470000131128044e+01, 1.539999761585684e+01, 1.609999904634501e+01, 1.679999856950274e+01, 1.75e+01, 1.820000143049726e+01, 1.890000095366409e+01, 1.960000238414316e+01, 2.029999773505547e+01, 2.099999916555274e+01, 2.170000059604276e+01, 2.240000011920545e+01, 2.310000154969589e+01, 2.380000107286953e+01, 2.449999833110547e+01, 2.519999976158909e+01, 2.589999928475137e+01, 2.660000071524863e+01, 2.730000023841091e+01, 2.800000166889453e+01, 2.869999892713047e+01, 2.939999845030411e+01, 3.009999988079455e+01, 3.079999940395724e+01, 3.150000083444726e+01, 3.220000226494452e+01, 3.28999995231509e+01, 3.359999713900547e+01, 3.429999856950273e+01, 3.5e+01] +round3.y=[-4e+01, -3e+01, -3e+01, -3e+01, -3e+01, -3e+01, -3e+01, -3e+01, -3e+01, -3e+01, -3e+01, -3e+01, -3e+01, -3e+01, -3e+01, -2e+01, -2e+01, -2e+01, -2e+01, -2e+01, -2e+01, -2e+01, -2e+01, -2e+01, -2e+01, -2e+01, -2e+01, -2e+01, -2e+01, -1e+01, -1e+01, -1e+01, -1e+01, -1e+01, -1e+01, -1e+01, -1e+01, -1e+01, -1e+01, -1e+01, -1e+01, -1e+01, -1e+01, -5.006780019378709e-05, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 1e+01, 2e+01, 2e+01, 2e+01, 2e+01, 2e+01, 2e+01, 2e+01, 2e+01, 2e+01, 2e+01, 2e+01, 2e+01, 2e+01, 2e+01, 3e+01, 3e+01, 3e+01, 3e+01, 3e+01, 3e+01, 3e+01, 3e+01, 3e+01, 3e+01, 3e+01, 3e+01, 3e+01, 3e+01, 3e+01] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Sin.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Sin.txt new file mode 100644 index 0000000000..770e4eca1f --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Sin.txt @@ -0,0 +1,10 @@ +last-generated=2017-03-22 +statistics-simulation= +{ + "numerical Jacobians": "0", + "nonlinear": " ", + "linear": " " +} +sin1.y=[0e+00, 6.279052189025491e-02, 1.25333237452147e-01, 1.87381316384595e-01, 2.486898953400241e-01, 3.090169981213527e-01, 3.681245524355013e-01, 4.257792813474344e-01, 4.817536869409441e-01, 5.358267832061716e-01, 5.877852363791168e-01, 6.37423995027516e-01, 6.845471385054688e-01, 7.289686406719382e-01, 7.705132341174212e-01, 8.090169803797332e-01, 8.443279385564225e-01, 8.763066475484895e-01, 9.048270389253867e-01, 9.297764951615509e-01, 9.510564745096004e-01, 9.685831765931435e-01, 9.822872294646928e-01, 9.921147192796552e-01, 9.980267305350982e-01, 1e+00, 9.980267244918735e-01, 9.921147307571708e-01, 9.822872294647284e-01, 9.685831532414171e-01, 9.510565627098908e-01, 9.29776495161622e-01, 9.048270389253867e-01, 8.763067518650643e-01, 8.44327938556529e-01, 8.09016980379911e-01, 7.705133529832707e-01, 7.289687002764409e-01, 6.845471043246666e-01, 6.374239225441147e-01, 5.877853337517847e-01, 5.358268428108165e-01, 4.817536344844248e-01, 4.257793831936812e-01, 3.681245902625959e-01, 3.090169610060254e-01, 2.486899853117014e-01, 1.873813495884997e-01, 1.253332124403766e-01, 6.279063242083509e-02, 5.358979393577101e-08, -6.279052811178046e-02, -1.253332938608835e-01, -1.873814290064919e-01, -2.486896995113108e-01, -3.090168716001222e-01, -3.681244710530986e-01, -4.257792639837872e-01, -4.817537090949232e-01, -5.358268812191928e-01, -5.877850626424818e-01, -6.374238629405072e-01, -6.845470447203491e-01, -7.289685810669899e-01, -7.70513233773134e-01, -8.090170302644712e-01, -8.443277778656753e-01, -8.763066019297819e-01, -9.048269793212442e-01, -9.297764355570579e-01, -9.510565031049077e-01, -9.685831993059969e-01, -9.822871933156057e-01, -9.921146473576923e-01, -9.980267244919351e-01, -1e+00, -9.980267244919351e-01, -9.921147069617686e-01, -9.822872529193979e-01, -9.685831993066364e-01, -9.510565627095525e-01, -9.297764951617027e-01, -9.048270985303206e-01, -8.763066615349241e-01, -8.443278970749648e-01, -8.090171494737608e-01, -7.705133529824235e-01, -7.289687002762795e-01, -6.845471639296387e-01, -6.374239821497968e-01, -5.877851818517713e-01, -5.358270004284823e-01, -4.817538581065351e-01, -4.257794129953991e-01, -3.681246200647105e-01, -3.090170206117341e-01, -2.486898634240839e-01, -1.87381592919265e-01, -1.253334577736566e-01, -6.279068457400852e-02, -1.07179587871542e-07] +sin1.u=[0e+00, 6.283185026418836e-02, 1.256637005283767e-01, 1.884955656937173e-01, 2.513274010567601e-01, 3.141592694199139e-01, 3.769911313874425e-01, 4.398229699482905e-01, 5.026548021134992e-01, 5.654866470699986e-01, 6.283185388398452e-01, 6.911503710050471e-01, 7.539822627748136e-01, 8.168140949400954e-01, 8.796459398965949e-01, 9.424777252486271e-01, 1.005309604227105e+00, 1.068141449183551e+00, 1.13097329414021e+00, 1.19380523272312e+00, 1.256637077679602e+00, 1.31946889705379e+00, 1.382300742010059e+00, 1.445132586966718e+00, 1.507964525549627e+00, 1.570796251296997e+00, 1.633628189880475e+00, 1.696459941210316e+00, 1.759291879793154e+00, 1.822123818376135e+00, 1.884955450497254e+00, 1.947787389080164e+00, 2.010619208454636e+00, 2.073450959784193e+00, 2.136282898367103e+00, 2.199114836950012e+00, 2.261946588280421e+00, 2.324778526863331e+00, 2.38761046544624e+00, 2.450442404029149e+00, 2.513274155358848e+00, 2.576105855524315e+00, 2.638937794106798e+00, 2.701769545437207e+00, 2.764601484020117e+00, 2.827433422603026e+00, 2.890265173933436e+00, 2.953097112516345e+00, 3.015929051099254e+00, 3.078760802428527e+00, 3.141592502593994e+00, 3.204424441176011e+00, 3.267256379758027e+00, 3.330088318340044e+00, 3.392919882422641e+00, 3.455751821004657e+00, 3.518583759586227e+00, 3.58141569816869e+00, 3.644247636750706e+00, 3.70707933691727e+00, 3.769910900996741e+00, 3.832742839578757e+00, 3.895574778160774e+00, 3.958406716742791e+00, 4.021238416907933e+00, 4.084070355491087e+00, 4.146901919573968e+00, 4.209733858154848e+00, 4.272565796735727e+00, 4.335397735317621e+00, 4.398229673900328e+00, 4.461061612483482e+00, 4.52389317656011e+00, 4.586725115143263e+00, 4.649557053726417e+00, 4.71238899230957e+00, 4.77522093089045e+00, 4.83805286947133e+00, 4.90088480805221e+00, 4.963716372135659e+00, 5.026548310718812e+00, 5.089379772464929e+00, 5.15221171104796e+00, 5.215043649631114e+00, 5.277875588214267e+00, 5.34070715229658e+00, 5.40353909087746e+00, 5.466371029458339e+00, 5.529202968040356e+00, 5.59203490662351e+00, 5.654866845206663e+00, 5.717698409283291e+00, 5.780530347866445e+00, 5.843362286449598e+00, 5.906194225032629e+00, 5.969026163613062e+00, 6.031858102193942e+00, 6.094689666275686e+00, 6.157521604858839e+00, 6.220353066607109e+00, 6.283185005187988e+00] +time=[0e+00, 1e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Sort.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Sort.txt new file mode 100644 index 0000000000..5e36794404 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Sort.txt @@ -0,0 +1,33 @@ +last-generated=2024-04-18 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +time=[0e+00, 1e+00] +sorAsc.u[1]=[-2e+00, -1.960000037252901e+00, -1.919999955296513e+00, -1.879999992549417e+00, -1.840000029802316e+00, -1.799999955296522e+00, -1.759999985098829e+00, -1.720000029802327e+00, -1.679999940395462e+00, -1.64e+00, -1.600000029802322e+00, -1.559999940395391e+00, -1.519999970197678e+00, -1.48e+00, -1.440000059604609e+00, -1.4e+00, -1.36e+00, -1.320000059604538e+00, -1.28e+00, -1.24e+00, -1.200000059604467e+00, -1.159999940395355e+00, -1.12e+00, -1.080000059604645e+00, -1.039999940395355e+00, -1e+00, -9.599999403956394e-01, -9.20000059604325e-01, -8.799999999999999e-01, -8.39999940395604e-01, -8.000000596046448e-01, -7.6e-01, -7.2e-01, -6.800000596046447e-01, -6.399999999999999e-01, -6.000000000000001e-01, -5.600000596046448e-01, -5.2e-01, -4.799999701977486e-01, -4.399999403955683e-01, -4.000000298022335e-01, -3.600000000000001e-01, -3.199999403955507e-01, -2.800000298022158e-01, -2.399999850988566e-01, -1.999999552966052e-01, -1.600000298022601e-01, -1.199999925494328e-01, -7.999995529659643e-02, -4.000003725283197e-02, 0e+00, 4.000003725226355e-02, 8.000007450452709e-02, 1.200001117568972e-01, 1.599999105944718e-01, 1.99999955297316e-01, 2.399999850987147e-01, 2.800000298017893e-01, 3.200000596036499e-01, 3.600001192073355e-01, 3.999999105944538e-01, 4.39999940396421e-01, 4.799999701980329e-01, 5.199999999997158e-01, 5.600000596037922e-01, 6.00000119207158e-01, 6.399998807930554e-01, 6.799999403963501e-01, 7.200000000004265e-01, 7.600000000001419e-01, 8.000000596039341e-01, 8.400000596033657e-01, 8.799998807924156e-01, 9.19999940396492e-01, 9.599999403962078e-01, 1e+00, 1.039999999999432e+00, 1.080000119208153e+00, 1.120000119207584e+00, 1.15999988079199e+00, 1.200000000000711e+00, 1.239999999999858e+00, 1.279999999999573e+00, 1.3200001192073e+00, 1.360000119207726e+00, 1.399999880792131e+00, 1.440000000000853e+00, 1.480000000000284e+00, 1.519999999999716e+00, 1.559999999999147e+00, 1.600000119207869e+00, 1.639999880792274e+00, 1.6799998807927e+00, 1.720000000000427e+00, 1.760000000000142e+00, 1.799999999999289e+00, 1.84000011920801e+00, 1.879999880792416e+00, 1.919999880791847e+00, 1.960000000000568e+00, 2e+00] +sorAsc.u[2]=[-1e+00, -9.700000279396727e-01, -9.399999962747139e-01, -9.100000242143751e-01, -8.799999925494277e-01, -8.500000260770252e-01, -8.199999888241416e-01, -7.900000223517407e-01, -7.599999850988655e-01, -7.300000298022691e-01, -6.999999925493972e-01, -6.700000149011524e-01, -6.399999776482982e-01, -6.099999999999289e-01, -5.799999850988476e-01, -5.500000298022336e-01, -5.199999701977309e-01, -4.900000149011345e-01, -4.600000298022158e-01, -4.3e-01, -4.000000149011168e-01, -3.699999850988388e-01, -3.4e-01, -3.100000149011611e-01, -2.799999850988388e-01, -2.5e-01, -2.199999701977486e-01, -1.900000298022424e-01, -1.59999999999991e-01, -1.299999701977398e-01, -1.000000372528142e-01, -7.000000745056284e-02, -3.999997764831148e-02, -1.000003911547481e-02, 1.999998882415249e-02, 5.000001862641812e-02, 7.999995529662296e-02, 1.099999850988743e-01, 1.400000149011257e-01, 1.70000044703377e-01, 1.999999850988833e-01, 2.300000149011345e-01, 2.600000298023223e-01, 2.899999701977842e-01, 3.2e-01, 3.500000298023224e-01, 3.79999970197802e-01, 4.099999999999999e-01, 4.400000298023223e-01, 4.699999701976776e-01, 5e-01, 5.299999999997158e-01, 5.60000059603508e-01, 5.900000596037922e-01, 6.199999403966343e-01, 6.499999403960659e-01, 6.799999999999291e-01, 7.099999999997867e-01, 7.400000596036499e-01, 7.700000596038631e-01, 7.999999403967762e-01, 8.299999403962078e-01, 8.600000000001421e-01, 8.899999999998579e-01, 9.200000596037922e-01, 9.500000596032238e-01, 9.799999403961369e-01, 1.009999940395853e+00, 1.039999940395995e+00, 1.070000059604645e+00, 1.100000059603579e+00, 1.130000059604005e+00, 1.159999880793268e+00, 1.190000000000568e+00, 1.220000000000284e+00, 1.25e+00, 1.279999999999716e+00, 1.309999999999432e+00, 1.340000119206732e+00, 1.369999940395995e+00, 1.399999940396421e+00, 1.429999940395355e+00, 1.460000059604005e+00, 1.490000059604147e+00, 1.520000059603863e+00, 1.549999880792842e+00, 1.580000000000426e+00, 1.610000000000142e+00, 1.639999999999858e+00, 1.669999999999574e+00, 1.700000119207158e+00, 1.729999940396137e+00, 1.759999940395853e+00, 1.789999940395995e+00, 1.820000059604645e+00, 1.850000059603579e+00, 1.880000059604005e+00, 1.909999880793268e+00, 1.940000000000568e+00, 1.970000000000284e+00, 2e+00] +sorAsc.u[3]=[2e+00, 1.960000037252901e+00, 1.919999955296513e+00, 1.879999992549417e+00, 1.840000029802316e+00, 1.799999955296522e+00, 1.759999985098829e+00, 1.720000029802327e+00, 1.679999940395462e+00, 1.64e+00, 1.600000029802322e+00, 1.559999940395391e+00, 1.519999970197678e+00, 1.48e+00, 1.440000059604609e+00, 1.4e+00, 1.36e+00, 1.320000059604538e+00, 1.28e+00, 1.24e+00, 1.200000059604467e+00, 1.159999940395355e+00, 1.12e+00, 1.080000059604645e+00, 1.039999940395355e+00, 1e+00, 9.599999403956394e-01, 9.20000059604325e-01, 8.799999999999999e-01, 8.39999940395604e-01, 8.000000596046448e-01, 7.6e-01, 7.2e-01, 6.800000596046447e-01, 6.399999999999999e-01, 6.000000000000001e-01, 5.600000596046448e-01, 5.2e-01, 4.799999701977486e-01, 4.399999403955683e-01, 4.000000298022335e-01, 3.600000000000001e-01, 3.199999403955507e-01, 2.800000298022158e-01, 2.399999850988566e-01, 1.999999552966052e-01, 1.600000298022601e-01, 1.199999925494328e-01, 7.999995529659643e-02, 4.000003725283197e-02, 0e+00, -4.000003725226355e-02, -8.000007450452709e-02, -1.200001117568972e-01, -1.599999105944718e-01, -1.99999955297316e-01, -2.399999850987147e-01, -2.800000298017893e-01, -3.200000596036499e-01, -3.600001192073355e-01, -3.999999105944538e-01, -4.39999940396421e-01, -4.799999701980329e-01, -5.199999999997158e-01, -5.600000596037922e-01, -6.00000119207158e-01, -6.399998807930554e-01, -6.799999403963501e-01, -7.200000000004265e-01, -7.600000000001419e-01, -8.000000596039341e-01, -8.400000596033657e-01, -8.799998807924156e-01, -9.19999940396492e-01, -9.599999403962078e-01, -1e+00, -1.039999999999432e+00, -1.080000119208153e+00, -1.120000119207584e+00, -1.15999988079199e+00, -1.200000000000711e+00, -1.239999999999858e+00, -1.279999999999573e+00, -1.3200001192073e+00, -1.360000119207726e+00, -1.399999880792131e+00, -1.440000000000853e+00, -1.480000000000284e+00, -1.519999999999716e+00, -1.559999999999147e+00, -1.600000119207869e+00, -1.639999880792274e+00, -1.6799998807927e+00, -1.720000000000427e+00, -1.760000000000142e+00, -1.799999999999289e+00, -1.84000011920801e+00, -1.879999880792416e+00, -1.919999880791847e+00, -1.960000000000568e+00, -2e+00] +sorAsc.u[4]=[3e+00, 2.990000009313215e+00, 2.980000018626431e+00, 2.970000027939647e+00, 2.960000037252861e+00, 2.95000004842872e+00, 2.940000055879292e+00, 2.930000067055204e+00, 2.920000074505726e+00, 2.910000089406701e+00, 2.900000096857437e+00, 2.890000104308102e+00, 2.880000111758589e+00, 2.869999880791066e+00, 2.859999895691898e+00, 2.849999910593299e+00, 2.839999910593299e+00, 2.829999925494274e+00, 2.819999940395675e+00, 2.809999940395533e+00, 2.799999955296649e+00, 2.789999955297005e+00, 2.779999970197766e+00, 2.769999985099025e+00, 2.759999985098599e+00, 2.75e+00, 2.739999999999574e+00, 2.730000029802802e+00, 2.720000029802234e+00, 2.710000029801949e+00, 2.700000059603757e+00, 2.690000059604467e+00, 2.680000059604325e+00, 2.67000008940599e+00, 2.660000089406701e+00, 2.650000089406701e+00, 2.640000119208224e+00, 2.630000119208934e+00, 2.619999880791066e+00, 2.609999880791776e+00, 2.599999910593299e+00, 2.589999910593299e+00, 2.57999991059401e+00, 2.569999940395675e+00, 2.559999940395533e+00, 2.549999940396243e+00, 2.539999970198051e+00, 2.529999970197766e+00, 2.519999970197198e+00, 2.510000000000426e+00, 2.5e+00, 2.489999999999716e+00, 2.479999999999432e+00, 2.469999999999148e+00, 2.460000059602726e+00, 2.450000059603579e+00, 2.440000059604503e+00, 2.430000059604432e+00, 2.420000059604147e+00, 2.410000059603863e+00, 2.400000119207158e+00, 2.390000119208011e+00, 2.380000119208863e+00, 2.369999880791137e+00, 2.359999880791989e+00, 2.349999880792842e+00, 2.339999940396137e+00, 2.329999940395853e+00, 2.319999940395568e+00, 2.309999940395497e+00, 2.299999940396421e+00, 2.289999940397274e+00, 2.280000000000852e+00, 2.270000000000568e+00, 2.260000000000284e+00, 2.25e+00, 2.239999999999716e+00, 2.229999999999432e+00, 2.219999999999148e+00, 2.210000059602726e+00, 2.200000059603579e+00, 2.190000059604503e+00, 2.180000059604432e+00, 2.170000059604147e+00, 2.160000059603863e+00, 2.150000119207158e+00, 2.140000119208011e+00, 2.130000119208863e+00, 2.119999880791137e+00, 2.109999880791989e+00, 2.099999880792842e+00, 2.089999940396137e+00, 2.079999940395853e+00, 2.069999940395568e+00, 2.059999940395497e+00, 2.049999940396421e+00, 2.039999940397274e+00, 2.030000000000852e+00, 2.020000000000568e+00, 2.010000000000284e+00, 2e+00] +sorAsc.u[5]=[0e+00, 4e-02, 8e-02, 1.2e-01, 1.6e-01, 2e-01, 2.4e-01, 2.8e-01, 3.2e-01, 3.6e-01, 4e-01, 4.4e-01, 4.8e-01, 5.2e-01, 5.600000000000001e-01, 6e-01, 6.4e-01, 6.8e-01, 7.2e-01, 7.6e-01, 8e-01, 8.4e-01, 8.8e-01, 9.2e-01, 9.6e-01, 1e+00, 1.04e+00, 1.08e+00, 1.12e+00, 1.16e+00, 1.2e+00, 1.24e+00, 1.28e+00, 1.32e+00, 1.36e+00, 1.4e+00, 1.44e+00, 1.48e+00, 1.52e+00, 1.56e+00, 1.6e+00, 1.64e+00, 1.68e+00, 1.72e+00, 1.76e+00, 1.8e+00, 1.84e+00, 1.88e+00, 1.92e+00, 1.96e+00, 2e+00, 2.04e+00, 2.08e+00, 2.12e+00, 2.16e+00, 2.2e+00, 2.24e+00, 2.28e+00, 2.32e+00, 2.36e+00, 2.4e+00, 2.44e+00, 2.48e+00, 2.52e+00, 2.56e+00, 2.6e+00, 2.64e+00, 2.68e+00, 2.72e+00, 2.76e+00, 2.8e+00, 2.84e+00, 2.88e+00, 2.92e+00, 2.96e+00, 3e+00, 3.04e+00, 3.08e+00, 3.12e+00, 3.16e+00, 3.2e+00, 3.24e+00, 3.28e+00, 3.32e+00, 3.36e+00, 3.4e+00, 3.44e+00, 3.48e+00, 3.52e+00, 3.56e+00, 3.6e+00, 3.64e+00, 3.68e+00, 3.72e+00, 3.76e+00, 3.8e+00, 3.84e+00, 3.88e+00, 3.92e+00, 3.96e+00, 4e+00] +sorAsc.y[1]=[-2e+00, -1.960000037252901e+00, -1.919999955296513e+00, -1.879999992549417e+00, -1.840000029802316e+00, -1.799999955296522e+00, -1.759999985098829e+00, -1.720000029802327e+00, -1.679999940395462e+00, -1.64e+00, -1.600000029802322e+00, -1.559999940395391e+00, -1.519999970197678e+00, -1.48e+00, -1.440000059604609e+00, -1.4e+00, -1.36e+00, -1.320000059604538e+00, -1.28e+00, -1.24e+00, -1.200000059604467e+00, -1.159999940395355e+00, -1.12e+00, -1.080000059604645e+00, -1.039999940395355e+00, -1e+00, -9.599999403956394e-01, -9.20000059604325e-01, -8.799999999999999e-01, -8.39999940395604e-01, -8.000000596046448e-01, -7.6e-01, -7.2e-01, -6.800000596046447e-01, -6.399999999999999e-01, -6.000000000000001e-01, -5.600000596046448e-01, -5.2e-01, -4.799999701977486e-01, -4.399999403955683e-01, -4.000000298022335e-01, -3.600000000000001e-01, -3.199999403955507e-01, -2.800000298022158e-01, -2.399999850988566e-01, -1.999999552966052e-01, -1.600000298022601e-01, -1.199999925494328e-01, -7.999995529659643e-02, -4.000003725283197e-02, 0e+00, -4.000003725226355e-02, -8.000007450452709e-02, -1.200001117568972e-01, -1.599999105944718e-01, -1.99999955297316e-01, -2.399999850987147e-01, -2.800000298017893e-01, -3.200000596036499e-01, -3.600001192073355e-01, -3.999999105944538e-01, -4.39999940396421e-01, -4.799999701980329e-01, -5.199999999997158e-01, -5.600000596037922e-01, -6.00000119207158e-01, -6.399998807930554e-01, -6.799999403963501e-01, -7.200000000004265e-01, -7.600000000001419e-01, -8.000000596039341e-01, -8.400000596033657e-01, -8.799998807924156e-01, -9.19999940396492e-01, -9.599999403962078e-01, -1e+00, -1.039999999999432e+00, -1.080000119208153e+00, -1.120000119207584e+00, -1.15999988079199e+00, -1.200000000000711e+00, -1.239999999999858e+00, -1.279999999999573e+00, -1.3200001192073e+00, -1.360000119207726e+00, -1.399999880792131e+00, -1.440000000000853e+00, -1.480000000000284e+00, -1.519999999999716e+00, -1.559999999999147e+00, -1.600000119207869e+00, -1.639999880792274e+00, -1.6799998807927e+00, -1.720000000000427e+00, -1.760000000000142e+00, -1.799999999999289e+00, -1.84000011920801e+00, -1.879999880792416e+00, -1.919999880791847e+00, -1.960000000000568e+00, -2e+00] +sorAsc.y[2]=[-1e+00, -9.700000279396727e-01, -9.399999962747139e-01, -9.100000242143751e-01, -8.799999925494277e-01, -8.500000260770252e-01, -8.199999888241416e-01, -7.900000223517407e-01, -7.599999850988655e-01, -7.300000298022691e-01, -6.999999925493972e-01, -6.700000149011524e-01, -6.399999776482982e-01, -6.099999999999289e-01, -5.799999850988476e-01, -5.500000298022336e-01, -5.199999701977309e-01, -4.900000149011345e-01, -4.600000298022158e-01, -4.3e-01, -4.000000149011168e-01, -3.699999850988388e-01, -3.4e-01, -3.100000149011611e-01, -2.799999850988388e-01, -2.5e-01, -2.199999701977486e-01, -1.900000298022424e-01, -1.59999999999991e-01, -1.299999701977398e-01, -1.000000372528142e-01, -7.000000745056284e-02, -3.999997764831148e-02, -1.000003911547481e-02, 1.999998882415249e-02, 5.000001862641812e-02, 7.999995529662296e-02, 1.099999850988743e-01, 1.400000149011257e-01, 1.70000044703377e-01, 1.999999850988833e-01, 2.300000149011345e-01, 2.600000298023223e-01, 2.800000154972077e-01, 2.399999850988566e-01, 1.999999552966052e-01, 1.600000298022601e-01, 1.199999925494328e-01, 7.999995529659643e-02, 4.000003725283197e-02, 0e+00, 4.000003725226355e-02, 8.000007450452709e-02, 1.200001117568972e-01, 1.599999105944718e-01, 1.99999955297316e-01, 2.399999850987147e-01, 2.800000298017893e-01, 3.200000596036499e-01, 3.600001192073355e-01, 3.999999105944538e-01, 4.39999940396421e-01, 4.799999701980329e-01, 5.199999999997158e-01, 5.600000596037922e-01, 6.00000119207158e-01, 6.399998807930554e-01, 6.799999403963501e-01, 7.200000000004265e-01, 7.600000000001419e-01, 8.000000596039341e-01, 8.400000596033657e-01, 8.799998807924156e-01, 9.19999940396492e-01, 9.599999403962078e-01, 1e+00, 1.039999999999432e+00, 1.080000119208153e+00, 1.120000119207584e+00, 1.15999988079199e+00, 1.200000000000711e+00, 1.239999999999858e+00, 1.279999999999573e+00, 1.3200001192073e+00, 1.360000119207726e+00, 1.399999880792131e+00, 1.440000000000853e+00, 1.480000000000284e+00, 1.519999999999716e+00, 1.559999999999147e+00, 1.600000119207869e+00, 1.639999880792274e+00, 1.6799998807927e+00, 1.720000000000427e+00, 1.760000000000142e+00, 1.799999999999289e+00, 1.84000011920801e+00, 1.879999880792416e+00, 1.919999880791847e+00, 1.960000000000568e+00, 2e+00] +sorAsc.y[3]=[0e+00, 4e-02, 8e-02, 1.2e-01, 1.6e-01, 2e-01, 2.4e-01, 2.8e-01, 3.2e-01, 3.6e-01, 4e-01, 4.4e-01, 4.8e-01, 5.2e-01, 5.600000000000001e-01, 6e-01, 6.4e-01, 6.8e-01, 7.2e-01, 7.6e-01, 8e-01, 8.4e-01, 8.8e-01, 9.2e-01, 9.6e-01, 1e+00, 9.599999403956394e-01, 9.20000059604325e-01, 8.799999999999999e-01, 8.39999940395604e-01, 8.000000596046448e-01, 7.6e-01, 7.2e-01, 6.800000596046447e-01, 6.399999999999999e-01, 6.000000000000001e-01, 5.600000596046448e-01, 5.2e-01, 4.799999701977486e-01, 4.399999403955683e-01, 4.000000298022335e-01, 3.600000000000001e-01, 3.199999403955507e-01, 2.899999845027924e-01, 3.2e-01, 3.500000298023224e-01, 3.79999970197802e-01, 4.099999999999999e-01, 4.400000298023223e-01, 4.699999701976776e-01, 5e-01, 5.299999999997158e-01, 5.60000059603508e-01, 5.900000596037922e-01, 6.199999403966343e-01, 6.499999403960659e-01, 6.799999999999291e-01, 7.099999999997867e-01, 7.400000596036499e-01, 7.700000596038631e-01, 7.999999403967762e-01, 8.299999403962078e-01, 8.600000000001421e-01, 8.899999999998579e-01, 9.200000596037922e-01, 9.500000596032238e-01, 9.799999403961369e-01, 1.009999940395853e+00, 1.039999940395995e+00, 1.070000059604645e+00, 1.100000059603579e+00, 1.130000059604005e+00, 1.159999880793268e+00, 1.190000000000568e+00, 1.220000000000284e+00, 1.25e+00, 1.279999999999716e+00, 1.309999999999432e+00, 1.340000119206732e+00, 1.369999940395995e+00, 1.399999940396421e+00, 1.429999940395355e+00, 1.460000059604005e+00, 1.490000059604147e+00, 1.520000059603863e+00, 1.549999880792842e+00, 1.580000000000426e+00, 1.610000000000142e+00, 1.639999999999858e+00, 1.669999999999574e+00, 1.700000119207158e+00, 1.729999940396137e+00, 1.759999940395853e+00, 1.789999940395995e+00, 1.820000059604645e+00, 1.850000059603579e+00, 1.880000059604005e+00, 1.909999880793268e+00, 1.940000000000568e+00, 1.970000000000284e+00, 2e+00] +sorAsc.y[4]=[2e+00, 1.960000037252901e+00, 1.919999955296513e+00, 1.879999992549417e+00, 1.840000029802316e+00, 1.799999955296522e+00, 1.759999985098829e+00, 1.720000029802327e+00, 1.679999940395462e+00, 1.64e+00, 1.600000029802322e+00, 1.559999940395391e+00, 1.519999970197678e+00, 1.48e+00, 1.440000059604609e+00, 1.4e+00, 1.36e+00, 1.320000059604538e+00, 1.28e+00, 1.24e+00, 1.200000059604467e+00, 1.159999940395355e+00, 1.12e+00, 1.080000059604645e+00, 1.039999940395355e+00, 1e+00, 1.04e+00, 1.08e+00, 1.12e+00, 1.16e+00, 1.2e+00, 1.24e+00, 1.28e+00, 1.32e+00, 1.36e+00, 1.4e+00, 1.44e+00, 1.48e+00, 1.52e+00, 1.56e+00, 1.6e+00, 1.64e+00, 1.68e+00, 1.72e+00, 1.76e+00, 1.8e+00, 1.84e+00, 1.88e+00, 1.92e+00, 1.96e+00, 2e+00, 2.04e+00, 2.08e+00, 2.12e+00, 2.16e+00, 2.2e+00, 2.24e+00, 2.28e+00, 2.32e+00, 2.36e+00, 2.4e+00, 2.390000119208011e+00, 2.380000119208863e+00, 2.369999880791137e+00, 2.359999880791989e+00, 2.349999880792842e+00, 2.339999940396137e+00, 2.329999940395853e+00, 2.319999940395568e+00, 2.309999940395497e+00, 2.299999940396421e+00, 2.289999940397274e+00, 2.280000000000852e+00, 2.270000000000568e+00, 2.260000000000284e+00, 2.25e+00, 2.239999999999716e+00, 2.229999999999432e+00, 2.219999999999148e+00, 2.210000059602726e+00, 2.200000059603579e+00, 2.190000059604503e+00, 2.180000059604432e+00, 2.170000059604147e+00, 2.160000059603863e+00, 2.150000119207158e+00, 2.140000119208011e+00, 2.130000119208863e+00, 2.119999880791137e+00, 2.109999880791989e+00, 2.099999880792842e+00, 2.089999940396137e+00, 2.079999940395853e+00, 2.069999940395568e+00, 2.059999940395497e+00, 2.049999940396421e+00, 2.039999940397274e+00, 2.030000000000852e+00, 2.020000000000568e+00, 2.010000000000284e+00, 2e+00] +sorAsc.y[5]=[3e+00, 2.990000009313215e+00, 2.980000018626431e+00, 2.970000027939647e+00, 2.960000037252861e+00, 2.95000004842872e+00, 2.940000055879292e+00, 2.930000067055204e+00, 2.920000074505726e+00, 2.910000089406701e+00, 2.900000096857437e+00, 2.890000104308102e+00, 2.880000111758589e+00, 2.869999880791066e+00, 2.859999895691898e+00, 2.849999910593299e+00, 2.839999910593299e+00, 2.829999925494274e+00, 2.819999940395675e+00, 2.809999940395533e+00, 2.799999955296649e+00, 2.789999955297005e+00, 2.779999970197766e+00, 2.769999985099025e+00, 2.759999985098599e+00, 2.75e+00, 2.739999999999574e+00, 2.730000029802802e+00, 2.720000029802234e+00, 2.710000029801949e+00, 2.700000059603757e+00, 2.690000059604467e+00, 2.680000059604325e+00, 2.67000008940599e+00, 2.660000089406701e+00, 2.650000089406701e+00, 2.640000119208224e+00, 2.630000119208934e+00, 2.619999880791066e+00, 2.609999880791776e+00, 2.599999910593299e+00, 2.589999910593299e+00, 2.57999991059401e+00, 2.569999940395675e+00, 2.559999940395533e+00, 2.549999940396243e+00, 2.539999970198051e+00, 2.529999970197766e+00, 2.519999970197198e+00, 2.510000000000426e+00, 2.5e+00, 2.489999999999716e+00, 2.479999999999432e+00, 2.469999999999148e+00, 2.460000059602726e+00, 2.450000059603579e+00, 2.440000059604503e+00, 2.430000059604432e+00, 2.420000059604147e+00, 2.410000059603863e+00, 2.400000119207158e+00, 2.44e+00, 2.48e+00, 2.52e+00, 2.56e+00, 2.6e+00, 2.64e+00, 2.68e+00, 2.72e+00, 2.76e+00, 2.8e+00, 2.84e+00, 2.88e+00, 2.92e+00, 2.96e+00, 3e+00, 3.04e+00, 3.08e+00, 3.12e+00, 3.16e+00, 3.2e+00, 3.24e+00, 3.28e+00, 3.32e+00, 3.36e+00, 3.4e+00, 3.44e+00, 3.48e+00, 3.52e+00, 3.56e+00, 3.6e+00, 3.64e+00, 3.68e+00, 3.72e+00, 3.76e+00, 3.8e+00, 3.84e+00, 3.88e+00, 3.92e+00, 3.96e+00, 4e+00] +sorDes.y[1]=[3e+00, 2.990000009313215e+00, 2.980000018626431e+00, 2.970000027939647e+00, 2.960000037252861e+00, 2.95000004842872e+00, 2.940000055879292e+00, 2.930000067055204e+00, 2.920000074505726e+00, 2.910000089406701e+00, 2.900000096857437e+00, 2.890000104308102e+00, 2.880000111758589e+00, 2.869999880791066e+00, 2.859999895691898e+00, 2.849999910593299e+00, 2.839999910593299e+00, 2.829999925494274e+00, 2.819999940395675e+00, 2.809999940395533e+00, 2.799999955296649e+00, 2.789999955297005e+00, 2.779999970197766e+00, 2.769999985099025e+00, 2.759999985098599e+00, 2.75e+00, 2.739999999999574e+00, 2.730000029802802e+00, 2.720000029802234e+00, 2.710000029801949e+00, 2.700000059603757e+00, 2.690000059604467e+00, 2.680000059604325e+00, 2.67000008940599e+00, 2.660000089406701e+00, 2.650000089406701e+00, 2.640000119208224e+00, 2.630000119208934e+00, 2.619999880791066e+00, 2.609999880791776e+00, 2.599999910593299e+00, 2.589999910593299e+00, 2.57999991059401e+00, 2.569999940395675e+00, 2.559999940395533e+00, 2.549999940396243e+00, 2.539999970198051e+00, 2.529999970197766e+00, 2.519999970197198e+00, 2.510000000000426e+00, 2.5e+00, 2.489999999999716e+00, 2.479999999999432e+00, 2.469999999999148e+00, 2.460000059602726e+00, 2.450000059603579e+00, 2.440000059604503e+00, 2.430000059604432e+00, 2.420000059604147e+00, 2.410000059603863e+00, 2.400000119207158e+00, 2.44e+00, 2.48e+00, 2.52e+00, 2.56e+00, 2.6e+00, 2.64e+00, 2.68e+00, 2.72e+00, 2.76e+00, 2.8e+00, 2.84e+00, 2.88e+00, 2.92e+00, 2.96e+00, 3e+00, 3.04e+00, 3.08e+00, 3.12e+00, 3.16e+00, 3.2e+00, 3.24e+00, 3.28e+00, 3.32e+00, 3.36e+00, 3.4e+00, 3.44e+00, 3.48e+00, 3.52e+00, 3.56e+00, 3.6e+00, 3.64e+00, 3.68e+00, 3.72e+00, 3.76e+00, 3.8e+00, 3.84e+00, 3.88e+00, 3.92e+00, 3.96e+00, 4e+00] +sorDes.y[2]=[2e+00, 1.960000037252901e+00, 1.919999955296513e+00, 1.879999992549417e+00, 1.840000029802316e+00, 1.799999955296522e+00, 1.759999985098829e+00, 1.720000029802327e+00, 1.679999940395462e+00, 1.64e+00, 1.600000029802322e+00, 1.559999940395391e+00, 1.519999970197678e+00, 1.48e+00, 1.440000059604609e+00, 1.4e+00, 1.36e+00, 1.320000059604538e+00, 1.28e+00, 1.24e+00, 1.200000059604467e+00, 1.159999940395355e+00, 1.12e+00, 1.080000059604645e+00, 1.039999940395355e+00, 1e+00, 1.04e+00, 1.08e+00, 1.12e+00, 1.16e+00, 1.2e+00, 1.24e+00, 1.28e+00, 1.32e+00, 1.36e+00, 1.4e+00, 1.44e+00, 1.48e+00, 1.52e+00, 1.56e+00, 1.6e+00, 1.64e+00, 1.68e+00, 1.72e+00, 1.76e+00, 1.8e+00, 1.84e+00, 1.88e+00, 1.92e+00, 1.96e+00, 2e+00, 2.04e+00, 2.08e+00, 2.12e+00, 2.16e+00, 2.2e+00, 2.24e+00, 2.28e+00, 2.32e+00, 2.36e+00, 2.4e+00, 2.390000119208011e+00, 2.380000119208863e+00, 2.369999880791137e+00, 2.359999880791989e+00, 2.349999880792842e+00, 2.339999940396137e+00, 2.329999940395853e+00, 2.319999940395568e+00, 2.309999940395497e+00, 2.299999940396421e+00, 2.289999940397274e+00, 2.280000000000852e+00, 2.270000000000568e+00, 2.260000000000284e+00, 2.25e+00, 2.239999999999716e+00, 2.229999999999432e+00, 2.219999999999148e+00, 2.210000059602726e+00, 2.200000059603579e+00, 2.190000059604503e+00, 2.180000059604432e+00, 2.170000059604147e+00, 2.160000059603863e+00, 2.150000119207158e+00, 2.140000119208011e+00, 2.130000119208863e+00, 2.119999880791137e+00, 2.109999880791989e+00, 2.099999880792842e+00, 2.089999940396137e+00, 2.079999940395853e+00, 2.069999940395568e+00, 2.059999940395497e+00, 2.049999940396421e+00, 2.039999940397274e+00, 2.030000000000852e+00, 2.020000000000568e+00, 2.010000000000284e+00, 2e+00] +sorDes.y[3]=[0e+00, 4e-02, 8e-02, 1.2e-01, 1.6e-01, 2e-01, 2.4e-01, 2.8e-01, 3.2e-01, 3.6e-01, 4e-01, 4.4e-01, 4.8e-01, 5.2e-01, 5.600000000000001e-01, 6e-01, 6.4e-01, 6.8e-01, 7.2e-01, 7.6e-01, 8e-01, 8.4e-01, 8.8e-01, 9.2e-01, 9.6e-01, 1e+00, 9.599999403956394e-01, 9.20000059604325e-01, 8.799999999999999e-01, 8.39999940395604e-01, 8.000000596046448e-01, 7.6e-01, 7.2e-01, 6.800000596046447e-01, 6.399999999999999e-01, 6.000000000000001e-01, 5.600000596046448e-01, 5.2e-01, 4.799999701977486e-01, 4.399999403955683e-01, 4.000000298022335e-01, 3.600000000000001e-01, 3.199999403955507e-01, 2.899999845027924e-01, 3.2e-01, 3.500000298023224e-01, 3.79999970197802e-01, 4.099999999999999e-01, 4.400000298023223e-01, 4.699999701976776e-01, 5e-01, 5.299999999997158e-01, 5.60000059603508e-01, 5.900000596037922e-01, 6.199999403966343e-01, 6.499999403960659e-01, 6.799999999999291e-01, 7.099999999997867e-01, 7.400000596036499e-01, 7.700000596038631e-01, 7.999999403967762e-01, 8.299999403962078e-01, 8.600000000001421e-01, 8.899999999998579e-01, 9.200000596037922e-01, 9.500000596032238e-01, 9.799999403961369e-01, 1.009999940395853e+00, 1.039999940395995e+00, 1.070000059604645e+00, 1.100000059603579e+00, 1.130000059604005e+00, 1.159999880793268e+00, 1.190000000000568e+00, 1.220000000000284e+00, 1.25e+00, 1.279999999999716e+00, 1.309999999999432e+00, 1.340000119206732e+00, 1.369999940395995e+00, 1.399999940396421e+00, 1.429999940395355e+00, 1.460000059604005e+00, 1.490000059604147e+00, 1.520000059603863e+00, 1.549999880792842e+00, 1.580000000000426e+00, 1.610000000000142e+00, 1.639999999999858e+00, 1.669999999999574e+00, 1.700000119207158e+00, 1.729999940396137e+00, 1.759999940395853e+00, 1.789999940395995e+00, 1.820000059604645e+00, 1.850000059603579e+00, 1.880000059604005e+00, 1.909999880793268e+00, 1.940000000000568e+00, 1.970000000000284e+00, 2e+00] +sorDes.y[4]=[-1e+00, -9.700000279396727e-01, -9.399999962747139e-01, -9.100000242143751e-01, -8.799999925494277e-01, -8.500000260770252e-01, -8.199999888241416e-01, -7.900000223517407e-01, -7.599999850988655e-01, -7.300000298022691e-01, -6.999999925493972e-01, -6.700000149011524e-01, -6.399999776482982e-01, -6.099999999999289e-01, -5.799999850988476e-01, -5.500000298022336e-01, -5.199999701977309e-01, -4.900000149011345e-01, -4.600000298022158e-01, -4.3e-01, -4.000000149011168e-01, -3.699999850988388e-01, -3.4e-01, -3.100000149011611e-01, -2.799999850988388e-01, -2.5e-01, -2.199999701977486e-01, -1.900000298022424e-01, -1.59999999999991e-01, -1.299999701977398e-01, -1.000000372528142e-01, -7.000000745056284e-02, -3.999997764831148e-02, -1.000003911547481e-02, 1.999998882415249e-02, 5.000001862641812e-02, 7.999995529662296e-02, 1.099999850988743e-01, 1.400000149011257e-01, 1.70000044703377e-01, 1.999999850988833e-01, 2.300000149011345e-01, 2.600000298023223e-01, 2.800000154972077e-01, 2.399999850988566e-01, 1.999999552966052e-01, 1.600000298022601e-01, 1.199999925494328e-01, 7.999995529659643e-02, 4.000003725283197e-02, 0e+00, 4.000003725226355e-02, 8.000007450452709e-02, 1.200001117568972e-01, 1.599999105944718e-01, 1.99999955297316e-01, 2.399999850987147e-01, 2.800000298017893e-01, 3.200000596036499e-01, 3.600001192073355e-01, 3.999999105944538e-01, 4.39999940396421e-01, 4.799999701980329e-01, 5.199999999997158e-01, 5.600000596037922e-01, 6.00000119207158e-01, 6.399998807930554e-01, 6.799999403963501e-01, 7.200000000004265e-01, 7.600000000001419e-01, 8.000000596039341e-01, 8.400000596033657e-01, 8.799998807924156e-01, 9.19999940396492e-01, 9.599999403962078e-01, 1e+00, 1.039999999999432e+00, 1.080000119208153e+00, 1.120000119207584e+00, 1.15999988079199e+00, 1.200000000000711e+00, 1.239999999999858e+00, 1.279999999999573e+00, 1.3200001192073e+00, 1.360000119207726e+00, 1.399999880792131e+00, 1.440000000000853e+00, 1.480000000000284e+00, 1.519999999999716e+00, 1.559999999999147e+00, 1.600000119207869e+00, 1.639999880792274e+00, 1.6799998807927e+00, 1.720000000000427e+00, 1.760000000000142e+00, 1.799999999999289e+00, 1.84000011920801e+00, 1.879999880792416e+00, 1.919999880791847e+00, 1.960000000000568e+00, 2e+00] +sorDes.y[5]=[-2e+00, -1.960000037252901e+00, -1.919999955296513e+00, -1.879999992549417e+00, -1.840000029802316e+00, -1.799999955296522e+00, -1.759999985098829e+00, -1.720000029802327e+00, -1.679999940395462e+00, -1.64e+00, -1.600000029802322e+00, -1.559999940395391e+00, -1.519999970197678e+00, -1.48e+00, -1.440000059604609e+00, -1.4e+00, -1.36e+00, -1.320000059604538e+00, -1.28e+00, -1.24e+00, -1.200000059604467e+00, -1.159999940395355e+00, -1.12e+00, -1.080000059604645e+00, -1.039999940395355e+00, -1e+00, -9.599999403956394e-01, -9.20000059604325e-01, -8.799999999999999e-01, -8.39999940395604e-01, -8.000000596046448e-01, -7.6e-01, -7.2e-01, -6.800000596046447e-01, -6.399999999999999e-01, -6.000000000000001e-01, -5.600000596046448e-01, -5.2e-01, -4.799999701977486e-01, -4.399999403955683e-01, -4.000000298022335e-01, -3.600000000000001e-01, -3.199999403955507e-01, -2.800000298022158e-01, -2.399999850988566e-01, -1.999999552966052e-01, -1.600000298022601e-01, -1.199999925494328e-01, -7.999995529659643e-02, -4.000003725283197e-02, 0e+00, -4.000003725226355e-02, -8.000007450452709e-02, -1.200001117568972e-01, -1.599999105944718e-01, -1.99999955297316e-01, -2.399999850987147e-01, -2.800000298017893e-01, -3.200000596036499e-01, -3.600001192073355e-01, -3.999999105944538e-01, -4.39999940396421e-01, -4.799999701980329e-01, -5.199999999997158e-01, -5.600000596037922e-01, -6.00000119207158e-01, -6.399998807930554e-01, -6.799999403963501e-01, -7.200000000004265e-01, -7.600000000001419e-01, -8.000000596039341e-01, -8.400000596033657e-01, -8.799998807924156e-01, -9.19999940396492e-01, -9.599999403962078e-01, -1e+00, -1.039999999999432e+00, -1.080000119208153e+00, -1.120000119207584e+00, -1.15999988079199e+00, -1.200000000000711e+00, -1.239999999999858e+00, -1.279999999999573e+00, -1.3200001192073e+00, -1.360000119207726e+00, -1.399999880792131e+00, -1.440000000000853e+00, -1.480000000000284e+00, -1.519999999999716e+00, -1.559999999999147e+00, -1.600000119207869e+00, -1.639999880792274e+00, -1.6799998807927e+00, -1.720000000000427e+00, -1.760000000000142e+00, -1.799999999999289e+00, -1.84000011920801e+00, -1.879999880792416e+00, -1.919999880791847e+00, -1.960000000000568e+00, -2e+00] +sorAsc.yIdx[1]=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00] +sorAsc.yIdx[2]=[2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2.999996423728557e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 2e+00] +sorAsc.yIdx[3]=[5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 2.000003576271443e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 1e+00] +sorAsc.yIdx[4]=[3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 4.000011920727175e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00] +sorAsc.yIdx[5]=[4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4.999988079272825e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00] +sorDes.yIdx[1]=[4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4.999988079272825e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00] +sorDes.yIdx[2]=[3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 4.000011920727175e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 2e+00] +sorDes.yIdx[3]=[5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 2.000003576271443e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 1e+00] +sorDes.yIdx[4]=[2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2.999996423728557e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 4e+00] +sorDes.yIdx[5]=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Sqrt.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Sqrt.txt new file mode 100644 index 0000000000..297265a295 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Sqrt.txt @@ -0,0 +1,10 @@ +last-generated=2017-03-22 +statistics-simulation= +{ + "numerical Jacobians": "0", + "nonlinear": " ", + "linear": " " +} +sqrt1.y=[0e+00, 3.000000151209753e-01, 4.242640780004506e-01, 5.19615238657952e-01, 6.000000304655717e-01, 6.708204099709842e-01, 7.348469577225347e-01, 7.937253696589017e-01, 8.485281561682698e-01, 8.999999581764024e-01, 9.486833143720352e-01, 9.949874308719141e-01, 1.039230477455221e+00, 1.081665416452227e+00, 1.122497198567804e+00, 1.161895013535162e+00, 1.200000061053048e+00, 1.236931675108415e+00, 1.272792194757011e+00, 1.307669647770564e+00, 1.341640820018859e+00, 1.374772689295461e+00, 1.407124761570393e+00, 1.438749419485452e+00, 1.469693915545359e+00, 1.5e+00, 1.529705910072892e+00, 1.558845727408914e+00, 1.587450739336255e+00, 1.615549468355506e+00, 1.643167582235586e+00, 1.67032932591816e+00, 1.697056312424043e+00, 1.723368729631927e+00, 1.749285569514204e+00, 1.774823919128662e+00, 1.79999991650415e+00, 1.824828732160109e+00, 1.849324237967186e+00, 1.873499427778869e+00, 1.897366628797627e+00, 1.92093730809587e+00, 1.944222242152729e+00, 1.967231495689451e+00, 1.989974861761983e+00, 2.012461212082147e+00, 2.034698944689646e+00, 2.056696417552923e+00, 2.078460954982385e+00, 2.0999998841758e+00, 2.121320247650146e+00, 2.142428656561722e+00, 2.163330833015845e+00, 2.184032975916038e+00, 2.204540685682676e+00, 2.224859451957013e+00, 2.244994397148328e+00, 2.264950289619251e+00, 2.284731897771634e+00, 2.304343751580789e+00, 2.323790027187542e+00, 2.343074771088151e+00, 2.362202396838752e+00, 2.381176242295471e+00, 2.400000122167513e+00, 2.418677374339996e+00, 2.437211465061093e+00, 2.4556057147093e+00, 2.473863350246226e+00, 2.491987232695804e+00, 2.509979984659744e+00, 2.527844944024971e+00, 2.5455843896188e+00, 2.563201155531373e+00, 2.580697519828445e+00, 2.598076105117798e+00, 2.615339295572717e+00, 2.632489236991108e+00, 2.649528313558764e+00, 2.666458332066031e+00, 2.683281640075675e+00, 2.700000043707468e+00, 2.716615450301871e+00, 2.733130005642796e+00, 2.749545378666097e+00, 2.765863379767072e+00, 2.78208563396725e+00, 2.79821371264906e+00, 2.814249523153747e+00, 2.830194257581026e+00, 2.846049823292036e+00, 2.861817557081525e+00, 2.877498839013571e+00, 2.893095243766897e+00, 2.908607963433942e+00, 2.924038428522723e+00, 2.939387831140108e+00, 2.954657272610858e+00, 2.9698483654793e+00, 2.984962210576912e+00, 3e+00] +sqrt1.u=[0e+00, 9.000000558793503e-02, 1.800000111758684e-01, 2.70000016763792e-01, 3.600000223517301e-01, 4.499999813735582e-01, 5.400000335276152e-01, 6.29999992549414e-01, 7.200000447034036e-01, 8.099999701977308e-01, 8.999999627471637e-01, 9.900000149011523e-01, 1.080000067055185e+00, 1.169999999999929e+00, 1.259999985098848e+00, 1.349999970197766e+00, 1.440000089406701e+00, 1.529999955296543e+00, 1.619999940395462e+00, 1.710000059604609e+00, 1.799999925494238e+00, 1.890000044703386e+00, 1.980000029802305e+00, 2.069999895692183e+00, 2.160000134110051e+00, 2.25e+00, 2.340000000000426e+00, 2.429999970197198e+00, 2.519999970197767e+00, 2.609999970198051e+00, 2.699999940394822e+00, 2.789999940395533e+00, 2.880000178813401e+00, 2.969999910592447e+00, 3.059999910593299e+00, 3.150000149011168e+00, 3.239999880790071e+00, 3.329999880791066e+00, 3.420000119208934e+00, 3.510000119209929e+00, 3.599999850988832e+00, 3.690000089406701e+00, 3.780000089407553e+00, 3.869999821186599e+00, 3.960000059604467e+00, 4.050000298020914e+00, 4.13999979138536e+00, 4.230000029802375e+00, 4.320000268218823e+00, 4.409999761583268e+00, 4.5e+00, 4.590000238415453e+00, 4.679999999998295e+00, 4.770000238416022e+00, 4.859999940397274e+00, 4.949999701980684e+00, 5.039999940394929e+00, 5.130000178811589e+00, 5.219999940393863e+00, 5.310000178811589e+00, 5.399999880792842e+00, 5.489999642376821e+00, 5.579999880791137e+00, 5.670000119208863e+00, 5.760000357623179e+00, 5.850000119207158e+00, 5.939999821188411e+00, 6.030000059606137e+00, 6.119999821188411e+00, 6.210000059605071e+00, 6.300000298019316e+00, 6.390000059602726e+00, 6.479999761583978e+00, 6.570000000001705e+00, 6.659999761584547e+00, 6.75e+00, 6.840000238415453e+00, 6.929999999998295e+00, 7.020000238416022e+00, 7.109999940397274e+00, 7.199999701980684e+00, 7.289999940394929e+00, 7.380000178811589e+00, 7.469999940393863e+00, 7.560000178811589e+00, 7.649999880792842e+00, 7.739999642376821e+00, 7.829999880791137e+00, 7.920000119208863e+00, 8.010000357623179e+00, 8.100000596038631e+00, 8.189999344357505e+00, 8.279999582772959e+00, 8.369999821188411e+00, 8.460000059604502e+00, 8.550000298019315e+00, 8.640000536434769e+00, 8.729999284753642e+00, 8.819999523169095e+00, 8.909999761584547e+00, 9e+00] +time=[0e+00, 1e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Subtract.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Subtract.txt new file mode 100644 index 0000000000..3231475f65 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Subtract.txt @@ -0,0 +1,11 @@ +last-generated=2022-01-28 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +time=[0e+00, 1e+00] +sub.u1=[-2e+00, -1.960000037252901e+00, -1.919999955296513e+00, -1.879999992549417e+00, -1.840000029802316e+00, -1.799999955296522e+00, -1.759999985098829e+00, -1.720000029802327e+00, -1.679999940395462e+00, -1.64e+00, -1.600000029802322e+00, -1.559999940395391e+00, -1.519999970197678e+00, -1.48e+00, -1.440000059604609e+00, -1.4e+00, -1.36e+00, -1.320000059604538e+00, -1.28e+00, -1.24e+00, -1.200000059604467e+00, -1.159999940395355e+00, -1.12e+00, -1.080000059604645e+00, -1.039999940395355e+00, -1e+00, -9.599999403956394e-01, -9.20000059604325e-01, -8.799999999999999e-01, -8.39999940395604e-01, -8.000000596046448e-01, -7.6e-01, -7.2e-01, -6.800000596046447e-01, -6.399999999999999e-01, -6.000000000000001e-01, -5.600000596046448e-01, -5.2e-01, -4.799999701977486e-01, -4.399999403955683e-01, -4.000000298022335e-01, -3.600000000000001e-01, -3.199999403955507e-01, -2.800000298022158e-01, -2.399999850988566e-01, -1.999999552966052e-01, -1.600000298022601e-01, -1.199999925494328e-01, -7.999995529659643e-02, -4.000003725283197e-02, 1.332267629550188e-15, 4.000003725226355e-02, 8.000007450452709e-02, 1.200001117568972e-01, 1.599999105944718e-01, 1.99999955297316e-01, 2.399999850987147e-01, 2.800000298017893e-01, 3.200000596036499e-01, 3.600001192073355e-01, 3.999999105944538e-01, 4.39999940396421e-01, 4.799999701980329e-01, 5.199999999997158e-01, 5.600000596037922e-01, 6.00000119207158e-01, 6.399998807930554e-01, 6.799999403963501e-01, 7.200000000004265e-01, 7.600000000001419e-01, 8.000000596039341e-01, 8.400000596033657e-01, 8.799998807924156e-01, 9.19999940396492e-01, 9.599999403962078e-01, 1e+00, 1.039999999999432e+00, 1.080000119208153e+00, 1.120000119207584e+00, 1.15999988079199e+00, 1.200000000000711e+00, 1.239999999999858e+00, 1.279999999999573e+00, 1.3200001192073e+00, 1.360000119207726e+00, 1.399999880792131e+00, 1.440000000000853e+00, 1.480000000000284e+00, 1.519999999999716e+00, 1.559999999999147e+00, 1.600000119207869e+00, 1.639999880792274e+00, 1.6799998807927e+00, 1.720000000000427e+00, 1.760000000000142e+00, 1.799999999999289e+00, 1.84000011920801e+00, 1.879999880792416e+00, 1.919999880791847e+00, 1.960000000000568e+00, 2e+00] +sub.u2=[-5e-01, -4.799999888241316e-01, -4.60000007450579e-01, -4.399999962747085e-01, -4.199999850988488e-01, -4.000000074505834e-01, -3.799999925494144e-01, -3.60000014901159e-01, -3.4e-01, -3.2e-01, -3.00000014901139e-01, -2.8e-01, -2.599999850988788e-01, -2.399999850988743e-01, -2.2e-01, -2.000000149011168e-01, -1.8e-01, -1.6e-01, -1.400000149011079e-01, -1.199999925494283e-01, -1.000000074505695e-01, -7.999998509886325e-02, -5.999999627471636e-02, -4.000000745056503e-02, -1.99999888241541e-02, 3.33066907387547e-16, 2.000001862641598e-02, 3.999997764829821e-02, 5.999999627471642e-02, 8.000001490113007e-02, 9.99999776483026e-02, 1.199999925494283e-01, 1.400000149011079e-01, 1.599999701977753e-01, 1.8e-01, 2.000000149011167e-01, 2.199999701977842e-01, 2.399999850988743e-01, 2.6e-01, 2.800000298023224e-01, 3e-01, 3.2e-01, 3.400000298023224e-01, 3.6e-01, 3.8e-01, 4.000000298023224e-01, 4.19999970197802e-01, 4.399999999999999e-01, 4.600000298021625e-01, 4.799999701978197e-01, 5e-01, 5.199999999997158e-01, 5.400000596040764e-01, 5.600000596037922e-01, 5.799999403959948e-01, 6.000000000003554e-01, 6.199999999999291e-01, 6.399999999997867e-01, 6.600000596036499e-01, 6.800000596038631e-01, 6.999999403960657e-01, 7.200000000004263e-01, 7.400000000001421e-01, 7.599999999998579e-01, 7.799999999995737e-01, 8.000000596039343e-01, 8.199999403961369e-01, 8.399999403963501e-01, 8.600000000002133e-01, 8.800000000000709e-01, 8.999999999996446e-01, 9.200000596040052e-01, 9.399999403962078e-01, 9.599999403959236e-01, 9.800000000002842e-01, 1e+00, 1.02e+00, 1.04e+00, 1.06e+00, 1.08e+00, 1.1e+00, 1.12e+00, 1.14e+00, 1.16e+00, 1.18e+00, 1.2e+00, 1.22e+00, 1.24e+00, 1.26e+00, 1.28e+00, 1.3e+00, 1.32e+00, 1.34e+00, 1.36e+00, 1.38e+00, 1.4e+00, 1.42e+00, 1.44e+00, 1.46e+00, 1.48e+00, 1.5e+00] +sub.y=[-1.5e+00, -1.480000018626444e+00, -1.460000037252888e+00, -1.440000055879333e+00, -1.41999995529654e+00, -1.399999977648283e+00, -1.379999992549454e+00, -1.360000014901154e+00, -1.340000029802269e+00, -1.320000059604538e+00, -1.299999955296561e+00, -1.279999970197695e+00, -1.259999985098919e+00, -1.239999999999858e+00, -1.220000029802305e+00, -1.200000059604467e+00, -1.179999940395462e+00, -1.159999970197731e+00, -1.140000000000213e+00, -1.120000000000071e+00, -1.100000029802234e+00, -1.080000029802127e+00, -1.059999940395391e+00, -1.039999970197802e+00, -1.019999970197838e+00, -1e+00, -9.8e-01, -9.6e-01, -9.399999999999999e-01, -9.2e-01, -9e-01, -8.8e-01, -8.6e-01, -8.4e-01, -8.2e-01, -8e-01, -7.8e-01, -7.6e-01, -7.4e-01, -7.2e-01, -7e-01, -6.8e-01, -6.6e-01, -6.4e-01, -6.2e-01, -6e-01, -5.8e-01, -5.600000000000001e-01, -5.4e-01, -5.2e-01, -5e-01, -4.799999701981039e-01, -4.59999970198246e-01, -4.399999403962078e-01, -4.200000298016828e-01, -4.00000029801967e-01, -3.800000000000709e-01, -3.600000000002133e-01, -3.399999701981751e-01, -3.199999403965277e-01, -3.00000059603579e-01, -2.800000298018961e-01, -2.599999999998579e-01, -2.399999850990164e-01, -2.199999701982105e-01, -1.999999552972269e-01, -1.800000596036677e-01, -1.600000298018249e-01, -1.400000149008946e-01, -1.199999925493573e-01, -9.999997764865798e-02, -7.99999552972359e-02, -6.00000558784486e-02, -4.000003725226355e-02, -2.000001862613177e-02, 1.110223024625157e-15, 2.000001862613177e-02, 4.000003725226355e-02, 6.00000558784486e-02, 7.99999552972359e-02, 9.999997764865798e-02, 1.199999925493573e-01, 1.400000149008946e-01, 1.600000298018249e-01, 1.800000596036677e-01, 1.999999552972269e-01, 2.199999701982105e-01, 2.399999850990164e-01, 2.599999999998579e-01, 2.800000298018961e-01, 3.00000059603579e-01, 3.199999403965277e-01, 3.399999701981751e-01, 3.600000000002133e-01, 3.800000000000709e-01, 4.00000029801967e-01, 4.200000298016828e-01, 4.399999403962078e-01, 4.59999970198246e-01, 4.799999701981039e-01, 5e-01] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Switch.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Switch.txt new file mode 100644 index 0000000000..4d3b037e50 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Switch.txt @@ -0,0 +1,12 @@ +last-generated=2019-05-21 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +switch1.u1=[-1e+00, -9.399999985098856e-01, -8.799999970197717e-01, -8.200000000000107e-01, -7.599999940395409e-01, -6.99999988079071e-01, -6.4e-01, -5.799999761581776e-01, -5.19999988079071e-01, -4.599999940395711e-01, -4.000000059604645e-01, -3.400000178814005e-01, -2.800000298021661e-01, -2.199999701978339e-01, -1.599999821185994e-01, -1.000000014901161e-01, -4.000001341106101e-02, 1.999997094288099e-02, 8.000002682195148e-02, 1.400000149011683e-01, 2.000000029802322e-01, 2.600000476838864e-01, 3.19999964237199e-01, 3.800000238418723e-01, 4.399999403953267e-01, 5e-01, 5.600000596048154e-01, 6.199999761580569e-01, 6.800000357627302e-01, 7.399999523161136e-01, 8.00000011920929e-01, 8.600000715254601e-01, 9.199999880789859e-01, 9.800000476836591e-01, 1.039999904632682e+00, 1.100000023841858e+00, 1.160000023842312e+00, 1.219999999999773e+00, 1.280000000000227e+00, 1.339999976157688e+00, 1.399999976158142e+00, 1.460000095367318e+00, 1.520000095367204e+00, 1.579999928473517e+00, 1.63999992847454e+00, 1.700000047683716e+00, 1.760000047683602e+00, 1.820000166892778e+00, 1.879999880790938e+00, 1.939999999999545e+00, 2e+00, 2.060000000000454e+00, 2.12000000000091e+00, 2.179999952315375e+00, 2.23999995231583e+00, 2.299999952316284e+00, 2.359999952316739e+00, 2.420000190733499e+00, 2.479999904631659e+00, 2.53999990463325e+00, 2.599999904632568e+00, 2.660000143050465e+00, 2.720000143052057e+00, 2.779999856947943e+00, 2.839999856949535e+00, 2.900000095367432e+00, 2.96000009536675e+00, 3.020000095368341e+00, 3.079999809266501e+00, 3.140000047683261e+00, 3.200000047683716e+00, 3.26000004768417e+00, 3.320000047684625e+00, 3.37999999999909e+00, 3.439999999999546e+00, 3.5e+00, 3.560000000000454e+00, 3.62000000000091e+00, 3.679999952315375e+00, 3.73999995231583e+00, 3.799999952316284e+00, 3.859999666222175e+00, 3.92000019073077e+00, 3.979999904634387e+00, 4.040000190731226e+00, 4.099999904632568e+00, 4.159999618533911e+00, 4.219999904630749e+00, 4.280000095369251e+00, 4.340000381466089e+00, 4.400000095367432e+00, 4.459999809268774e+00, 4.520000095365614e+00, 4.579999809266956e+00, 4.640000095363793e+00, 4.699999809265137e+00, 4.760000000003638e+00, 4.820000286095929e+00, 4.88000000000182e+00, 4.940000286098657e+00, 5e+00] +switch1.u2=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +switch1.u3=[-1e+00, -9.800000193715102e-01, -9.599999791383756e-01, -9.400000000000035e-01, -9.200000178813952e-01, -8.999999761581421e-01, -8.8e-01, -8.600000119209289e-01, -8.39999976158142e-01, -8.19999988079071e-01, -8.00000011920929e-01, -7.799999761581563e-01, -7.599999999999716e-01, -7.400000000000284e-01, -7.200000238418437e-01, -6.99999988079071e-01, -6.800000119209432e-01, -6.600000357626163e-01, -6.399999761581705e-01, -6.199999999999858e-01, -6.000000238418579e-01, -5.799999642371563e-01, -5.600000119209574e-01, -5.400000119209005e-01, -5.200000000000569e-01, -5e-01, -4.799999701977629e-01, -4.600000178813508e-01, -4.399999880790426e-01, -4.200000059605213e-01, -4.000000059604645e-01, -3.799999761580852e-01, -3.600000238418152e-01, -3.39999994039507e-01, -3.200000119209857e-01, -3.00000011920929e-01, -2.799999821185498e-01, -2.600000000000284e-01, -2.39999985098846e-01, -2.200000178814502e-01, -2.000000029802322e-01, -1.799999880790143e-01, -1.59999958276777e-01, -1.400000387429907e-01, -1.200000163912986e-01, -1.000000014901161e-01, -7.999997913835291e-02, -5.999996051191588e-02, -4.000003725294565e-02, -2.000001862647274e-02, -3.774758283725532e-15, 2.000001862647274e-02, 4.000003725294565e-02, 5.999996051191588e-02, 7.999997913835308e-02, 1.000000014901161e-01, 1.200000163912987e-01, 1.400000387429906e-01, 1.59999958276777e-01, 1.799999880790141e-01, 2.000000029802322e-01, 2.200000178814502e-01, 2.400000327826683e-01, 2.599999523164547e-01, 2.799999821185498e-01, 3.00000011920929e-01, 3.200000119209859e-01, 3.400000417233651e-01, 3.599999761580285e-01, 3.799999761580851e-01, 4.000000059604645e-01, 4.200000059605212e-01, 4.400000357629004e-01, 4.599999701975639e-01, 4.79999970197763e-01, 5e-01, 5.200000000000568e-01, 5.400000596047585e-01, 5.599999642370996e-01, 5.799999642371564e-01, 6.000000238418579e-01, 6.199999284760181e-01, 6.40000023841062e-01, 6.599999880798666e-01, 6.800000834449111e-01, 6.99999988079071e-01, 7.199999523178757e-01, 7.400000476829199e-01, 7.599999523170801e-01, 7.800000476821243e-01, 8.00000011920929e-01, 8.199999165550889e-01, 8.400000119201334e-01, 8.59999976158938e-01, 8.800000715239819e-01, 8.999999761581421e-01, 9.199999403969468e-01, 9.40000035761991e-01, 9.599999403961511e-01, 9.800000953658401e-01, 1e+00] +time=[0e+00, 5e+00] +switch1.y=[-1e+00, -9.399999985098856e-01, -8.799999970197717e-01, -8.200000000000107e-01, -7.599999940395409e-01, -6.99999988079071e-01, -6.4e-01, -5.799999761581776e-01, -5.19999988079071e-01, -4.599999940395711e-01, -4.000000059604645e-01, -3.400000178814005e-01, -2.800000298021661e-01, -2.199999701978339e-01, -1.599999821185994e-01, -1.000000014901161e-01, -4.000001341106101e-02, 1.999997094288099e-02, 8.000002682195148e-02, 1.400000149011683e-01, 2.000000029802322e-01, -5.799999642371563e-01, -5.600000119209574e-01, -5.400000119209005e-01, -5.200000000000569e-01, -5e-01, -4.799999701977629e-01, -4.600000178813508e-01, -4.399999880790426e-01, -4.200000059605213e-01, -4.000000059604645e-01, -3.799999761580852e-01, -3.600000238418152e-01, -3.39999994039507e-01, -3.200000119209857e-01, -3.00000011920929e-01, -2.799999821185498e-01, -2.600000000000284e-01, -2.39999985098846e-01, -2.200000178814502e-01, -2.000000029802322e-01, 1.460000095367318e+00, 1.520000095367204e+00, 1.579999928473517e+00, 1.63999992847454e+00, 1.700000047683716e+00, 1.760000047683602e+00, 1.820000166892778e+00, 1.879999880790938e+00, 1.939999999999545e+00, 2e+00, 2.060000000000454e+00, 2.12000000000091e+00, 2.179999952315375e+00, 2.23999995231583e+00, 2.299999952316284e+00, 2.359999952316739e+00, 2.420000190733499e+00, 2.479999904631659e+00, 2.53999990463325e+00, 2.599999904632568e+00, 2.200000178814502e-01, 2.400000327826683e-01, 2.599999523164547e-01, 2.799999821185498e-01, 3.00000011920929e-01, 3.200000119209859e-01, 3.400000417233651e-01, 3.599999761580285e-01, 3.799999761580851e-01, 4.000000059604645e-01, 4.200000059605212e-01, 4.400000357629004e-01, 4.599999701975639e-01, 4.79999970197763e-01, 5e-01, 5.200000000000568e-01, 5.400000596047585e-01, 5.599999642370996e-01, 5.799999642371564e-01, 6.000000238418579e-01, 3.859999666222175e+00, 3.92000019073077e+00, 3.979999904634387e+00, 4.040000190731226e+00, 4.099999904632568e+00, 4.159999618533911e+00, 4.219999904630749e+00, 4.280000095369251e+00, 4.340000381466089e+00, 4.400000095367432e+00, 4.459999809268774e+00, 4.520000095365614e+00, 4.579999809266956e+00, 4.640000095363793e+00, 4.699999809265137e+00, 4.760000000003638e+00, 4.820000286095929e+00, 4.88000000000182e+00, 4.940000286098657e+00, 5e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Tan.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Tan.txt new file mode 100644 index 0000000000..b74ef1621d --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Reals_Validation_Tan.txt @@ -0,0 +1,10 @@ +last-generated=2017-03-22 +statistics-simulation= +{ + "numerical Jacobians": "0", + "nonlinear": " ", + "linear": " " +} +tan1.u=[-1.5e+00, -1.470000027939673e+00, -1.440000055879345e+00, -1.40999996460977e+00, -1.379999992549401e+00, -1.350000026077003e+00, -1.320000048428746e+00, -1.289999962747105e+00, -1.259999985098812e+00, -1.230000029802162e+00, -1.200000052153998e+00, -1.169999955296543e+00, -1.139999977648218e+00, -1.109999999999929e+00, -1.080000044703457e+00, -1.049999970197766e+00, -1.019999970197838e+00, -9.900000149011345e-01, -9.600000000001065e-01, -9.300000000000355e-01, -8.999999850988831e-01, -8.699999850989365e-01, -8.399999701976953e-01, -8.10000014901099e-01, -7.799999552965964e-01, -7.5e-01, -7.199999999998579e-01, -6.900000298021625e-01, -6.600000298023045e-01, -6.29999970197802e-01, -6.000000596044672e-01, -5.699999999999645e-01, -5.399999999998935e-01, -5.10000029802127e-01, -4.799999999999999e-01, -4.499999701977665e-01, -4.200000298023224e-01, -3.9e-01, -3.6e-01, -3.299999701976776e-01, -3.000000298022335e-01, -2.700000000000001e-01, -2.399999552966142e-01, -2.100000149011612e-01, -1.8e-01, -1.499999701976776e-01, -1.200000223517106e-01, -9.000000000000452e-02, -5.99999664724673e-02, -3.000002793961509e-02, 0e+00, 3.000002793918877e-02, 6.000005587839531e-02, 9.000008940547513e-02, 1.199999329458938e-01, 1.499999701982107e-01, 1.799999999998936e-01, 2.100000149008413e-01, 2.400000447027374e-01, 2.700000894054039e-01, 2.99999940396421e-01, 3.299999701983171e-01, 3.600000000002131e-01, 3.899999999997869e-01, 4.200000298016829e-01, 4.50000059603579e-01, 4.799999105945961e-01, 5.099999403963501e-01, 5.400000000002133e-01, 5.700000000000709e-01, 6.000000596039341e-01, 6.300000596033657e-01, 6.599999403962078e-01, 6.89999940396492e-01, 7.200000000002842e-01, 7.5e-01, 7.799999999997158e-01, 8.10000059603508e-01, 8.400000596037922e-01, 8.699999403966343e-01, 8.999999403960659e-01, 9.299999999999291e-01, 9.599999999997867e-01, 9.900000596036499e-01, 1.020000059603863e+00, 1.049999880792842e+00, 1.080000000000426e+00, 1.110000000000142e+00, 1.139999999999858e+00, 1.169999999999574e+00, 1.200000119207158e+00, 1.229999940396137e+00, 1.259999940395853e+00, 1.289999940395995e+00, 1.320000059604645e+00, 1.350000059603579e+00, 1.380000059604005e+00, 1.409999880793268e+00, 1.440000000000568e+00, 1.470000000000284e+00, 1.5e+00] +tan1.y=[-1.410142040252686e+01, -9.887374815413839e+00, -7.601826115546201e+00, -6.165356083530985e+00, -5.177437233115566e+00, -4.45522170086631e+00, -3.903347666807665e+00, -3.467205774752797e+00, -3.113269034344981e+00, -2.819815733372622e+00, -2.572151695499103e+00, -2.359981048444761e+00, -2.175875141371414e+00, -2.014338183442734e+00, -1.871217378173971e+00, -1.743315412078084e+00, -1.628130397153165e+00, -1.523676771027147e+00, -1.428357547756727e+00, -1.340873817618058e+00, -1.26015820450566e+00, -1.185324860331316e+00, -1.1156322876344e+00, -1.050455119880158e+00, -9.892614763328818e-01, -9.315964579582214e-01, -8.770678731914811e-01, -8.253361530519888e-01, -7.761049328202556e-01, -7.291146731090656e-01, -6.841368606368048e-01, -6.409685713026726e-01, -5.994295783279446e-01, -5.593587678331688e-01, -5.206108826104062e-01, -4.830550331510841e-01, -4.465725938031347e-01, -4.110549259930083e-01, -3.764028386242348e-01, -3.425248084765659e-01, -3.093362646890255e-01, -2.767581228335295e-01, -2.447166622575337e-01, -2.131424621844687e-01, -1.819695160484656e-01, -1.511351845767373e-01, -1.205793649804371e-01, -9.024378296992214e-02, -6.007207308656847e-02, -3.000903199753029e-02, 0e+00, 3.000903199710351e-02, 6.007216282527954e-02, 9.024387314962294e-02, 1.20579274302436e-01, 1.511351845772821e-01, 1.819695160483558e-01, 2.131424621841338e-01, 2.447167570358983e-01, 2.767582192099088e-01, 3.09336166835865e-01, 3.425248084772789e-01, 3.764028386244776e-01, 4.110549259927585e-01, 4.465725938023656e-01, 4.830551436131802e-01, 5.206107692398058e-01, 5.593586504977714e-01, 5.99429578328378e-01, 6.409685713028234e-01, 6.84136860636019e-01, 7.291148103115863e-01, 7.761047901712893e-01, 8.253360029476939e-01, 8.770678731922313e-01, 9.315964579582214e-01, 9.892615649350229e-01, 1.050455214508243e+00, 1.115632489564646e+00, 1.185324753580106e+00, 1.26015808933166e+00, 1.340873817617763e+00, 1.428357547755746e+00, 1.523676920883134e+00, 1.628130726014354e+00, 1.743315053177988e+00, 1.87121717899742e+00, 2.0143381834438e+00, 2.175875270036343e+00, 2.359981346009297e+00, 2.572152214189558e+00, 2.81981494312602e+00, 3.113268565123776e+00, 3.467205489147122e+00, 3.903347849554273e+00, 4.455222419078826e+00, 5.17743915277855e+00, 6.165352930281273e+00, 7.601822973838238e+00, 9.887372210631513e+00, 1.410142040252686e+01] +time=[0e+00, 1e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Routing_Validation_BooleanExtractSignal.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Routing_Validation_BooleanExtractSignal.txt new file mode 100644 index 0000000000..1ecab3563c --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Routing_Validation_BooleanExtractSignal.txt @@ -0,0 +1,20 @@ +last-generated=2022-10-07 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +time=[0e+00, 1e+00] +extBooSig.u[1]=[1e+00, 1e+00] +extBooSig.u[2]=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.999940396364401e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.999880792728245e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +extBooSig.u[3]=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.999940395475961e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.192072717545907e-05, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +extBooSig.u[4]=[0e+00, 0e+00] +extBooSig.y[1]=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.999940395475961e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.192072717545907e-05, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +extBooSig.y[2]=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.999940396364401e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.999880792728245e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +extBooSig.y[3]=[0e+00, 0e+00] +extBooSig1.y[1]=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.999940395475961e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.192072717545907e-05, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +extBooSig1.y[2]=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.999940396364401e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.999880792728245e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +extBooSig1.y[3]=[0e+00, 0e+00] +extBooSig1.y[4]=[1e+00, 1e+00] +extBooSig1.y[5]=[1e+00, 1e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Routing_Validation_BooleanExtractor.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Routing_Validation_BooleanExtractor.txt new file mode 100644 index 0000000000..dccb636019 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Routing_Validation_BooleanExtractor.txt @@ -0,0 +1,22 @@ +last-generated=2022-10-12 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +time=[0e+00, 1e+00] +extIndBoo.u[1]=[1e+00, 1e+00] +extIndBoo.u[2]=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.999940396364401e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.999880792728245e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +extIndBoo.u[3]=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.999940395475961e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.192072717545907e-05, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +extIndBoo.u[4]=[0e+00, 0e+00] +extIndBoo.index=[2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00] +extIndBoo.y=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.999940396364401e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.999880792728245e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +extIndBoo1.index=[6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00] +extIndBoo1.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +extIndBoo2.index=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +extIndBoo2.y=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +extIndBoo3.index=[2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00] +extIndBoo3.y=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +extIndBoo4.index=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00] +extIndBoo4.y=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.192072717545907e-05, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Routing_Validation_BooleanScalarReplicator.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Routing_Validation_BooleanScalarReplicator.txt new file mode 100644 index 0000000000..e5c1b92dff --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Routing_Validation_BooleanScalarReplicator.txt @@ -0,0 +1,12 @@ +last-generated=2018-06-19 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +booRep.u=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.999940396364401e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.999880792728245e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +time=[0e+00, 1e+00] +booRep.y[1]=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.999940396364401e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.999880792728245e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +booRep.y[2]=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.999940396364401e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.999880792728245e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +booRep.y[3]=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.999940396364401e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.999880792728245e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Routing_Validation_BooleanVectorFilter.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Routing_Validation_BooleanVectorFilter.txt new file mode 100644 index 0000000000..2499499edf --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Routing_Validation_BooleanVectorFilter.txt @@ -0,0 +1,13 @@ +last-generated=2021-06-25 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +time=[0e+00, 1e+00] +booFil.u[1]=[1e+00, 1e+00] +booFil.u[2]=[1e+00, 1e+00] +booFil.u[3]=[0e+00, 0e+00] +booFil.y[1]=[1e+00, 1e+00] +booFil.y[2]=[0e+00, 0e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Routing_Validation_BooleanVectorReplicator.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Routing_Validation_BooleanVectorReplicator.txt new file mode 100644 index 0000000000..9d13cdae4c --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Routing_Validation_BooleanVectorReplicator.txt @@ -0,0 +1,12 @@ +last-generated=2021-06-25 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +time=[0e+00, 1e+00] +booRep.u[1]=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.999940396364401e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.999880792728245e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +booRep.y[1, 1]=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.999940396364401e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.999880792728245e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +booRep.y[2, 2]=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.999940396364401e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.999880792728245e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +booRep.y[3, 2]=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.999940396364401e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.999880792728245e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Routing_Validation_IntegerExtractSignal.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Routing_Validation_IntegerExtractSignal.txt new file mode 100644 index 0000000000..487d0525af --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Routing_Validation_IntegerExtractSignal.txt @@ -0,0 +1,20 @@ +last-generated=2022-10-07 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +time=[0e+00, 1e+00] +extIntSig.u[1]=[1e+00, 1e+00] +extIntSig.u[2]=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.999940396364401e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.999880792728245e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +extIntSig.u[3]=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.999880790951923e-01, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -9.99976158545649e-01, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +extIntSig.u[4]=[4e+00, 4e+00] +extIntSig.y[1]=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.999880790951923e-01, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -9.99976158545649e-01, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +extIntSig.y[2]=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.999940396364401e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.999880792728245e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +extIntSig.y[3]=[4e+00, 4e+00] +extIntSig1.y[1]=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.999880790951923e-01, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -9.99976158545649e-01, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +extIntSig1.y[2]=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.999940396364401e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.999880792728245e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +extIntSig1.y[3]=[4e+00, 4e+00] +extIntSig1.y[4]=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.999940396364401e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.999880792728245e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +extIntSig1.y[5]=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.999880790951923e-01, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -9.99976158545649e-01, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Routing_Validation_IntegerExtractor.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Routing_Validation_IntegerExtractor.txt new file mode 100644 index 0000000000..4a7d27356b --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Routing_Validation_IntegerExtractor.txt @@ -0,0 +1,22 @@ +last-generated=2022-10-12 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +time=[0e+00, 1e+00] +extIndInt.u[1]=[0e+00, 0e+00] +extIndInt.u[2]=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.999940396364401e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.999880792728245e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +extIndInt.u[3]=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.999880790951923e-01, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -9.99976158545649e-01, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +extIndInt.u[4]=[4e+00, 4e+00] +extIndInt.index=[2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00] +extIndInt.y=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.999940396364401e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.999880792728245e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +extIndInt1.index=[6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00] +extIndInt1.y=[4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00] +extIndInt2.index=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +extIndInt2.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +extIndInt3.index=[2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00] +extIndInt3.y=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +extIndInt4.index=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00] +extIndInt4.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -9.99976158545649e-01, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Routing_Validation_IntegerScalarReplicator.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Routing_Validation_IntegerScalarReplicator.txt new file mode 100644 index 0000000000..7dbcc61e61 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Routing_Validation_IntegerScalarReplicator.txt @@ -0,0 +1,13 @@ +last-generated=2017-07-25 +statistics-simulation= +{ + "numerical Jacobians": "0", + "nonlinear": " ", + "linear": " " +} +ram.y=[-2e+00, -1.95000004656613e+00, -1.89999997392297e+00, -1.850000020489104e+00, -1.799999947845941e+00, -1.750000003725286e+00, -1.700000040978201e+00, -1.649999977648259e+00, -1.600000014901188e+00, -1.549999970197624e+00, -1.500000007450558e+00, -1.450000044703492e+00, -1.399999962747137e+00, -1.350000000000071e+00, -1.299999955296507e+00, -1.250000029802234e+00, -1.200000029802376e+00, -1.149999985098812e+00, -1.100000059604538e+00, -1.049999940395391e+00, -1.000000014901117e+00, -9.499999552966142e-01, -8.999999701976954e-01, -8.500000447034214e-01, -7.999999850989188e-01, -7.5e-01, -6.999999403954973e-01, -6.500000298024822e-01, -6.000000298023045e-01, -5.49999970197802e-01, -5.000000596044671e-01, -4.5e-01, -3.999999701976776e-01, -3.500000596046447e-01, -3.00000029802269e-01, -2.499999701977221e-01, -2.000000745055929e-01, -1.500000298022514e-01, -9.999997764831148e-02, -4.999992921961749e-02, -2.980226121440666e-08, 5.00000186264114e-02, 1.000000670550787e-01, 1.499999701977309e-01, 2.000000149011257e-01, 2.500000596044672e-01, 2.999999701976777e-01, 3.499999999999999e-01, 4.000000596044848e-01, 4.499999403954973e-01, 5e-01, 5.500000596037922e-01, 6.000001192075843e-01, 6.500001192075844e-01, 6.999998807926291e-01, 7.499999403964213e-01, 7.999999999998582e-01, 8.50000059604005e-01, 9.000000596036498e-01, 9.500001192069446e-01, 9.99999880792842e-01, 1.049999880791989e+00, 1.100000000000426e+00, 1.149999999999574e+00, 1.200000119208011e+00, 1.250000119207158e+00, 1.299999821188411e+00, 1.349999940396847e+00, 1.399999940395995e+00, 1.450000059604787e+00, 1.500000059603579e+00, 1.550000059602726e+00, 1.599999880793268e+00, 1.649999880792416e+00, 1.700000000000853e+00, 1.75e+00, 1.799999999999147e+00, 1.850000119207584e+00, 1.900000119206732e+00, 1.949999940397274e+00, 1.999999940396421e+00, 2.049999940395213e+00, 2.099999940394715e+00, 2.150000178812442e+00, 2.200000178811589e+00, 2.249999880792842e+00, 2.299999880791989e+00, 2.349999880791137e+00, 2.400000119208863e+00, 2.450000119208011e+00, 2.500000119207158e+00, 2.549999821188411e+00, 2.599999821187558e+00, 2.650000059605285e+00, 2.700000059604787e+00, 2.750000059603579e+00, 2.800000059602726e+00, 2.849999761583978e+00, 2.900000000001705e+00, 2.950000000000852e+00, 3e+00] +time=[0e+00, 1e+00] +reaToInt.y=[-2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1.00000596036356e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2.000011920727176e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00] +intRep.y[1]=[-2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1.00000596036356e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2.000011920727176e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00] +intRep.y[2]=[-2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1.00000596036356e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2.000011920727176e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00] +intRep.y[3]=[-2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1.00000596036356e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2.000011920727176e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Routing_Validation_IntegerVectorFilter.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Routing_Validation_IntegerVectorFilter.txt new file mode 100644 index 0000000000..cb46360ea9 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Routing_Validation_IntegerVectorFilter.txt @@ -0,0 +1,13 @@ +last-generated=2021-06-25 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +time=[0e+00, 1e+00] +intFil.u[1]=[1e+00, 1e+00] +intFil.u[2]=[2e+00, 2e+00] +intFil.u[3]=[3e+00, 3e+00] +intFil.y[1]=[1e+00, 1e+00] +intFil.y[2]=[3e+00, 3e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Routing_Validation_IntegerVectorReplicator.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Routing_Validation_IntegerVectorReplicator.txt new file mode 100644 index 0000000000..21a991457e --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Routing_Validation_IntegerVectorReplicator.txt @@ -0,0 +1,13 @@ +last-generated=2021-06-25 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +time=[0e+00, 1e+00] +ram[1].y=[-2e+00, -1.95000004656613e+00, -1.89999997392297e+00, -1.850000020489104e+00, -1.799999947845941e+00, -1.750000003725286e+00, -1.700000040978201e+00, -1.649999977648259e+00, -1.600000014901188e+00, -1.549999970197624e+00, -1.500000007450558e+00, -1.450000044703492e+00, -1.399999962747137e+00, -1.350000000000071e+00, -1.299999955296507e+00, -1.250000029802234e+00, -1.200000029802376e+00, -1.149999985098812e+00, -1.100000059604538e+00, -1.049999940395391e+00, -1.000000014901117e+00, -9.499999552966142e-01, -8.999999701976954e-01, -8.500000447034214e-01, -7.999999850989188e-01, -7.5e-01, -6.999999403954973e-01, -6.500000298024822e-01, -6.000000298023045e-01, -5.49999970197802e-01, -5.000000596044671e-01, -4.5e-01, -3.999999701976776e-01, -3.500000596046447e-01, -3.00000029802269e-01, -2.499999701977221e-01, -2.000000745055929e-01, -1.500000298022514e-01, -9.999997764831148e-02, -4.999992921961749e-02, -2.980225988213903e-08, 5.00000186264114e-02, 1.000000670550787e-01, 1.499999701977309e-01, 2.000000149011257e-01, 2.500000596044672e-01, 2.999999701976777e-01, 3.499999999999999e-01, 4.000000596044848e-01, 4.499999403954973e-01, 5e-01, 5.500000596037922e-01, 6.000001192075843e-01, 6.500001192075844e-01, 6.999998807926291e-01, 7.499999403964213e-01, 7.999999999998582e-01, 8.50000059604005e-01, 9.000000596036498e-01, 9.500001192069446e-01, 9.99999880792842e-01, 1.049999880791989e+00, 1.100000000000426e+00, 1.149999999999574e+00, 1.200000119208011e+00, 1.250000119207158e+00, 1.299999821188411e+00, 1.349999940396847e+00, 1.399999940395995e+00, 1.450000059604787e+00, 1.500000059603579e+00, 1.550000059602726e+00, 1.599999880793268e+00, 1.649999880792416e+00, 1.700000000000853e+00, 1.75e+00, 1.799999999999147e+00, 1.850000119207584e+00, 1.900000119206732e+00, 1.949999940397274e+00, 1.999999940396421e+00, 2.049999940395213e+00, 2.099999940394715e+00, 2.150000178812442e+00, 2.200000178811589e+00, 2.249999880792842e+00, 2.299999880791989e+00, 2.349999880791137e+00, 2.400000119208863e+00, 2.450000119208011e+00, 2.500000119207158e+00, 2.549999821188411e+00, 2.599999821187558e+00, 2.650000059605285e+00, 2.700000059604787e+00, 2.750000059603579e+00, 2.800000059602726e+00, 2.849999761583978e+00, 2.900000000001705e+00, 2.950000000000852e+00, 3e+00] +reaToInt[1].y=[-2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1.00000596036356e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2.000011920727176e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00] +intRep.y[1, 1]=[-2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1.00000596036356e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2.000011920727176e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00] +intRep.y[2, 2]=[-2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1.00000596036356e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2.000011920727176e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00] +intRep.y[3, 2]=[-2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1.00000596036356e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2.000011920727176e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Routing_Validation_RealExtractSignal.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Routing_Validation_RealExtractSignal.txt new file mode 100644 index 0000000000..7be69a0c20 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Routing_Validation_RealExtractSignal.txt @@ -0,0 +1,22 @@ +last-generated=2022-10-14 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +time=[0e+00, 1e+00] +extSig.u[1]=[-2e+00, -1.95000004656613e+00, -1.89999997392297e+00, -1.850000020489104e+00, -1.799999947845941e+00, -1.750000003725286e+00, -1.700000040978201e+00, -1.649999977648259e+00, -1.600000014901188e+00, -1.549999970197624e+00, -1.500000007450558e+00, -1.450000044703492e+00, -1.399999962747137e+00, -1.350000000000071e+00, -1.299999955296507e+00, -1.250000029802234e+00, -1.200000029802376e+00, -1.149999985098812e+00, -1.100000059604538e+00, -1.049999940395391e+00, -1.000000014901117e+00, -9.499999552966142e-01, -8.999999701976954e-01, -8.500000447034214e-01, -7.999999850989188e-01, -7.5e-01, -6.999999403954973e-01, -6.500000298024822e-01, -6.000000298023045e-01, -5.49999970197802e-01, -5.000000596044671e-01, -4.5e-01, -3.999999701976776e-01, -3.500000596046447e-01, -3.00000029802269e-01, -2.499999701977221e-01, -2.000000745055929e-01, -1.500000298022514e-01, -9.999997764831148e-02, -4.999992921961749e-02, -2.980226121440666e-08, 5.00000186264114e-02, 1.000000670550787e-01, 1.499999701977309e-01, 2.000000149011257e-01, 2.500000596044672e-01, 2.999999701976777e-01, 3.499999999999999e-01, 4.000000596044848e-01, 4.499999403954973e-01, 5e-01, 5.500000596037922e-01, 6.000001192075843e-01, 6.500001192075844e-01, 6.999998807926291e-01, 7.499999403964213e-01, 7.999999999998582e-01, 8.50000059604005e-01, 9.000000596036498e-01, 9.500001192069446e-01, 9.99999880792842e-01, 1.049999880791989e+00, 1.100000000000426e+00, 1.149999999999574e+00, 1.200000119208011e+00, 1.250000119207158e+00, 1.299999821188411e+00, 1.349999940396847e+00, 1.399999940395995e+00, 1.450000059604787e+00, 1.500000059603579e+00, 1.550000059602726e+00, 1.599999880793268e+00, 1.649999880792416e+00, 1.700000000000853e+00, 1.75e+00, 1.799999999999147e+00, 1.850000119207584e+00, 1.900000119206732e+00, 1.949999940397274e+00, 1.999999940396421e+00, 2.049999940395213e+00, 2.099999940394715e+00, 2.150000178812442e+00, 2.200000178811589e+00, 2.249999880792842e+00, 2.299999880791989e+00, 2.349999880791137e+00, 2.400000119208863e+00, 2.450000119208011e+00, 2.500000119207158e+00, 2.549999821188411e+00, 2.599999821187558e+00, 2.650000059605285e+00, 2.700000059604787e+00, 2.750000059603579e+00, 2.800000059602726e+00, 2.849999761583978e+00, 2.900000000001705e+00, 2.950000000000852e+00, 3e+00] +extSig.u[2]=[5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 4.9999701981822e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 4.999940396364123e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +extSig.u[3]=[1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299991011771211e+00, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299982071226054e+00, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01] +extSig.u[4]=[-1e+00, -9.599999776482632e-01, -9.200000149011579e-01, -8.79999992549417e-01, -8.399999701976976e-01, -8.000000149011668e-01, -7.599999850988288e-01, -7.200000298023179e-01, -6.799999999999999e-01, -6.4e-01, -6.00000029802278e-01, -5.600000000000001e-01, -5.199999701977576e-01, -4.799999701977486e-01, -4.399999999999999e-01, -4.000000298022336e-01, -3.6e-01, -3.2e-01, -2.800000298022158e-01, -2.399999850988566e-01, -2.000000149011389e-01, -1.599999701977265e-01, -1.199999925494327e-01, -8.000001490113007e-02, -3.99999776483082e-02, 6.661338147750939e-16, 4.000003725283197e-02, 7.999995529659643e-02, 1.199999925494328e-01, 1.600000298022601e-01, 1.999999552966052e-01, 2.399999850988566e-01, 2.800000298022158e-01, 3.199999403955507e-01, 3.600000000000001e-01, 4.000000298022335e-01, 4.399999403955683e-01, 4.799999701977486e-01, 5.2e-01, 5.600000596046448e-01, 6.000000000000001e-01, 6.399999999999999e-01, 6.800000596046447e-01, 7.2e-01, 7.6e-01, 8.000000596046448e-01, 8.39999940395604e-01, 8.799999999999999e-01, 9.20000059604325e-01, 9.599999403956394e-01, 1e+00, 1.039999999999432e+00, 1.080000119208153e+00, 1.120000119207584e+00, 1.15999988079199e+00, 1.200000000000711e+00, 1.239999999999858e+00, 1.279999999999573e+00, 1.3200001192073e+00, 1.360000119207726e+00, 1.399999880792131e+00, 1.440000000000853e+00, 1.480000000000284e+00, 1.519999999999716e+00, 1.559999999999147e+00, 1.600000119207869e+00, 1.639999880792274e+00, 1.6799998807927e+00, 1.720000000000427e+00, 1.760000000000142e+00, 1.799999999999289e+00, 1.84000011920801e+00, 1.879999880792416e+00, 1.919999880791847e+00, 1.960000000000568e+00, 2e+00, 2.04e+00, 2.08e+00, 2.12e+00, 2.16e+00, 2.2e+00, 2.24e+00, 2.28e+00, 2.32e+00, 2.36e+00, 2.4e+00, 2.44e+00, 2.48e+00, 2.52e+00, 2.56e+00, 2.6e+00, 2.64e+00, 2.68e+00, 2.72e+00, 2.76e+00, 2.8e+00, 2.84e+00, 2.88e+00, 2.92e+00, 2.96e+00, 3e+00] +extSig.u[5]=[-2e+00, -1.970000027939673e+00, -1.940000055879345e+00, -1.90999996460977e+00, -1.879999992549401e+00, -1.850000026077003e+00, -1.820000048428746e+00, -1.789999962747105e+00, -1.759999985098812e+00, -1.730000029802162e+00, -1.700000052153998e+00, -1.669999955296543e+00, -1.639999977648218e+00, -1.609999999999929e+00, -1.580000044703457e+00, -1.549999970197766e+00, -1.519999970197838e+00, -1.490000014901188e+00, -1.460000059604325e+00, -1.429999940395462e+00, -1.399999985098883e+00, -1.369999985098741e+00, -1.340000029802305e+00, -1.309999955296579e+00, -1.279999955296756e+00, -1.25e+00, -1.219999999999858e+00, -1.190000089406487e+00, -1.159999970197695e+00, -1.129999970197553e+00, -1.100000059604112e+00, -1.070000059604538e+00, -1.039999940395675e+00, -1.010000029802518e+00, -9.800000298022691e-01, -9.499999701977665e-01, -9.200000596044317e-01, -8.900000000000711e-01, -8.599999999999289e-01, -8.299999403955683e-01, -8.000000298022335e-01, -7.699999701977309e-01, -7.39999970197873e-01, -7.100000000001065e-01, -6.800000000000355e-01, -6.499999403955328e-01, -6.200000298021979e-01, -5.899999701976955e-01, -5.599999701978375e-01, -5.300000000001421e-01, -5e-01, -4.699999701981039e-01, -4.399999403962078e-01, -4.09999910594738e-01, -3.800000596036854e-01, -3.500000298017893e-01, -3.200000000001064e-01, -2.899999701981041e-01, -2.599999403963501e-01, -2.299999254955619e-01, -2.000000745045626e-01, -1.700000447027376e-01, -1.400000149009125e-01, -1.099999850990875e-01, -7.999995529726243e-02, -4.999992922068328e-02, -2.000007822977725e-02, 9.999949709432063e-03, 3.999997764863138e-02, 7.000000745066925e-02, 1.000000372522811e-01, 1.300000596036855e-01, 1.599999105945249e-01, 1.899999403963499e-01, 2.19999970198175e-01, 2.5e-01, 2.800000298018961e-01, 3.100000596037922e-01, 3.40000089405262e-01, 3.699999403963146e-01, 3.999999701982107e-01, 4.299999999998936e-01, 4.600000298018959e-01, 4.900000596036499e-01, 5.200000596038631e-01, 5.499999403967762e-01, 5.799999403962078e-01, 6.100000000001421e-01, 6.399999999998579e-01, 6.700000596037922e-01, 7.000000596032238e-01, 7.299999403961369e-01, 7.599999403963501e-01, 7.900000000002133e-01, 8.200000000000709e-01, 8.500000596039341e-01, 8.800000596033657e-01, 9.099999403962078e-01, 9.39999940396492e-01, 9.700000000002842e-01, 1e+00] +extSig.y[1]=[-2e+00, -1.95000004656613e+00, -1.89999997392297e+00, -1.850000020489104e+00, -1.799999947845941e+00, -1.750000003725286e+00, -1.700000040978201e+00, -1.649999977648259e+00, -1.600000014901188e+00, -1.549999970197624e+00, -1.500000007450558e+00, -1.450000044703492e+00, -1.399999962747137e+00, -1.350000000000071e+00, -1.299999955296507e+00, -1.250000029802234e+00, -1.200000029802376e+00, -1.149999985098812e+00, -1.100000059604538e+00, -1.049999940395391e+00, -1.000000014901117e+00, -9.499999552966142e-01, -8.999999701976954e-01, -8.500000447034214e-01, -7.999999850989188e-01, -7.5e-01, -6.999999403954973e-01, -6.500000298024822e-01, -6.000000298023045e-01, -5.49999970197802e-01, -5.000000596044671e-01, -4.5e-01, -3.999999701976776e-01, -3.500000596046447e-01, -3.00000029802269e-01, -2.499999701977221e-01, -2.000000745055929e-01, -1.500000298022514e-01, -9.999997764831148e-02, -4.999992921961749e-02, -2.980226121440666e-08, 5.00000186264114e-02, 1.000000670550787e-01, 1.499999701977309e-01, 2.000000149011257e-01, 2.500000596044672e-01, 2.999999701976777e-01, 3.499999999999999e-01, 4.000000596044848e-01, 4.499999403954973e-01, 5e-01, 5.500000596037922e-01, 6.000001192075843e-01, 6.500001192075844e-01, 6.999998807926291e-01, 7.499999403964213e-01, 7.999999999998582e-01, 8.50000059604005e-01, 9.000000596036498e-01, 9.500001192069446e-01, 9.99999880792842e-01, 1.049999880791989e+00, 1.100000000000426e+00, 1.149999999999574e+00, 1.200000119208011e+00, 1.250000119207158e+00, 1.299999821188411e+00, 1.349999940396847e+00, 1.399999940395995e+00, 1.450000059604787e+00, 1.500000059603579e+00, 1.550000059602726e+00, 1.599999880793268e+00, 1.649999880792416e+00, 1.700000000000853e+00, 1.75e+00, 1.799999999999147e+00, 1.850000119207584e+00, 1.900000119206732e+00, 1.949999940397274e+00, 1.999999940396421e+00, 2.049999940395213e+00, 2.099999940394715e+00, 2.150000178812442e+00, 2.200000178811589e+00, 2.249999880792842e+00, 2.299999880791989e+00, 2.349999880791137e+00, 2.400000119208863e+00, 2.450000119208011e+00, 2.500000119207158e+00, 2.549999821188411e+00, 2.599999821187558e+00, 2.650000059605285e+00, 2.700000059604787e+00, 2.750000059603579e+00, 2.800000059602726e+00, 2.849999761583978e+00, 2.900000000001705e+00, 2.950000000000852e+00, 3e+00] +extSig.y[2]=[5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 4.9999701981822e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 4.999940396364123e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +extSig.y[3]=[-2e+00, -1.970000027939673e+00, -1.940000055879345e+00, -1.90999996460977e+00, -1.879999992549401e+00, -1.850000026077003e+00, -1.820000048428746e+00, -1.789999962747105e+00, -1.759999985098812e+00, -1.730000029802162e+00, -1.700000052153998e+00, -1.669999955296543e+00, -1.639999977648218e+00, -1.609999999999929e+00, -1.580000044703457e+00, -1.549999970197766e+00, -1.519999970197838e+00, -1.490000014901188e+00, -1.460000059604325e+00, -1.429999940395462e+00, -1.399999985098883e+00, -1.369999985098741e+00, -1.340000029802305e+00, -1.309999955296579e+00, -1.279999955296756e+00, -1.25e+00, -1.219999999999858e+00, -1.190000089406487e+00, -1.159999970197695e+00, -1.129999970197553e+00, -1.100000059604112e+00, -1.070000059604538e+00, -1.039999940395675e+00, -1.010000029802518e+00, -9.800000298022691e-01, -9.499999701977665e-01, -9.200000596044317e-01, -8.900000000000711e-01, -8.599999999999289e-01, -8.299999403955683e-01, -8.000000298022335e-01, -7.699999701977309e-01, -7.39999970197873e-01, -7.100000000001065e-01, -6.800000000000355e-01, -6.499999403955328e-01, -6.200000298021979e-01, -5.899999701976955e-01, -5.599999701978375e-01, -5.300000000001421e-01, -5e-01, -4.699999701981039e-01, -4.399999403962078e-01, -4.09999910594738e-01, -3.800000596036854e-01, -3.500000298017893e-01, -3.200000000001064e-01, -2.899999701981041e-01, -2.599999403963501e-01, -2.299999254955619e-01, -2.000000745045626e-01, -1.700000447027376e-01, -1.400000149009125e-01, -1.099999850990875e-01, -7.999995529726243e-02, -4.999992922068328e-02, -2.000007822977725e-02, 9.999949709432063e-03, 3.999997764863138e-02, 7.000000745066925e-02, 1.000000372522811e-01, 1.300000596036855e-01, 1.599999105945249e-01, 1.899999403963499e-01, 2.19999970198175e-01, 2.5e-01, 2.800000298018961e-01, 3.100000596037922e-01, 3.40000089405262e-01, 3.699999403963146e-01, 3.999999701982107e-01, 4.299999999998936e-01, 4.600000298018959e-01, 4.900000596036499e-01, 5.200000596038631e-01, 5.499999403967762e-01, 5.799999403962078e-01, 6.100000000001421e-01, 6.399999999998579e-01, 6.700000596037922e-01, 7.000000596032238e-01, 7.299999403961369e-01, 7.599999403963501e-01, 7.900000000002133e-01, 8.200000000000709e-01, 8.500000596039341e-01, 8.800000596033657e-01, 9.099999403962078e-01, 9.39999940396492e-01, 9.700000000002842e-01, 1e+00] +extSig1.y[1]=[-2e+00, -1.95000004656613e+00, -1.89999997392297e+00, -1.850000020489104e+00, -1.799999947845941e+00, -1.750000003725286e+00, -1.700000040978201e+00, -1.649999977648259e+00, -1.600000014901188e+00, -1.549999970197624e+00, -1.500000007450558e+00, -1.450000044703492e+00, -1.399999962747137e+00, -1.350000000000071e+00, -1.299999955296507e+00, -1.250000029802234e+00, -1.200000029802376e+00, -1.149999985098812e+00, -1.100000059604538e+00, -1.049999940395391e+00, -1.000000014901117e+00, -9.499999552966142e-01, -8.999999701976954e-01, -8.500000447034214e-01, -7.999999850989188e-01, -7.5e-01, -6.999999403954973e-01, -6.500000298024822e-01, -6.000000298023045e-01, -5.49999970197802e-01, -5.000000596044671e-01, -4.5e-01, -3.999999701976776e-01, -3.500000596046447e-01, -3.00000029802269e-01, -2.499999701977221e-01, -2.000000745055929e-01, -1.500000298022514e-01, -9.999997764831148e-02, -4.999992921961749e-02, -2.980226121440666e-08, 5.00000186264114e-02, 1.000000670550787e-01, 1.499999701977309e-01, 2.000000149011257e-01, 2.500000596044672e-01, 2.999999701976777e-01, 3.499999999999999e-01, 4.000000596044848e-01, 4.499999403954973e-01, 5e-01, 5.500000596037922e-01, 6.000001192075843e-01, 6.500001192075844e-01, 6.999998807926291e-01, 7.499999403964213e-01, 7.999999999998582e-01, 8.50000059604005e-01, 9.000000596036498e-01, 9.500001192069446e-01, 9.99999880792842e-01, 1.049999880791989e+00, 1.100000000000426e+00, 1.149999999999574e+00, 1.200000119208011e+00, 1.250000119207158e+00, 1.299999821188411e+00, 1.349999940396847e+00, 1.399999940395995e+00, 1.450000059604787e+00, 1.500000059603579e+00, 1.550000059602726e+00, 1.599999880793268e+00, 1.649999880792416e+00, 1.700000000000853e+00, 1.75e+00, 1.799999999999147e+00, 1.850000119207584e+00, 1.900000119206732e+00, 1.949999940397274e+00, 1.999999940396421e+00, 2.049999940395213e+00, 2.099999940394715e+00, 2.150000178812442e+00, 2.200000178811589e+00, 2.249999880792842e+00, 2.299999880791989e+00, 2.349999880791137e+00, 2.400000119208863e+00, 2.450000119208011e+00, 2.500000119207158e+00, 2.549999821188411e+00, 2.599999821187558e+00, 2.650000059605285e+00, 2.700000059604787e+00, 2.750000059603579e+00, 2.800000059602726e+00, 2.849999761583978e+00, 2.900000000001705e+00, 2.950000000000852e+00, 3e+00] +extSig1.y[2]=[5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 4.9999701981822e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 4.999940396364123e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +extSig1.y[3]=[-2e+00, -1.970000027939673e+00, -1.940000055879345e+00, -1.90999996460977e+00, -1.879999992549401e+00, -1.850000026077003e+00, -1.820000048428746e+00, -1.789999962747105e+00, -1.759999985098812e+00, -1.730000029802162e+00, -1.700000052153998e+00, -1.669999955296543e+00, -1.639999977648218e+00, -1.609999999999929e+00, -1.580000044703457e+00, -1.549999970197766e+00, -1.519999970197838e+00, -1.490000014901188e+00, -1.460000059604325e+00, -1.429999940395462e+00, -1.399999985098883e+00, -1.369999985098741e+00, -1.340000029802305e+00, -1.309999955296579e+00, -1.279999955296756e+00, -1.25e+00, -1.219999999999858e+00, -1.190000089406487e+00, -1.159999970197695e+00, -1.129999970197553e+00, -1.100000059604112e+00, -1.070000059604538e+00, -1.039999940395675e+00, -1.010000029802518e+00, -9.800000298022691e-01, -9.499999701977665e-01, -9.200000596044317e-01, -8.900000000000711e-01, -8.599999999999289e-01, -8.299999403955683e-01, -8.000000298022335e-01, -7.699999701977309e-01, -7.39999970197873e-01, -7.100000000001065e-01, -6.800000000000355e-01, -6.499999403955328e-01, -6.200000298021979e-01, -5.899999701976955e-01, -5.599999701978375e-01, -5.300000000001421e-01, -5e-01, -4.699999701981039e-01, -4.399999403962078e-01, -4.09999910594738e-01, -3.800000596036854e-01, -3.500000298017893e-01, -3.200000000001064e-01, -2.899999701981041e-01, -2.599999403963501e-01, -2.299999254955619e-01, -2.000000745045626e-01, -1.700000447027376e-01, -1.400000149009125e-01, -1.099999850990875e-01, -7.999995529726243e-02, -4.999992922068328e-02, -2.000007822977725e-02, 9.999949709432063e-03, 3.999997764863138e-02, 7.000000745066925e-02, 1.000000372522811e-01, 1.300000596036855e-01, 1.599999105945249e-01, 1.899999403963499e-01, 2.19999970198175e-01, 2.5e-01, 2.800000298018961e-01, 3.100000596037922e-01, 3.40000089405262e-01, 3.699999403963146e-01, 3.999999701982107e-01, 4.299999999998936e-01, 4.600000298018959e-01, 4.900000596036499e-01, 5.200000596038631e-01, 5.499999403967762e-01, 5.799999403962078e-01, 6.100000000001421e-01, 6.399999999998579e-01, 6.700000596037922e-01, 7.000000596032238e-01, 7.299999403961369e-01, 7.599999403963501e-01, 7.900000000002133e-01, 8.200000000000709e-01, 8.500000596039341e-01, 8.800000596033657e-01, 9.099999403962078e-01, 9.39999940396492e-01, 9.700000000002842e-01, 1e+00] +extSig1.y[4]=[1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299991011771211e+00, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299982071226054e+00, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01] +extSig1.y[5]=[-1e+00, -9.599999776482632e-01, -9.200000149011579e-01, -8.79999992549417e-01, -8.399999701976976e-01, -8.000000149011668e-01, -7.599999850988288e-01, -7.200000298023179e-01, -6.799999999999999e-01, -6.4e-01, -6.00000029802278e-01, -5.600000000000001e-01, -5.199999701977576e-01, -4.799999701977486e-01, -4.399999999999999e-01, -4.000000298022336e-01, -3.6e-01, -3.2e-01, -2.800000298022158e-01, -2.399999850988566e-01, -2.000000149011389e-01, -1.599999701977265e-01, -1.199999925494327e-01, -8.000001490113007e-02, -3.99999776483082e-02, 6.661338147750939e-16, 4.000003725283197e-02, 7.999995529659643e-02, 1.199999925494328e-01, 1.600000298022601e-01, 1.999999552966052e-01, 2.399999850988566e-01, 2.800000298022158e-01, 3.199999403955507e-01, 3.600000000000001e-01, 4.000000298022335e-01, 4.399999403955683e-01, 4.799999701977486e-01, 5.2e-01, 5.600000596046448e-01, 6.000000000000001e-01, 6.399999999999999e-01, 6.800000596046447e-01, 7.2e-01, 7.6e-01, 8.000000596046448e-01, 8.39999940395604e-01, 8.799999999999999e-01, 9.20000059604325e-01, 9.599999403956394e-01, 1e+00, 1.039999999999432e+00, 1.080000119208153e+00, 1.120000119207584e+00, 1.15999988079199e+00, 1.200000000000711e+00, 1.239999999999858e+00, 1.279999999999573e+00, 1.3200001192073e+00, 1.360000119207726e+00, 1.399999880792131e+00, 1.440000000000853e+00, 1.480000000000284e+00, 1.519999999999716e+00, 1.559999999999147e+00, 1.600000119207869e+00, 1.639999880792274e+00, 1.6799998807927e+00, 1.720000000000427e+00, 1.760000000000142e+00, 1.799999999999289e+00, 1.84000011920801e+00, 1.879999880792416e+00, 1.919999880791847e+00, 1.960000000000568e+00, 2e+00, 2.04e+00, 2.08e+00, 2.12e+00, 2.16e+00, 2.2e+00, 2.24e+00, 2.28e+00, 2.32e+00, 2.36e+00, 2.4e+00, 2.44e+00, 2.48e+00, 2.52e+00, 2.56e+00, 2.6e+00, 2.64e+00, 2.68e+00, 2.72e+00, 2.76e+00, 2.8e+00, 2.84e+00, 2.88e+00, 2.92e+00, 2.96e+00, 3e+00] +extSig1.y[6]=[5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 4.9999701981822e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 4.999940396364123e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Routing_Validation_RealExtractor.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Routing_Validation_RealExtractor.txt new file mode 100644 index 0000000000..bd436e9e8a --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Routing_Validation_RealExtractor.txt @@ -0,0 +1,22 @@ +last-generated=2022-10-14 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +time=[0e+00, 1e+00] +extIndSig.u[1]=[-2e+00, -1.95000004656613e+00, -1.89999997392297e+00, -1.850000020489104e+00, -1.799999947845941e+00, -1.750000003725286e+00, -1.700000040978201e+00, -1.649999977648259e+00, -1.600000014901188e+00, -1.549999970197624e+00, -1.500000007450558e+00, -1.450000044703492e+00, -1.399999962747137e+00, -1.350000000000071e+00, -1.299999955296507e+00, -1.250000029802234e+00, -1.200000029802376e+00, -1.149999985098812e+00, -1.100000059604538e+00, -1.049999940395391e+00, -1.000000014901117e+00, -9.499999552966142e-01, -8.999999701976954e-01, -8.500000447034214e-01, -7.999999850989188e-01, -7.5e-01, -6.999999403954973e-01, -6.500000298024822e-01, -6.000000298023045e-01, -5.49999970197802e-01, -5.000000596044671e-01, -4.5e-01, -3.999999701976776e-01, -3.500000596046447e-01, -3.00000029802269e-01, -2.499999701977221e-01, -2.000000745055929e-01, -1.500000298022514e-01, -9.999997764831148e-02, -4.999992921961749e-02, -2.980226121440666e-08, 5.00000186264114e-02, 1.000000670550787e-01, 1.499999701977309e-01, 2.000000149011257e-01, 2.500000596044672e-01, 2.999999701976777e-01, 3.499999999999999e-01, 4.000000596044848e-01, 4.499999403954973e-01, 5e-01, 5.500000596037922e-01, 6.000001192075843e-01, 6.500001192075844e-01, 6.999998807926291e-01, 7.499999403964213e-01, 7.999999999998582e-01, 8.50000059604005e-01, 9.000000596036498e-01, 9.500001192069446e-01, 9.99999880792842e-01, 1.049999880791989e+00, 1.100000000000426e+00, 1.149999999999574e+00, 1.200000119208011e+00, 1.250000119207158e+00, 1.299999821188411e+00, 1.349999940396847e+00, 1.399999940395995e+00, 1.450000059604787e+00, 1.500000059603579e+00, 1.550000059602726e+00, 1.599999880793268e+00, 1.649999880792416e+00, 1.700000000000853e+00, 1.75e+00, 1.799999999999147e+00, 1.850000119207584e+00, 1.900000119206732e+00, 1.949999940397274e+00, 1.999999940396421e+00, 2.049999940395213e+00, 2.099999940394715e+00, 2.150000178812442e+00, 2.200000178811589e+00, 2.249999880792842e+00, 2.299999880791989e+00, 2.349999880791137e+00, 2.400000119208863e+00, 2.450000119208011e+00, 2.500000119207158e+00, 2.549999821188411e+00, 2.599999821187558e+00, 2.650000059605285e+00, 2.700000059604787e+00, 2.750000059603579e+00, 2.800000059602726e+00, 2.849999761583978e+00, 2.900000000001705e+00, 2.950000000000852e+00, 3e+00] +extIndSig.u[2]=[5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 4.9999701981822e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 4.999940396364123e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +extIndSig.u[3]=[1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299991011771211e+00, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299982071226054e+00, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01] +extIndSig.u[4]=[-1e+00, -9.599999776482632e-01, -9.200000149011579e-01, -8.79999992549417e-01, -8.399999701976976e-01, -8.000000149011668e-01, -7.599999850988288e-01, -7.200000298023179e-01, -6.799999999999999e-01, -6.4e-01, -6.00000029802278e-01, -5.600000000000001e-01, -5.199999701977576e-01, -4.799999701977486e-01, -4.399999999999999e-01, -4.000000298022336e-01, -3.6e-01, -3.2e-01, -2.800000298022158e-01, -2.399999850988566e-01, -2.000000149011389e-01, -1.599999701977265e-01, -1.199999925494327e-01, -8.000001490113007e-02, -3.99999776483082e-02, 6.661338147750939e-16, 4.000003725283197e-02, 7.999995529659643e-02, 1.199999925494328e-01, 1.600000298022601e-01, 1.999999552966052e-01, 2.399999850988566e-01, 2.800000298022158e-01, 3.199999403955507e-01, 3.600000000000001e-01, 4.000000298022335e-01, 4.399999403955683e-01, 4.799999701977486e-01, 5.2e-01, 5.600000596046448e-01, 6.000000000000001e-01, 6.399999999999999e-01, 6.800000596046447e-01, 7.2e-01, 7.6e-01, 8.000000596046448e-01, 8.39999940395604e-01, 8.799999999999999e-01, 9.20000059604325e-01, 9.599999403956394e-01, 1e+00, 1.039999999999432e+00, 1.080000119208153e+00, 1.120000119207584e+00, 1.15999988079199e+00, 1.200000000000711e+00, 1.239999999999858e+00, 1.279999999999573e+00, 1.3200001192073e+00, 1.360000119207726e+00, 1.399999880792131e+00, 1.440000000000853e+00, 1.480000000000284e+00, 1.519999999999716e+00, 1.559999999999147e+00, 1.600000119207869e+00, 1.639999880792274e+00, 1.6799998807927e+00, 1.720000000000427e+00, 1.760000000000142e+00, 1.799999999999289e+00, 1.84000011920801e+00, 1.879999880792416e+00, 1.919999880791847e+00, 1.960000000000568e+00, 2e+00, 2.04e+00, 2.08e+00, 2.12e+00, 2.16e+00, 2.2e+00, 2.24e+00, 2.28e+00, 2.32e+00, 2.36e+00, 2.4e+00, 2.44e+00, 2.48e+00, 2.52e+00, 2.56e+00, 2.6e+00, 2.64e+00, 2.68e+00, 2.72e+00, 2.76e+00, 2.8e+00, 2.84e+00, 2.88e+00, 2.92e+00, 2.96e+00, 3e+00] +extIndSig.index=[2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00] +extIndSig.y=[5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 4.9999701981822e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 4.999940396364123e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +extIndSig1.index=[6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00] +extIndSig1.y=[-2e+00, -1.970000027939673e+00, -1.940000055879345e+00, -1.90999996460977e+00, -1.879999992549401e+00, -1.850000026077003e+00, -1.820000048428746e+00, -1.789999962747105e+00, -1.759999985098812e+00, -1.730000029802162e+00, -1.700000052153998e+00, -1.669999955296543e+00, -1.639999977648218e+00, -1.609999999999929e+00, -1.580000044703457e+00, -1.549999970197766e+00, -1.519999970197838e+00, -1.490000014901188e+00, -1.460000059604325e+00, -1.429999940395462e+00, -1.399999985098883e+00, -1.369999985098741e+00, -1.340000029802305e+00, -1.309999955296579e+00, -1.279999955296756e+00, -1.25e+00, -1.219999999999858e+00, -1.190000089406487e+00, -1.159999970197695e+00, -1.129999970197553e+00, -1.100000059604112e+00, -1.070000059604538e+00, -1.039999940395675e+00, -1.010000029802518e+00, -9.800000298022691e-01, -9.499999701977665e-01, -9.200000596044317e-01, -8.900000000000711e-01, -8.599999999999289e-01, -8.299999403955683e-01, -8.000000298022335e-01, -7.699999701977309e-01, -7.39999970197873e-01, -7.100000000001065e-01, -6.800000000000355e-01, -6.499999403955328e-01, -6.200000298021979e-01, -5.899999701976955e-01, -5.599999701978375e-01, -5.300000000001421e-01, -5e-01, -4.699999701981039e-01, -4.399999403962078e-01, -4.09999910594738e-01, -3.800000596036854e-01, -3.500000298017893e-01, -3.200000000001064e-01, -2.899999701981041e-01, -2.599999403963501e-01, -2.299999254955619e-01, -2.000000745045626e-01, -1.700000447027376e-01, -1.400000149009125e-01, -1.099999850990875e-01, -7.999995529726243e-02, -4.999992922068328e-02, -2.000007822977725e-02, 9.999949709432063e-03, 3.999997764863138e-02, 7.000000745066925e-02, 1.000000372522811e-01, 1.300000596036855e-01, 1.599999105945249e-01, 1.899999403963499e-01, 2.19999970198175e-01, 2.5e-01, 2.800000298018961e-01, 3.100000596037922e-01, 3.40000089405262e-01, 3.699999403963146e-01, 3.999999701982107e-01, 4.299999999998936e-01, 4.600000298018959e-01, 4.900000596036499e-01, 5.200000596038631e-01, 5.499999403967762e-01, 5.799999403962078e-01, 6.100000000001421e-01, 6.399999999998579e-01, 6.700000596037922e-01, 7.000000596032238e-01, 7.299999403961369e-01, 7.599999403963501e-01, 7.900000000002133e-01, 8.200000000000709e-01, 8.500000596039341e-01, 8.800000596033657e-01, 9.099999403962078e-01, 9.39999940396492e-01, 9.700000000002842e-01, 1e+00] +extIndSig2.index=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +extIndSig2.y=[-2e+00, -1.95000004656613e+00, -1.89999997392297e+00, -1.850000020489104e+00, -1.799999947845941e+00, -1.750000003725286e+00, -1.700000040978201e+00, -1.649999977648259e+00, -1.600000014901188e+00, -1.549999970197624e+00, -1.500000007450558e+00, -1.450000044703492e+00, -1.399999962747137e+00, -1.350000000000071e+00, -1.299999955296507e+00, -1.250000029802234e+00, -1.200000029802376e+00, -1.149999985098812e+00, -1.100000059604538e+00, -1.049999940395391e+00, -1.000000014901117e+00, -9.499999552966142e-01, -8.999999701976954e-01, -8.500000447034214e-01, -7.999999850989188e-01, -7.5e-01, -6.999999403954973e-01, -6.500000298024822e-01, -6.000000298023045e-01, -5.49999970197802e-01, -5.000000596044671e-01, -4.5e-01, -3.999999701976776e-01, -3.500000596046447e-01, -3.00000029802269e-01, -2.499999701977221e-01, -2.000000745055929e-01, -1.500000298022514e-01, -9.999997764831148e-02, -4.999992921961749e-02, -2.980226121440666e-08, 5.00000186264114e-02, 1.000000670550787e-01, 1.499999701977309e-01, 2.000000149011257e-01, 2.500000596044672e-01, 2.999999701976777e-01, 3.499999999999999e-01, 4.000000596044848e-01, 4.499999403954973e-01, 5e-01, 5.500000596037922e-01, 6.000001192075843e-01, 6.500001192075844e-01, 6.999998807926291e-01, 7.499999403964213e-01, 7.999999999998582e-01, 8.50000059604005e-01, 9.000000596036498e-01, 9.500001192069446e-01, 9.99999880792842e-01, 1.049999880791989e+00, 1.100000000000426e+00, 1.149999999999574e+00, 1.200000119208011e+00, 1.250000119207158e+00, 1.299999821188411e+00, 1.349999940396847e+00, 1.399999940395995e+00, 1.450000059604787e+00, 1.500000059603579e+00, 1.550000059602726e+00, 1.599999880793268e+00, 1.649999880792416e+00, 1.700000000000853e+00, 1.75e+00, 1.799999999999147e+00, 1.850000119207584e+00, 1.900000119206732e+00, 1.949999940397274e+00, 1.999999940396421e+00, 2.049999940395213e+00, 2.099999940394715e+00, 2.150000178812442e+00, 2.200000178811589e+00, 2.249999880792842e+00, 2.299999880791989e+00, 2.349999880791137e+00, 2.400000119208863e+00, 2.450000119208011e+00, 2.500000119207158e+00, 2.549999821188411e+00, 2.599999821187558e+00, 2.650000059605285e+00, 2.700000059604787e+00, 2.750000059603579e+00, 2.800000059602726e+00, 2.849999761583978e+00, 2.900000000001705e+00, 2.950000000000852e+00, 3e+00] +extIndSig3.index=[2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00] +extIndSig3.y=[5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5.500000596037922e-01, 6.000001192075843e-01, 6.500001192075844e-01, 6.999998807926291e-01, 7.499999403964213e-01, 7.999999999998582e-01, 8.50000059604005e-01, 9.000000596036498e-01, 9.500001192069446e-01, 9.99999880792842e-01, 1.049999880791989e+00, 1.100000000000426e+00, 1.149999999999574e+00, 1.200000119208011e+00, 1.250000119207158e+00, 1.299999821188411e+00, 1.349999940396847e+00, 1.399999940395995e+00, 1.450000059604787e+00, 1.500000059603579e+00, 1.550000059602726e+00, 1.599999880793268e+00, 1.649999880792416e+00, 1.700000000000853e+00, 1.75e+00, 1.799999999999147e+00, 1.850000119207584e+00, 1.900000119206732e+00, 1.949999940397274e+00, 1.999999940396421e+00, 2.049999940395213e+00, 2.099999940394715e+00, 2.150000178812442e+00, 2.200000178811589e+00, 2.249999880792842e+00, 2.299999880791989e+00, 2.349999880791137e+00, 2.400000119208863e+00, 2.450000119208011e+00, 2.500000119207158e+00, 2.549999821188411e+00, 2.599999821187558e+00, 2.650000059605285e+00, 2.700000059604787e+00, 2.750000059603579e+00, 2.800000059602726e+00, 2.849999761583978e+00, 2.900000000001705e+00, 2.950000000000852e+00, 3e+00] +extIndSig4.index=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00] +extIndSig4.y=[-2e+00, -1.95000004656613e+00, -1.89999997392297e+00, -1.850000020489104e+00, -1.799999947845941e+00, -1.750000003725286e+00, -1.700000040978201e+00, -1.649999977648259e+00, -1.600000014901188e+00, -1.549999970197624e+00, -1.500000007450558e+00, -1.450000044703492e+00, -1.399999962747137e+00, -1.350000000000071e+00, -1.299999955296507e+00, -1.250000029802234e+00, -1.200000029802376e+00, -1.149999985098812e+00, -1.100000059604538e+00, -1.049999940395391e+00, -1.000000014901117e+00, -9.499999552966142e-01, -8.999999701976954e-01, -8.500000447034214e-01, -7.999999850989188e-01, -7.5e-01, -6.999999403954973e-01, -6.500000298024822e-01, -6.000000298023045e-01, -5.49999970197802e-01, -5.000000596044671e-01, -4.5e-01, -3.999999701976776e-01, -3.500000596046447e-01, -3.00000029802269e-01, -2.499999701977221e-01, -2.000000745055929e-01, -1.500000298022514e-01, -9.999997764831148e-02, -4.999992921961749e-02, -2.980226121440666e-08, 5.00000186264114e-02, 1.000000670550787e-01, 1.499999701977309e-01, 2.000000149011257e-01, 2.500000596044672e-01, 2.999999701976777e-01, 3.499999999999999e-01, 4.000000596044848e-01, 4.499999403954973e-01, 5e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299991011771211e+00, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299999952316284e+00, 1.299982071226054e+00, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01, -2.000000029802322e-01] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Routing_Validation_RealScalarReplicator.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Routing_Validation_RealScalarReplicator.txt new file mode 100644 index 0000000000..6263174260 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Routing_Validation_RealScalarReplicator.txt @@ -0,0 +1,12 @@ +last-generated=2017-07-25 +statistics-simulation= +{ + "numerical Jacobians": "0", + "nonlinear": " ", + "linear": " " +} +reaRep.u=[-2e+00, -1.95000004656613e+00, -1.89999997392297e+00, -1.850000020489104e+00, -1.799999947845941e+00, -1.750000003725286e+00, -1.700000040978201e+00, -1.649999977648259e+00, -1.600000014901188e+00, -1.549999970197624e+00, -1.500000007450558e+00, -1.450000044703492e+00, -1.399999962747137e+00, -1.350000000000071e+00, -1.299999955296507e+00, -1.250000029802234e+00, -1.200000029802376e+00, -1.149999985098812e+00, -1.100000059604538e+00, -1.049999940395391e+00, -1.000000014901117e+00, -9.499999552966142e-01, -8.999999701976954e-01, -8.500000447034214e-01, -7.999999850989188e-01, -7.5e-01, -6.999999403954973e-01, -6.500000298024822e-01, -6.000000298023045e-01, -5.49999970197802e-01, -5.000000596044671e-01, -4.5e-01, -3.999999701976776e-01, -3.500000596046447e-01, -3.00000029802269e-01, -2.499999701977221e-01, -2.000000745055929e-01, -1.500000298022514e-01, -9.999997764831148e-02, -4.999992921961749e-02, -2.980226121440666e-08, 5.00000186264114e-02, 1.000000670550787e-01, 1.499999701977309e-01, 2.000000149011257e-01, 2.500000596044672e-01, 2.999999701976777e-01, 3.499999999999999e-01, 4.000000596044848e-01, 4.499999403954973e-01, 5e-01, 5.500000596037922e-01, 6.000001192075843e-01, 6.500001192075844e-01, 6.999998807926291e-01, 7.499999403964213e-01, 7.999999999998582e-01, 8.50000059604005e-01, 9.000000596036498e-01, 9.500001192069446e-01, 9.99999880792842e-01, 1.049999880791989e+00, 1.100000000000426e+00, 1.149999999999574e+00, 1.200000119208011e+00, 1.250000119207158e+00, 1.299999821188411e+00, 1.349999940396847e+00, 1.399999940395995e+00, 1.450000059604787e+00, 1.500000059603579e+00, 1.550000059602726e+00, 1.599999880793268e+00, 1.649999880792416e+00, 1.700000000000853e+00, 1.75e+00, 1.799999999999147e+00, 1.850000119207584e+00, 1.900000119206732e+00, 1.949999940397274e+00, 1.999999940396421e+00, 2.049999940395213e+00, 2.099999940394715e+00, 2.150000178812442e+00, 2.200000178811589e+00, 2.249999880792842e+00, 2.299999880791989e+00, 2.349999880791137e+00, 2.400000119208863e+00, 2.450000119208011e+00, 2.500000119207158e+00, 2.549999821188411e+00, 2.599999821187558e+00, 2.650000059605285e+00, 2.700000059604787e+00, 2.750000059603579e+00, 2.800000059602726e+00, 2.849999761583978e+00, 2.900000000001705e+00, 2.950000000000852e+00, 3e+00] +time=[0e+00, 1e+00] +reaRep.y[1]=[-2e+00, -1.95000004656613e+00, -1.89999997392297e+00, -1.850000020489104e+00, -1.799999947845941e+00, -1.750000003725286e+00, -1.700000040978201e+00, -1.649999977648259e+00, -1.600000014901188e+00, -1.549999970197624e+00, -1.500000007450558e+00, -1.450000044703492e+00, -1.399999962747137e+00, -1.350000000000071e+00, -1.299999955296507e+00, -1.250000029802234e+00, -1.200000029802376e+00, -1.149999985098812e+00, -1.100000059604538e+00, -1.049999940395391e+00, -1.000000014901117e+00, -9.499999552966142e-01, -8.999999701976954e-01, -8.500000447034214e-01, -7.999999850989188e-01, -7.5e-01, -6.999999403954973e-01, -6.500000298024822e-01, -6.000000298023045e-01, -5.49999970197802e-01, -5.000000596044671e-01, -4.5e-01, -3.999999701976776e-01, -3.500000596046447e-01, -3.00000029802269e-01, -2.499999701977221e-01, -2.000000745055929e-01, -1.500000298022514e-01, -9.999997764831148e-02, -4.999992921961749e-02, -2.980226121440666e-08, 5.00000186264114e-02, 1.000000670550787e-01, 1.499999701977309e-01, 2.000000149011257e-01, 2.500000596044672e-01, 2.999999701976777e-01, 3.499999999999999e-01, 4.000000596044848e-01, 4.499999403954973e-01, 5e-01, 5.500000596037922e-01, 6.000001192075843e-01, 6.500001192075844e-01, 6.999998807926291e-01, 7.499999403964213e-01, 7.999999999998582e-01, 8.50000059604005e-01, 9.000000596036498e-01, 9.500001192069446e-01, 9.99999880792842e-01, 1.049999880791989e+00, 1.100000000000426e+00, 1.149999999999574e+00, 1.200000119208011e+00, 1.250000119207158e+00, 1.299999821188411e+00, 1.349999940396847e+00, 1.399999940395995e+00, 1.450000059604787e+00, 1.500000059603579e+00, 1.550000059602726e+00, 1.599999880793268e+00, 1.649999880792416e+00, 1.700000000000853e+00, 1.75e+00, 1.799999999999147e+00, 1.850000119207584e+00, 1.900000119206732e+00, 1.949999940397274e+00, 1.999999940396421e+00, 2.049999940395213e+00, 2.099999940394715e+00, 2.150000178812442e+00, 2.200000178811589e+00, 2.249999880792842e+00, 2.299999880791989e+00, 2.349999880791137e+00, 2.400000119208863e+00, 2.450000119208011e+00, 2.500000119207158e+00, 2.549999821188411e+00, 2.599999821187558e+00, 2.650000059605285e+00, 2.700000059604787e+00, 2.750000059603579e+00, 2.800000059602726e+00, 2.849999761583978e+00, 2.900000000001705e+00, 2.950000000000852e+00, 3e+00] +reaRep.y[2]=[-2e+00, -1.95000004656613e+00, -1.89999997392297e+00, -1.850000020489104e+00, -1.799999947845941e+00, -1.750000003725286e+00, -1.700000040978201e+00, -1.649999977648259e+00, -1.600000014901188e+00, -1.549999970197624e+00, -1.500000007450558e+00, -1.450000044703492e+00, -1.399999962747137e+00, -1.350000000000071e+00, -1.299999955296507e+00, -1.250000029802234e+00, -1.200000029802376e+00, -1.149999985098812e+00, -1.100000059604538e+00, -1.049999940395391e+00, -1.000000014901117e+00, -9.499999552966142e-01, -8.999999701976954e-01, -8.500000447034214e-01, -7.999999850989188e-01, -7.5e-01, -6.999999403954973e-01, -6.500000298024822e-01, -6.000000298023045e-01, -5.49999970197802e-01, -5.000000596044671e-01, -4.5e-01, -3.999999701976776e-01, -3.500000596046447e-01, -3.00000029802269e-01, -2.499999701977221e-01, -2.000000745055929e-01, -1.500000298022514e-01, -9.999997764831148e-02, -4.999992921961749e-02, -2.980226121440666e-08, 5.00000186264114e-02, 1.000000670550787e-01, 1.499999701977309e-01, 2.000000149011257e-01, 2.500000596044672e-01, 2.999999701976777e-01, 3.499999999999999e-01, 4.000000596044848e-01, 4.499999403954973e-01, 5e-01, 5.500000596037922e-01, 6.000001192075843e-01, 6.500001192075844e-01, 6.999998807926291e-01, 7.499999403964213e-01, 7.999999999998582e-01, 8.50000059604005e-01, 9.000000596036498e-01, 9.500001192069446e-01, 9.99999880792842e-01, 1.049999880791989e+00, 1.100000000000426e+00, 1.149999999999574e+00, 1.200000119208011e+00, 1.250000119207158e+00, 1.299999821188411e+00, 1.349999940396847e+00, 1.399999940395995e+00, 1.450000059604787e+00, 1.500000059603579e+00, 1.550000059602726e+00, 1.599999880793268e+00, 1.649999880792416e+00, 1.700000000000853e+00, 1.75e+00, 1.799999999999147e+00, 1.850000119207584e+00, 1.900000119206732e+00, 1.949999940397274e+00, 1.999999940396421e+00, 2.049999940395213e+00, 2.099999940394715e+00, 2.150000178812442e+00, 2.200000178811589e+00, 2.249999880792842e+00, 2.299999880791989e+00, 2.349999880791137e+00, 2.400000119208863e+00, 2.450000119208011e+00, 2.500000119207158e+00, 2.549999821188411e+00, 2.599999821187558e+00, 2.650000059605285e+00, 2.700000059604787e+00, 2.750000059603579e+00, 2.800000059602726e+00, 2.849999761583978e+00, 2.900000000001705e+00, 2.950000000000852e+00, 3e+00] +reaRep.y[3]=[-2e+00, -1.95000004656613e+00, -1.89999997392297e+00, -1.850000020489104e+00, -1.799999947845941e+00, -1.750000003725286e+00, -1.700000040978201e+00, -1.649999977648259e+00, -1.600000014901188e+00, -1.549999970197624e+00, -1.500000007450558e+00, -1.450000044703492e+00, -1.399999962747137e+00, -1.350000000000071e+00, -1.299999955296507e+00, -1.250000029802234e+00, -1.200000029802376e+00, -1.149999985098812e+00, -1.100000059604538e+00, -1.049999940395391e+00, -1.000000014901117e+00, -9.499999552966142e-01, -8.999999701976954e-01, -8.500000447034214e-01, -7.999999850989188e-01, -7.5e-01, -6.999999403954973e-01, -6.500000298024822e-01, -6.000000298023045e-01, -5.49999970197802e-01, -5.000000596044671e-01, -4.5e-01, -3.999999701976776e-01, -3.500000596046447e-01, -3.00000029802269e-01, -2.499999701977221e-01, -2.000000745055929e-01, -1.500000298022514e-01, -9.999997764831148e-02, -4.999992921961749e-02, -2.980226121440666e-08, 5.00000186264114e-02, 1.000000670550787e-01, 1.499999701977309e-01, 2.000000149011257e-01, 2.500000596044672e-01, 2.999999701976777e-01, 3.499999999999999e-01, 4.000000596044848e-01, 4.499999403954973e-01, 5e-01, 5.500000596037922e-01, 6.000001192075843e-01, 6.500001192075844e-01, 6.999998807926291e-01, 7.499999403964213e-01, 7.999999999998582e-01, 8.50000059604005e-01, 9.000000596036498e-01, 9.500001192069446e-01, 9.99999880792842e-01, 1.049999880791989e+00, 1.100000000000426e+00, 1.149999999999574e+00, 1.200000119208011e+00, 1.250000119207158e+00, 1.299999821188411e+00, 1.349999940396847e+00, 1.399999940395995e+00, 1.450000059604787e+00, 1.500000059603579e+00, 1.550000059602726e+00, 1.599999880793268e+00, 1.649999880792416e+00, 1.700000000000853e+00, 1.75e+00, 1.799999999999147e+00, 1.850000119207584e+00, 1.900000119206732e+00, 1.949999940397274e+00, 1.999999940396421e+00, 2.049999940395213e+00, 2.099999940394715e+00, 2.150000178812442e+00, 2.200000178811589e+00, 2.249999880792842e+00, 2.299999880791989e+00, 2.349999880791137e+00, 2.400000119208863e+00, 2.450000119208011e+00, 2.500000119207158e+00, 2.549999821188411e+00, 2.599999821187558e+00, 2.650000059605285e+00, 2.700000059604787e+00, 2.750000059603579e+00, 2.800000059602726e+00, 2.849999761583978e+00, 2.900000000001705e+00, 2.950000000000852e+00, 3e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Routing_Validation_RealVectorFilter.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Routing_Validation_RealVectorFilter.txt new file mode 100644 index 0000000000..5d9c676d30 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Routing_Validation_RealVectorFilter.txt @@ -0,0 +1,13 @@ +last-generated=2021-06-25 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +time=[0e+00, 1e+00] +reaFil.u[1]=[1e+00, 1e+00] +reaFil.u[2]=[2e+00, 2e+00] +reaFil.u[3]=[3e+00, 3e+00] +reaFil.y[1]=[1e+00, 1e+00] +reaFil.y[2]=[3e+00, 3e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Routing_Validation_RealVectorReplicator.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Routing_Validation_RealVectorReplicator.txt new file mode 100644 index 0000000000..5ec9c5a39e --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Routing_Validation_RealVectorReplicator.txt @@ -0,0 +1,12 @@ +last-generated=2021-06-25 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +time=[0e+00, 1e+00] +reaRep.u[1]=[-2e+00, -1.95000004656613e+00, -1.89999997392297e+00, -1.850000020489104e+00, -1.799999947845941e+00, -1.750000003725286e+00, -1.700000040978201e+00, -1.649999977648259e+00, -1.600000014901188e+00, -1.549999970197624e+00, -1.500000007450558e+00, -1.450000044703492e+00, -1.399999962747137e+00, -1.350000000000071e+00, -1.299999955296507e+00, -1.250000029802234e+00, -1.200000029802376e+00, -1.149999985098812e+00, -1.100000059604538e+00, -1.049999940395391e+00, -1.000000014901117e+00, -9.499999552966142e-01, -8.999999701976954e-01, -8.500000447034214e-01, -7.999999850989188e-01, -7.5e-01, -6.999999403954973e-01, -6.500000298024822e-01, -6.000000298023045e-01, -5.49999970197802e-01, -5.000000596044671e-01, -4.5e-01, -3.999999701976776e-01, -3.500000596046447e-01, -3.00000029802269e-01, -2.499999701977221e-01, -2.000000745055929e-01, -1.500000298022514e-01, -9.999997764831148e-02, -4.999992921961749e-02, -2.980225988213903e-08, 5.00000186264114e-02, 1.000000670550787e-01, 1.499999701977309e-01, 2.000000149011257e-01, 2.500000596044672e-01, 2.999999701976777e-01, 3.499999999999999e-01, 4.000000596044848e-01, 4.499999403954973e-01, 5e-01, 5.500000596037922e-01, 6.000001192075843e-01, 6.500001192075844e-01, 6.999998807926291e-01, 7.499999403964213e-01, 7.999999999998582e-01, 8.50000059604005e-01, 9.000000596036498e-01, 9.500001192069446e-01, 9.99999880792842e-01, 1.049999880791989e+00, 1.100000000000426e+00, 1.149999999999574e+00, 1.200000119208011e+00, 1.250000119207158e+00, 1.299999821188411e+00, 1.349999940396847e+00, 1.399999940395995e+00, 1.450000059604787e+00, 1.500000059603579e+00, 1.550000059602726e+00, 1.599999880793268e+00, 1.649999880792416e+00, 1.700000000000853e+00, 1.75e+00, 1.799999999999147e+00, 1.850000119207584e+00, 1.900000119206732e+00, 1.949999940397274e+00, 1.999999940396421e+00, 2.049999940395213e+00, 2.099999940394715e+00, 2.150000178812442e+00, 2.200000178811589e+00, 2.249999880792842e+00, 2.299999880791989e+00, 2.349999880791137e+00, 2.400000119208863e+00, 2.450000119208011e+00, 2.500000119207158e+00, 2.549999821188411e+00, 2.599999821187558e+00, 2.650000059605285e+00, 2.700000059604787e+00, 2.750000059603579e+00, 2.800000059602726e+00, 2.849999761583978e+00, 2.900000000001705e+00, 2.950000000000852e+00, 3e+00] +reaRep.y[1, 1]=[-2e+00, -1.95000004656613e+00, -1.89999997392297e+00, -1.850000020489104e+00, -1.799999947845941e+00, -1.750000003725286e+00, -1.700000040978201e+00, -1.649999977648259e+00, -1.600000014901188e+00, -1.549999970197624e+00, -1.500000007450558e+00, -1.450000044703492e+00, -1.399999962747137e+00, -1.350000000000071e+00, -1.299999955296507e+00, -1.250000029802234e+00, -1.200000029802376e+00, -1.149999985098812e+00, -1.100000059604538e+00, -1.049999940395391e+00, -1.000000014901117e+00, -9.499999552966142e-01, -8.999999701976954e-01, -8.500000447034214e-01, -7.999999850989188e-01, -7.5e-01, -6.999999403954973e-01, -6.500000298024822e-01, -6.000000298023045e-01, -5.49999970197802e-01, -5.000000596044671e-01, -4.5e-01, -3.999999701976776e-01, -3.500000596046447e-01, -3.00000029802269e-01, -2.499999701977221e-01, -2.000000745055929e-01, -1.500000298022514e-01, -9.999997764831148e-02, -4.999992921961749e-02, -2.980225988213903e-08, 5.00000186264114e-02, 1.000000670550787e-01, 1.499999701977309e-01, 2.000000149011257e-01, 2.500000596044672e-01, 2.999999701976777e-01, 3.499999999999999e-01, 4.000000596044848e-01, 4.499999403954973e-01, 5e-01, 5.500000596037922e-01, 6.000001192075843e-01, 6.500001192075844e-01, 6.999998807926291e-01, 7.499999403964213e-01, 7.999999999998582e-01, 8.50000059604005e-01, 9.000000596036498e-01, 9.500001192069446e-01, 9.99999880792842e-01, 1.049999880791989e+00, 1.100000000000426e+00, 1.149999999999574e+00, 1.200000119208011e+00, 1.250000119207158e+00, 1.299999821188411e+00, 1.349999940396847e+00, 1.399999940395995e+00, 1.450000059604787e+00, 1.500000059603579e+00, 1.550000059602726e+00, 1.599999880793268e+00, 1.649999880792416e+00, 1.700000000000853e+00, 1.75e+00, 1.799999999999147e+00, 1.850000119207584e+00, 1.900000119206732e+00, 1.949999940397274e+00, 1.999999940396421e+00, 2.049999940395213e+00, 2.099999940394715e+00, 2.150000178812442e+00, 2.200000178811589e+00, 2.249999880792842e+00, 2.299999880791989e+00, 2.349999880791137e+00, 2.400000119208863e+00, 2.450000119208011e+00, 2.500000119207158e+00, 2.549999821188411e+00, 2.599999821187558e+00, 2.650000059605285e+00, 2.700000059604787e+00, 2.750000059603579e+00, 2.800000059602726e+00, 2.849999761583978e+00, 2.900000000001705e+00, 2.950000000000852e+00, 3e+00] +reaRep.y[2, 2]=[-2e+00, -1.95000004656613e+00, -1.89999997392297e+00, -1.850000020489104e+00, -1.799999947845941e+00, -1.750000003725286e+00, -1.700000040978201e+00, -1.649999977648259e+00, -1.600000014901188e+00, -1.549999970197624e+00, -1.500000007450558e+00, -1.450000044703492e+00, -1.399999962747137e+00, -1.350000000000071e+00, -1.299999955296507e+00, -1.250000029802234e+00, -1.200000029802376e+00, -1.149999985098812e+00, -1.100000059604538e+00, -1.049999940395391e+00, -1.000000014901117e+00, -9.499999552966142e-01, -8.999999701976954e-01, -8.500000447034214e-01, -7.999999850989188e-01, -7.5e-01, -6.999999403954973e-01, -6.500000298024822e-01, -6.000000298023045e-01, -5.49999970197802e-01, -5.000000596044671e-01, -4.5e-01, -3.999999701976776e-01, -3.500000596046447e-01, -3.00000029802269e-01, -2.499999701977221e-01, -2.000000745055929e-01, -1.500000298022514e-01, -9.999997764831148e-02, -4.999992921961749e-02, -2.980225988213903e-08, 5.00000186264114e-02, 1.000000670550787e-01, 1.499999701977309e-01, 2.000000149011257e-01, 2.500000596044672e-01, 2.999999701976777e-01, 3.499999999999999e-01, 4.000000596044848e-01, 4.499999403954973e-01, 5e-01, 5.500000596037922e-01, 6.000001192075843e-01, 6.500001192075844e-01, 6.999998807926291e-01, 7.499999403964213e-01, 7.999999999998582e-01, 8.50000059604005e-01, 9.000000596036498e-01, 9.500001192069446e-01, 9.99999880792842e-01, 1.049999880791989e+00, 1.100000000000426e+00, 1.149999999999574e+00, 1.200000119208011e+00, 1.250000119207158e+00, 1.299999821188411e+00, 1.349999940396847e+00, 1.399999940395995e+00, 1.450000059604787e+00, 1.500000059603579e+00, 1.550000059602726e+00, 1.599999880793268e+00, 1.649999880792416e+00, 1.700000000000853e+00, 1.75e+00, 1.799999999999147e+00, 1.850000119207584e+00, 1.900000119206732e+00, 1.949999940397274e+00, 1.999999940396421e+00, 2.049999940395213e+00, 2.099999940394715e+00, 2.150000178812442e+00, 2.200000178811589e+00, 2.249999880792842e+00, 2.299999880791989e+00, 2.349999880791137e+00, 2.400000119208863e+00, 2.450000119208011e+00, 2.500000119207158e+00, 2.549999821188411e+00, 2.599999821187558e+00, 2.650000059605285e+00, 2.700000059604787e+00, 2.750000059603579e+00, 2.800000059602726e+00, 2.849999761583978e+00, 2.900000000001705e+00, 2.950000000000852e+00, 3e+00] +reaRep.y[3, 2]=[-2e+00, -1.95000004656613e+00, -1.89999997392297e+00, -1.850000020489104e+00, -1.799999947845941e+00, -1.750000003725286e+00, -1.700000040978201e+00, -1.649999977648259e+00, -1.600000014901188e+00, -1.549999970197624e+00, -1.500000007450558e+00, -1.450000044703492e+00, -1.399999962747137e+00, -1.350000000000071e+00, -1.299999955296507e+00, -1.250000029802234e+00, -1.200000029802376e+00, -1.149999985098812e+00, -1.100000059604538e+00, -1.049999940395391e+00, -1.000000014901117e+00, -9.499999552966142e-01, -8.999999701976954e-01, -8.500000447034214e-01, -7.999999850989188e-01, -7.5e-01, -6.999999403954973e-01, -6.500000298024822e-01, -6.000000298023045e-01, -5.49999970197802e-01, -5.000000596044671e-01, -4.5e-01, -3.999999701976776e-01, -3.500000596046447e-01, -3.00000029802269e-01, -2.499999701977221e-01, -2.000000745055929e-01, -1.500000298022514e-01, -9.999997764831148e-02, -4.999992921961749e-02, -2.980225988213903e-08, 5.00000186264114e-02, 1.000000670550787e-01, 1.499999701977309e-01, 2.000000149011257e-01, 2.500000596044672e-01, 2.999999701976777e-01, 3.499999999999999e-01, 4.000000596044848e-01, 4.499999403954973e-01, 5e-01, 5.500000596037922e-01, 6.000001192075843e-01, 6.500001192075844e-01, 6.999998807926291e-01, 7.499999403964213e-01, 7.999999999998582e-01, 8.50000059604005e-01, 9.000000596036498e-01, 9.500001192069446e-01, 9.99999880792842e-01, 1.049999880791989e+00, 1.100000000000426e+00, 1.149999999999574e+00, 1.200000119208011e+00, 1.250000119207158e+00, 1.299999821188411e+00, 1.349999940396847e+00, 1.399999940395995e+00, 1.450000059604787e+00, 1.500000059603579e+00, 1.550000059602726e+00, 1.599999880793268e+00, 1.649999880792416e+00, 1.700000000000853e+00, 1.75e+00, 1.799999999999147e+00, 1.850000119207584e+00, 1.900000119206732e+00, 1.949999940397274e+00, 1.999999940396421e+00, 2.049999940395213e+00, 2.099999940394715e+00, 2.150000178812442e+00, 2.200000178811589e+00, 2.249999880792842e+00, 2.299999880791989e+00, 2.349999880791137e+00, 2.400000119208863e+00, 2.450000119208011e+00, 2.500000119207158e+00, 2.549999821188411e+00, 2.599999821187558e+00, 2.650000059605285e+00, 2.700000059604787e+00, 2.750000059603579e+00, 2.800000059602726e+00, 2.849999761583978e+00, 2.900000000001705e+00, 2.950000000000852e+00, 3e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Utilities_Validation_Assert.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Utilities_Validation_Assert.txt new file mode 100644 index 0000000000..fa3676f443 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Utilities_Validation_Assert.txt @@ -0,0 +1,9 @@ +last-generated=2018-07-13 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +assert.u=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +time=[0e+00, 1e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Utilities_Validation_SunRiseSet.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Utilities_Validation_SunRiseSet.txt new file mode 100644 index 0000000000..92ceab0879 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Utilities_Validation_SunRiseSet.txt @@ -0,0 +1,20 @@ +last-generated=2022-01-07 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +time=[0e+00, 3.1536e+07] +sunRiseSetArctic.nextSunRise=[2.63381025e+06, 2.63381025e+06, 2.63381025e+06, 2.63381025e+06, 2.63381025e+06, 2.63381025e+06, 2.63381025e+06, 2.63381025e+06, 2.63381025e+06, 2.88969725e+06, 3.2331195e+06, 3.490975e+06, 3.834971e+06, 4.17909625e+06, 4.437246e+06, 4.781496e+06, 5.1257885e+06, 5.384027e+06, 5.728365e+06, 6.072718e+06, 6.3309895e+06, 6.6753565e+06, 7.019726e+06, 7.2780025e+06, 7.6223665e+06, 7.9667225e+06, 8.224981e+06, 8.569311e+06, 8.913617e+06, 9.171825e+06, 9.516067e+06, 9.860251e+06, 1.0118336e+07, 1.0462344e+07, 1.0806156e+07, 1.1063772e+07, 1.1406247e+07, 1.8404958e+07, 1.8404958e+07, 1.8404958e+07, 1.8404958e+07, 1.8404958e+07, 1.8404958e+07, 1.8404958e+07, 1.8404958e+07, 1.8404958e+07, 1.8404958e+07, 1.8404958e+07, 1.8404958e+07, 1.8404958e+07, 1.8404958e+07, 1.8404958e+07, 1.8404958e+07, 1.8404958e+07, 1.8404958e+07, 1.8404958e+07, 1.8404958e+07, 1.8404958e+07, 1.8404958e+07, 1.866682e+07, 1.8927732e+07, 1.927516e+07, 1.962233e+07, 1.9882604e+07, 2.0229542e+07, 2.0576398e+07, 2.08365e+07, 2.1183264e+07, 2.1529992e+07, 2.1790022e+07, 2.2136712e+07, 2.2396722e+07, 2.2743396e+07, 2.3090074e+07, 2.3350086e+07, 2.3696784e+07, 2.4043502e+07, 2.430356e+07, 2.4650338e+07, 2.4997164e+07, 2.5257322e+07, 2.5604268e+07, 2.5864544e+07, 2.6211702e+07, 2.6559072e+07, 2.681985e+07, 2.7168508e+07, 3.4169436e+07, 3.4169436e+07, 3.4169436e+07, 3.4169436e+07, 3.4169436e+07, 3.4169436e+07, 3.4169436e+07, 3.4169436e+07, 3.4169436e+07, 3.4169436e+07, 3.4169436e+07, 3.4169436e+07, 3.4169436e+07, 3.4169436e+07] +sunRiseSetArctic.nextSunSet=[2.63677075e+06, 2.63677075e+06, 2.63677075e+06, 2.63677075e+06, 2.63677075e+06, 2.63677075e+06, 2.63677075e+06, 2.63677075e+06, 2.63677075e+06, 2.8994075e+06, 3.160341e+06, 3.507811e+06, 3.8550245e+06, 4.11533025e+06, 4.4623075e+06, 4.809202e+06, 5.069331e+06, 5.416126e+06, 5.7628825e+06, 6.02293e+06, 6.369641e+06, 6.6296635e+06, 6.9763525e+06, 7.3230385e+06, 7.5830555e+06, 7.9297545e+06, 8.27647e+06, 8.536523e+06, 8.88329e+06, 9.230101e+06, 9.490246e+06, 9.837172e+06, 1.009743e+07, 1.0444561e+07, 1.0791906e+07, 1.1052669e+07, 1.1401365e+07, 1.840076e+07, 1.840076e+07, 1.840076e+07, 1.840076e+07, 1.840076e+07, 1.840076e+07, 1.840076e+07, 1.840076e+07, 1.840076e+07, 1.840076e+07, 1.840076e+07, 1.840076e+07, 1.840076e+07, 1.840076e+07, 1.840076e+07, 1.840076e+07, 1.840076e+07, 1.840076e+07, 1.840076e+07, 1.840076e+07, 1.840076e+07, 1.840076e+07, 1.8657282e+07, 1.9000628e+07, 1.9258438e+07, 1.960238e+07, 1.9946458e+07, 2.0204572e+07, 2.0548782e+07, 2.0893036e+07, 2.115125e+07, 2.1495558e+07, 2.1839886e+07, 2.2098142e+07, 2.244249e+07, 2.2786848e+07, 2.3045116e+07, 2.3389476e+07, 2.3733832e+07, 2.3992094e+07, 2.4336432e+07, 2.468075e+07, 2.4938972e+07, 2.5283234e+07, 2.5627446e+07, 2.5885554e+07, 2.6229598e+07, 2.6573452e+07, 2.683111e+07, 2.7173708e+07, 3.4173204e+07, 3.4173204e+07, 3.4173204e+07, 3.4173204e+07, 3.4173204e+07, 3.4173204e+07, 3.4173204e+07, 3.4173204e+07, 3.4173204e+07, 3.4173204e+07, 3.4173204e+07, 3.4173204e+07, 3.4173204e+07, 3.4173204e+07] +sunRiseSetArctic.sunUp=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 0e+00, 0e+00, 1e+00, 0e+00, 0e+00, 1e+00, 0e+00, 0e+00, 1e+00, 0e+00, 1e+00, 1e+00, 0e+00, 1e+00, 1e+00, 0e+00, 1e+00, 1e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 1e+00, 1e+00, 0e+00, 1e+00, 1e+00, 0e+00, 1e+00, 1e+00, 0e+00, 1e+00, 0e+00, 0e+00, 1e+00, 0e+00, 0e+00, 1e+00, 0e+00, 0e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +sunRiseSetSf.nextSunRise=[2.6792416015625e+04, 3.724201875e+05, 6.316188125e+05, 9.771905625e+05, 1.32273225e+06, 1.581869125e+06, 1.92735975e+06, 2.2728225e+06, 2.53190175e+06, 2.8773185e+06, 3.22271075e+06, 3.48174e+06, 3.82709325e+06, 4.17242675e+06, 4.431415e+06, 4.7767175e+06, 5.1220055e+06, 5.380963e+06, 5.7262295e+06, 6.0714865e+06, 6.3304245e+06, 6.67567e+06, 7.0209115e+06, 7.2798415e+06, 7.6250815e+06, 7.884013e+06, 8.229258e+06, 8.574508e+06, 8.833451e+06, 9.178717e+06, 9.523993e+06, 9.782959e+06, 1.012826e+07, 1.0473576e+07, 1.0732576e+07, 1.1077925e+07, 1.1423295e+07, 1.1682338e+07, 1.2027748e+07, 1.2373184e+07, 1.2632278e+07, 1.2977759e+07, 1.3323269e+07, 1.3582419e+07, 1.3927977e+07, 1.4273564e+07, 1.4532772e+07, 1.4878406e+07, 1.5137649e+07, 1.5483328e+07, 1.582903e+07, 1.608832e+07, 1.6434056e+07, 1.677981e+07, 1.7039134e+07, 1.738491e+07, 1.7730696e+07, 1.799004e+07, 1.8335836e+07, 1.8681636e+07, 1.8940988e+07, 1.928679e+07, 1.9632592e+07, 1.9891942e+07, 2.0237742e+07, 2.058354e+07, 2.0842886e+07, 2.118868e+07, 2.1448026e+07, 2.1793818e+07, 2.2139612e+07, 2.2398956e+07, 2.2744752e+07, 2.309055e+07, 2.3349902e+07, 2.3695706e+07, 2.4041516e+07, 2.4300878e+07, 2.46467e+07, 2.4992528e+07, 2.5251904e+07, 2.5597744e+07, 2.5943588e+07, 2.6202976e+07, 2.654883e+07, 2.6808224e+07, 2.7154082e+07, 2.749994e+07, 2.7759332e+07, 2.8105184e+07, 2.8451028e+07, 2.8710404e+07, 2.905623e+07, 2.9402038e+07, 2.9661382e+07, 3.0007156e+07, 3.0352908e+07, 3.0612206e+07, 3.095791e+07, 3.1303588e+07, 3.1562826e+07] +sunRiseSetSf.nextSunSet=[6.100040625e+04, 3.203701875e+05, 6.66171625e+05, 1.01198925e+06, 1.27136125e+06, 1.617200125e+06, 1.96304725e+06, 2.22243625e+06, 2.5682915e+06, 2.91414775e+06, 3.17353975e+06, 3.519394e+06, 3.86524475e+06, 4.12463e+06, 4.4704725e+06, 4.8163095e+06, 5.0756835e+06, 5.421511e+06, 5.680878e+06, 6.0266965e+06, 6.372511e+06, 6.631869e+06, 6.977678e+06, 7.3234855e+06, 7.58284e+06, 7.9286465e+06, 8.2744535e+06, 8.53381e+06, 8.879619e+06, 9.225431e+06, 9.484792e+06, 9.830608e+06, 1.0176426e+07, 1.043579e+07, 1.0781609e+07, 1.1040974e+07, 1.1386791e+07, 1.1732604e+07, 1.1991961e+07, 1.2337763e+07, 1.2683554e+07, 1.294289e+07, 1.3288657e+07, 1.3634408e+07, 1.3893707e+07, 1.423942e+07, 1.4585109e+07, 1.4844359e+07, 1.5190001e+07, 1.5535614e+07, 1.5794804e+07, 1.6140366e+07, 1.6399517e+07, 1.6745026e+07, 1.7090504e+07, 1.7349596e+07, 1.7695026e+07, 1.804043e+07, 1.8299466e+07, 1.8644828e+07, 1.8990166e+07, 1.9249158e+07, 1.9594462e+07, 1.993975e+07, 2.0198706e+07, 2.054397e+07, 2.0889222e+07, 2.1148154e+07, 2.1493392e+07, 2.1838624e+07, 2.2097546e+07, 2.2442774e+07, 2.2788004e+07, 2.3046926e+07, 2.3392162e+07, 2.3737404e+07, 2.399634e+07, 2.4341598e+07, 2.460055e+07, 2.494583e+07, 2.5291126e+07, 2.5550108e+07, 2.5895436e+07, 2.6240784e+07, 2.6499808e+07, 2.6845194e+07, 2.7190606e+07, 2.744968e+07, 2.7795138e+07, 2.8140622e+07, 2.8399754e+07, 2.8745288e+07, 2.9090854e+07, 2.9350046e+07, 2.9695664e+07, 3.004131e+07, 3.0300564e+07, 3.064626e+07, 3.0905548e+07, 3.125129e+07, 3.1597054e+07] +sunRiseSetSf.sunUp=[0e+00, 1e+00, 0e+00, 0e+00, 1e+00, 0e+00, 0e+00, 1e+00, 0e+00, 0e+00, 1e+00, 0e+00, 0e+00, 1e+00, 0e+00, 0e+00, 1e+00, 0e+00, 1e+00, 1e+00, 0e+00, 1e+00, 1e+00, 0e+00, 1e+00, 0e+00, 0e+00, 1e+00, 0e+00, 0e+00, 1e+00, 0e+00, 0e+00, 1e+00, 0e+00, 1e+00, 1e+00, 0e+00, 1e+00, 1e+00, 0e+00, 1e+00, 1e+00, 0e+00, 1e+00, 1e+00, 0e+00, 1e+00, 0e+00, 0e+00, 1e+00, 0e+00, 1e+00, 1e+00, 0e+00, 1e+00, 1e+00, 0e+00, 1e+00, 1e+00, 0e+00, 1e+00, 1e+00, 0e+00, 1e+00, 1e+00, 0e+00, 1e+00, 0e+00, 0e+00, 1e+00, 0e+00, 0e+00, 1e+00, 0e+00, 0e+00, 1e+00, 0e+00, 1e+00, 1e+00, 0e+00, 1e+00, 1e+00, 0e+00, 1e+00, 0e+00, 0e+00, 1e+00, 0e+00, 0e+00, 1e+00, 0e+00, 0e+00, 1e+00, 0e+00, 0e+00, 1e+00, 0e+00, 1e+00, 1e+00, 0e+00] +sunRiseSetAntarctic.nextSunRise=[3.54663475e+06, 3.54663475e+06, 3.54663475e+06, 3.54663475e+06, 3.54663475e+06, 3.54663475e+06, 3.54663475e+06, 3.54663475e+06, 3.54663475e+06, 3.54663475e+06, 3.54663475e+06, 3.54663475e+06, 3.808946e+06, 4.15711275e+06, 4.417872e+06, 4.7653025e+06, 5.112556e+06, 5.372918e+06, 5.719993e+06, 6.067007e+06, 6.3272395e+06, 6.674192e+06, 7.021129e+06, 7.2813305e+06, 7.628273e+06, 7.8884935e+06, 8.235484e+06, 8.582527e+06, 8.842856e+06, 9.190054e+06, 9.537404e+06, 9.798073e+06, 1.0146011e+07, 1.0407642e+07, 1.930895e+07, 1.930895e+07, 1.930895e+07, 1.930895e+07, 1.930895e+07, 1.930895e+07, 1.930895e+07, 1.930895e+07, 1.930895e+07, 1.930895e+07, 1.930895e+07, 1.930895e+07, 1.930895e+07, 1.930895e+07, 1.930895e+07, 1.930895e+07, 1.930895e+07, 1.930895e+07, 1.930895e+07, 1.930895e+07, 1.930895e+07, 1.930895e+07, 1.930895e+07, 1.930895e+07, 1.930895e+07, 1.930895e+07, 1.930895e+07, 1.930895e+07, 1.9564998e+07, 1.9907952e+07, 2.0251428e+07, 2.0509202e+07, 2.0853038e+07, 2.1196974e+07, 2.1454974e+07, 2.1799018e+07, 2.2143096e+07, 2.2401168e+07, 2.2745278e+07, 2.3089394e+07, 2.3347476e+07, 2.3691574e+07, 2.4035648e+07, 2.4293678e+07, 2.463767e+07, 2.4981576e+07, 2.5239422e+07, 2.5583038e+07, 2.5926268e+07, 2.618305e+07, 3.508222e+07, 3.508222e+07, 3.508222e+07, 3.508222e+07, 3.508222e+07, 3.508222e+07, 3.508222e+07, 3.508222e+07, 3.508222e+07, 3.508222e+07, 3.508222e+07, 3.508222e+07, 3.508222e+07, 3.508222e+07, 3.508222e+07, 3.508222e+07, 3.508222e+07] +sunRiseSetAntarctic.nextSunSet=[3.54135425e+06, 3.54135425e+06, 3.54135425e+06, 3.54135425e+06, 3.54135425e+06, 3.54135425e+06, 3.54135425e+06, 3.54135425e+06, 3.54135425e+06, 3.54135425e+06, 3.54135425e+06, 3.54135425e+06, 3.7975315e+06, 4.14055975e+06, 4.4840885e+06, 4.7418975e+06, 5.0857725e+06, 5.429745e+06, 5.6877675e+06, 6.0318375e+06, 6.375937e+06, 6.6340245e+06, 6.978148e+06, 7.322271e+06, 7.5803575e+06, 7.9244565e+06, 8.2685255e+06, 8.526549e+06, 8.870526e+06, 9.214412e+06, 9.47224e+06, 9.815823e+06, 1.0159006e+07, 1.0415718e+07, 1.9313894e+07, 1.9313894e+07, 1.9313894e+07, 1.9313894e+07, 1.9313894e+07, 1.9313894e+07, 1.9313894e+07, 1.9313894e+07, 1.9313894e+07, 1.9313894e+07, 1.9313894e+07, 1.9313894e+07, 1.9313894e+07, 1.9313894e+07, 1.9313894e+07, 1.9313894e+07, 1.9313894e+07, 1.9313894e+07, 1.9313894e+07, 1.9313894e+07, 1.9313894e+07, 1.9313894e+07, 1.9313894e+07, 1.9313894e+07, 1.9313894e+07, 1.9313894e+07, 1.9313894e+07, 1.9313894e+07, 1.9576208e+07, 1.9924354e+07, 2.018509e+07, 2.0532488e+07, 2.087971e+07, 2.1140048e+07, 2.1487096e+07, 2.1834086e+07, 2.2094304e+07, 2.2441238e+07, 2.2788164e+07, 2.3048358e+07, 2.3395294e+07, 2.3655514e+07, 2.4002506e+07, 2.4349554e+07, 2.460989e+07, 2.49571e+07, 2.5304464e+07, 2.5565142e+07, 2.591309e+07, 2.6262256e+07, 3.5077808e+07, 3.5077808e+07, 3.5077808e+07, 3.5077808e+07, 3.5077808e+07, 3.5077808e+07, 3.5077808e+07, 3.5077808e+07, 3.5077808e+07, 3.5077808e+07, 3.5077808e+07, 3.5077808e+07, 3.5077808e+07, 3.5077808e+07, 3.5077808e+07, 3.5077808e+07, 3.5077808e+07] +sunRiseSetAntarctic.sunUp=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 1e+00, 1e+00, 0e+00, 1e+00, 1e+00, 0e+00, 1e+00, 1e+00, 0e+00, 1e+00, 0e+00, 0e+00, 1e+00, 0e+00, 0e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 0e+00, 0e+00, 1e+00, 0e+00, 0e+00, 1e+00, 0e+00, 0e+00, 1e+00, 0e+00, 1e+00, 1e+00, 0e+00, 1e+00, 1e+00, 0e+00, 1e+00, 1e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +sunRiseSetSyd.nextSunRise=[1.7566767578125e+04, 3.633510625e+05, 7.0914275e+05, 9.68495375e+05, 1.314308375e+06, 1.66013e+06, 1.91950025e+06, 2.2653305e+06, 2.52470475e+06, 2.87053675e+06, 3.21636725e+06, 3.47573825e+06, 3.8215625e+06, 4.16738175e+06, 4.4267425e+06, 4.772552e+06, 5.118355e+06, 5.3777035e+06, 5.723497e+06, 6.0692855e+06, 6.3286235e+06, 6.6744055e+06, 7.020184e+06, 7.279517e+06, 7.625294e+06, 7.8846265e+06, 8.2304035e+06, 8.576182e+06, 8.835518e+06, 9.1813e+06, 9.527086e+06, 9.786426e+06, 1.0132216e+07, 1.0478008e+07, 1.0737353e+07, 1.1083146e+07, 1.1428938e+07, 1.1688281e+07, 1.2034067e+07, 1.2379848e+07, 1.2639177e+07, 1.2984941e+07, 1.3330692e+07, 1.3589996e+07, 1.3935718e+07, 1.4194998e+07, 1.4540685e+07, 1.4886349e+07, 1.5145582e+07, 1.5491202e+07, 1.5836796e+07, 1.6095974e+07, 1.6441521e+07, 1.678704e+07, 1.7046162e+07, 1.7391634e+07, 1.7737082e+07, 1.799615e+07, 1.8341556e+07, 1.8686938e+07, 1.8945962e+07, 1.9291308e+07, 1.9636638e+07, 1.9895626e+07, 2.0240928e+07, 2.0499898e+07, 2.084518e+07, 2.1190452e+07, 2.1449402e+07, 2.1794664e+07, 2.2139924e+07, 2.2398866e+07, 2.2744126e+07, 2.3089386e+07, 2.3348334e+07, 2.3693604e+07, 2.4038884e+07, 2.4297848e+07, 2.4643146e+07, 2.4988458e+07, 2.524745e+07, 2.559279e+07, 2.5938148e+07, 2.6197178e+07, 2.654257e+07, 2.6887986e+07, 2.7147062e+07, 2.749252e+07, 2.7838002e+07, 2.809713e+07, 2.8442658e+07, 2.8701822e+07, 2.9047398e+07, 2.9393002e+07, 2.9652222e+07, 2.9997872e+07, 3.0343548e+07, 3.0602822e+07, 3.094854e+07, 3.129428e+07, 3.1553598e+07] +sunRiseSetSyd.nextSunSet=[6.87860546875e+04, 3.280208125e+05, 6.7363075e+05, 1.0192130625e+06, 1.278381625e+06, 1.62391575e+06, 1.969423125e+06, 2.2285365e+06, 2.57399875e+06, 2.91943675e+06, 3.1785e+06, 3.5238985e+06, 3.86927625e+06, 4.128297e+06, 4.4736425e+06, 4.732641e+06, 5.07796e+06, 5.4232655e+06, 5.6822375e+06, 6.027525e+06, 6.372805e+06, 6.6317615e+06, 6.977033e+06, 7.322303e+06, 7.581255e+06, 7.9265265e+06, 8.2718015e+06, 8.530761e+06, 8.876048e+06, 9.221343e+06, 9.480322e+06, 9.825638e+06, 1.0170968e+07, 1.0429976e+07, 1.0775335e+07, 1.1120712e+07, 1.1379759e+07, 1.1725172e+07, 1.1984246e+07, 1.2329699e+07, 1.2675176e+07, 1.29343e+07, 1.3279821e+07, 1.3625367e+07, 1.3884543e+07, 1.4230134e+07, 1.4575749e+07, 1.4834976e+07, 1.5180633e+07, 1.552631e+07, 1.5785582e+07, 1.6131293e+07, 1.647702e+07, 1.6736324e+07, 1.7082074e+07, 1.7427832e+07, 1.7687156e+07, 1.8032926e+07, 1.8292258e+07, 1.8638032e+07, 1.898381e+07, 1.9243142e+07, 1.9588916e+07, 1.993469e+07, 2.0194018e+07, 2.0539788e+07, 2.0885554e+07, 2.1144878e+07, 2.1490642e+07, 2.1836406e+07, 2.2095728e+07, 2.2441492e+07, 2.2787258e+07, 2.3046584e+07, 2.3392356e+07, 2.3738132e+07, 2.3997468e+07, 2.4343254e+07, 2.4602598e+07, 2.4948396e+07, 2.52942e+07, 2.555356e+07, 2.5899376e+07, 2.62452e+07, 2.650457e+07, 2.6850402e+07, 2.7196236e+07, 2.7455612e+07, 2.7801446e+07, 2.8147276e+07, 2.8406644e+07, 2.8752464e+07, 2.9098272e+07, 2.9357618e+07, 2.9703402e+07, 2.9962726e+07, 3.0308476e+07, 3.0654204e+07, 3.0913484e+07, 3.1259168e+07, 3.1604826e+07] +sunRiseSetSyd.sunUp=[0e+00, 1e+00, 1e+00, 0e+00, 1e+00, 1e+00, 0e+00, 1e+00, 0e+00, 0e+00, 1e+00, 0e+00, 0e+00, 1e+00, 0e+00, 1e+00, 1e+00, 0e+00, 1e+00, 1e+00, 0e+00, 1e+00, 1e+00, 0e+00, 1e+00, 0e+00, 0e+00, 1e+00, 0e+00, 0e+00, 1e+00, 0e+00, 0e+00, 1e+00, 0e+00, 0e+00, 1e+00, 0e+00, 1e+00, 1e+00, 0e+00, 1e+00, 1e+00, 0e+00, 1e+00, 0e+00, 0e+00, 1e+00, 0e+00, 0e+00, 1e+00, 0e+00, 0e+00, 1e+00, 0e+00, 0e+00, 1e+00, 0e+00, 1e+00, 1e+00, 0e+00, 1e+00, 1e+00, 0e+00, 1e+00, 0e+00, 0e+00, 1e+00, 0e+00, 0e+00, 1e+00, 0e+00, 0e+00, 1e+00, 0e+00, 0e+00, 1e+00, 0e+00, 1e+00, 1e+00, 0e+00, 1e+00, 1e+00, 0e+00, 1e+00, 1e+00, 0e+00, 1e+00, 1e+00, 0e+00, 1e+00, 0e+00, 0e+00, 1e+00, 0e+00, 1e+00, 1e+00, 0e+00, 1e+00, 1e+00, 0e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Utilities_Validation_SunRiseSetNegativeStartTime.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Utilities_Validation_SunRiseSetNegativeStartTime.txt new file mode 100644 index 0000000000..8556ecbff2 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Utilities_Validation_SunRiseSetNegativeStartTime.txt @@ -0,0 +1,20 @@ +last-generated=2022-01-07 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +time=[-4.32e+04, 2.592e+05] +sunRiseSetArctic.nextSunRise=[2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06] +sunRiseSetArctic.nextSunSet=[2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06] +sunRiseSetArctic.sunUp=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +sunRiseSetSf.nextSunRise=[2.678694921875e+04, 2.678694921875e+04, 2.678694921875e+04, 2.678694921875e+04, 2.678694921875e+04, 2.678694921875e+04, 2.678694921875e+04, 2.678694921875e+04, 2.678694921875e+04, 2.678694921875e+04, 2.678694921875e+04, 2.678694921875e+04, 2.678694921875e+04, 2.678694921875e+04, 2.678694921875e+04, 2.678694921875e+04, 2.678694921875e+04, 2.678694921875e+04, 2.678694921875e+04, 2.678694921875e+04, 2.678694921875e+04, 2.678694921875e+04, 2.678694921875e+04, 2.678694921875e+04, 1.132045390625e+05, 1.132045390625e+05, 1.132045390625e+05, 1.132045390625e+05, 1.132045390625e+05, 1.132045390625e+05, 1.132045390625e+05, 1.132045390625e+05, 1.132045390625e+05, 1.132045390625e+05, 1.132045390625e+05, 1.132045390625e+05, 1.132045390625e+05, 1.132045390625e+05, 1.132045390625e+05, 1.132045390625e+05, 1.132045390625e+05, 1.132045390625e+05, 1.132045390625e+05, 1.132045390625e+05, 1.132045390625e+05, 1.132045390625e+05, 1.132045390625e+05, 1.132045390625e+05, 1.132045390625e+05, 1.132045390625e+05, 1.132045390625e+05, 1.132045390625e+05, 1.99611625e+05, 1.99611625e+05, 1.99611625e+05, 1.99611625e+05, 1.99611625e+05, 1.99611625e+05, 1.99611625e+05, 1.99611625e+05, 1.99611625e+05, 1.99611625e+05, 1.99611625e+05, 1.99611625e+05, 1.99611625e+05, 1.99611625e+05, 1.99611625e+05, 1.99611625e+05, 1.99611625e+05, 1.99611625e+05, 1.99611625e+05, 1.99611625e+05, 1.99611625e+05, 1.99611625e+05, 1.99611625e+05, 1.99611625e+05, 1.99611625e+05, 1.99611625e+05, 1.99611625e+05, 1.99611625e+05, 1.99611625e+05, 2.8601684375e+05, 2.8601684375e+05, 2.8601684375e+05, 2.8601684375e+05, 2.8601684375e+05, 2.8601684375e+05, 2.8601684375e+05, 2.8601684375e+05, 2.8601684375e+05, 2.8601684375e+05, 2.8601684375e+05, 2.8601684375e+05, 2.8601684375e+05, 2.8601684375e+05, 2.8601684375e+05, 2.8601684375e+05, 2.8601684375e+05, 2.8601684375e+05, 2.8601684375e+05, 2.8601684375e+05] +sunRiseSetSf.nextSunSet=[-2.542112890625e+04, -2.542112890625e+04, -2.542112890625e+04, -2.542112890625e+04, -2.542112890625e+04, -2.542112890625e+04, 6.1031375e+04, 6.1031375e+04, 6.1031375e+04, 6.1031375e+04, 6.1031375e+04, 6.1031375e+04, 6.1031375e+04, 6.1031375e+04, 6.1031375e+04, 6.1031375e+04, 6.1031375e+04, 6.1031375e+04, 6.1031375e+04, 6.1031375e+04, 6.1031375e+04, 6.1031375e+04, 6.1031375e+04, 6.1031375e+04, 6.1031375e+04, 6.1031375e+04, 6.1031375e+04, 6.1031375e+04, 6.1031375e+04, 6.1031375e+04, 6.1031375e+04, 6.1031375e+04, 6.1031375e+04, 6.1031375e+04, 6.1031375e+04, 1.47476390625e+05, 1.47476390625e+05, 1.47476390625e+05, 1.47476390625e+05, 1.47476390625e+05, 1.47476390625e+05, 1.47476390625e+05, 1.47476390625e+05, 1.47476390625e+05, 1.47476390625e+05, 1.47476390625e+05, 1.47476390625e+05, 1.47476390625e+05, 1.47476390625e+05, 1.47476390625e+05, 1.47476390625e+05, 1.47476390625e+05, 1.47476390625e+05, 1.47476390625e+05, 1.47476390625e+05, 1.47476390625e+05, 1.47476390625e+05, 1.47476390625e+05, 1.47476390625e+05, 1.47476390625e+05, 1.47476390625e+05, 1.47476390625e+05, 1.47476390625e+05, 1.47476390625e+05, 2.33922671875e+05, 2.33922671875e+05, 2.33922671875e+05, 2.33922671875e+05, 2.33922671875e+05, 2.33922671875e+05, 2.33922671875e+05, 2.33922671875e+05, 2.33922671875e+05, 2.33922671875e+05, 2.33922671875e+05, 2.33922671875e+05, 2.33922671875e+05, 2.33922671875e+05, 2.33922671875e+05, 2.33922671875e+05, 2.33922671875e+05, 2.33922671875e+05, 2.33922671875e+05, 2.33922671875e+05, 2.33922671875e+05, 2.33922671875e+05, 2.33922671875e+05, 2.33922671875e+05, 2.33922671875e+05, 2.33922671875e+05, 2.33922671875e+05, 2.33922671875e+05, 3.203701875e+05, 3.203701875e+05, 3.203701875e+05, 3.203701875e+05, 3.203701875e+05, 3.203701875e+05, 3.203701875e+05, 3.203701875e+05, 3.203701875e+05] +sunRiseSetSf.sunUp=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +sunRiseSetAntarctic.nextSunRise=[3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06] +sunRiseSetAntarctic.nextSunSet=[3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06] +sunRiseSetAntarctic.sunUp=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +sunRiseSetSyd.nextSunRise=[1.7546154296875e+04, 1.7546154296875e+04, 1.7546154296875e+04, 1.7546154296875e+04, 1.7546154296875e+04, 1.7546154296875e+04, 1.7546154296875e+04, 1.7546154296875e+04, 1.7546154296875e+04, 1.7546154296875e+04, 1.7546154296875e+04, 1.7546154296875e+04, 1.7546154296875e+04, 1.7546154296875e+04, 1.7546154296875e+04, 1.7546154296875e+04, 1.7546154296875e+04, 1.7546154296875e+04, 1.7546154296875e+04, 1.7546154296875e+04, 1.7546154296875e+04, 1.040175390625e+05, 1.040175390625e+05, 1.040175390625e+05, 1.040175390625e+05, 1.040175390625e+05, 1.040175390625e+05, 1.040175390625e+05, 1.040175390625e+05, 1.040175390625e+05, 1.040175390625e+05, 1.040175390625e+05, 1.040175390625e+05, 1.040175390625e+05, 1.040175390625e+05, 1.040175390625e+05, 1.040175390625e+05, 1.040175390625e+05, 1.040175390625e+05, 1.040175390625e+05, 1.040175390625e+05, 1.040175390625e+05, 1.040175390625e+05, 1.040175390625e+05, 1.040175390625e+05, 1.040175390625e+05, 1.040175390625e+05, 1.040175390625e+05, 1.040175390625e+05, 1.90461e+05, 1.90461e+05, 1.90461e+05, 1.90461e+05, 1.90461e+05, 1.90461e+05, 1.90461e+05, 1.90461e+05, 1.90461e+05, 1.90461e+05, 1.90461e+05, 1.90461e+05, 1.90461e+05, 1.90461e+05, 1.90461e+05, 1.90461e+05, 1.90461e+05, 1.90461e+05, 1.90461e+05, 1.90461e+05, 1.90461e+05, 1.90461e+05, 1.90461e+05, 1.90461e+05, 1.90461e+05, 1.90461e+05, 1.90461e+05, 1.90461e+05, 1.90461e+05, 2.7690553125e+05, 2.7690553125e+05, 2.7690553125e+05, 2.7690553125e+05, 2.7690553125e+05, 2.7690553125e+05, 2.7690553125e+05, 2.7690553125e+05, 2.7690553125e+05, 2.7690553125e+05, 2.7690553125e+05, 2.7690553125e+05, 2.7690553125e+05, 2.7690553125e+05, 2.7690553125e+05, 2.7690553125e+05, 2.7690553125e+05, 2.7690553125e+05, 2.7690553125e+05, 2.7690553125e+05, 2.7690553125e+05, 2.7690553125e+05, 2.7690553125e+05] +sunRiseSetSyd.nextSunSet=[-1.762033203125e+04, -1.762033203125e+04, -1.762033203125e+04, -1.762033203125e+04, -1.762033203125e+04, -1.762033203125e+04, -1.762033203125e+04, -1.762033203125e+04, -1.762033203125e+04, 6.87953671875e+04, 6.87953671875e+04, 6.87953671875e+04, 6.87953671875e+04, 6.87953671875e+04, 6.87953671875e+04, 6.87953671875e+04, 6.87953671875e+04, 6.87953671875e+04, 6.87953671875e+04, 6.87953671875e+04, 6.87953671875e+04, 6.87953671875e+04, 6.87953671875e+04, 6.87953671875e+04, 6.87953671875e+04, 6.87953671875e+04, 6.87953671875e+04, 6.87953671875e+04, 6.87953671875e+04, 6.87953671875e+04, 6.87953671875e+04, 6.87953671875e+04, 6.87953671875e+04, 6.87953671875e+04, 6.87953671875e+04, 6.87953671875e+04, 6.87953671875e+04, 6.87953671875e+04, 1.55205546875e+05, 1.55205546875e+05, 1.55205546875e+05, 1.55205546875e+05, 1.55205546875e+05, 1.55205546875e+05, 1.55205546875e+05, 1.55205546875e+05, 1.55205546875e+05, 1.55205546875e+05, 1.55205546875e+05, 1.55205546875e+05, 1.55205546875e+05, 1.55205546875e+05, 1.55205546875e+05, 1.55205546875e+05, 1.55205546875e+05, 1.55205546875e+05, 1.55205546875e+05, 1.55205546875e+05, 1.55205546875e+05, 1.55205546875e+05, 1.55205546875e+05, 1.55205546875e+05, 1.55205546875e+05, 1.55205546875e+05, 1.55205546875e+05, 1.55205546875e+05, 2.4161403125e+05, 2.4161403125e+05, 2.4161403125e+05, 2.4161403125e+05, 2.4161403125e+05, 2.4161403125e+05, 2.4161403125e+05, 2.4161403125e+05, 2.4161403125e+05, 2.4161403125e+05, 2.4161403125e+05, 2.4161403125e+05, 2.4161403125e+05, 2.4161403125e+05, 2.4161403125e+05, 2.4161403125e+05, 2.4161403125e+05, 2.4161403125e+05, 2.4161403125e+05, 2.4161403125e+05, 2.4161403125e+05, 2.4161403125e+05, 2.4161403125e+05, 2.4161403125e+05, 2.4161403125e+05, 2.4161403125e+05, 2.4161403125e+05, 2.4161403125e+05, 2.4161403125e+05, 3.280208125e+05, 3.280208125e+05, 3.280208125e+05, 3.280208125e+05, 3.280208125e+05, 3.280208125e+05] +sunRiseSetSyd.sunUp=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Utilities_Validation_SunRiseSetPositiveStartTime.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Utilities_Validation_SunRiseSetPositiveStartTime.txt new file mode 100644 index 0000000000..dbef0fb455 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_CDL_Utilities_Validation_SunRiseSetPositiveStartTime.txt @@ -0,0 +1,20 @@ +last-generated=2022-01-07 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +time=[4.32e+04, 3.456e+05] +sunRiseSetArctic.nextSunRise=[2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06, 2.63302625e+06] +sunRiseSetArctic.nextSunSet=[2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06, 2.6375645e+06] +sunRiseSetArctic.sunUp=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +sunRiseSetSf.nextSunRise=[1.13197421875e+05, 1.13197421875e+05, 1.13197421875e+05, 1.13197421875e+05, 1.13197421875e+05, 1.13197421875e+05, 1.13197421875e+05, 1.13197421875e+05, 1.13197421875e+05, 1.13197421875e+05, 1.13197421875e+05, 1.13197421875e+05, 1.13197421875e+05, 1.13197421875e+05, 1.13197421875e+05, 1.13197421875e+05, 1.13197421875e+05, 1.13197421875e+05, 1.13197421875e+05, 1.13197421875e+05, 1.13197421875e+05, 1.13197421875e+05, 1.13197421875e+05, 1.13197421875e+05, 1.99611625e+05, 1.99611625e+05, 1.99611625e+05, 1.99611625e+05, 1.99611625e+05, 1.99611625e+05, 1.99611625e+05, 1.99611625e+05, 1.99611625e+05, 1.99611625e+05, 1.99611625e+05, 1.99611625e+05, 1.99611625e+05, 1.99611625e+05, 1.99611625e+05, 1.99611625e+05, 1.99611625e+05, 1.99611625e+05, 1.99611625e+05, 1.99611625e+05, 1.99611625e+05, 1.99611625e+05, 1.99611625e+05, 1.99611625e+05, 1.99611625e+05, 1.99611625e+05, 1.99611625e+05, 1.99611625e+05, 2.8601684375e+05, 2.8601684375e+05, 2.8601684375e+05, 2.8601684375e+05, 2.8601684375e+05, 2.8601684375e+05, 2.8601684375e+05, 2.8601684375e+05, 2.8601684375e+05, 2.8601684375e+05, 2.8601684375e+05, 2.8601684375e+05, 2.8601684375e+05, 2.8601684375e+05, 2.8601684375e+05, 2.8601684375e+05, 2.8601684375e+05, 2.8601684375e+05, 2.8601684375e+05, 2.8601684375e+05, 2.8601684375e+05, 2.8601684375e+05, 2.8601684375e+05, 2.8601684375e+05, 2.8601684375e+05, 2.8601684375e+05, 2.8601684375e+05, 2.8601684375e+05, 2.8601684375e+05, 3.724201875e+05, 3.724201875e+05, 3.724201875e+05, 3.724201875e+05, 3.724201875e+05, 3.724201875e+05, 3.724201875e+05, 3.724201875e+05, 3.724201875e+05, 3.724201875e+05, 3.724201875e+05, 3.724201875e+05, 3.724201875e+05, 3.724201875e+05, 3.724201875e+05, 3.724201875e+05, 3.724201875e+05, 3.724201875e+05, 3.724201875e+05, 3.724201875e+05] +sunRiseSetSf.nextSunSet=[6.102227734375e+04, 6.102227734375e+04, 6.102227734375e+04, 6.102227734375e+04, 6.102227734375e+04, 6.102227734375e+04, 1.47476390625e+05, 1.47476390625e+05, 1.47476390625e+05, 1.47476390625e+05, 1.47476390625e+05, 1.47476390625e+05, 1.47476390625e+05, 1.47476390625e+05, 1.47476390625e+05, 1.47476390625e+05, 1.47476390625e+05, 1.47476390625e+05, 1.47476390625e+05, 1.47476390625e+05, 1.47476390625e+05, 1.47476390625e+05, 1.47476390625e+05, 1.47476390625e+05, 1.47476390625e+05, 1.47476390625e+05, 1.47476390625e+05, 1.47476390625e+05, 1.47476390625e+05, 1.47476390625e+05, 1.47476390625e+05, 1.47476390625e+05, 1.47476390625e+05, 1.47476390625e+05, 1.47476390625e+05, 2.33922671875e+05, 2.33922671875e+05, 2.33922671875e+05, 2.33922671875e+05, 2.33922671875e+05, 2.33922671875e+05, 2.33922671875e+05, 2.33922671875e+05, 2.33922671875e+05, 2.33922671875e+05, 2.33922671875e+05, 2.33922671875e+05, 2.33922671875e+05, 2.33922671875e+05, 2.33922671875e+05, 2.33922671875e+05, 2.33922671875e+05, 2.33922671875e+05, 2.33922671875e+05, 2.33922671875e+05, 2.33922671875e+05, 2.33922671875e+05, 2.33922671875e+05, 2.33922671875e+05, 2.33922671875e+05, 2.33922671875e+05, 2.33922671875e+05, 2.33922671875e+05, 2.33922671875e+05, 3.203701875e+05, 3.203701875e+05, 3.203701875e+05, 3.203701875e+05, 3.203701875e+05, 3.203701875e+05, 3.203701875e+05, 3.203701875e+05, 3.203701875e+05, 3.203701875e+05, 3.203701875e+05, 3.203701875e+05, 3.203701875e+05, 3.203701875e+05, 3.203701875e+05, 3.203701875e+05, 3.203701875e+05, 3.203701875e+05, 3.203701875e+05, 3.203701875e+05, 3.203701875e+05, 3.203701875e+05, 3.203701875e+05, 3.203701875e+05, 3.203701875e+05, 3.203701875e+05, 3.203701875e+05, 3.203701875e+05, 4.06818875e+05, 4.06818875e+05, 4.06818875e+05, 4.06818875e+05, 4.06818875e+05, 4.06818875e+05, 4.06818875e+05, 4.06818875e+05, 4.06818875e+05] +sunRiseSetSf.sunUp=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +sunRiseSetAntarctic.nextSunRise=[3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06, 3.4592835e+06] +sunRiseSetAntarctic.nextSunSet=[3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06, 3.4559035e+06] +sunRiseSetAntarctic.sunUp=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +sunRiseSetSyd.nextSunRise=[1.03987671875e+05, 1.03987671875e+05, 1.03987671875e+05, 1.03987671875e+05, 1.03987671875e+05, 1.03987671875e+05, 1.03987671875e+05, 1.03987671875e+05, 1.03987671875e+05, 1.03987671875e+05, 1.03987671875e+05, 1.03987671875e+05, 1.03987671875e+05, 1.03987671875e+05, 1.03987671875e+05, 1.03987671875e+05, 1.03987671875e+05, 1.03987671875e+05, 1.03987671875e+05, 1.03987671875e+05, 1.03987671875e+05, 1.90460984375e+05, 1.90460984375e+05, 1.90460984375e+05, 1.90460984375e+05, 1.90460984375e+05, 1.90460984375e+05, 1.90460984375e+05, 1.90460984375e+05, 1.90460984375e+05, 1.90460984375e+05, 1.90460984375e+05, 1.90460984375e+05, 1.90460984375e+05, 1.90460984375e+05, 1.90460984375e+05, 1.90460984375e+05, 1.90460984375e+05, 1.90460984375e+05, 1.90460984375e+05, 1.90460984375e+05, 1.90460984375e+05, 1.90460984375e+05, 1.90460984375e+05, 1.90460984375e+05, 1.90460984375e+05, 1.90460984375e+05, 1.90460984375e+05, 1.90460984375e+05, 2.7690553125e+05, 2.7690553125e+05, 2.7690553125e+05, 2.7690553125e+05, 2.7690553125e+05, 2.7690553125e+05, 2.7690553125e+05, 2.7690553125e+05, 2.7690553125e+05, 2.7690553125e+05, 2.7690553125e+05, 2.7690553125e+05, 2.7690553125e+05, 2.7690553125e+05, 2.7690553125e+05, 2.7690553125e+05, 2.7690553125e+05, 2.7690553125e+05, 2.7690553125e+05, 2.7690553125e+05, 2.7690553125e+05, 2.7690553125e+05, 2.7690553125e+05, 2.7690553125e+05, 2.7690553125e+05, 2.7690553125e+05, 2.7690553125e+05, 2.7690553125e+05, 2.7690553125e+05, 3.633510625e+05, 3.633510625e+05, 3.633510625e+05, 3.633510625e+05, 3.633510625e+05, 3.633510625e+05, 3.633510625e+05, 3.633510625e+05, 3.633510625e+05, 3.633510625e+05, 3.633510625e+05, 3.633510625e+05, 3.633510625e+05, 3.633510625e+05, 3.633510625e+05, 3.633510625e+05, 3.633510625e+05, 3.633510625e+05, 3.633510625e+05, 3.633510625e+05, 3.633510625e+05, 3.633510625e+05, 3.633510625e+05] +sunRiseSetSyd.nextSunSet=[6.879203125e+04, 6.879203125e+04, 6.879203125e+04, 6.879203125e+04, 6.879203125e+04, 6.879203125e+04, 6.879203125e+04, 6.879203125e+04, 6.879203125e+04, 1.55205546875e+05, 1.55205546875e+05, 1.55205546875e+05, 1.55205546875e+05, 1.55205546875e+05, 1.55205546875e+05, 1.55205546875e+05, 1.55205546875e+05, 1.55205546875e+05, 1.55205546875e+05, 1.55205546875e+05, 1.55205546875e+05, 1.55205546875e+05, 1.55205546875e+05, 1.55205546875e+05, 1.55205546875e+05, 1.55205546875e+05, 1.55205546875e+05, 1.55205546875e+05, 1.55205546875e+05, 1.55205546875e+05, 1.55205546875e+05, 1.55205546875e+05, 1.55205546875e+05, 1.55205546875e+05, 1.55205546875e+05, 1.55205546875e+05, 1.55205546875e+05, 1.55205546875e+05, 2.4161403125e+05, 2.4161403125e+05, 2.4161403125e+05, 2.4161403125e+05, 2.4161403125e+05, 2.4161403125e+05, 2.4161403125e+05, 2.4161403125e+05, 2.4161403125e+05, 2.4161403125e+05, 2.4161403125e+05, 2.4161403125e+05, 2.4161403125e+05, 2.4161403125e+05, 2.4161403125e+05, 2.4161403125e+05, 2.4161403125e+05, 2.4161403125e+05, 2.4161403125e+05, 2.4161403125e+05, 2.4161403125e+05, 2.4161403125e+05, 2.4161403125e+05, 2.4161403125e+05, 2.4161403125e+05, 2.4161403125e+05, 2.4161403125e+05, 2.4161403125e+05, 3.280208125e+05, 3.280208125e+05, 3.280208125e+05, 3.280208125e+05, 3.280208125e+05, 3.280208125e+05, 3.280208125e+05, 3.280208125e+05, 3.280208125e+05, 3.280208125e+05, 3.280208125e+05, 3.280208125e+05, 3.280208125e+05, 3.280208125e+05, 3.280208125e+05, 3.280208125e+05, 3.280208125e+05, 3.280208125e+05, 3.280208125e+05, 3.280208125e+05, 3.280208125e+05, 3.280208125e+05, 3.280208125e+05, 3.280208125e+05, 3.280208125e+05, 3.280208125e+05, 3.280208125e+05, 3.280208125e+05, 3.280208125e+05, 4.14425875e+05, 4.14425875e+05, 4.14425875e+05, 4.14425875e+05, 4.14425875e+05, 4.14425875e+05] +sunRiseSetSyd.sunUp=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_Utilities_SetPoints_Validation_SupplyReturnTemperatureReset.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_Utilities_SetPoints_Validation_SupplyReturnTemperatureReset.txt new file mode 100644 index 0000000000..3c43e545a1 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_Utilities_SetPoints_Validation_SupplyReturnTemperatureReset.txt @@ -0,0 +1,14 @@ +last-generated=2017-07-18 +statistics-simulation= +{ + "numerical Jacobians": "0", + "nonlinear": " ", + "linear": " " +} +heaCur.TRet=[3.131499938964844e+02, 3.127863769449941e+02, 3.124227294759326e+02, 3.120590820068676e+02, 3.116954650553807e+02, 3.113318176540447e+02, 3.109681701172508e+02, 3.106045532334929e+02, 3.102409056966991e+02, 3.098772584308751e+02, 3.095136414116049e+02, 3.091499938748112e+02, 3.087863768555546e+02, 3.084227293188018e+02, 3.080590820529232e+02, 3.076954653046228e+02, 3.073318174969139e+02, 3.069681702310626e+02, 3.066045534827348e+02, 3.062409056750259e+02, 3.058772584091928e+02, 3.055136411190165e+02, 3.05149993853138e+02, 3.047863771048375e+02, 3.044227292971286e+02, 3.0405908203125e+02, 3.036954647411192e+02, 3.03331818017071e+02, 3.029681702093802e+02, 3.026045529192313e+02, 3.022409061951831e+02, 3.018772583875105e+02, 3.015136410973433e+02, 3.011499943732951e+02, 3.007863770831643e+02, 3.004227292754554e+02, 3.000590825514071e+02, 2.996954652612764e+02, 2.993318174535674e+02, 2.989681696458585e+02, 2.986045534393884e+02, 2.982409056316795e+02, 2.978772578239705e+02, 2.975136416175005e+02, 2.971499938097915e+02, 2.967863765194788e+02, 2.964227297956125e+02, 2.960590819879036e+02, 2.956954646977728e+02, 2.953318179737246e+02, 2.949681701660156e+02, 2.9460455287589e+02, 2.942409050681862e+02, 2.938772572604825e+02, 2.93513642137646e+02, 2.931499943299422e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02] +heaCur.TSup=[3.331499938964844e+02, 3.324227294759326e+02, 3.316954650553739e+02, 3.309681701172508e+02, 3.30240905696699e+02, 3.29513641411605e+02, 3.287863768555749e+02, 3.280590820529279e+02, 3.273318174969139e+02, 3.266045534827348e+02, 3.258772584091701e+02, 3.25149993853138e+02, 3.244227292971286e+02, 3.236954647410464e+02, 3.229681702093711e+02, 3.222409061951831e+02, 3.215136410973433e+02, 3.207863770831643e+02, 3.200590825515163e+02, 3.193318174535674e+02, 3.186045534393884e+02, 3.178772578239705e+02, 3.171499938097915e+02, 3.164227297956125e+02, 3.156954646976909e+02, 3.149681701660156e+02, 3.142409050681759e+02, 3.135136421376576e+02, 3.127863770398179e+02, 3.120590814244e+02, 3.113318184938817e+02, 3.10604553396042e+02, 3.098772577806241e+02, 3.091499948501058e+02, 3.084227297522661e+02, 3.076954646543354e+02, 3.069681712065482e+02, 3.062409061084902e+02, 3.055136410106504e+02, 3.047863759125924e+02, 3.040590824648053e+02, 3.033318173668745e+02, 3.026045522688347e+02, 3.018772588210475e+02, 3.011499937230986e+02, 3.004227286252589e+02, 2.996954656947406e+02, 2.989681700793228e+02, 2.98240904981483e+02, 2.975136420509647e+02, 2.96786376953125e+02, 2.960590813377175e+02, 2.95331816239888e+02, 2.946045511416221e+02, 2.938772598615569e+02, 2.931499947634001e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02] +heaCur.TOut=[2.631499938964844e+02, 2.635499878019114e+02, 2.639500122249096e+02, 2.643500061303332e+02, 2.647500000357568e+02, 2.651499938666871e+02, 2.655499878466244e+02, 2.659500121951078e+02, 2.66350006175029e+02, 2.667499998569731e+02, 2.671499938368898e+02, 2.675499878168156e+02, 2.679500123143014e+02, 2.683500062942181e+02, 2.687499999761622e+02, 2.691499936581063e+02, 2.695499879360502e+02, 2.699500121354906e+02, 2.703500058173528e+02, 2.707500000953513e+02, 2.711499937772953e+02, 2.715499880552847e+02, 2.719500122547068e+02, 2.723500059365873e+02, 2.727500002145403e+02, 2.731499938964844e+02, 2.735499881745192e+02, 2.73950011777787e+02, 2.743500060558218e+02, 2.747500003337293e+02, 2.751499934197282e+02, 2.755499876976175e+02, 2.75950012493085e+02, 2.763500055788838e+02, 2.767499998569731e+02, 2.771499941349534e+02, 2.775499872208613e+02, 2.77950012016256e+02, 2.783500062942181e+02, 2.787500005721074e+02, 2.791499936581063e+02, 2.795499879360502e+02, 2.79950012731463e+02, 2.803500058173528e+02, 2.807500000953513e+02, 2.811499943734224e+02, 2.815499874592394e+02, 2.819500122547068e+02, 2.823500065325962e+02, 2.827499996185951e+02, 2.831499938964844e+02, 2.835499881745135e+02, 2.839500129698297e+02, 2.843500072477133e+02, 2.847499991418517e+02, 2.851499934197353e+02, 2.855499876976161e+02, 2.859500124930807e+02, 2.863500067709643e+02, 2.867500010488479e+02, 2.871499929429863e+02, 2.875499872208699e+02, 2.879500120162589e+02, 2.883500062942152e+02, 2.887500005720989e+02, 2.891499948503463e+02, 2.895499867441208e+02, 2.899500115393279e+02, 2.90350005817357e+02, 2.907500000953527e+02, 2.911499943734153e+02, 2.915499886514444e+02, 2.91950011062397e+02, 2.923500053404261e+02, 2.927499996186008e+02, 2.931499938964844e+02, 2.935499881745135e+02, 2.939500129698297e+02, 2.943500072477133e+02, 2.947499991418517e+02, 2.951499934197353e+02, 2.955499876976161e+02, 2.959500124930807e+02, 2.963500067709643e+02, 2.967500010488479e+02, 2.971499929429863e+02, 2.975499872208699e+02, 2.979500120162589e+02, 2.983500062942152e+02, 2.987500005720989e+02, 2.991499948503463e+02, 2.995499867441208e+02, 2.999500115393279e+02, 3.00350005817357e+02, 3.007500000953527e+02, 3.011499943734153e+02, 3.015499886514444e+02, 3.01950011062397e+02, 3.023500053404261e+02, 3.027499996186008e+02, 3.031499938964844e+02] +time=[0e+00, 1e+00] +heaCur1.TSetZon=[2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02] +heaCur1.TRet=[3.131499938964844e+02, 3.131499938964844e+02, 3.131499938964844e+02, 3.131499938964844e+02, 3.131499938964844e+02, 3.131499938964844e+02, 3.131499938964844e+02, 3.131499938964844e+02, 3.131499938964844e+02, 3.131499938964844e+02, 3.131499938964844e+02, 3.131499938964844e+02, 3.131499938964844e+02, 3.131499938964844e+02, 3.131499938964844e+02, 3.131499938964844e+02, 3.131499938964844e+02, 3.131499938964844e+02, 3.131499938964844e+02, 3.131499938964844e+02, 3.131499938964844e+02, 3.131499938964844e+02, 3.131499938964844e+02, 3.131499938964844e+02, 3.131499938964844e+02, 3.131499938964844e+02, 3.131499938964844e+02, 3.131499938964844e+02, 3.131499938964844e+02, 3.131499938964844e+02, 3.131499938964844e+02, 3.131499938964844e+02, 3.131499938964844e+02, 3.131499938964844e+02, 3.131499938964844e+02, 3.131499938964844e+02, 3.131499938964844e+02, 3.131499938964844e+02, 3.131499938964844e+02, 3.131499938964844e+02, 3.131499938964844e+02, 3.131499938964844e+02, 3.131499938964844e+02, 3.131499938964844e+02, 3.131499938964844e+02, 3.131499938964844e+02, 3.131499938964844e+02, 3.131499938964844e+02, 3.131499938964844e+02, 3.131499938964844e+02, 3.131499938964844e+02, 3.014833374023438e+02, 3.014833374023438e+02, 3.014833374023438e+02, 3.014833374023438e+02, 3.014833374023438e+02, 3.014833374023438e+02, 3.014833374023438e+02, 3.014833374023438e+02, 3.014833374023438e+02, 3.014833374023438e+02, 3.014833374023438e+02, 3.014833374023438e+02, 3.014833374023438e+02, 3.014833374023438e+02, 3.014833374023438e+02, 3.014833374023438e+02, 3.014833374023438e+02, 3.014833374023438e+02, 3.014833374023438e+02, 3.014833374023438e+02, 3.014833374023438e+02, 3.014833374023438e+02, 3.014833374023438e+02, 3.014833374023438e+02, 3.014833374023438e+02, 3.014833374023438e+02, 3.014833374023438e+02, 3.014833374023438e+02, 3.014833374023438e+02, 3.014833374023438e+02, 3.014833374023438e+02, 3.014833374023438e+02, 3.014833374023438e+02, 3.014833374023438e+02, 3.014833374023438e+02, 3.014833374023438e+02, 3.014833374023438e+02, 3.014833374023438e+02, 3.014833374023438e+02, 3.014833374023438e+02, 3.014833374023438e+02, 3.014833374023438e+02, 3.014833374023438e+02, 3.014833374023438e+02, 3.014833374023438e+02, 3.014833374023438e+02, 3.014833374023438e+02, 3.014833374023438e+02, 3.014833374023438e+02, 3.014833374023438e+02] +heaCur1.TSup=[3.331499938964844e+02, 3.331499938964844e+02, 3.331499938964844e+02, 3.331499938964844e+02, 3.331499938964844e+02, 3.331499938964844e+02, 3.331499938964844e+02, 3.331499938964844e+02, 3.331499938964844e+02, 3.331499938964844e+02, 3.331499938964844e+02, 3.331499938964844e+02, 3.331499938964844e+02, 3.331499938964844e+02, 3.331499938964844e+02, 3.331499938964844e+02, 3.331499938964844e+02, 3.331499938964844e+02, 3.331499938964844e+02, 3.331499938964844e+02, 3.331499938964844e+02, 3.331499938964844e+02, 3.331499938964844e+02, 3.331499938964844e+02, 3.331499938964844e+02, 3.331499938964844e+02, 3.331499938964844e+02, 3.331499938964844e+02, 3.331499938964844e+02, 3.331499938964844e+02, 3.331499938964844e+02, 3.331499938964844e+02, 3.331499938964844e+02, 3.331499938964844e+02, 3.331499938964844e+02, 3.331499938964844e+02, 3.331499938964844e+02, 3.331499938964844e+02, 3.331499938964844e+02, 3.331499938964844e+02, 3.331499938964844e+02, 3.331499938964844e+02, 3.331499938964844e+02, 3.331499938964844e+02, 3.331499938964844e+02, 3.331499938964844e+02, 3.331499938964844e+02, 3.331499938964844e+02, 3.331499938964844e+02, 3.331499938964844e+02, 3.331499938964844e+02, 3.148166809082031e+02, 3.148166809082031e+02, 3.148166809082031e+02, 3.148166809082031e+02, 3.148166809082031e+02, 3.148166809082031e+02, 3.148166809082031e+02, 3.148166809082031e+02, 3.148166809082031e+02, 3.148166809082031e+02, 3.148166809082031e+02, 3.148166809082031e+02, 3.148166809082031e+02, 3.148166809082031e+02, 3.148166809082031e+02, 3.148166809082031e+02, 3.148166809082031e+02, 3.148166809082031e+02, 3.148166809082031e+02, 3.148166809082031e+02, 3.148166809082031e+02, 3.148166809082031e+02, 3.148166809082031e+02, 3.148166809082031e+02, 3.148166809082031e+02, 3.148166809082031e+02, 3.148166809082031e+02, 3.148166809082031e+02, 3.148166809082031e+02, 3.148166809082031e+02, 3.148166809082031e+02, 3.148166809082031e+02, 3.148166809082031e+02, 3.148166809082031e+02, 3.148166809082031e+02, 3.148166809082031e+02, 3.148166809082031e+02, 3.148166809082031e+02, 3.148166809082031e+02, 3.148166809082031e+02, 3.148166809082031e+02, 3.148166809082031e+02, 3.148166809082031e+02, 3.148166809082031e+02, 3.148166809082031e+02, 3.148166809082031e+02, 3.148166809082031e+02, 3.148166809082031e+02, 3.148166809082031e+02, 3.148166809082031e+02] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_Utilities_SetPoints_Validation_SupplyReturnTemperatureResetExponent.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_Utilities_SetPoints_Validation_SupplyReturnTemperatureResetExponent.txt new file mode 100644 index 0000000000..a33d4c05a8 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_Utilities_SetPoints_Validation_SupplyReturnTemperatureResetExponent.txt @@ -0,0 +1,12 @@ +last-generated=2021-02-08 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +time=[0e+00, 1e+00] +heaCur.TSup=[3.176954650878906e+02, 3.174227294860927e+02, 3.171499938842949e+02, 3.16877258282497e+02, 3.166045531982636e+02, 3.16331817647269e+02, 3.160590819946815e+02, 3.157863769612513e+02, 3.155136413086367e+02, 3.152409058592346e+02, 3.1496817020667e+02, 3.146954650716289e+02, 3.144227294190507e+02, 3.141499937664633e+02, 3.13877258317043e+02, 3.136045533851826e+02, 3.133318175294373e+02, 3.130590820800352e+02, 3.127863771481566e+02, 3.125136412923749e+02, 3.122409058429819e+02, 3.119681699872366e+02, 3.116954650553672e+02, 3.11422729605956e+02, 3.111499937502106e+02, 3.108772583007812e+02, 3.106045529624685e+02, 3.103318179195006e+02, 3.100590820637735e+02, 3.097863767254607e+02, 3.095136416824746e+02, 3.092409058267293e+02, 3.08968169970984e+02, 3.086954654454486e+02, 3.084227295897034e+02, 3.08149993733958e+02, 3.078772586910628e+02, 3.076045533526773e+02, 3.07331817496932e+02, 3.070590816411867e+02, 3.067863771156514e+02, 3.065136412598515e+02, 3.062409054041607e+02, 3.059681703611564e+02, 3.056954650228437e+02, 3.054227291671348e+02, 3.051499941241486e+02, 3.04877258268276e+02, 3.04604552929945e+02, 3.043318178869953e+02, 3.0405908203125e+02, 3.037863766929411e+02, 3.035136408370542e+02, 3.032409049816038e+02, 3.029681707514293e+02, 3.026954654129385e+02, 3.02422729557199e+02, 3.021499937014556e+02, 3.018772578457142e+02, 3.016045525071507e+02, 3.013318182770489e+02, 3.010590824215258e+02, 3.007863770831441e+02, 3.0051364122733e+02, 3.002409053716613e+02, 2.999681695159198e+02, 2.99695465802996e+02, 2.994227299472545e+02, 2.991499940916223e+02, 2.988772582357697e+02, 2.986045528974265e+02, 2.983318170418669e+02, 2.980590828118015e+02, 2.977863774732016e+02, 2.975136416174602e+02, 2.972409057617188e+02, 2.969681699059773e+02, 2.966954645675229e+02, 2.964227287120725e+02, 2.96149994481898e+02, 2.95877258626011e+02, 2.956045532876678e+02, 2.953318174319244e+02, 2.95059081576183e+02, 2.947863762376194e+02, 2.945136420075177e+02, 2.942409061517762e+02, 2.939681702961075e+02, 2.936954649577987e+02, 2.9342272910213e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02] +heaCur.TRet=[3.1155908203125e+02, 3.113545532180826e+02, 3.11149993887344e+02, 3.109454650741698e+02, 3.107409057434379e+02, 3.10536376968359e+02, 3.103318175995319e+02, 3.101272583068794e+02, 3.099227294555986e+02, 3.097181702391934e+02, 3.095136413878899e+02, 3.093090820190628e+02, 3.091045531677729e+02, 3.088999937989867e+02, 3.086954651000779e+02, 3.084909058836818e+02, 3.082863768799472e+02, 3.08081817663542e+02, 3.078772584471369e+02, 3.076727294434023e+02, 3.074681702269971e+02, 3.072636412232626e+02, 3.070590820068756e+02, 3.068545533079667e+02, 3.066499937867995e+02, 3.064454650878906e+02, 3.062409055667235e+02, 3.060363771724947e+02, 3.058318176513457e+02, 3.056272581301604e+02, 3.054227297359316e+02, 3.052181702148008e+02, 3.050136412110663e+02, 3.048090822995686e+02, 3.046045532957795e+02, 3.043999937746123e+02, 3.041954653803836e+02, 3.039909058592892e+02, 3.037863768555546e+02, 3.035818173344602e+02, 3.033772584227443e+02, 3.031727294190097e+02, 3.029681698978972e+02, 3.027636415036683e+02, 3.025590819825012e+02, 3.023545529787303e+02, 3.021499940672326e+02, 3.01945465063498e+02, 3.017409055423491e+02, 3.015363771481203e+02, 3.013318176269531e+02, 3.011272581057889e+02, 3.009227291019117e+02, 3.007181695810385e+02, 3.005136417961547e+02, 3.003090822751723e+02, 3.001045532714058e+02, 2.998999937502401e+02, 2.996954647463994e+02, 2.994909052254898e+02, 2.992863774406059e+02, 2.9908181791966e+02, 2.988772583983502e+02, 2.986727293946186e+02, 2.984681698735271e+02, 2.982636408695772e+02, 2.980590825678792e+02, 2.978545535638929e+02, 2.976499940428378e+02, 2.974454650391047e+02, 2.972409055179783e+02, 2.970363765140648e+02, 2.968318182123668e+02, 2.96627258691057e+02, 2.964227296871799e+02, 2.962181701660156e+02, 2.96013641162284e+02, 2.958090816412653e+02, 2.956045526372426e+02, 2.953999943355446e+02, 2.951954653316311e+02, 2.949909058105047e+02, 2.947863768067716e+02, 2.945818172857165e+02, 2.943772577645523e+02, 2.941727299796684e+02, 2.939681704587225e+02, 2.937636414549181e+02, 2.935590819337538e+02, 2.933545529299494e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02] +heaCurM.TSup=[3.167040405273438e+02, 3.164946289015638e+02, 3.162847595120916e+02, 3.16074432358927e+02, 3.1586364744207e+02, 3.156523742833351e+02, 3.154406432821024e+02, 3.152283935610176e+02, 3.150156554794885e+02, 3.14802429275507e+02, 3.145886535963536e+02, 3.1437438963565e+02, 3.141596068758864e+02, 3.139442747995347e+02, 3.137283935675659e+02, 3.13511963019773e+02, 3.132949828324492e+02, 3.130774231346385e+02, 3.128592836034437e+02, 3.126405333950244e+02, 3.124212036787193e+02, 3.122012632832705e+02, 3.11980682346708e+02, 3.117594910591741e+02, 3.115376280546482e+02, 3.113151245117188e+02, 3.110919492497055e+02, 3.108681032678318e+02, 3.106435547142937e+02, 3.104182737374617e+02, 3.101922915295212e+02, 3.099655457084299e+02, 3.097380674638993e+02, 3.095098269596886e+02, 3.092807618007681e+02, 3.090509337005572e+02, 3.088202517953171e+02, 3.085887452277091e+02, 3.083563536487347e+02, 3.081231075757539e+02, 3.078889466729922e+02, 3.076538390270727e+02, 3.074178158517722e+02, 3.071808168202111e+02, 3.069428100016959e+02, 3.06703765583378e+02, 3.064636842827018e+02, 3.062225036332784e+02, 3.059802243487507e+02, 3.057367861213565e+02, 3.054921875e+02, 3.0524633765547e+02, 3.049992671051958e+02, 3.047508842964428e+02, 3.045011296876746e+02, 3.042500308175244e+02, 3.039974671013705e+02, 3.037434385383343e+02, 3.034878535758325e+02, 3.032306816959577e+02, 3.029718328942004e+02, 3.027112430494681e+02, 3.024488221469925e+02, 3.021845396683224e+02, 3.019182735431451e+02, 3.016499322185081e+02, 3.013794257607321e+02, 3.011066288748184e+02, 3.008314516135545e+02, 3.005537108708878e+02, 3.002732540582058e+02, 2.999899591051902e+02, 2.997036141041469e+02, 2.994140020198444e+02, 2.99120910925524e+02, 2.988240661621094e+02, 2.985231320346405e+02, 2.982177423320344e+02, 2.979075003240293e+02, 2.975918891097347e+02, 2.972702945757999e+02, 2.969419861629659e+02, 2.966060178224839e+02, 2.962611688481437e+02, 2.959058828386566e+02, 2.955379342405353e+02, 2.951540838116103e+02, 2.947492372584496e+02, 2.943140256592488e+02, 2.938270561107623e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02] +heaCurM.TRet=[3.105676879882812e+02, 3.104264526335571e+02, 3.102847595151406e+02, 3.101426391505997e+02, 3.099999999872307e+02, 3.098569336044252e+02, 3.097133483693951e+02, 3.095693054242192e+02, 3.094247436264505e+02, 3.092796936554658e+02, 3.091341247775735e+02, 3.089880371006439e+02, 3.088414306246496e+02, 3.086942748319854e+02, 3.085465698330408e+02, 3.083983460357593e+02, 3.082495116654355e+02, 3.081001282005945e+02, 3.079501954198929e+02, 3.077996215460517e+02, 3.076484680627344e+02, 3.074967040018184e+02, 3.073443298157763e+02, 3.071913147611848e+02, 3.070376280912371e+02, 3.0688330078125e+02, 3.067283323712475e+02, 3.065726320032478e+02, 3.06416259784306e+02, 3.062591856596121e+02, 3.061013795829782e+02, 3.059428406140432e+02, 3.057835081865126e+02, 3.056234438138085e+02, 3.054625855068442e+02, 3.053009337412115e+02, 3.051384279672779e+02, 3.049750977343209e+02, 3.048109130073573e+02, 3.046458127514493e+02, 3.044798584975722e+02, 3.043129271862309e+02, 3.041450803455086e+02, 3.039762574452541e+02, 3.03806426961317e+02, 3.036355893951554e+02, 3.034636842257857e+02, 3.032906799109406e+02, 3.03116576960991e+02, 3.02941345382336e+02, 3.02764892578125e+02, 3.025872495857504e+02, 3.024083553700533e+02, 3.022281488963141e+02, 3.020466007324001e+02, 3.018636781971545e+02, 3.016792908155772e+02, 3.014934385871188e+02, 3.013060299591942e+02, 3.011170344138966e+02, 3.009263615401792e+02, 3.007339480302425e+02, 3.005397339797039e+02, 3.00343627835611e+02, 3.001455380450109e+02, 2.999454035725293e+02, 2.997430730427932e+02, 2.995384524914567e+02, 2.993314515647701e+02, 2.99121887156681e+02, 2.98909637195972e+02, 2.986945185773881e+02, 2.984763495047121e+02, 2.982549137549868e+02, 2.980299989952437e+02, 2.978013305664062e+02, 2.975685727736602e+02, 2.973313899227728e+02, 2.970893242496359e+02, 2.968418889633813e+02, 2.965884707642056e+02, 2.963283386857664e+02, 2.960605466798621e+02, 2.957839045576773e+02, 2.954967948823672e+02, 2.95197022212686e+02, 2.948813786359163e+02, 2.945446778997547e+02, 2.941776731527093e+02, 2.937588799385817e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_Utilities_Validation_OptimalStartCoolingNegativeStartTime.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_Utilities_Validation_OptimalStartCoolingNegativeStartTime.txt new file mode 100644 index 0000000000..8f204feff4 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_Utilities_Validation_OptimalStartCoolingNegativeStartTime.txt @@ -0,0 +1,13 @@ +last-generated=2020-10-20 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "number of continuous time states": "2", + "numerical Jacobians": "0" +} +time=[-6.6e+05, 0e+00] +optStaCoo.tOpt=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.08e+04, 1.08e+04, 1.08e+04, 1.08e+04, 1.08e+04, 1.08e+04, 1.08e+04, 1.08e+04, 1.08e+04, 1.08e+04, 1.08e+04, 1.08e+04, 1.08e+04, 1.08e+04, 1.08e+04, 1.08e+04, 1.08e+04, 1.08e+04, 1.08e+04, 1.08e+04, 1.08e+04, 1.08e+04, 1.08e+04, 1.08e+04, 1.08e+04, 1.08e+04, 8.6932861328125e+03, 8.6932861328125e+03, 8.6932861328125e+03, 8.6932861328125e+03, 8.6932861328125e+03, 8.6932861328125e+03, 8.6932861328125e+03, 8.6932861328125e+03, 8.6932861328125e+03, 8.6932861328125e+03, 8.6932861328125e+03, 8.6932861328125e+03, 8.6932861328125e+03, 5.79079345703125e+03, 5.79079345703125e+03, 5.79079345703125e+03, 5.79079345703125e+03, 5.79079345703125e+03, 5.79079345703125e+03, 5.79079345703125e+03, 5.79079345703125e+03, 5.79079345703125e+03, 5.79079345703125e+03, 5.79079345703125e+03, 5.79079345703125e+03, 5.79079345703125e+03, 5.74376025390625e+03, 5.74376025390625e+03, 5.74376025390625e+03, 5.74376025390625e+03, 5.74376025390625e+03, 5.74376025390625e+03, 5.74376025390625e+03, 5.74376025390625e+03, 5.74376025390625e+03, 5.74376025390625e+03, 5.74376025390625e+03, 5.74376025390625e+03, 5.74376025390625e+03, 5.74376025390625e+03, 5.69676220703125e+03, 5.69676220703125e+03, 5.69676220703125e+03, 5.69676220703125e+03, 5.69676220703125e+03, 5.69676220703125e+03, 5.69676220703125e+03, 5.69676220703125e+03, 5.69676220703125e+03, 5.69676220703125e+03, 5.69676220703125e+03, 5.69676220703125e+03, 5.69676220703125e+03, 5.6539560546875e+03, 5.6539560546875e+03, 5.6539560546875e+03, 5.6539560546875e+03, 5.6539560546875e+03, 5.6539560546875e+03, 5.6539560546875e+03, 5.6539560546875e+03, 5.6539560546875e+03, 5.6539560546875e+03, 5.6539560546875e+03] +TSetCoo.y=[2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02] +optStaCoo.TZon=[2.971499938964844e+02, 2.971503601074219e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971364135742188e+02, 2.96923095703125e+02, 2.967496643066406e+02, 2.969124145507812e+02, 2.975598449707031e+02, 2.986782531738281e+02, 3.001107482910156e+02, 2.988165283203125e+02, 2.971484680175781e+02, 2.971499328613281e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971443481445312e+02, 2.969462890625e+02, 2.967550659179688e+02, 2.968787536621094e+02, 2.97480224609375e+02, 2.985603942871094e+02, 2.999738464355469e+02, 2.992104187011719e+02, 2.971481628417969e+02, 2.971499328613281e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.9714892578125e+02, 2.969696350097656e+02, 2.967630615234375e+02, 2.968489379882812e+02, 2.974045104980469e+02, 2.984452819824219e+02, 2.998375854492188e+02, 3.0133984375e+02, 2.972657165527344e+02, 2.971495666503906e+02, 2.971499633789062e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.969927978515625e+02, 2.967736511230469e+02, 2.968233642578125e+02, 2.973331298828125e+02, 2.983332824707031e+02, 2.997023620605469e+02, 3.012062683105469e+02, 2.999542846679688e+02, 2.971524963378906e+02, 2.971501159667969e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.970155029296875e+02, 2.967864685058594e+02, 2.968015441894531e+02, 2.972656860351562e+02, 2.982242431640625e+02, 2.995681762695312e+02, 3.010713500976562e+02, 3.004169921875e+02, 2.971433715820312e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.970374755859375e+02, 2.968014526367188e+02, 2.967834777832031e+02, 2.972025756835938e+02, 2.981185607910156e+02, 2.994353942871094e+02, 3.009355163574219e+02, 3.008950500488281e+02, 2.971517944335938e+02, 2.971497192382812e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.970584106445312e+02, 2.96818359375e+02, 2.967693481445312e+02, 2.971436767578125e+02, 2.980162658691406e+02, 2.993041687011719e+02, 3.007987670898438e+02, 3.013853759765625e+02, 2.971623229980469e+02, 2.971502075195312e+02, 2.971499633789062e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.970780334472656e+02, 2.968369445800781e+02, 2.967586059570312e+02, 2.970889587402344e+02, 2.979174499511719e+02] +optStaCoo.optOn=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_Utilities_Validation_OptimalStartCoolingPositiveStartTime.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_Utilities_Validation_OptimalStartCoolingPositiveStartTime.txt new file mode 100644 index 0000000000..7e0ba4a507 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_Utilities_Validation_OptimalStartCoolingPositiveStartTime.txt @@ -0,0 +1,13 @@ +last-generated=2020-10-20 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "number of continuous time states": "2", + "numerical Jacobians": "0" +} +time=[3.4e+04, 8.64e+05] +optStaCoo.tOpt=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.08e+04, 1.08e+04, 1.08e+04, 1.08e+04, 1.08e+04, 1.08e+04, 1.08e+04, 1.08e+04, 1.08e+04, 1.08e+04, 1.08e+04, 1.08e+04, 1.08e+04, 1.08e+04, 1.08e+04, 1.08e+04, 1.08e+04, 1.08e+04, 1.08e+04, 1.08e+04, 8.6933232421875e+03, 8.6933232421875e+03, 8.6933232421875e+03, 8.6933232421875e+03, 8.6933232421875e+03, 8.6933232421875e+03, 8.6933232421875e+03, 8.6933232421875e+03, 8.6933232421875e+03, 8.6933232421875e+03, 8.6933232421875e+03, 5.79068359375e+03, 5.79068359375e+03, 5.79068359375e+03, 5.79068359375e+03, 5.79068359375e+03, 5.79068359375e+03, 5.79068359375e+03, 5.79068359375e+03, 5.79068359375e+03, 5.79068359375e+03, 5.7437607421875e+03, 5.7437607421875e+03, 5.7437607421875e+03, 5.7437607421875e+03, 5.7437607421875e+03, 5.7437607421875e+03, 5.7437607421875e+03, 5.7437607421875e+03, 5.7437607421875e+03, 5.7437607421875e+03, 5.7437607421875e+03, 5.6966845703125e+03, 5.6966845703125e+03, 5.6966845703125e+03, 5.6966845703125e+03, 5.6966845703125e+03, 5.6966845703125e+03, 5.6966845703125e+03, 5.6966845703125e+03, 5.6966845703125e+03, 5.6966845703125e+03, 5.65401416015625e+03, 5.65401416015625e+03, 5.65401416015625e+03, 5.65401416015625e+03, 5.65401416015625e+03, 5.65401416015625e+03, 5.65401416015625e+03, 5.65401416015625e+03, 5.65401416015625e+03, 5.65401416015625e+03, 5.65121240234375e+03, 5.65121240234375e+03, 5.65121240234375e+03, 5.65121240234375e+03, 5.65121240234375e+03, 5.65121240234375e+03, 5.65121240234375e+03, 5.65121240234375e+03, 5.65121240234375e+03, 5.65121240234375e+03, 5.65121240234375e+03, 5.64937060546875e+03, 5.64937060546875e+03, 5.64937060546875e+03, 5.64937060546875e+03, 5.64937060546875e+03, 5.64937060546875e+03, 5.64937060546875e+03, 5.64937060546875e+03, 5.64937060546875e+03] +TSetCoo.y=[2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02] +optStaCoo.TZon=[2.971499938964844e+02, 2.971498413085938e+02, 2.971499938964844e+02, 2.97109375e+02, 2.96818359375e+02, 2.968193664550781e+02, 2.975328063964844e+02, 2.989842834472656e+02, 3.00844482421875e+02, 2.971523742675781e+02, 2.971499328613281e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.969385070800781e+02, 2.967481994628906e+02, 2.971436767578125e+02, 2.983148498535156e+02, 3.000650634765625e+02, 2.978899230957031e+02, 2.971496276855469e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.970651245117188e+02, 2.967797546386719e+02, 2.968895568847656e+02, 2.977460327148438e+02, 2.993042297363281e+02, 3.011838989257812e+02, 2.971517639160156e+02, 2.971501159667969e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971443176269531e+02, 2.968817749023438e+02, 2.967654418945312e+02, 2.972988586425781e+02, 2.985993347167969e+02, 3.004089660644531e+02, 3.012548828125e+02, 2.971474609375e+02, 2.971500244140625e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.970117492675781e+02, 2.967550048828125e+02, 2.969850769042969e+02, 2.979830627441406e+02, 2.996351013183594e+02, 3.015155639648438e+02, 2.979967346191406e+02, 2.971498718261719e+02, 2.971499633789062e+02, 2.971499938964844e+02, 2.971189880371094e+02, 2.968306274414062e+02, 2.968048400878906e+02, 2.974801330566406e+02, 2.989011840820312e+02, 3.007530822753906e+02, 3.002462463378906e+02, 2.971492004394531e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.969540710449219e+02, 2.967471618652344e+02, 2.971068420410156e+02, 2.982422790527344e+02, 2.999738464355469e+02, 3.018363037109375e+02, 2.971840209960938e+02, 2.971499328613281e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.970780029296875e+02, 2.967888488769531e+02, 2.968683471679688e+02, 2.97686767578125e+02, 2.992177124023438e+02, 3.010939331054688e+02, 2.99263916015625e+02, 2.971489868164062e+02, 2.971499633789062e+02, 2.971499938964844e+02, 2.971477661132812e+02, 2.96896484375e+02, 2.967586669921875e+02, 2.972549438476562e+02, 2.985216979980469e+02, 3.003171081542969e+02, 3.016982727050781e+02, 2.971435546875e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.97026611328125e+02, 2.967600402832031e+02, 2.969569396972656e+02, 2.9791748046875e+02] +optStaCoo.optOn=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_Utilities_Validation_OptimalStartHeating.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_Utilities_Validation_OptimalStartHeating.txt new file mode 100644 index 0000000000..4bb07af542 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_Utilities_Validation_OptimalStartHeating.txt @@ -0,0 +1,13 @@ +last-generated=2021-01-30 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "number of continuous time states": "2", + "numerical Jacobians": "0" +} +time=[-1.728e+05, 6.048e+05] +optStaHea.tOpt=[0e+00, 0e+00, 1.08e+04, 1.08e+04, 1.08e+04, 1.08e+04, 1.08e+04, 1.08e+04, 1.08e+04, 1.08e+04, 1.08e+04, 1.08e+04, 1.08e+04, 7.3458525390625e+03, 7.3458525390625e+03, 7.3458525390625e+03, 7.3458525390625e+03, 7.3458525390625e+03, 7.3458525390625e+03, 7.3458525390625e+03, 7.3458525390625e+03, 7.3458525390625e+03, 7.3458525390625e+03, 7.3458525390625e+03, 7.3458525390625e+03, 5.564533203125e+03, 5.564533203125e+03, 5.564533203125e+03, 5.564533203125e+03, 5.564533203125e+03, 5.564533203125e+03, 5.564533203125e+03, 5.564533203125e+03, 5.564533203125e+03, 5.564533203125e+03, 5.564533203125e+03, 3.725474365234375e+03, 3.725474365234375e+03, 3.725474365234375e+03, 3.725474365234375e+03, 3.725474365234375e+03, 3.725474365234375e+03, 3.725474365234375e+03, 3.725474365234375e+03, 3.725474365234375e+03, 3.725474365234375e+03, 3.725474365234375e+03, 3.750643798828125e+03, 3.750643798828125e+03, 3.750643798828125e+03, 3.750643798828125e+03, 3.750643798828125e+03, 3.750643798828125e+03, 3.750643798828125e+03, 3.750643798828125e+03, 3.750643798828125e+03, 3.750643798828125e+03, 3.750643798828125e+03, 3.750772705078125e+03, 3.750772705078125e+03, 3.750772705078125e+03, 3.750772705078125e+03, 3.750772705078125e+03, 3.750772705078125e+03, 3.750772705078125e+03, 3.750772705078125e+03, 3.750772705078125e+03, 3.750772705078125e+03, 3.750772705078125e+03, 3.7474794921875e+03, 3.7474794921875e+03, 3.7474794921875e+03, 3.7474794921875e+03, 3.7474794921875e+03, 3.7474794921875e+03, 3.7474794921875e+03, 3.7474794921875e+03, 3.7474794921875e+03, 3.7474794921875e+03, 3.7474794921875e+03, 3.747568359375e+03, 3.747568359375e+03, 3.747568359375e+03, 3.747568359375e+03, 3.747568359375e+03, 3.747568359375e+03, 3.747568359375e+03, 3.747568359375e+03, 3.747568359375e+03, 3.747568359375e+03, 3.747568359375e+03, 3.74755859375e+03, 3.74755859375e+03, 3.74755859375e+03, 3.74755859375e+03, 3.74755859375e+03, 3.74755859375e+03, 3.74755859375e+03, 3.74755859375e+03, 3.74755859375e+03, 3.74755859375e+03] +TSetHea.y=[2.881499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02] +optStaHea.TZon=[2.941499938964844e+02, 2.896638488769531e+02, 2.901727905273438e+02, 2.941500244140625e+02, 2.941500244140625e+02, 2.941500244140625e+02, 2.941500244140625e+02, 2.941500244140625e+02, 2.941499938964844e+02, 2.940346984863281e+02, 2.930039978027344e+02, 2.908515625e+02, 2.881498718261719e+02, 2.881499938964844e+02, 2.941452941894531e+02, 2.941500244140625e+02, 2.941500244140625e+02, 2.941500244140625e+02, 2.941500244140625e+02, 2.941499938964844e+02, 2.940999755859375e+02, 2.931686096191406e+02, 2.911500244140625e+02, 2.881551208496094e+02, 2.881499938964844e+02, 2.914275512695312e+02, 2.941499938964844e+02, 2.941500244140625e+02, 2.941500244140625e+02, 2.941500244140625e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.933190307617188e+02, 2.914343566894531e+02, 2.884085083007812e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.941503601074219e+02, 2.941500244140625e+02, 2.941500244140625e+02, 2.941500244140625e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.934559326171875e+02, 2.917038879394531e+02, 2.887902526855469e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.941492614746094e+02, 2.941500244140625e+02, 2.941500244140625e+02, 2.941500244140625e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.935798950195312e+02, 2.919584045410156e+02, 2.891625061035156e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.941535949707031e+02, 2.941500244140625e+02, 2.941500244140625e+02, 2.941500244140625e+02, 2.941500244140625e+02, 2.941499938964844e+02, 2.936916198730469e+02, 2.921978149414062e+02, 2.895242919921875e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.941408996582031e+02, 2.941500244140625e+02, 2.941500244140625e+02, 2.941500244140625e+02, 2.941500244140625e+02, 2.941499938964844e+02, 2.937920227050781e+02, 2.924220275878906e+02, 2.898748474121094e+02, 2.8814990234375e+02, 2.881499938964844e+02, 2.939381408691406e+02, 2.941500244140625e+02, 2.941500244140625e+02, 2.941500244140625e+02, 2.941500244140625e+02, 2.941499938964844e+02, 2.938818054199219e+02, 2.926309509277344e+02, 2.902132873535156e+02, 2.881502380371094e+02, 2.881499938964844e+02, 2.926377868652344e+02, 2.941500244140625e+02, 2.941500244140625e+02, 2.941500244140625e+02, 2.941500244140625e+02, 2.941499938964844e+02, 2.939624328613281e+02, 2.92824951171875e+02, 2.905391540527344e+02] +optStaHea.optOn=[0e+00, 0e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_Utilities_Validation_OptimalStartHeatingCooling.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_Utilities_Validation_OptimalStartHeatingCooling.txt new file mode 100644 index 0000000000..f5993b9705 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_Utilities_Validation_OptimalStartHeatingCooling.txt @@ -0,0 +1,18 @@ +last-generated=2021-01-30 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "number of continuous time states": "3", + "numerical Jacobians": "0" +} +time=[0e+00, 2.4192e+06] +optSta.tOpt=[0e+00, 7.95337939453125e+03, 7.95337939453125e+03, 7.95337939453125e+03, 7.95337939453125e+03, 4.31832470703125e+03, 4.31832470703125e+03, 4.31832470703125e+03, 3.24136181640625e+03, 3.24136181640625e+03, 3.24136181640625e+03, 3.24136181640625e+03, 2.161732421875e+03, 2.161732421875e+03, 2.161732421875e+03, 2.163635009765625e+03, 2.163635009765625e+03, 2.163635009765625e+03, 2.163635009765625e+03, 2.1644345703125e+03, 2.1644345703125e+03, 2.1644345703125e+03, 2.1644345703125e+03, 2.16497900390625e+03, 2.16497900390625e+03, 2.16497900390625e+03, 0e+00, 0e+00, 0e+00, 0e+00, 5.74002783203125e+03, 5.74002783203125e+03, 5.74002783203125e+03, 2.12517529296875e+03, 2.12517529296875e+03, 2.12517529296875e+03, 2.12517529296875e+03, 1.59286767578125e+03, 1.59286767578125e+03, 1.59286767578125e+03, 1.061448486328125e+03, 1.061448486328125e+03, 1.061448486328125e+03, 1.061448486328125e+03, 1.060780151367188e+03, 1.060780151367188e+03, 1.060780151367188e+03, 1.060780151367188e+03, 1.060423217773438e+03, 1.060423217773438e+03, 1.060423217773438e+03, 0e+00, 0e+00, 0e+00, 0e+00, 2.165054931640625e+03, 2.165054931640625e+03, 2.165054931640625e+03, 2.164988525390625e+03, 2.164988525390625e+03, 2.164988525390625e+03, 2.164988525390625e+03, 2.164999755859375e+03, 2.164999755859375e+03, 2.164999755859375e+03, 2.165007080078125e+03, 2.165007080078125e+03, 2.165007080078125e+03, 2.165007080078125e+03, 2.164992431640625e+03, 2.164992431640625e+03, 2.164992431640625e+03, 2.164992431640625e+03, 2.165001708984375e+03, 2.165001708984375e+03, 2.165001708984375e+03, 0e+00, 0e+00, 0e+00, 0e+00, 1.060263061523438e+03, 1.060263061523438e+03, 1.060263061523438e+03, 1.0602626953125e+03, 1.0602626953125e+03, 1.0602626953125e+03, 1.0602626953125e+03, 1.060263061523438e+03, 1.060263061523438e+03, 1.060263061523438e+03, 1.060266479492188e+03, 1.060266479492188e+03, 1.060266479492188e+03, 1.060266479492188e+03, 1.060265747070312e+03, 1.060265747070312e+03, 1.060265747070312e+03, 1.060265747070312e+03, 1.060265625e+03, 1.060265625e+03, 1.060265625e+03] +optSta.optCoo.tOpt=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5.74002783203125e+03, 5.74002783203125e+03, 5.74002783203125e+03, 2.12517529296875e+03, 2.12517529296875e+03, 2.12517529296875e+03, 2.12517529296875e+03, 1.59286767578125e+03, 1.59286767578125e+03, 1.59286767578125e+03, 1.061448486328125e+03, 1.061448486328125e+03, 1.061448486328125e+03, 1.061448486328125e+03, 1.060780151367188e+03, 1.060780151367188e+03, 1.060780151367188e+03, 1.060780151367188e+03, 1.060423217773438e+03, 1.060423217773438e+03, 1.060423217773438e+03, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.060263061523438e+03, 1.060263061523438e+03, 1.060263061523438e+03, 1.0602626953125e+03, 1.0602626953125e+03, 1.0602626953125e+03, 1.0602626953125e+03, 1.060263061523438e+03, 1.060263061523438e+03, 1.060263061523438e+03, 1.060266479492188e+03, 1.060266479492188e+03, 1.060266479492188e+03, 1.060266479492188e+03, 1.060265747070312e+03, 1.060265747070312e+03, 1.060265747070312e+03, 1.060265747070312e+03, 1.060265625e+03, 1.060265625e+03, 1.060265625e+03] +optSta.optHea.tOpt=[0e+00, 7.95337939453125e+03, 7.95337939453125e+03, 7.95337939453125e+03, 7.95337939453125e+03, 4.31832470703125e+03, 4.31832470703125e+03, 4.31832470703125e+03, 3.24136181640625e+03, 3.24136181640625e+03, 3.24136181640625e+03, 3.24136181640625e+03, 2.161732421875e+03, 2.161732421875e+03, 2.161732421875e+03, 2.163635009765625e+03, 2.163635009765625e+03, 2.163635009765625e+03, 2.163635009765625e+03, 2.1644345703125e+03, 2.1644345703125e+03, 2.1644345703125e+03, 2.1644345703125e+03, 2.16497900390625e+03, 2.16497900390625e+03, 2.16497900390625e+03, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2.165054931640625e+03, 2.165054931640625e+03, 2.165054931640625e+03, 2.164988525390625e+03, 2.164988525390625e+03, 2.164988525390625e+03, 2.164988525390625e+03, 2.164999755859375e+03, 2.164999755859375e+03, 2.164999755859375e+03, 2.165007080078125e+03, 2.165007080078125e+03, 2.165007080078125e+03, 2.165007080078125e+03, 2.164992431640625e+03, 2.164992431640625e+03, 2.164992431640625e+03, 2.164992431640625e+03, 2.165001708984375e+03, 2.165001708984375e+03, 2.165001708984375e+03, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +optSta.optOn=[0e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 9.50350909079134e-14, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +optSta.optCoo.optOn=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +optSta.optHea.optOn=[0e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 9.50350909079134e-14, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +TSetHea.y=[2.881499938964844e+02, 2.881499938964844e+02, 2.941499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.941499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.881499938964844e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.941499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.941499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.881499938964844e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.941499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.941499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.881499938964844e+02, 2.941499938964838e+02, 2.941499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.941499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.941499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.881499938964844e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.881499938964844e+02] +TSetCoo.y=[3.031499938964844e+02, 3.031499938964844e+02, 2.971499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 2.971499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 3.031499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 2.971499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 2.971499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 3.031499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 2.971499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 2.971499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 3.031499938964844e+02, 2.971499938964849e+02, 2.971499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 2.971499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 2.971499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 3.031499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 3.031499938964844e+02] +optSta.TZon=[2.921499938964844e+02, 2.941534118652344e+02, 2.941499938964844e+02, 2.937181701660156e+02, 2.924385375976562e+02, 2.941500244140625e+02, 2.941499938964844e+02, 2.928896789550781e+02, 2.924524230957031e+02, 2.941499938964844e+02, 2.940725708007812e+02, 2.924861755371094e+02, 2.941502380371094e+02, 2.941499938964844e+02, 2.93120849609375e+02, 2.924315490722656e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.925740661621094e+02, 2.941640625e+02, 2.941499938964844e+02, 2.933986206054688e+02, 2.924234008789062e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.9270751953125e+02, 2.956985473632812e+02, 2.971499938964844e+02, 2.972089538574219e+02, 2.984024353027344e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.97513916015625e+02, 2.993062438964844e+02, 2.971499938964844e+02, 2.971586608886719e+02, 2.981323852539062e+02, 2.971500549316406e+02, 2.971499938964844e+02, 2.973801574707031e+02, 2.989988403320312e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.97891357421875e+02, 2.971493835449219e+02, 2.971499938964844e+02, 2.972803649902344e+02, 2.986942138671875e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.976842346191406e+02, 2.963826904296875e+02, 2.950361022949219e+02, 2.937181091308594e+02, 2.924384155273438e+02, 2.941500549316406e+02, 2.941499938964844e+02, 2.928897094726562e+02, 2.924524536132812e+02, 2.941499938964844e+02, 2.940725708007812e+02, 2.924861450195312e+02, 2.941502380371094e+02, 2.941499938964844e+02, 2.93120849609375e+02, 2.924315185546875e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.925740661621094e+02, 2.941640625e+02, 2.941499938964844e+02, 2.933986206054688e+02, 2.924233703613281e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.9270751953125e+02, 2.956984558105469e+02, 2.971499938964844e+02, 2.972089538574219e+02, 2.984023742675781e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.975139465332031e+02, 2.993062133789062e+02, 2.971499938964844e+02, 2.971586608886719e+02, 2.981323547363281e+02, 2.971500854492188e+02, 2.971499938964844e+02, 2.973802185058594e+02, 2.989988403320312e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.978913269042969e+02, 2.971493835449219e+02, 2.971499938964844e+02, 2.972803344726562e+02, 2.986942138671875e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.976842956542969e+02] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_Utilities_Validation_OptimalStartNoHeatingNoCooling.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_Utilities_Validation_OptimalStartNoHeatingNoCooling.txt new file mode 100644 index 0000000000..3d5db3063c --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_Utilities_Validation_OptimalStartNoHeatingNoCooling.txt @@ -0,0 +1,14 @@ +last-generated=2020-03-25 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "number of continuous time states": "3", + "numerical Jacobians": "0" +} +time=[0e+00, 2.4192e+06] +optSta.tOpt=[0e+00, 0e+00] +optSta.optOn=[0e+00, 0e+00] +optSta.TZon=[2.921499938964844e+02, 2.920377197265625e+02, 2.941499938964844e+02, 2.937181701660156e+02, 2.924384155273438e+02, 2.941500244140625e+02, 2.941499938964844e+02, 2.928896484375e+02, 2.92452392578125e+02, 2.941499938964844e+02, 2.940725708007812e+02, 2.92486083984375e+02, 2.941501770019531e+02, 2.941499938964844e+02, 2.931207885742188e+02, 2.924315490722656e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.925739135742188e+02, 2.941924743652344e+02, 2.941499938964844e+02, 2.933985595703125e+02, 2.924233093261719e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.9270751953125e+02, 2.956985168457031e+02, 2.971499938964844e+02, 2.972090148925781e+02, 2.984024963378906e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.975139770507812e+02, 2.993063354492188e+02, 2.971499938964844e+02, 2.971586608886719e+02, 2.9813232421875e+02, 2.971501770019531e+02, 2.971499938964844e+02, 2.973801574707031e+02, 2.989988403320312e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.978911743164062e+02, 2.971519470214844e+02, 2.971499938964844e+02, 2.972803039550781e+02, 2.986942138671875e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.976842346191406e+02, 2.963827209472656e+02, 2.950361022949219e+02, 2.937181396484375e+02, 2.924383544921875e+02, 2.941500244140625e+02, 2.941499938964844e+02, 2.928896179199219e+02, 2.92452392578125e+02, 2.941499938964844e+02, 2.940725708007812e+02, 2.924860229492188e+02, 2.941501770019531e+02, 2.941499938964844e+02, 2.931207580566406e+02, 2.924315795898438e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.925740051269531e+02, 2.941924743652342e+02, 2.941499938964844e+02, 2.933985290527344e+02, 2.924232788085938e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.9270751953125e+02, 2.956984558105469e+02, 2.971499938964844e+02, 2.972089538574219e+02, 2.984023742675781e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.975139465332031e+02, 2.993062133789062e+02, 2.971499938964844e+02, 2.971586608886719e+02, 2.981323547363281e+02, 2.971501770019531e+02, 2.971499938964844e+02, 2.973802185058594e+02, 2.989988403320312e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.978912963867188e+02, 2.971519470214844e+02, 2.971499938964844e+02, 2.972803344726562e+02, 2.986941833496094e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.976842956542969e+02] +TSetCoo.y=[3.031499938964844e+02, 3.031499938964844e+02, 2.971499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 2.971499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 3.031499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 2.971499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 2.971499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 3.031499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 2.971499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 2.971499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 3.031499938964844e+02, 2.971499938964849e+02, 2.971499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 2.971499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 2.971499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 3.031499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 3.031499938964844e+02] +TSetHea.y=[2.881499938964844e+02, 2.881499938964844e+02, 2.941499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.941499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.881499938964844e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.941499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.941499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.881499938964844e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.941499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.941499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.881499938964844e+02, 2.941499938964838e+02, 2.941499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.941499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.941499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.881499938964844e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.881499938964844e+02, 2.881499938964844e+02, 2.941499938964844e+02, 2.941499938964844e+02, 2.881499938964844e+02] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_Utilities_Validation_PIDWithInputGains.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_Utilities_Validation_PIDWithInputGains.txt new file mode 100644 index 0000000000..b722033bb8 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Controls_OBC_Utilities_Validation_PIDWithInputGains.txt @@ -0,0 +1,17 @@ +last-generated=2022-05-20 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "number of continuous time states": "4", + "numerical Jacobians": "0" +} +time=[0e+00, 1e+00] +PID.k=[1e+00, 1e+00] +PIDWitInpGai.k=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1.200000047683716e+00, 1.200000047683716e+00, 1.200000047683716e+00, 1.200000047683716e+00, 1.200000047683716e+00, 1.200000047683716e+00, 1.200000047683716e+00, 1.200000047683716e+00, 1.200000047683716e+00, 1.200000047683716e+00, 1.200000047683716e+00, 1.200000047683716e+00, 1.200000047683716e+00, 1.200000047683716e+00, 1.200000047683716e+00, 1.200000047683716e+00, 1.200000047683716e+00, 1.200000047683716e+00, 1.200000047683716e+00, 1.200000047683716e+00, 1.200000047683716e+00, 1.200000047683716e+00, 1.200000047683716e+00, 1.200000047683716e+00, 1.200000047683716e+00, 1.200000047683716e+00, 1.200000047683716e+00, 1.200000047683716e+00, 1.200000047683716e+00, 1.200000047683716e+00, 1.200000047683716e+00, 1.200000047683716e+00, 1.200000047683716e+00, 1.200000047683716e+00, 1.200000047683716e+00, 1.200000047683716e+00, 1.200000047683716e+00, 1.200000047683716e+00, 1.200000047683716e+00, 1.200000047683716e+00] +PID.Ti=[5e-01, 5e-01] +PIDWitInpGai.Ti=[5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 5e-01, 6.99999988079071e-01, 6.99999988079071e-01, 6.99999988079071e-01, 6.99999988079071e-01, 6.99999988079071e-01, 6.99999988079071e-01, 6.99999988079071e-01, 6.99999988079071e-01, 6.99999988079071e-01, 6.99999988079071e-01, 6.99999988079071e-01, 6.99999988079071e-01, 6.99999988079071e-01, 6.99999988079071e-01, 6.99999988079071e-01, 6.99999988079071e-01, 6.99999988079071e-01, 6.99999988079071e-01, 6.99999988079071e-01, 6.99999988079071e-01, 6.99999988079071e-01, 6.99999988079071e-01, 6.99999988079071e-01, 6.99999988079071e-01, 6.99999988079071e-01, 6.99999988079071e-01, 6.99999988079071e-01, 6.99999988079071e-01, 6.99999988079071e-01, 6.99999988079071e-01, 6.99999988079071e-01, 6.99999988079071e-01, 6.99999988079071e-01, 6.99999988079071e-01, 6.99999988079071e-01, 6.99999988079071e-01, 6.99999988079071e-01, 6.99999988079071e-01, 6.99999988079071e-01, 6.99999988079071e-01] +PID.Td=[1.000000014901161e-01, 1.000000014901161e-01] +PIDWitInpGai.Td=[1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01] +PID.y=[5e-01, 5.09999990686778e-01, 5.19999981373556e-01, 5.299999720603333e-01, 5.400000223517302e-01, 5.500000111758584e-01, 5.600000037252728e-01, 5.699999925494228e-01, 5.799999850988654e-01, 5.899999701977309e-01, 6.000000223517196e-01, 6.100000149011523e-01, 6.200000074505406e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 8.137588987134604e-01, 7.079578216303023e-01, 6.75346736289788e-01, 6.697009218262596e-01, 6.739532864769328e-01, 6.818436353351124e-01, 6.910501775726797e-01, 7.007831194056565e-01, 7.1069317582545e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 8.774170243203979e-01, 7.716368014726137e-01, 7.390448492627223e-01, 7.333810937881043e-01, 7.376160141842284e-01, 7.455072635850436e-01, 7.547188771106752e-01, 7.644033888020471e-01, 7.742881131527446e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 9.219928346223786e-01, 8.162043864878715e-01, 7.836006921384461e-01, 7.779276979318089e-01, 7.82165300588035e-01, 7.900578016496561e-01, 7.992791903056254e-01, 8.089927294509028e-01, 8.18887348207449e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +PIDWitInpGai.y=[5e-01, 5.09999990686778e-01, 5.19999981373556e-01, 5.299999720603333e-01, 5.400000223517302e-01, 5.500000111758584e-01, 5.600000037252728e-01, 5.699999925494228e-01, 5.799999850988654e-01, 5.899999701977309e-01, 6.000000223517196e-01, 6.100000149011523e-01, 6.200000074505406e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 8.137588987134604e-01, 7.079578216303023e-01, 6.75346736289788e-01, 6.697009218262596e-01, 6.739532864769328e-01, 6.818436353351124e-01, 6.910501775726797e-01, 7.007831194056565e-01, 7.1069317582545e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 8.774170243203979e-01, 7.716368014726137e-01, 7.390448492627223e-01, 7.333810937881043e-01, 7.376160141842284e-01, 7.455072635850436e-01, 7.547188771106752e-01, 8.631590484799047e-01, 8.715933520988245e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.999999413593323e-01, 9.626983615673881e-01, 9.395208008269087e-01, 9.288343820753084e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] diff --git a/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Utilities_Math_Functions_Examples_Round.txt b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Utilities_Math_Functions_Examples_Round.txt new file mode 100644 index 0000000000..d74ee1a8c1 --- /dev/null +++ b/IBPSA/Resources/ReferenceResults/Dymola/IBPSA_Utilities_Math_Functions_Examples_Round.txt @@ -0,0 +1,13 @@ +last-generated=2020-10-19 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +time=[-2e+00, 2e+00] +ym2=[-2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00] +ym1=[-2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00] +y=[-2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00] +y1=[-2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00] +y2=[-2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, -1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00] diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Conversions/Validation/BooleanToInteger.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Conversions/Validation/BooleanToInteger.mos new file mode 100644 index 0000000000..4d4ccff733 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Conversions/Validation/BooleanToInteger.mos @@ -0,0 +1,3 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Conversions.Validation.BooleanToInteger", stopTime = 4.0, method="Cvode", tolerance=1e-06, resultFile="BooleanToInteger1"); +createPlot(id=1, position={15, 10, 730, 200}, y={"booToInt.u"}, range={0.0, 1.0, -2.0, 5.0}, grid=true, colors={{238,46,47}}); +createPlot(id=2, position={15, 250, 730, 200}, y={"booToInt.y"}, range={0.0, 1.0, -2.0, 5.0}, grid=true, colors={{0,140,72}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Conversions/Validation/BooleanToReal.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Conversions/Validation/BooleanToReal.mos new file mode 100644 index 0000000000..769ac2fa05 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Conversions/Validation/BooleanToReal.mos @@ -0,0 +1,3 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Conversions.Validation.BooleanToReal", stopTime = 4.0, method="Cvode", tolerance=1e-06, resultFile="BooleanToReal1"); +createPlot(id=1, position={15, 10, 730, 200}, y={"booToRea.u"}, range={0.0, 1.0, -2.0, 5.0}, grid=true, colors={{238,46,47}}); +createPlot(id=2, position={15, 250, 730, 200}, y={"booToRea.y"}, range={0.0, 1.0, -2.0, 5.0}, grid=true, colors={{0,140,72}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Conversions/Validation/IntegerToReal.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Conversions/Validation/IntegerToReal.mos new file mode 100644 index 0000000000..501db4ee85 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Conversions/Validation/IntegerToReal.mos @@ -0,0 +1,3 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Conversions.Validation.IntegerToReal", stopTime = 1.0, method="Cvode", tolerance=1e-06, resultFile="IntegerToReal1"); +createPlot(id=1, position={15, 10, 730, 220}, y={"intToRea.u"}, range={0.0, 1.0, -2.0, 5.0}, grid=true, colors={{238,46,47}}); +createPlot(id=2, position={15, 220, 730, 220}, y={"intToRea.y"}, range={0.0, 1.0, -2.0, 5.0}, grid=true, colors={{0,140,72}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Conversions/Validation/RealToInteger.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Conversions/Validation/RealToInteger.mos new file mode 100644 index 0000000000..650ebcc3cd --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Conversions/Validation/RealToInteger.mos @@ -0,0 +1,2 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Conversions.Validation.RealToInteger", method="Cvode", tolerance=1e-06, stopTime=1.0, resultFile="RealToInteger1"); +createPlot(id=1, position={15, 10, 590, 420}, y={"reaToInt.u", "reaToInt.y"}, range={0.0, 1.0, -15, 15}, grid=true, colors={{238,46,47}, {28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Discrete/Validation/FirstOrderHold.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Discrete/Validation/FirstOrderHold.mos new file mode 100644 index 0000000000..b4cd09e1c5 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Discrete/Validation/FirstOrderHold.mos @@ -0,0 +1,2 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Discrete.Validation.FirstOrderHold", stopTime=1.0, method="Cvode", tolerance=1e-06, resultFile="FirstOrderHold1"); +createPlot(id=1, position={15, 10, 590, 420}, y={"firOrdHol.u", "firOrdHol.y"}, range={0.0, 1.0, -15, 15}, grid=true, colors={{238,46,47}, {28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Discrete/Validation/Sampler.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Discrete/Validation/Sampler.mos new file mode 100644 index 0000000000..aa38db656f --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Discrete/Validation/Sampler.mos @@ -0,0 +1,2 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Discrete.Validation.Sampler", stopTime=1.0, method="Cvode", tolerance=1e-06, resultFile="Sampler1"); +createPlot(id=1, position={15, 10, 590, 420}, y={"sampler1.u", "sampler1.y"}, range={0.0, 1.0, -15, 15}, grid=true, colors={{238,46,47}, {28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Discrete/Validation/TriggeredMax.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Discrete/Validation/TriggeredMax.mos new file mode 100644 index 0000000000..d78a181a38 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Discrete/Validation/TriggeredMax.mos @@ -0,0 +1,3 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Discrete.Validation.TriggeredMax", stopTime=1.0, method="Cvode", tolerance=1e-06, resultFile="TriggeredMax1"); +createPlot(id=1, position={15, 10, 750, 230}, y={"triggeredMax.u", "triggeredMax.y"}, range={0.0, 1.0, -15, 15}, grid=true, colors={{238,46,47}, {28,108,200}}); +createPlot(id=2, position={15, 270, 750, 180}, y={"triggeredMax.trigger"}, range={0.0, 1.0, -15, 15}, grid=true, colors={{238,46,47}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Discrete/Validation/TriggeredMovingMean.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Discrete/Validation/TriggeredMovingMean.mos new file mode 100644 index 0000000000..3af0a04d7f --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Discrete/Validation/TriggeredMovingMean.mos @@ -0,0 +1,5 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Discrete.Validation.TriggeredMovingMean", startTime = -0.5, stopTime=15.0, method="Cvode", tolerance=1e-06, resultFile="TriggeredMovingMean1"); +createPlot(id=1, position={15, 10, 590, 420}, subPlot=1, y={"triMovMea.u", "triMovMea.y", "triMovMea1.y"}, range={-1, 15.0, -2.0, 2.0}, grid=true, colors={{0,0,255}, {255,0,0}, {0,255,0}}); +createPlot(id=1, position={15, 10, 590, 420}, subPlot=2, y={"booPul.y"}, range={-1, 15.0, -1, 1}, grid=true, colors={{0,0,255}}); +createPlot(id=1, position={15, 10, 590, 420}, subPlot=3, y={"triMovMea.u", "triMovMea2.y"}, range={-1, 15.0, -2.0, 2.0}, grid=true, colors={{0,0,255}, {255,0,0}}); +createPlot(id=1, position={15, 10, 590, 420}, subPlot=4, y={"booPul1.y"}, range={-1, 15.0, -1, 1}, grid=true, colors={{0,0,255}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Discrete/Validation/TriggeredSampler.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Discrete/Validation/TriggeredSampler.mos new file mode 100644 index 0000000000..d72fd775b7 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Discrete/Validation/TriggeredSampler.mos @@ -0,0 +1,2 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Discrete.Validation.TriggeredSampler", stopTime=1.0, method="Cvode", tolerance=1e-06, resultFile="TriggeredSampler1"); +createPlot(id=1, position={55, 50, 615, 494}, y={"booPul.y", "sin1.y", "triSam.y", "triSam1.y"}, range={0.0, 1.0, -1.2, 1.2000000000000004}, grid=true, colors={{28,108,200}, {238,46,47}, {0,140,72}, {217,67,180}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Discrete/Validation/UnitDelay.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Discrete/Validation/UnitDelay.mos new file mode 100644 index 0000000000..144ba6730f --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Discrete/Validation/UnitDelay.mos @@ -0,0 +1,2 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Discrete.Validation.UnitDelay", stopTime=1.0, method="Cvode", tolerance=1e-06, resultFile="unitDelay1"); +createPlot(id=1, position={15, 10, 590, 420}, y={"unitDelay1.u", "unitDelay1.y"}, range={0.0, 1.0, -15, 15}, grid=true, colors={{238,46,47}, {28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Discrete/Validation/ZeroOrderHold.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Discrete/Validation/ZeroOrderHold.mos new file mode 100644 index 0000000000..62a595c2b3 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Discrete/Validation/ZeroOrderHold.mos @@ -0,0 +1,2 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Discrete.Validation.ZeroOrderHold", stopTime=1.0, method="Cvode", tolerance=1e-06, resultFile="ZeroOrderHold1"); +createPlot(id=1, position={15, 10, 590, 420}, y={"zerOrdHol.u", "zerOrdHol.y"}, range={0.0, 1.0, -15, 15}, grid=true, colors={{238,46,47}, {28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Sources/Validation/Constant.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Sources/Validation/Constant.mos new file mode 100644 index 0000000000..f27ea050ff --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Sources/Validation/Constant.mos @@ -0,0 +1,2 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Integers.Sources.Validation.Constant", stopTime=1.0, method="Cvode", tolerance=1e-06, resultFile="IntCon1"); +createPlot(id=1, position={15, 10, 590, 420}, y={"con.y"}, range={0.0, 5.0, -3.5, 3.5}, grid=true, colors={{28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Sources/Validation/Pulse.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Sources/Validation/Pulse.mos new file mode 100644 index 0000000000..429ce5229d --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Sources/Validation/Pulse.mos @@ -0,0 +1,5 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Integers.Sources.Validation.Pulse", stopTime=5.0, method="Cvode", tolerance=1e-06, resultFile="IntegerPulse1"); +createPlot(id=1, subPlot=1, position={15, 10, 590, 750}, y={"pul.y"}, range={0.0, 5.0, -3.5, 3.5}, grid=true, colors={{28,108,200}}); +createPlot(id=1, subPlot=2, position={15, 10, 590, 750}, y={"pul1.y"}, range={0.0, 5.0, -3.5, 3.5}, grid=true, colors={{28,108,200}}); +createPlot(id=1, subPlot=3, position={15, 10, 590, 750}, y={"pul2.y"}, range={0.0, 5.0, -3.5, 3.5}, grid=true, colors={{28,108,200}}); +createPlot(id=1, subPlot=4, position={15, 10, 590, 750}, y={"pul3.y"}, range={0.0, 5.0, -3.5, 3.5}, grid=true, colors={{28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Sources/Validation/TimeTable.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Sources/Validation/TimeTable.mos new file mode 100644 index 0000000000..ef89f261dc --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Sources/Validation/TimeTable.mos @@ -0,0 +1,4 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Integers.Sources.Validation.TimeTable", startTime=0, tolerance=1e-6, stopTime=15, method="Cvode", resultFile="IntegerTimeTable"); +createPlot(id=1, position={15, 6, 1488, 1268}, y={"intTimTab.y[1]", "intTimTab.y[2]"}, range={0.0, 15.0, -2.0, 8.0}, grid=true, colors={{28,108,200}, {28,108,200}}); +createPlot(id=1, position={15, 6, 1488, 1268}, y={"intTimTab1.y[1]", "intTimTab1.y[2]"}, range={0.0, 15.0, -4.0, 8.0}, grid=true, subPlot=102, colors={{28,108,200}, {28,108,200}}); +createPlot(id=1, position={15, 6, 1488, 1268}, y={"tabOneRow.y[1]"}, range={0.0, 15.0, -1.2000000000000002, 0.3999999999999999}, grid=true, subPlot=103, colors={{28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Sources/Validation/TimeTableNegativeStartTime.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Sources/Validation/TimeTableNegativeStartTime.mos new file mode 100644 index 0000000000..b490f39630 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Sources/Validation/TimeTableNegativeStartTime.mos @@ -0,0 +1,4 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Integers.Sources.Validation.TimeTableNegativeStartTime", startTime=-5, tolerance=1e-6, stopTime=10, method="Cvode", resultFile="TimeTableNegativeStartTime3"); +createPlot(id=1, position={15, 6, 1488, 1268}, y={"intTimTab.y[1]", "intTimTab.y[2]"}, grid=true, colors={{28,108,200}, {28,108,200}}); +createPlot(id=1, position={15, 6, 1488, 1268}, y={"intTimTab1.y[1]", "intTimTab1.y[2]"}, grid=true, subPlot=102, colors={{28,108,200}, {28,108,200}}); +createPlot(id=1, position={15, 6, 1488, 1268}, y={"tabOneRow.y[1]"}, grid=true, subPlot=103, colors={{28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Validation/Abs.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Validation/Abs.mos new file mode 100644 index 0000000000..fe0fa8acf7 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Validation/Abs.mos @@ -0,0 +1,2 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Integers.Validation.Abs", stopTime=1.0, method="Cvode", tolerance=1e-06, resultFile="Abs2"); +createPlot(id=1, position={15, 10, 590, 420}, y={"abs1.u", "abs1.y"}, range={0.0, 1.0, -1.2, 1.4}, grid=true, colors={{28,108,200}, {238,46,47}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Validation/Add.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Validation/Add.mos new file mode 100644 index 0000000000..cb05373cd6 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Validation/Add.mos @@ -0,0 +1,2 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Integers.Validation.Add", stopTime=1.0, method="Cvode", tolerance=1e-06, resultFile="Add2"); +createPlot(id=1, position={15, 10, 590, 420}, y={"add1.u1", "add1.u2", "add1.y"}, range={0.0, 1.0, -3.5, 3.5}, grid=true, colors={{0,140,72}, {238,46,47}, {28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Validation/AddParameter.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Validation/AddParameter.mos new file mode 100644 index 0000000000..1c9f554b58 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Validation/AddParameter.mos @@ -0,0 +1,2 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Integers.Validation.AddParameter", method="Cvode", tolerance=1e-06, stopTime=1.0, resultFile="AddParameter3"); +createPlot(id=1, position={15, 10, 590, 420}, y={"addPar.u", "addPar.y"}, range={0.0, 1.0, -4, 5}, grid=true, colors={{238,46,47}, {28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Validation/Change.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Validation/Change.mos new file mode 100644 index 0000000000..67eae9d2df --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Validation/Change.mos @@ -0,0 +1,6 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Integers.Validation.Change", stopTime=1.0, method="Cvode", tolerance=1e-06, resultFile="IntChange"); +createPlot(id=1, position={15, 10, 2072, 1231}, y={"reaToInt.y"}, range={0.0, 1.0, -1.5, 1.5}, grid=true, colors={{0,140,72}}); +createPlot(id=1, position={15, 10, 2072, 407}, y={"cha.u", "cha.up", "cha.y", "cha.down"}, range={0.0, 1.0, -1.5, 1.5}, grid=true, subPlot=2, colors={{217,67,180}, {28,108,200}, {0,140,72}, {238,46,47}}); +createPlot(id=1, position={15, 10, 2072, 407}, y={"changeSampler.u", "changeSampler.y"}, range={0.0, 1.0, -5.0, 25.0}, grid=true, subPlot=3, colors={{28,108,200}, {0,140,72}}); +createPlot(id=1, position={15, 10, 2072, 407}, y={"increaseSampler.u", "increaseSampler.y"}, range={0.0, 1.0, -5.0, 25.0}, grid=true, subPlot=4, colors={{28,108,200}, {0,140,72}}); +createPlot(id=1, position={15, 10, 2072, 407}, y={"decreaseSampler.u", "decreaseSampler.y"}, range={0.0, 1.0, -5.0, 25.0}, grid=true, subPlot=5, colors={{28,108,200}, {0,140,72}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Validation/Equal.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Validation/Equal.mos new file mode 100644 index 0000000000..3a8778383c --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Validation/Equal.mos @@ -0,0 +1,3 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Integers.Validation.Equal", stopTime=1.0, method="Cvode", tolerance=1e-06, resultFile="Equal2"); +createPlot(id=1, position={15, 10, 590, 450}, subPlot=1, y={"intEqu.u1", "intEqu.u2"}, range={0.0, 1.0, -3.5, 3.5}, grid=true, colors={{0,140,72}, {238,46,47}}); +createPlot(id=1, position={15, 10, 590, 450}, subPlot=2, y={"intEqu.y"}, range={0.0, 1.0, -3.5, 3.5}, grid=true, colors={{0,140,72}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Validation/Greater.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Validation/Greater.mos new file mode 100644 index 0000000000..e3e9c65045 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Validation/Greater.mos @@ -0,0 +1,3 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Integers.Validation.Greater", stopTime=1.0, method="Cvode", tolerance=1e-06, resultFile="Greater2"); +createPlot(id=1, position={15, 10, 590, 450}, subPlot=1, y={"intGre.u1", "intGre.u2"}, range={0.0, 1.0, -3.5, 3.5}, grid=true, colors={{0,140,72}, {238,46,47}}); +createPlot(id=1, position={15, 10, 590, 450}, subPlot=2, y={"intGre.y"}, range={0.0, 1.0, -3.5, 3.5}, grid=true, colors={{0,140,72}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Validation/GreaterEqual.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Validation/GreaterEqual.mos new file mode 100644 index 0000000000..9af0591b0c --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Validation/GreaterEqual.mos @@ -0,0 +1,3 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Integers.Validation.GreaterEqual", stopTime=1.0, method="Cvode", tolerance=1e-06, resultFile="GreaterEqual2"); +createPlot(id=1, position={15, 10, 590, 450}, subPlot=1, y={"intGreEqu.u1", "intGreEqu.u2"}, range={0.0, 1.0, -3.5, 3.5}, grid=true, colors={{0,140,72}, {238,46,47}}); +createPlot(id=1, position={15, 10, 590, 450}, subPlot=2, y={"intGreEqu.y"}, range={0.0, 1.0, -3.5, 3.5}, grid=true, colors={{0,140,72}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Validation/GreaterEqualThreshold.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Validation/GreaterEqualThreshold.mos new file mode 100644 index 0000000000..532015066a --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Validation/GreaterEqualThreshold.mos @@ -0,0 +1,3 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Integers.Validation.GreaterEqualThreshold", stopTime=1.0, method="Cvode", tolerance=1e-06, resultFile="GreaterEqualThreshold2"); +createPlot(id=1, position={15, 10, 590, 450}, subPlot=1, y={"intGreEquThr.t", "intGreEquThr.u"}, range={0.0, 1.0, -3.5, 3.5}, grid=true, colors={{0,140,72}, {238,46,47}}); +createPlot(id=1, position={15, 10, 590, 450}, subPlot=2, y={"intGreEquThr.y"}, range={0.0, 1.0, -3.5, 3.5}, grid=true, colors={{0,140,72}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Validation/GreaterThreshold.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Validation/GreaterThreshold.mos new file mode 100644 index 0000000000..93bf7c36e2 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Validation/GreaterThreshold.mos @@ -0,0 +1,3 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Integers.Validation.GreaterThreshold", stopTime=1.0, method="Cvode", tolerance=1e-06, resultFile="GreaterThreshold2"); +createPlot(id=1, position={15, 10, 590, 450}, subPlot=1, y={"intGreThr.t", "intGreThr.u"}, range={0.0, 1.0, -3.5, 3.5}, grid=true, colors={{0,140,72}, {238,46,47}}); +createPlot(id=1, position={15, 10, 590, 450}, subPlot=2, y={"intGreThr.y"}, range={0.0, 1.0, -3.5, 3.5}, grid=true, colors={{0,140,72}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Validation/Less.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Validation/Less.mos new file mode 100644 index 0000000000..e52fddafb2 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Validation/Less.mos @@ -0,0 +1,3 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Integers.Validation.Less", stopTime=1.0, method="Cvode", tolerance=1e-06, resultFile="Less2"); +createPlot(id=1, position={15, 10, 590, 450}, subPlot=1, y={"intLes.u1", "intLes.u2"}, range={0.0, 1.0, -3.5, 3.5}, grid=true, colors={{0,140,72}, {238,46,47}}); +createPlot(id=1, position={15, 10, 590, 450}, subPlot=2, y={"intLes.y"}, range={0.0, 1.0, -3.5, 3.5}, grid=true, colors={{0,140,72}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Validation/LessEqual.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Validation/LessEqual.mos new file mode 100644 index 0000000000..b02ef53c8f --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Validation/LessEqual.mos @@ -0,0 +1,3 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Integers.Validation.LessEqual", stopTime=1.0, method="Cvode", tolerance=1e-06, resultFile="LessEqual2"); +createPlot(id=1, position={15, 10, 590, 450}, subPlot=1, y={"intLesEqu.u1", "intLesEqu.u2"}, range={0.0, 1.0, -3.5, 3.5}, grid=true, colors={{0,140,72}, {238,46,47}}); +createPlot(id=1, position={15, 10, 590, 450}, subPlot=2, y={"intLesEqu.y"}, range={0.0, 1.0, -3.5, 3.5}, grid=true, colors={{0,140,72}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Validation/LessEqualThreshold.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Validation/LessEqualThreshold.mos new file mode 100644 index 0000000000..3bb3b3f69e --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Validation/LessEqualThreshold.mos @@ -0,0 +1,3 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Integers.Validation.LessEqualThreshold", stopTime=1.0, method="Cvode", tolerance=1e-06, resultFile="LessEqualThreshold2"); +createPlot(id=1, position={15, 10, 590, 450}, subPlot=1, y={"intLesEquThr.t", "intLesEquThr.u"}, range={0.0, 1.0, -3.5, 3.5}, grid=true, colors={{0,140,72}, {238,46,47}}); +createPlot(id=1, position={15, 10, 590, 450}, subPlot=2, y={"intLesEquThr.y"}, range={0.0, 1.0, -3.5, 3.5}, grid=true, colors={{0,140,72}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Validation/LessThreshold.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Validation/LessThreshold.mos new file mode 100644 index 0000000000..8ef203f4a7 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Validation/LessThreshold.mos @@ -0,0 +1,3 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Integers.Validation.LessThreshold", stopTime=1.0, method="Cvode", tolerance=1e-06, resultFile="LessThreshold2"); +createPlot(id=1, position={15, 10, 590, 450}, subPlot=1, y={"intLesThr.t", "intLesThr.u"}, range={0.0, 1.0, -3.5, 3.5}, grid=true, colors={{0,140,72}, {238,46,47}}); +createPlot(id=1, position={15, 10, 590, 450}, subPlot=2, y={"intLesThr.y"}, range={0.0, 1.0, -3.5, 3.5}, grid=true, colors={{0,140,72}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Validation/Max.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Validation/Max.mos new file mode 100644 index 0000000000..7657635021 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Validation/Max.mos @@ -0,0 +1,2 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Integers.Validation.Max", stopTime=1.0, method="Cvode", tolerance=1e-06, resultFile="Max2"); +createPlot(id=1, position={15, 10, 590, 420}, y={"max1.u1", "max1.u2", "max1.y"}, range={0.0, 1.0, -3.5, 3.5}, grid=true, colors={{0,140,72}, {238,46,47}, {28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Validation/Min.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Validation/Min.mos new file mode 100644 index 0000000000..fc2c0b0829 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Validation/Min.mos @@ -0,0 +1,2 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Integers.Validation.Min", stopTime=1.0, method="Cvode", tolerance=1e-06, resultFile="Min2"); +createPlot(id=1, position={15, 10, 590, 420}, y={"min1.u1", "min1.u2", "min1.y"}, range={0.0, 1.0, -3.5, 3.5}, grid=true, colors={{0,140,72}, {238,46,47}, {28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Validation/MultiSum.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Validation/MultiSum.mos new file mode 100644 index 0000000000..ca07a079d9 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Validation/MultiSum.mos @@ -0,0 +1,2 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Integers.Validation.MultiSum", stopTime=1.0, method="Cvode", tolerance=1e-06, resultFile="MultiSum2"); +createPlot(id=1, position={15, 10, 590, 420}, y={"add1.u[1]", "add1.u[2]", "add1.u[3]", "add1.y"}, range={0.0, 1.0, -5, 6}, grid=true, colors={{0,140,72}, {238,46,47}, {217,67,180}, {28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Validation/Multiply.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Validation/Multiply.mos new file mode 100644 index 0000000000..db80fbb9c9 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Validation/Multiply.mos @@ -0,0 +1,2 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Integers.Validation.Multiply", stopTime=1.0, method="Cvode", tolerance=1e-06, resultFile="Multiply2"); +createPlot(id=1, position={15, 10, 590, 420}, y={"product.u1", "product.u2", "product.y"}, range={0.0, 1.0, -3.5, 3.5}, grid=true, colors={{0,140,72}, {238,46,47}, {28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Validation/OnCounter.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Validation/OnCounter.mos new file mode 100644 index 0000000000..b3850cea79 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Validation/OnCounter.mos @@ -0,0 +1,4 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Integers.Validation.OnCounter", stopTime=2.0, method="Cvode", tolerance=1e-06, resultFile="OnCounter1"); +createPlot(id=1, position={15, 10, 750, 450}, subPlot=1, y={"onCounter.trigger"}, range={0.0, 1.0, -3.5, 3.5}, grid=true, colors={{28,108,200}}); +createPlot(id=1, position={15, 10, 750, 450}, subPlot=2, y={"onCounter.reset"}, range={0.0, 1.0, -3.5, 3.5}, grid=true, colors={{28,108,200}}); +createPlot(id=1, position={15, 10, 750, 450}, subPlot=3, y={"onCounter.y"}, range={0.0, 1.0, -3.5, 3.5}, grid=true, colors={{28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Validation/Stage.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Validation/Stage.mos new file mode 100644 index 0000000000..15460bca04 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Validation/Stage.mos @@ -0,0 +1,6 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Integers.Validation.Stage", stopTime=10.0, method="Cvode", tolerance=1e-06, resultFile="Stage"); +createPlot(id=1, position={15, 15, 1152, 1184}, y={"sta.u"}, range={0.0, 10.0, -0.2, 1.0}, grid=true, subPlot=1, colors={{28,108,200}}, timeUnit="s"); +createPlot(id=1, position={15, 15, 1152, 1184}, y={"sta.y", "zerHolTim.y"}, range={0.0, 10.0, -0.1, 1.0}, autoscale=false, grid=true, subPlot=2, colors={{28,108,200}, {28,108,200}}, timeUnit="s"); +createPlot(id=2, position={1187, 17, 1214, 1182}, y={"sta1.u"}, range={0.0, 10.0, -0.2, 1.2}, grid=true, subPlot=1, colors={{28,108,200}}, timeUnit="s"); +createPlot(id=2, position={1187, 17, 1214, 1182}, y={"sta1.y", "lesHolTim.y"}, range={0.0, 10.0, -1.5, 1.5}, autoscale=false, grid=true, subPlot=2, colors={{28,108,200}, {28,108,200}}, timeUnit="s"); + diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Validation/Subtract.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Validation/Subtract.mos new file mode 100644 index 0000000000..276f663817 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Validation/Subtract.mos @@ -0,0 +1,2 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Integers.Validation.Subtract", method="Cvode", tolerance=1e-06, stopTime=1.0, resultFile="sub2"); +createPlot(id=1, position={15, 10, 590, 420}, y={"sub.u1", "sub.u2", "sub.y"}, range={0.0, 1.0, -3.5, 3.5}, grid=true, colors={{0,140,72}, {238,46,47}, {28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Validation/Switch.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Validation/Switch.mos new file mode 100644 index 0000000000..3301aec93b --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Integers/Validation/Switch.mos @@ -0,0 +1,2 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Integers.Validation.Switch", stopTime=5.0, method="Cvode", tolerance=1e-06, resultFile="IntegerSwitch1"); +createPlot(id=1, position={15, 10, 900, 420}, y={"integerSwitch.u1", "integerSwitch.u2", "integerSwitch.u3", "integerSwitch.y"}, range={0.0, 5.0, -3.5, 3.5}, grid=true, colors={{238,46,47},{28,108,200},{28,108,200},{28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Sources/Validation/Constant.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Sources/Validation/Constant.mos new file mode 100644 index 0000000000..bd659c048f --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Sources/Validation/Constant.mos @@ -0,0 +1,2 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Logical.Sources.Validation.Constant", stopTime=1.0, method="Cvode", tolerance=1e-06, resultFile="BooCon1"); +createPlot(id=1, position={15, 10, 590, 420}, y={"con.y"}, range={0.0, 5.0, -3.5, 3.5}, grid=true, colors={{28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Sources/Validation/Pulse.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Sources/Validation/Pulse.mos new file mode 100644 index 0000000000..9d461130a3 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Sources/Validation/Pulse.mos @@ -0,0 +1,4 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Logical.Sources.Validation.Pulse", stopTime=10, tolerance=1e-06, method="Cvode", resultFile="Pulse"); +createPlot(id=1, position={15, 15, 1385, 860}, y={"booPul_a1.y", "booPul_a2.y", "booPul_a3.y", "booPul_a4.y", "booPul_a5.y"}, range={0.0, 10.0, -0.5, 1.5}, grid=true, colors={{28,108,200}, {28,108,200}, {28,108,200}, {28,108,200}, {28,108,200}}); +createPlot(id=1, position={15, 15, 1385, 860}, y={"booPul_b1.y", "booPul_b2.y", "booPul_b3.y", "booPul_b4.y", "booPul_b5.y"}, range={0.0, 10.0, -0.5, 1.5}, grid=true, subPlot=102, colors={{28,108,200}, {28,108,200}, {28,108,200}, {28,108,200}, {28,108,200}}); +createPlot(id=1, position={15, 15, 1385, 860}, y={"booPul_c1.y", "booPul_c2.y", "booPul_c3.y", "booPul_c4.y", "booPul_c5.y"}, range={0.0, 10.0, -0.5, 1.5}, grid=true, subPlot=103, colors={{28,108,200}, {28,108,200}, {28,108,200}, {28,108,200}, {28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Sources/Validation/PulseNegativeStartTime.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Sources/Validation/PulseNegativeStartTime.mos new file mode 100644 index 0000000000..9f6f059e7d --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Sources/Validation/PulseNegativeStartTime.mos @@ -0,0 +1,4 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Logical.Sources.Validation.PulseNegativeStartTime", startTime=-10, stopTime=1, tolerance=1e-06, method="Cvode", resultFile="PulseNegativeStartTime"); +createPlot(id=1, position={15, 15, 1385, 860}, y={"booPul_a1.y", "booPul_a2.y", "booPul_a3.y", "booPul_a4.y", "booPul_a5.y"}, range={-10, 1, 1.5}, grid=true, colors={{28,108,200}, {28,108,200}, {28,108,200}, {28,108,200}, {28,108,200}}); +createPlot(id=1, position={15, 15, 1385, 860}, y={"booPul_b1.y", "booPul_b2.y", "booPul_b3.y", "booPul_b4.y", "booPul_b5.y"}, range={-10, 1, 1.5}, grid=true, subPlot=102, colors={{28,108,200}, {28,108,200}, {28,108,200}, {28,108,200}, {28,108,200}}); +createPlot(id=1, position={15, 15, 1385, 860}, y={"booPul_c1.y", "booPul_c2.y", "booPul_c3.y", "booPul_c4.y", "booPul_c5.y"}, range={-10, 1, 1.5}, grid=true, subPlot=103, colors={{28,108,200}, {28,108,200}, {28,108,200}, {28,108,200}, {28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Sources/Validation/PulsePositiveStartTime.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Sources/Validation/PulsePositiveStartTime.mos new file mode 100644 index 0000000000..6c8bb88fb3 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Sources/Validation/PulsePositiveStartTime.mos @@ -0,0 +1,4 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Logical.Sources.Validation.PulsePositiveStartTime", startTime=9, stopTime=20, tolerance=1e-06, method="Cvode", resultFile="PulsePositiveStartTime"); +createPlot(id=1, position={15, 15, 1385, 860}, y={"booPul_a1.y", "booPul_a2.y", "booPul_a3.y", "booPul_a4.y", "booPul_a5.y"}, range={9, 20, -0.5, 1.5}, grid=true, colors={{28,108,200}, {28,108,200}, {28,108,200}, {28,108,200}, {28,108,200}}); +createPlot(id=1, position={15, 15, 1385, 860}, y={"booPul_b1.y", "booPul_b2.y", "booPul_b3.y", "booPul_b4.y", "booPul_b5.y"}, range={9, 20, -0.5, 1.5}, grid=true, subPlot=102, colors={{28,108,200}, {28,108,200}, {28,108,200}, {28,108,200}, {28,108,200}}); +createPlot(id=1, position={15, 15, 1385, 860}, y={"booPul_c1.y", "booPul_c2.y", "booPul_c3.y", "booPul_c4.y", "booPul_c5.y"}, range={9, 20, -0.5, 1.5}, grid=true, subPlot=103, colors={{28,108,200}, {28,108,200}, {28,108,200}, {28,108,200}, {28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Sources/Validation/SampleTrigger.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Sources/Validation/SampleTrigger.mos new file mode 100644 index 0000000000..a5ec2f62a9 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Sources/Validation/SampleTrigger.mos @@ -0,0 +1,6 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Logical.Sources.Validation.SampleTrigger", startTime=0.0, stopTime=5.0, method="Cvode", tolerance=1e-06, resultFile="SampleTrigger"); +createPlot(id=1, position={15, 10, 1000, 600}, subPlot=1, y={"samTri.y"}, range={0.0, 5.0, -3.5, 3.5}, grid=true, colors={{238,46,47}}); +createPlot(id=1, position={15, 10, 1000, 600}, subPlot=2, y={"triggeredSampler.u", "triggeredSampler.y"}, range={0.0, 5.0, -3.5, 3.5}, grid=true, colors={{238,46,47},{28,108,200}}); + +createPlot(id=2, position={35, 30, 1000, 600}, subPlot=1, y={"samTri1.y"}, range={0.0, 5.0, -3.5, 3.5}, grid=true, colors={{238,46,47}}); +createPlot(id=2, position={35, 30, 1000, 600}, subPlot=2, y={"triggeredSampler1.u", "triggeredSampler1.y"}, range={0.0, 5.0, -3.5, 3.5}, grid=true, colors={{238,46,47},{28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Sources/Validation/SampleTriggerNegativeStartTime.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Sources/Validation/SampleTriggerNegativeStartTime.mos new file mode 100644 index 0000000000..c7ac6c9b11 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Sources/Validation/SampleTriggerNegativeStartTime.mos @@ -0,0 +1,6 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Logical.Sources.Validation.SampleTriggerNegativeStartTime", startTime=-2.0, stopTime=3.0, method="Cvode", tolerance=1e-06, resultFile="SampleTriggerNegativeStartTime"); +createPlot(id=1, position={15, 10, 1000, 600}, subPlot=1, y={"samTri.y"}, range={0.0, 5.0, -3.5, 3.5}, grid=true, colors={{238,46,47}}); +createPlot(id=1, position={15, 10, 1000, 600}, subPlot=2, y={"triggeredSampler.u", "triggeredSampler.y"}, range={0.0, 5.0, -3.5, 3.5}, grid=true, colors={{238,46,47},{28,108,200}}); + +createPlot(id=2, position={35, 30, 1000, 600}, subPlot=1, y={"samTri1.y"}, range={0.0, 5.0, -3.5, 3.5}, grid=true, colors={{238,46,47}}); +createPlot(id=2, position={35, 30, 1000, 600}, subPlot=2, y={"triggeredSampler1.u", "triggeredSampler1.y"}, range={0.0, 5.0, -3.5, 3.5}, grid=true, colors={{238,46,47},{28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Sources/Validation/SampleTriggerPositiveStartTime.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Sources/Validation/SampleTriggerPositiveStartTime.mos new file mode 100644 index 0000000000..8f1c00da49 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Sources/Validation/SampleTriggerPositiveStartTime.mos @@ -0,0 +1,6 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Logical.Sources.Validation.SampleTriggerPositiveStartTime", startTime=1.0, stopTime=6.0, method="Cvode", tolerance=1e-06, resultFile="SampleTriggerPositiveStartTime"); +createPlot(id=1, position={15, 10, 1000, 600}, subPlot=1, y={"samTri.y"}, range={0.0, 5.0, -3.5, 3.5}, grid=true, colors={{238,46,47}}); +createPlot(id=1, position={15, 10, 1000, 600}, subPlot=2, y={"triggeredSampler.u", "triggeredSampler.y"}, range={0.0, 5.0, -3.5, 3.5}, grid=true, colors={{238,46,47},{28,108,200}}); + +createPlot(id=2, position={35, 30, 1000, 600}, subPlot=1, y={"samTri1.y"}, range={0.0, 5.0, -3.5, 3.5}, grid=true, colors={{238,46,47}}); +createPlot(id=2, position={35, 30, 1000, 600}, subPlot=2, y={"triggeredSampler1.u", "triggeredSampler1.y"}, range={0.0, 5.0, -3.5, 3.5}, grid=true, colors={{238,46,47},{28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Sources/Validation/TimeTable.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Sources/Validation/TimeTable.mos new file mode 100644 index 0000000000..2fdf7b2069 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Sources/Validation/TimeTable.mos @@ -0,0 +1,4 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Logical.Sources.Validation.TimeTable", startTime=0, tolerance=1e-6, stopTime=15, method="Cvode", resultFile="TimeTable2"); +createPlot(id=1, subPlot=1, position={15, 10, 1936, 1264}, y={"booTimTab.y[1]", "booTimTab.y[2]"}, range={-1.6, 2.0, -0.5, 1.5}, grid=true, colors={{0,0,255}, {0,140,72}}); +createPlot(id=1, subPlot=2, position={15, 10, 1936, 1264}, y={"booTimTabTwi.y[1]", "booTimTabTwi.y[2]"}, range={-1.6, 2.0, -0.5, 1.5}, grid=true, colors={{0,0,255}, {0,140,72}}); +createPlot(id=1, subPlot=3, position={15, 10, 1936, 1264}, y={"booTimTabOneRow.y[1]", "booTimTabOneRow.y[2]"}, range={-1.6, 2.0, -0.5, 1.5}, grid=true, colors={{0,0,255}, {0,140,72}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Sources/Validation/TimeTableNegativeStartTime.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Sources/Validation/TimeTableNegativeStartTime.mos new file mode 100644 index 0000000000..413aa81543 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Sources/Validation/TimeTableNegativeStartTime.mos @@ -0,0 +1,4 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Logical.Sources.Validation.TimeTableNegativeStartTime", startTime=-5, tolerance=1e-6, stopTime=10, method="Cvode", resultFile="TimeTableNegativeStartTime2"); +createPlot(id=1, subPlot=1, position={15, 10, 1936, 1264}, y={"booTimTab.y[1]", "booTimTab.y[2]"}, range={-1.6, 2.0, -0.5, 1.5}, grid=true, colors={{0,0,255}, {0,140,72}}); +createPlot(id=1, subPlot=2, position={15, 10, 1936, 1264}, y={"booTimTabTwi.y[1]", "booTimTabTwi.y[2]"}, range={-1.6, 2.0, -0.5, 1.5}, grid=true, colors={{0,0,255}, {0,140,72}}); +createPlot(id=1, subPlot=3, position={15, 10, 1936, 1264}, y={"booTimTabOneRow.y[1]", "booTimTabOneRow.y[2]"}, range={-1.6, 2.0, -0.5, 1.5}, grid=true, colors={{0,0,255}, {0,140,72}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/And.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/And.mos new file mode 100644 index 0000000000..402b6037b1 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/And.mos @@ -0,0 +1,2 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Logical.Validation.And", stopTime=10.0, method="Cvode", tolerance=1e-06, resultFile="And1"); +createPlot(id=1, position={15, 10, 900, 420}, y={"and1.u1","and1.u2","and1.y"}, range={0.0, 5.0, -3.5, 3.5}, grid=true, colors={{238,46,47},{0,140,72},{28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/Change.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/Change.mos new file mode 100644 index 0000000000..0178051186 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/Change.mos @@ -0,0 +1,3 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Logical.Validation.Change", stopTime=5.0, method="Cvode", tolerance=1e-06, resultFile="Change11"); +createPlot(id=1, position={15, 10, 1000, 600}, subPlot=1, y={"change.u", "change.y"}, range={0.0, 5.0, -3.5, 3.5}, grid=true, colors={{238,46,47},{28,108,200}}); +createPlot(id=1, position={15, 10, 1000, 600}, subPlot=2, y={"triggeredSampler.u", "triggeredSampler.y"}, range={0.0, 5.0, -3.5, 3.5}, grid=true, colors={{238,46,47},{28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/Edge.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/Edge.mos new file mode 100644 index 0000000000..3e25c70da6 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/Edge.mos @@ -0,0 +1,3 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Logical.Validation.Edge", stopTime=5.0, method="Cvode", tolerance=1e-06, resultFile="Edge1"); +createPlot(id=1, position={15, 10, 1000, 600}, subPlot=1, y={"edge1.u", "edge1.y"}, range={0.0, 5.0, -3.5, 3.5}, grid=true, colors={{238,46,47},{28,108,200}}); +createPlot(id=1, position={15, 10, 1000, 600}, subPlot=2, y={"triggeredSampler.u", "triggeredSampler.y"}, range={0.0, 5.0, -3.5, 3.5}, grid=true, colors={{238,46,47},{28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/FallingEdge.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/FallingEdge.mos new file mode 100644 index 0000000000..0a4aa1cab4 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/FallingEdge.mos @@ -0,0 +1,3 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Logical.Validation.FallingEdge", stopTime=5.0, method="Cvode", tolerance=1e-06, resultFile="FallingEdge1"); +createPlot(id=1, position={15, 10, 1000, 600}, subPlot=1, y={"falEdg.u", "falEdg.y"}, range={0.0, 5.0, -3.5, 3.5}, grid=true, colors={{238,46,47},{28,108,200}}); +createPlot(id=1, position={15, 10, 1000, 600}, subPlot=2, y={"triggeredSampler.u", "triggeredSampler.y"}, range={0.0, 5.0, -3.5, 3.5}, grid=true, colors={{238,46,47},{28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/Latch.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/Latch.mos new file mode 100644 index 0000000000..0db00899f0 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/Latch.mos @@ -0,0 +1,8 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Logical.Validation.Latch", stopTime=10.0, method="Cvode", tolerance=1e-06, resultFile="Latch1"); +createPlot(id=1, position={10, 10, 550, 800}, y={"falCleTruIni.u","falCleTruIni.clr","falCleTruIni.y"}, subPlot=1, range={0.0, 10.0, -3.5, 3.5}, grid=true, autoscale=false, colors={{238,46,47},{238,46,47},{238,46,47}}); +createPlot(id=1, position={10, 10, 550, 800}, y={"falCleFalIni.u","falCleFalIni.clr","falCleFalIni.y"}, subPlot=2, range={0.0, 10.0, -3.5, 3.5}, grid=true, autoscale=false, colors={{238,46,47},{238,46,47},{238,46,47}}); +createPlot(id=2, position={570, 10, 550, 800}, y={"truCleTruIni.u","truCleTruIni.clr","truCleTruIni.y"}, subPlot=1, range={0.0, 10.0, -3.5, 3.5}, grid=true, autoscale=false, colors={{238,46,47},{238,46,47},{238,46,47}}); +createPlot(id=2, position={570, 10, 550, 800}, y={"truCleFalIni.u","truCleFalIni.clr","truCleFalIni.y"}, subPlot=2, range={0.0, 10.0, -3.5, 3.5}, grid=true, autoscale=false, colors={{238,46,47},{238,46,47},{238,46,47}}); +createPlot(id=3, position={1130, 10, 550, 800}, y={"swiCleInp.u","swiCleInp.clr","swiCleInp.y"}, subPlot=1, range={0.0, 10.0, -3.5, 3.5}, grid=true, autoscale=false, colors={{238,46,47},{238,46,47},{238,46,47}}); +createPlot(id=3, position={1130, 10, 550, 800}, y={"swiCleInp1.u","swiCleInp1.clr","swiCleInp1.y"}, subPlot=2, range={0.0, 10.0, -3.5, 3.5}, grid=true, autoscale=false, colors={{238,46,47},{238,46,47},{238,46,47}}); + diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/MultiAnd.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/MultiAnd.mos new file mode 100644 index 0000000000..930410396f --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/MultiAnd.mos @@ -0,0 +1,4 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Logical.Validation.MultiAnd", method="Cvode", tolerance=1e-06, stopTime=10.0, resultFile="MultiAnd1"); +createPlot(id=1, position={15, 10, 600, 350}, y={"mulAnd0.y", "mulAnd1.u[1]", "mulAnd1.y"}, range={0.0, 1.0, -5, 6}, grid=true, colors={{0,140,72},{238,46,47},{28,108,200}}); +createPlot(id=2, position={15, 400, 600, 350}, y={"mulAnd2.u[1]","mulAnd2.u[2]", "mulAnd2.y"}, range={0.0, 1.0, -5, 6}, grid=true, colors={{0,140,72},{238,46,47},{28,108,200}}); +createPlot(id=3, position={630, 10, 600, 750}, y={"mulAnd5.u[1]", "mulAnd5.u[2]", "mulAnd5.u[3]", "mulAnd5.u[4]", "mulAnd5.u[5]","mulAnd5.y"}, range={0.0, 1.0, -5, 6}, grid=true, colors={{0,140,72}, {238,46,47}, {217,67,180}, {238,46,47}, {217,67,180},{28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/MultiOr.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/MultiOr.mos new file mode 100644 index 0000000000..0807471b9f --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/MultiOr.mos @@ -0,0 +1,4 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Logical.Validation.MultiOr", method="Cvode", tolerance=1e-06, stopTime=10.0, resultFile="MultiOr1"); +createPlot(id=1, position={15, 10, 600, 350}, y={"mulOr0.y", "mulOr1.u[1]", "mulOr1.y"}, range={0.0, 1.0, -5, 6}, grid=true, colors={{0,140,72},{238,46,47},{28,108,200}}); +createPlot(id=2, position={15, 400, 600, 350}, y={"mulOr2.u[1]","mulOr2.u[2]", "mulOr2.y"}, range={0.0, 1.0, -5, 6}, grid=true, colors={{0,140,72},{238,46,47},{28,108,200}}); +createPlot(id=3, position={630, 10, 600, 750}, y={"mulOr5.u[1]", "mulOr5.u[2]", "mulOr5.u[3]", "mulOr5.u[4]", "mulOr5.u[5]","mulOr5.y"}, range={0.0, 1.0, -5, 6}, grid=true, colors={{0,140,72}, {238,46,47}, {217,67,180}, {238,46,47}, {217,67,180},{28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/Nand.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/Nand.mos new file mode 100644 index 0000000000..87a5b10483 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/Nand.mos @@ -0,0 +1,2 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Logical.Validation.Nand", stopTime=5.0, method="Cvode", tolerance=1e-06, resultFile="Nand1"); +createPlot(id=1, position={15, 10, 900, 420}, y={"nand1.u1","nand1.u2","nand1.y"}, range={0.0, 5.0, -3.5, 3.5}, grid=true, colors={{238,46,47},{0,140,72},{28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/Nor.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/Nor.mos new file mode 100644 index 0000000000..3edbb81a71 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/Nor.mos @@ -0,0 +1,2 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Logical.Validation.Nor", stopTime=5.0, method="Cvode", tolerance=1e-06, resultFile="Nor1"); +createPlot(id=1, position={15, 10, 900, 420}, y={"nor1.u1","nor1.u2","nor1.y"}, range={0.0, 5.0, -3.5, 3.5}, grid=true, colors={{238,46,47},{0,140,72},{28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/Not.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/Not.mos new file mode 100644 index 0000000000..0391a451c7 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/Not.mos @@ -0,0 +1,2 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Logical.Validation.Not", stopTime=5.0, method="Cvode", tolerance=1e-06, resultFile="Not1"); +createPlot(id=1, position={15, 10, 900, 420}, y={"not1.u","not1.y"}, range={0.0, 5.0, -3.5, 3.5}, grid=true, colors={{238,46,47},{28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/Or.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/Or.mos new file mode 100644 index 0000000000..0ceefb21a5 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/Or.mos @@ -0,0 +1,2 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Logical.Validation.Or", stopTime=10.0, method="Cvode", tolerance=1e-06, resultFile="Or1"); +createPlot(id=1, position={15, 10, 900, 420}, y={"or1.u1","or1.u2","or1.y"}, range={0.0, 5.0, -3.5, 3.5}, grid=true, colors={{238,46,47},{0,140,72},{28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/Proof.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/Proof.mos new file mode 100644 index 0000000000..bcb912d2f9 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/Proof.mos @@ -0,0 +1,14 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Logical.Validation.Proof", stopTime=10.0, method="Cvode", tolerance=1e-06, resultFile="Proof"); +createPlot(id=1, position={5, 20, 450, 1300}, y={"pro.u_m", "pro.u_s"}, range={0.0, 10.0, -0.5, 1.5}, grid=true, subPlot=1, colors={{28,108,200}, {28,108,200}}, timeUnit="s"); +createPlot(id=1, position={5, 20, 450, 1300}, y={"pro.yLocFal", "pro.yLocTru"}, range={0.0, 10.0, -2.0, 2.0}, grid=true, subPlot=2, colors={{28,108,200}, {28,108,200}}, timeUnit="s"); +createPlot(id=2, position={465, 20, 450, 1300}, y={"pro1.u_m", "pro1.u_s"}, range={0.0, 10.0, -0.5, 1.5}, grid=true, subPlot=1, colors={{28,108,200}, {28,108,200}}, timeUnit="s"); +createPlot(id=2, position={465, 20, 450, 1300}, y={"pro1.yLocFal", "pro1.yLocTru"}, range={0.0, 10.0, -0.5, 1.5}, grid=true, subPlot=2, colors={{28,108,200}, {28,108,200}}, timeUnit="s"); +createPlot(id=3, position={925, 20, 450, 1300}, y={"pro2.u_m", "pro2.u_s"}, range={0.0, 10.0, -0.5, 1.5}, grid=true, subPlot=1, colors={{28,108,200}, {28,108,200}}, timeUnit="s"); +createPlot(id=3, position={925, 20, 450, 1300}, y={"pro2.yLocFal", "pro2.yLocTru"}, range={0.0, 10.0, -2.0, 2.0}, grid=true, subPlot=2, colors={{28,108,200}, {28,108,200}}, timeUnit="s"); +createPlot(id=4, position={1385, 20, 450, 1300}, y={"pro3.u_m", "pro3.u_s"}, range={0.0, 10.0, -0.5, 1.5}, grid=true, subPlot=1, colors={{28,108,200}, {28,108,200}}, timeUnit="s"); +createPlot(id=4, position={1385, 20, 450, 1300}, y={"pro3.yLocFal", "pro3.yLocTru"}, range={0.0, 10.0, -0.5, 1.5}, grid=true, subPlot=2, colors={{28,108,200}, {28,108,200}}, timeUnit="s"); +createPlot(id=5, position={1845, 20, 450, 1300}, y={"pro4.u_m", "pro4.u_s"}, range={0.0, 10.0, -0.5, 1.5}, grid=true, subPlot=1, colors={{28,108,200}, {28,108,200}}, timeUnit="s"); +createPlot(id=5, position={1845, 20, 450, 1300}, y={"pro4.yLocFal", "pro4.yLocTru"}, range={0.0, 10.0, -0.5, 1.5}, grid=true, subPlot=2, colors={{28,108,200}, {28,108,200}}, timeUnit="s"); +createPlot(id=6, position={2295, 20, 450, 1300}, y={"pro5.u_m", "pro5.u_s"}, range={0.0, 10.0, -0.5, 1.5}, grid=true, subPlot=1, colors={{28,108,200}, {28,108,200}}, timeUnit="s"); +createPlot(id=6, position={2295, 20, 450, 1300}, y={"pro5.yLocFal", "pro5.yLocTru"}, range={0.0, 10.0, -0.5, 1.5}, grid=true, subPlot=2, colors={{28,108,200}, {28,108,200}}, timeUnit="s"); + diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/Switch.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/Switch.mos new file mode 100644 index 0000000000..32ed0ee90c --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/Switch.mos @@ -0,0 +1,2 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Logical.Validation.Switch", stopTime=5.0, method="Cvode", tolerance=1e-06, resultFile="LogicalSwitch1"); +createPlot(id=1, position={15, 10, 900, 420}, y={"logicalSwitch.u1", "logicalSwitch.u2", "logicalSwitch.u3", "logicalSwitch.y"}, range={0.0, 5.0, -3.5, 3.5}, grid=true, colors={{238,46,47},{28,108,200},{28,108,200},{28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/Timer.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/Timer.mos new file mode 100644 index 0000000000..9233345ff1 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/Timer.mos @@ -0,0 +1,10 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Logical.Validation.Timer", stopTime=5.0, method="Cvode", tolerance=1e-06, resultFile="Timer1"); +createPlot(id=1, position={15, 15, 750, 1200}, y={"noThr.u"}, range={0.0, 5.0, -0.5, 1.5}, grid=true, subPlot=1, colors={{28,108,200}}); +createPlot(id=1, position={15, 15, 750, 1200}, y={"noThr.y", "noThr.t"}, range={0.0, 5.0, -0.5, 1.5}, grid=true, subPlot=2, colors={{28,108,200}, {238,46,47}}, displayUnits={"s", "s"}); +createPlot(id=1, position={15, 15, 750, 1200}, y={"noThr.passed"}, range={0.0, 5.0, -0.5, 1.5}, grid=true, subPlot=3, colors={{28,108,200}}); +createPlot(id=2, position={775, 15, 750, 1200}, y={"thrTim.u"}, range={0.0, 5.0, -0.2, 1.2}, grid=true, subPlot=1, colors={{28,108,200}}); +createPlot(id=2, position={775, 15, 750, 1200}, y={"thrTim.y", "thrTim.t"}, range={0.0, 5.0, -0.5, 2.0}, grid=true, subPlot=2, colors={{28,108,200}, {238,46,47}}, displayUnits={"s", "s"}); +createPlot(id=2, position={775, 15, 750, 1200}, y={"thrTim.passed"}, range={0.0, 5.0, -0.5, 1.5}, grid=true, subPlot=3, colors={{28,108,200}}); +createPlot(id=3, position={1535, 15, 750, 1200}, y={"thrTim1.u"}, range={0.0, 5.0, -0.2, 1.2}, grid=true, subPlot=1, colors={{28,108,200}}); +createPlot(id=3, position={1535, 15, 750, 1200}, y={"thrTim1.y", "thrTim1.t"}, range={0.0, 5.0, -0.5, 2.0}, grid=true, subPlot=2, colors={{28,108,200}, {238,46,47}}, displayUnits={"s", "s"}); +createPlot(id=3, position={1535, 15, 750, 1200}, y={"thrTim1.passed"}, range={0.0, 5.0, -0.5, 1.5}, grid=true, subPlot=3, colors={{28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/TimerAccumulating.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/TimerAccumulating.mos new file mode 100644 index 0000000000..c092192fb8 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/TimerAccumulating.mos @@ -0,0 +1,11 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Logical.Validation.TimerAccumulating", stopTime=5.0, method="Cvode", tolerance=1e-06, resultFile="AccTim"); +createPlot(id=1, position={15, 15, 800, 1200}, y={"noThr.u"}, range={0.0, 5.0, -0.5, 1.5}, grid=true, subPlot=1, colors={{28,108,200}}); +createPlot(id=1, position={15, 15, 800, 1200}, y={"noThr.y"}, range={0.0, 5.0, -2.0, 4.0}, grid=true, subPlot=2, colors={{28,108,200}}, displayUnits={"s"}); +createPlot(id=1, position={15, 15, 800, 1200}, y={"thrTim.u", "thrTim.passed"}, range={0.0, 5.0, -0.5, 1.5}, grid=true, subPlot=3, colors={{28,108,200}, {28,108,200}}); +createPlot(id=1, position={15, 15, 800, 1200}, y={"thrTim.y", "thrTim.t"}, range={0.0, 5.0, -2.0, 4.0}, grid=true, subPlot=4, colors={{28,108,200}, {238,46,47}}, displayUnits={"s", "s"}); +createPlot(id=2, position={825, 15, 800, 1200}, y={"noThrWitRes.u", "noThrWitRes.reset"}, range={0.0, 5.0, -0.5, 1.5}, grid=true, subPlot=1, colors={{28,108,200}, {28,108,200}}); +createPlot(id=2, position={825, 15, 800, 1200}, y={"noThrWitRes.y"}, range={0.0, 5.0, -1.0, 3.0}, grid=true, subPlot=2, colors={{28,108,200}}, displayUnits={"s"}); +createPlot(id=2, position={825, 15, 800, 1200}, y={"thrTimWitRes.u", "thrTimWitRes.reset", "thrTimWitRes.passed"}, range={0.0, 5.0, -0.5, 1.5}, grid=true, subPlot=3, colors={{28,108,200}, {28,108,200}, {28,108,200}}); +createPlot(id=2, position={825, 15, 800, 1200}, y={"thrTimWitRes.y", "thrTimWitRes.t"}, range={0.0, 5.0, -1.0, 3.0}, grid=true, subPlot=4, colors={{28,108,200}, {238,46,47}}, displayUnits={"s", "s"}); + + diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/TimerAccumulatingNegativeStartTime.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/TimerAccumulatingNegativeStartTime.mos new file mode 100644 index 0000000000..c80a16108b --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/TimerAccumulatingNegativeStartTime.mos @@ -0,0 +1,13 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Logical.Validation.TimerAccumulatingNegativeStartTime", startTime=-10, stopTime=5.0, method="Cvode", tolerance=1e-06, resultFile="AccTimNegSta"); +createPlot(id=1, position={15, 15, 800, 1200}, y={"noThr.u"}, range={-10.0, 5.0, -0.5, 1.5}, grid=true, subPlot=1, colors={{28,108,200}}); +createPlot(id=1, position={15, 15, 800, 1200}, y={"noThr.y", "noThr.t"}, range={-10.0, 5.0, -2.0, 6.0}, grid=true, subPlot=2, colors={{28,108,200}, {238,46,47}}, displayUnits={"s", "s"}); +createPlot(id=1, position={15, 15, 800, 1200}, y={"thrTim.u", "thrTim.passed"}, range={-10.0, 5.0, -1.0, 2.0}, grid=true, subPlot=3, colors={{28,108,200}, {28,108,200}}); +createPlot(id=1, position={15, 15, 800, 1200}, y={"thrTim.y", "thrTim.t"}, range={-10.0, 5.0, -5.0, 10.0}, grid=true, subPlot=4, colors={{28,108,200}, {238,46,47}}, displayUnits={"s", "s"}); +createPlot(id=2, position={825, 15, 800, 1200}, y={"noThrWitRes.u", "noThrWitRes.reset"}, range={-10.0, 5.0, -0.5, 1.5}, grid=true, subPlot=1, colors={{28,108,200}, {28,108,200}}); +createPlot(id=2, position={825, 15, 800, 1200}, y={"noThrWitRes.y", "noThrWitRes.t"}, range={-10.0, 5.0, -1.0, 3.0}, grid=true, subPlot=2, colors={{28,108,200}, {238,46,47}}, displayUnits={"s", "s"}); +createPlot(id=2, position={825, 15, 800, 1200}, y={"thrTimWitRes.u", "thrTimWitRes.reset", "thrTimWitRes.passed"}, range={-10.0, 5.0, -1.0, 2.0}, grid=true, subPlot=3, colors={{28,108,200}, {28,108,200}, {28,108,200}}); +createPlot(id=2, position={825, 15, 800, 1200}, y={"thrTimWitRes.y", "thrTimWitRes.t"}, range={-10.0, 5.0, -2.0, 4.0}, grid=true, subPlot=4, colors={{28,108,200}, {238,46,47}}, displayUnits={"s", "s"}); + + + + diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/TimerNegativeStartTime.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/TimerNegativeStartTime.mos new file mode 100644 index 0000000000..1715c61fc8 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/TimerNegativeStartTime.mos @@ -0,0 +1,8 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Logical.Validation.TimerNegativeStartTime", startTime=-10, stopTime=5.0, method="Cvode", tolerance=1e-06, resultFile="NegStaTim"); + +createPlot(id=1, position={15, 15, 1000, 1200}, y={"noThr.u"}, range={-10.0, 5.0, -0.5, 1.5}, grid=true, subPlot=1, colors={{28,108,200}}); +createPlot(id=1, position={15, 15, 1000, 1200}, y={"noThr.y", "noThr.t"}, range={-10.0, 5.0, -0.5, 1.5}, grid=true, subPlot=2, colors={{28,108,200}, {238,46,47}}, displayUnits={"s", "s"}); +createPlot(id=1, position={15, 15, 1000, 1200}, y={"noThr.passed"}, range={-10.0, 5.0, -0.5, 1.5}, grid=true, subPlot=3, colors={{28,108,200}}); +createPlot(id=2, position={1025, 15, 1000, 1200}, y={"thrTim.u"}, range={-10.0, 5.0, -0.2, 1.2}, grid=true, subPlot=1, colors={{28,108,200}}); +createPlot(id=2, position={1025, 15, 1000, 1200}, y={"thrTim.y", "thrTim.t"}, range={-10.0, 5.0, -0.5, 2.0}, grid=true, subPlot=2, colors={{28,108,200}, {238,46,47}}, displayUnits={"s", "s"}); +createPlot(id=2, position={1025, 15, 1000, 1200}, y={"thrTim.passed"}, range={-10.0, 5.0, -0.5, 1.5}, grid=true, subPlot=3, colors={{28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/Toggle.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/Toggle.mos new file mode 100644 index 0000000000..fe3d90fbf8 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/Toggle.mos @@ -0,0 +1,7 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Logical.Validation.Toggle", stopTime=10.0, method="Cvode", tolerance=1e-06, resultFile="Toggle1"); +createPlot(id=1, position={10, 10, 550, 800}, y={"falCleTruIni.u","falCleTruIni.clr","falCleTruIni.y"}, subPlot=1, range={0.0, 10.0, -3.5, 3.5}, grid=true, autoscale=false, colors={{238,46,47},{238,46,47},{238,46,47}}); +createPlot(id=1, position={10, 10, 550, 800}, y={"falCleFalIni.u","falCleFalIni.clr","falCleFalIni.y"}, subPlot=2, range={0.0, 10.0, -3.5, 3.5}, grid=true, autoscale=false, colors={{238,46,47},{238,46,47},{238,46,47}}); +createPlot(id=2, position={570, 10, 550, 800}, y={"truCleTruIni.u","truCleTruIni.clr","truCleTruIni.y"}, subPlot=1, range={0.0, 10.0, -3.5, 3.5}, grid=true, autoscale=false, colors={{238,46,47},{238,46,47},{238,46,47}}); +createPlot(id=2, position={570, 10, 550, 800}, y={"truCleFalIni.u","truCleFalIni.clr","truCleFalIni.y"}, subPlot=2, range={0.0, 10.0, -3.5, 3.5}, grid=true, autoscale=false, colors={{238,46,47},{238,46,47},{238,46,47}}); +createPlot(id=3, position={1130, 10, 550, 800}, y={"swiCleInp.u","swiCleInp.clr","swiCleInp.y"}, subPlot=1, range={0.0, 10.0, -3.5, 3.5}, grid=true, autoscale=false, colors={{238,46,47},{238,46,47},{238,46,47}}); +createPlot(id=3, position={1130, 10, 550, 800}, y={"swiCleInp1.u","swiCleInp1.clr","swiCleInp1.y"}, subPlot=2, range={0.0, 10.0, -3.5, 3.5}, grid=true, autoscale=false, colors={{238,46,47},{238,46,47},{238,46,47}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/TrueDelay.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/TrueDelay.mos new file mode 100644 index 0000000000..7858312534 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/TrueDelay.mos @@ -0,0 +1,3 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Logical.Validation.TrueDelay", stopTime=5.0, method="Cvode", tolerance=1e-06, resultFile="TrueDelay1"); +createPlot(id=1, subPlot = 1, position={15, 10, 1087, 700}, y={"onDelay0.u", "onDelay0.y", "onDelay1.y", "onDelay2.y", "onDelay3.y", "onDelay4.y", "onDelay5.y","onDelay6.y","onDelay7.y"}, range={0.0, 5.0, -0.1, 1.1}, grid=true, colors={{238,46,47}, {28,108,200}, {28,108,200}, {28,108,200}, {0,140,72}, {217,67,180}, {0,0,0}, {217,67,180}, {0,0,0}}); +createPlot(id=1, subPlot = 2, position={15, 10, 1087, 700}, y={"onDelay00.u", "onDelay00.y", "onDelay11.y", "onDelay22.y", "onDelay33.y", "onDelay44.y", "onDelay55.y","onDelay66.y","onDelay77.y"}, range={0.0, 5.0, -0.1, 1.1}, grid=true, colors={{238,46,47}, {28,108,200}, {28,108,200}, {28,108,200}, {0,140,72}, {217,67,180}, {0,0,0}, {217,67,180}, {0,0,0}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/TrueFalseHold.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/TrueFalseHold.mos new file mode 100644 index 0000000000..7d2ea6765b --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/TrueFalseHold.mos @@ -0,0 +1,10 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Logical.Validation.TrueFalseHold", stopTime=7200.0, method="Cvode", tolerance=1e-06, resultFile="TrueFalseHold1"); +createPlot(id=1, position={15, 10, 817, 263}, y={"truFalHol.u", "truFalHol.y"}, range={0.0, 7500.0, -0.2, 1.2}, grid=true, colors={{238,46,47}, {28,108,200}}); +createPlot(id=2, position={18, 310, 810, 253}, y={"truFalHol1.u", "truFalHol1.y"}, range={0.0, 7500.0, -0.2, 1.2}, grid=true, colors={{28,108,200}, {238,46,47}}); +createPlot(id=3, position={20, 599, 815, 247}, y={"truFalHol2.u", "truFalHol2.y"}, range={0.0, 7500.0, -0.2, 1.2}, grid=true, colors={{28,108,200}, {238,46,47}}); +createPlot(id=4, position={25, 903, 810, 299}, y={"truFalHol3.u", "truFalHol3.y"}, range={0.0, 7500.0, -0.2, 1.2}, grid=true, colors={{28,108,200}, {238,46,47}}); +createPlot(id=5, position={872, 14, 707, 256}, y={"truFalHol4.u", "truFalHol4.y"}, range={0.0, 7500.0, -0.2, 1.2}, grid=true, colors={{28,108,200}, {238,46,47}}); +createPlot(id=6, position={869, 309, 714, 245}, y={"truFalHol5.u", "truFalHol5.y"}, range={0.0, 7500.0, -0.2, 1.2}, grid=true, colors={{28,108,200}, {238,46,47}}); +createPlot(id=7, position={879, 604, 720, 245}, y={"truFalHol6.u", "truFalHol6.y"}, range={0.0, 7500.0, -0.2, 1.2}, grid=true, colors={{28,108,200}, {238,46,47}}); +createPlot(id=8, position={874, 898, 750, 308}, y={"truFalHol7.u", "truFalHol7.y"}, range={0.0, 7500.0, -0.2, 1.2}, grid=true, colors={{28,108,200}, {238,46,47}}); +createPlot(id=9, position={25, 1245, 817, 266}, y={"truFalHol8.u", "truFalHol8.y"}, range={0.0, 7500.0, -0.2, 1.2}, grid=true, colors={{238,46,47}, {28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/VariablePulse.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/VariablePulse.mos new file mode 100644 index 0000000000..34ce698da0 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/VariablePulse.mos @@ -0,0 +1,16 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Logical.Validation.VariablePulse", stopTime=3600.0, method="Cvode", tolerance=1e-06, resultFile="VariablePulse"); +createPlot(id=1, position={10, 10, 900, 1400}, y={"fal.u"}, range={0.0, 3600.0, -2.0, 2.0}, grid=true, subPlot=1, colors={{28,108,200}}, timeUnit="s", displayUnits={"1"}); +createPlot(id=1, position={10, 10, 900, 1400}, y={"fal.y"}, range={0.0, 3600.0, -2.0, 2.0}, autoscale=false, grid=true, subPlot=2, colors={{28,108,200}}, timeUnit="s"); +createPlot(id=1, position={10, 10, 900, 1400}, y={"tru.u"}, range={0.0, 3600.0, -2.0, 2.0}, autoscale=false, grid=true, subPlot=3, colors={{28,108,200}}, timeUnit="s", displayUnits={"1"}); +createPlot(id=1, position={10, 10, 900, 1400}, y={"tru.y"}, range={0.0, 3600.0, -2.0, 2.0}, autoscale=false, grid=true, subPlot=4, colors={{28,108,200}}, timeUnit="s"); +createPlot(id=1, position={10, 10, 900, 1400}, y={"conTru.u"}, range={0.0, 3600.0, -2.0, 2.0}, autoscale=false, grid=true, subPlot=5, colors={{28,108,200}}, timeUnit="s", displayUnits={"1"}); +createPlot(id=1, position={10, 10, 900, 1400}, y={"conTru.y"}, range={0.0, 3600.0, -2.0, 2.0}, autoscale=false, grid=true, subPlot=6, colors={{28,108,200}}, timeUnit="s"); +createPlot(id=2, position={920, 10, 900, 1400}, y={"truFal.u"}, range={0.0, 3600.0, -0.5, 1.5}, grid=true, subPlot=1, colors={{28,108,200}}, timeUnit="s", displayUnits={"1"}); +createPlot(id=2, position={920, 10, 900, 1400}, y={"truFal.y"}, range={0.0, 3600.0, -0.5, 1.5}, autoscale=false, grid=true, subPlot=2, colors={{28,108,200}}, timeUnit="s"); +createPlot(id=2, position={920, 10, 900, 1400}, y={"falTru.u"}, range={0.0, 3600.0, -0.5, 1.5}, autoscale=false, grid=true, subPlot=3, colors={{28,108,200}}, timeUnit="s", displayUnits={"1"}); +createPlot(id=2, position={920, 10, 900, 1400}, y={"falTru.y"}, range={0.0, 3600.0, -0.5, 1.5}, autoscale=false, grid=true, subPlot=4, colors={{28,108,200}}, timeUnit="s"); +createPlot(id=2, position={920, 10, 900, 1400}, y={"falTru1.u"}, range={0.0, 3600.0, -0.5, 1.5}, autoscale=false, grid=true, subPlot=5, colors={{28,108,200}}, timeUnit="s", displayUnits={"1"}); +createPlot(id=2, position={920, 10, 900, 1400}, y={"falTru1.y"}, range={0.0, 3600.0, -0.5, 1.5}, autoscale=false, grid=true, subPlot=6, colors={{28,108,200}}, timeUnit="s"); +createPlot(id=3, position={1833, 11, 884, 622}, y={"conChaWid.u"}, range={0.0, 4000.0, -0.5, 1.5}, grid=true, subPlot=1, colors={{28,108,200}}, timeUnit="s", displayUnits={"1"}); +createPlot(id=3, position={1833, 11, 884, 622}, y={"conChaWid.y"}, range={0.0, 4000.0, -0.5, 1.5}, grid=true, subPlot=2, colors={{28,108,200}}, timeUnit="s"); + diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/VariablePulseMinHold.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/VariablePulseMinHold.mos new file mode 100644 index 0000000000..3e3c088f29 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/VariablePulseMinHold.mos @@ -0,0 +1,4 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Logical.Validation.VariablePulseMinHold", stopTime=5.0, method="Cvode", tolerance=1e-06, resultFile="VariablePulse"); +createPlot(id=1, position={21, 13, 1198, 950}, y={"conChaWid.u"}, range={0.0, 5.0, 0.48, 0.62}, grid=true, subPlot=1, colors={{28,108,200}}, timeUnit="s", displayUnits={"1"}); +createPlot(id=1, position={21, 13, 1198, 950}, y={"conChaWid.y"}, range={0.0, 5.0, -0.2, 1.2}, grid=true, subPlot=2, colors={{28,108,200}}, timeUnit="s"); + diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/Xor.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/Xor.mos new file mode 100644 index 0000000000..9d937c108a --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Logical/Validation/Xor.mos @@ -0,0 +1,2 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Logical.Validation.Xor", stopTime=5.0, method="Cvode", tolerance=1e-06, resultFile="Xor1"); +createPlot(id=1, position={15, 10, 900, 420}, y={"xor1.u1","xor1.u2","xor1.y"}, range={0.0, 5.0, -3.5, 3.5}, grid=true, colors={{238,46,47},{0,140,72},{28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Psychrometrics/Validation/DewPoint_TDryBulPhi.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Psychrometrics/Validation/DewPoint_TDryBulPhi.mos new file mode 100644 index 0000000000..33b9a538ef --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Psychrometrics/Validation/DewPoint_TDryBulPhi.mos @@ -0,0 +1,7 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Psychrometrics.Validation.DewPoint_TDryBulPhi", stopTime=1.0, method="Cvode", tolerance=1e-06, resultFile="DewPoint_TDryBulPhi1"); +createPlot(id=1, position={13, 9, 900, 1100}, y={"dewBulPhi.TDryBul"}, range={0.0, 1.0, 260.0, 340.0}, grid=true, subPlot=1, colors={{28,108,200}}, timeUnit="s", displayUnits={"K"}); +createPlot(id=1, position={13, 9, 900, 1100}, y={"dewBulPhi.phi"}, range={0.0, 1.0, -0.2, 1.2}, grid=true, subPlot=2, colors={{28,108,200}}, timeUnit="s", displayUnits={"1"}); +createPlot(id=1, position={13, 9, 900, 1100}, y={"dewBulPhi.TDewPoi"}, range={0.0, 1.0, 200.0, 320.0}, grid=true, subPlot=3, colors={{28,108,200}}, timeUnit="s", displayUnits={"K"}); +createPlot(id=2, position={927, 7, 860, 1100}, y={"dewBulPhi1.TDryBul"}, range={0.0, 1.0, 270.0, 320.0}, grid=true, subPlot=1, colors={{28,108,200}}, timeUnit="s", displayUnits={"K"}); +createPlot(id=2, position={927, 7, 860, 1100}, y={"dewBulPhi1.phi"}, range={0.0, 1.0, 0.4, 0.46}, grid=true, subPlot=2, colors={{28,108,200}}, timeUnit="s", displayUnits={"1"}); +createPlot(id=2, position={927, 7, 860, 1100}, y={"dewBulPhi1.TDewPoi"}, range={0.0, 1.0, 260.0, 300.0}, grid=true, subPlot=3, colors={{28,108,200}}, timeUnit="s", displayUnits={"K"}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Psychrometrics/Validation/SpecificEnthalpy_TDryBulPhi.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Psychrometrics/Validation/SpecificEnthalpy_TDryBulPhi.mos new file mode 100644 index 0000000000..96fde87f8d --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Psychrometrics/Validation/SpecificEnthalpy_TDryBulPhi.mos @@ -0,0 +1,3 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Psychrometrics.Validation.SpecificEnthalpy_TDryBulPhi", stopTime=1.0, method="Cvode", tolerance=1e-06, resultFile="SpecificEnthalpy_TDryBulPhi1"); +createPlot(id=1, position={15, 10, 1000, 700}, subPlot=1, y={"hBulPhi.h"}, range={0.0, 5.0, -3.5, 3.5}, grid=true, colors={{28,108,200}}); +createPlot(id=1, position={15, 10, 1000, 700}, subPlot=2, y={"phi.y"}, range={0.0, 5.0, -3.5, 3.5}, grid=true, colors={{28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Psychrometrics/Validation/WetBulb_TDryBulPhi.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Psychrometrics/Validation/WetBulb_TDryBulPhi.mos new file mode 100644 index 0000000000..0963594408 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Psychrometrics/Validation/WetBulb_TDryBulPhi.mos @@ -0,0 +1,7 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Psychrometrics.Validation.WetBulb_TDryBulPhi", stopTime=1.0, method="Cvode", tolerance=1e-06, resultFile="WetBulb_TDryBulPhi1"); +createPlot(id=1, position={9, 15, 820, 1106}, y={"wetBulPhi.TDryBul"}, range={0.0, 1.0, 260.0, 340.0}, grid=true, subPlot=1, colors={{28,108,200}}, timeUnit="s", displayUnits={"K"}); +createPlot(id=1, position={9, 15, 820, 1106}, y={"wetBulPhi.phi"}, range={0.0, 1.0, 0.0, 1.2}, grid=true, subPlot=2, colors={{28,108,200}}, timeUnit="s"); +createPlot(id=1, position={9, 15, 820, 1106}, y={"wetBulPhi.TWetBul"}, range={0.0, 1.0, 280.0, 305.0}, grid=true, subPlot=3, colors={{28,108,200}}, timeUnit="s", displayUnits={"K"}); +createPlot(id=2, position={839, 15, 758, 1104}, y={"wetBulPhi1.TDryBul"}, range={0.0, 1.0, 270.0, 320.0}, grid=true, subPlot=1, colors={{28,108,200}}, timeUnit="s", displayUnits={"K"}); +createPlot(id=2, position={839, 15, 758, 1104}, y={"wetBulPhi1.phi"}, range={0.0, 1.0, 0.5, 0.7}, grid=true, subPlot=2, colors={{28,108,200}}, timeUnit="s"); +createPlot(id=2, position={839, 15, 758, 1104}, y={"wetBulPhi1.TWetBul"}, range={0.0, 1.0, 260.0, 310.0}, grid=true, subPlot=3, colors={{28,108,200}}, timeUnit="s", displayUnits={"K"}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Sources/Validation/CalendarTimeMonths.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Sources/Validation/CalendarTimeMonths.mos new file mode 100644 index 0000000000..1469097f65 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Sources/Validation/CalendarTimeMonths.mos @@ -0,0 +1,7 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Reals.Sources.Validation.CalendarTimeMonths", startTime=172800, tolerance=1e-6, stopTime=345600, method="Cvode", resultFile="CalendarTimeMonths1"); +createPlot(id=1, position={35, 30, 1021, 971}, y={"calTim.year"}, range={170000.0, 350000.0, 1800.0, 2400.0}, grid=true, colors={{28,108,200}}); +createPlot(id=1, position={35, 30, 1021, 158}, y={"calTim.month"}, range={170000.0, 350000.0, 0.8, 1.2}, grid=true, subPlot=2, colors={{28,108,200}}); +createPlot(id=1, position={35, 30, 1021, 159}, y={"calTim.day"}, range={170000.0, 350000.0, 2.0, 6.0}, grid=true, subPlot=3, colors={{28,108,200}}); +createPlot(id=1, position={35, 30, 1021, 158}, y={"calTim.weekDay"}, range={170000.0, 350000.0, 0.0, 10.0}, grid=true, subPlot=4, colors={{28,108,200}}); +createPlot(id=1, position={35, 30, 1021, 159}, y={"calTim.hour"}, range={170000.0, 350000.0, -10.0, 30.0}, grid=true, subPlot=5, colors={{28,108,200}}); +createPlot(id=1, position={35, 30, 1021, 158}, y={"calTim.minute"}, range={170000.0, 350000.0, -50.0, 100.0}, grid=true, subPlot=6, colors={{28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Sources/Validation/CalendarTimeMonthsMinus.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Sources/Validation/CalendarTimeMonthsMinus.mos new file mode 100644 index 0000000000..99ef8f6efd --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Sources/Validation/CalendarTimeMonthsMinus.mos @@ -0,0 +1,7 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Reals.Sources.Validation.CalendarTimeMonthsMinus", startTime=172799, tolerance=1e-6, stopTime=345599, method="Cvode", resultFile="CalendarTimeMonthsMinus1"); +createPlot(id=1, position={35, 30, 1021, 971}, y={"calTim.year"}, range={170000.0, 350000.0, 1800.0, 2400.0}, grid=true, colors={{28,108,200}}); +createPlot(id=1, position={35, 30, 1021, 158}, y={"calTim.month"}, range={170000.0, 350000.0, 0.8, 1.2}, grid=true, subPlot=2, colors={{28,108,200}}); +createPlot(id=1, position={35, 30, 1021, 159}, y={"calTim.day"}, range={170000.0, 350000.0, 2.0, 6.0}, grid=true, subPlot=3, colors={{28,108,200}}); +createPlot(id=1, position={35, 30, 1021, 158}, y={"calTim.weekDay"}, range={170000.0, 350000.0, 0.0, 10.0}, grid=true, subPlot=4, colors={{28,108,200}}); +createPlot(id=1, position={35, 30, 1021, 159}, y={"calTim.hour"}, range={170000.0, 350000.0, -10.0, 30.0}, grid=true, subPlot=5, colors={{28,108,200}}); +createPlot(id=1, position={35, 30, 1021, 158}, y={"calTim.minute"}, range={170000.0, 350000.0, -50.0, 100.0}, grid=true, subPlot=6, colors={{28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Sources/Validation/CalendarTimeMonthsPlus.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Sources/Validation/CalendarTimeMonthsPlus.mos new file mode 100644 index 0000000000..c08fcea2c0 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Sources/Validation/CalendarTimeMonthsPlus.mos @@ -0,0 +1,7 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Reals.Sources.Validation.CalendarTimeMonthsPlus", startTime=172801, tolerance=1e-6, stopTime=345601, method="Cvode", resultFile="CalendarTimeMonthsPlus1"); +createPlot(id=1, position={35, 30, 1021, 971}, y={"calTim.year"}, range={170000.0, 350000.0, 1800.0, 2400.0}, grid=true, colors={{28,108,200}}); +createPlot(id=1, position={35, 30, 1021, 158}, y={"calTim.month"}, range={170000.0, 350000.0, 0.8, 1.2}, grid=true, subPlot=2, colors={{28,108,200}}); +createPlot(id=1, position={35, 30, 1021, 159}, y={"calTim.day"}, range={170000.0, 350000.0, 2.0, 6.0}, grid=true, subPlot=3, colors={{28,108,200}}); +createPlot(id=1, position={35, 30, 1021, 158}, y={"calTim.weekDay"}, range={170000.0, 350000.0, 0.0, 10.0}, grid=true, subPlot=4, colors={{28,108,200}}); +createPlot(id=1, position={35, 30, 1021, 159}, y={"calTim.hour"}, range={170000.0, 350000.0, -10.0, 30.0}, grid=true, subPlot=5, colors={{28,108,200}}); +createPlot(id=1, position={35, 30, 1021, 158}, y={"calTim.minute"}, range={170000.0, 350000.0, -50.0, 100.0}, grid=true, subPlot=6, colors={{28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Sources/Validation/CivilTime.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Sources/Validation/CivilTime.mos new file mode 100644 index 0000000000..e72d69b9bc --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Sources/Validation/CivilTime.mos @@ -0,0 +1,2 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Reals.Sources.Validation.CivilTime", startTime=-1, tolerance=1e-6, stopTime=1, method="Cvode", resultFile="StandardTime1"); +createPlot(id=1, position={15, 10, 482, 336}, y={"civTim.y"}, range={-1.0, 1.0, -1.5, 1.5}, grid=true, leftTitleType=1, bottomTitleType=1, colors={{0,0,255}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Sources/Validation/Constant.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Sources/Validation/Constant.mos new file mode 100644 index 0000000000..f45a7589ad --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Sources/Validation/Constant.mos @@ -0,0 +1,2 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Reals.Sources.Validation.Constant", stopTime=1.0, method="Cvode", tolerance=1e-06, resultFile="Constant1"); +createPlot(id=1, position={15, 10, 590, 420}, y={"con.y"}, range={0.0, 5.0, -3.5, 3.5}, grid=true, colors={{28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Sources/Validation/Pulse.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Sources/Validation/Pulse.mos new file mode 100644 index 0000000000..f7eb901068 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Sources/Validation/Pulse.mos @@ -0,0 +1,2 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Reals.Sources.Validation.Pulse", stopTime=5.0, method="Cvode", tolerance=1e-06, resultFile="Pulse1"); +createPlot(id=1, position={15, 10, 590, 420}, y={"pulse.y"}, range={0.0, 5.0, -3.5, 3.5}, grid=true, colors={{28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Sources/Validation/Ramp.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Sources/Validation/Ramp.mos new file mode 100644 index 0000000000..5b168a75ab --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Sources/Validation/Ramp.mos @@ -0,0 +1,2 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Reals.Sources.Validation.Ramp", stopTime=5.0, method="Cvode", tolerance=1e-06, resultFile="Ramp1"); +createPlot(id=1, position={15, 10, 590, 420}, y={"ram.y"}, range={0.0, 5.0, -3.5, 3.5}, grid=true, colors={{28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Sources/Validation/Sin.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Sources/Validation/Sin.mos new file mode 100644 index 0000000000..eb71b31e1b --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Sources/Validation/Sin.mos @@ -0,0 +1,2 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Reals.Sources.Validation.Sin", stopTime=130.0, method="Cvode", tolerance=1e-06, resultFile="Sin"); +createPlot(id=1, position={15, 10, 590, 420}, y={"sin.y"}, range={0.0, 5.0, -3.5, 3.5}, grid=true, colors={{28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Sources/Validation/TimeTable.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Sources/Validation/TimeTable.mos new file mode 100644 index 0000000000..b3df73b658 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Sources/Validation/TimeTable.mos @@ -0,0 +1,4 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Reals.Sources.Validation.TimeTable", startTime=0, tolerance=1e-6, stopTime=172800, method="Cvode", resultFile="TimeTable1"); +createPlot(id=1, position={15, 10, 1936, 1264}, y={"timTabLin.y[1]", "timTabLinCon.y[1]", "timTabCon.y[1]"}, range={-1.6, 2.0, -0.5, 1.5}, grid=true, colors={{0,0,255}, {0,140,72}, {238,46,47}}, patterns={LinePattern.Solid, LinePattern.DashDot, LinePattern.Solid}, timeUnit="d"); +createPlot(id=1, position={15, 10, 1936, 418}, y={"timTabLinHol.y[1]"}, range={-1.6, 2.0, -0.5, 1.5}, grid=true, subPlot=2, colors={{0,0,255}}, timeUnit="d"); +createPlot(id=1, position={15, 10, 1936, 418}, y={"timTabLinDer.y[1]"}, range={-1.6, 2.0, -4.0, 2.0}, grid=true, subPlot=3, colors={{0,0,255}}, timeUnit="d"); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Sources/Validation/TimeTableNegativeStartTime.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Sources/Validation/TimeTableNegativeStartTime.mos new file mode 100644 index 0000000000..f6d1f899a3 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Sources/Validation/TimeTableNegativeStartTime.mos @@ -0,0 +1,4 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Reals.Sources.Validation.TimeTableNegativeStartTime", startTime=-129600, tolerance=1e-6, stopTime=172800, method="Cvode", resultFile="NegativeStartTime1"); +createPlot(id=1, position={15, 10, 1936, 1264}, y={"timTabLin.y[1]", "timTabLinCon.y[1]", "timTabCon.y[1]"}, range={-1.6, 2.0, -0.5, 1.5}, grid=true, colors={{0,0,255}, {0,140,72}, {238,46,47}}, patterns={LinePattern.Solid, LinePattern.DashDot, LinePattern.Solid}, timeUnit="d"); +createPlot(id=1, position={15, 10, 1936, 418}, y={"timTabLinHol.y[1]"}, range={-1.6, 2.0, -0.5, 1.5}, grid=true, subPlot=2, colors={{0,0,255}}, timeUnit="d"); +createPlot(id=1, position={15, 10, 1936, 418}, y={"timTabLinDer.y[1]"}, range={-1.6, 2.0, -4.0, 2.0}, grid=true, subPlot=3, colors={{0,0,255}}, timeUnit="d"); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Abs.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Abs.mos new file mode 100644 index 0000000000..e3cd73b97f --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Abs.mos @@ -0,0 +1,2 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Reals.Validation.Abs", method="Cvode", tolerance=1e-06, stopTime=1.0, resultFile="Abs1"); +createPlot(id=1, position={15, 10, 590, 420}, y={"abs1.u", "abs1.y"}, range={0.0, 1.0, -1.2, 1.4}, grid=true, colors={{28,108,200}, {238,46,47}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Acos.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Acos.mos new file mode 100644 index 0000000000..d0360ff6e8 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Acos.mos @@ -0,0 +1,2 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Reals.Validation.Acos", method="Cvode", tolerance=1e-06, stopTime=1.0, resultFile="Acos"); +createPlot(id=1, position={15, 10, 590, 420}, y={"arcCos.u", "arcCos.y"}, range={0.0, 1.0, -2, 2}, grid=true, colors={{238,46,47}, {28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Add.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Add.mos new file mode 100644 index 0000000000..ada97a4b64 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Add.mos @@ -0,0 +1,2 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Reals.Validation.Add", method="Cvode", tolerance=1e-06, stopTime=1.0, resultFile="Add1"); +createPlot(id=1, position={15, 10, 590, 420}, y={"add1.u1", "add1.u2", "add1.y"}, range={0.0, 1.0, -3.5, 3.5}, grid=true, colors={{0,140,72}, {238,46,47}, {28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/AddParameter.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/AddParameter.mos new file mode 100644 index 0000000000..648a147861 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/AddParameter.mos @@ -0,0 +1,2 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Reals.Validation.AddParameter", method="Cvode", tolerance=1e-06, stopTime=1.0, resultFile="AddParameter2"); +createPlot(id=1, position={15, 10, 590, 420}, y={"addPar.u", "addPar.y"}, range={0.0, 1.0, -4, 5}, grid=true, colors={{238,46,47}, {28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Asin.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Asin.mos new file mode 100644 index 0000000000..d5ed4627b7 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Asin.mos @@ -0,0 +1,2 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Reals.Validation.Asin", method="Cvode", tolerance=1e-06, stopTime=1.0, resultFile="Asin"); +createPlot(id=1, position={15, 10, 590, 420}, y={"arcSin.u", "arcSin.y"}, range={0.0, 1.0, -2, 2}, grid=true, colors={{238,46,47}, {28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Atan.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Atan.mos new file mode 100644 index 0000000000..82cb3e86cb --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Atan.mos @@ -0,0 +1,2 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Reals.Validation.Atan", method="Cvode", tolerance=1e-06, stopTime=1.0, resultFile="Atan1"); +createPlot(id=1, position={15, 10, 590, 420}, y={"atan1.u", "atan1.y"}, range={0.0, 1.0, -1.2, 1.4}, grid=true, colors={{238,46,47}, {28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Atan2.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Atan2.mos new file mode 100644 index 0000000000..ecef677da8 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Atan2.mos @@ -0,0 +1,2 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Reals.Validation.Atan2", method="Cvode", tolerance=1e-06, stopTime=1.0, resultFile="Atan2_1"); +createPlot(id=1, position={15, 10, 590, 420}, y={"atan2_1.u1", "atan2_1.u2", "atan2_1.y"}, range={0.0, 1.0, -2.5, 3.5}, grid=true, colors={{0,140,72}, {238,46,47}, {28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Average.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Average.mos new file mode 100644 index 0000000000..a3003efa7f --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Average.mos @@ -0,0 +1,2 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Reals.Validation.Average", method="Cvode", tolerance=1e-06, stopTime=1.0, resultFile="Average1"); +createPlot(id=1, position={15, 10, 590, 420}, y={"avg1.u1", "avg1.u2", "avg1.y"}, range={0.0, 1.0, -3.5, 3.5}, grid=true, colors={{0,140,72}, {238,46,47}, {28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Cos.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Cos.mos new file mode 100644 index 0000000000..98d92807e3 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Cos.mos @@ -0,0 +1,2 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Reals.Validation.Cos", method="Cvode", tolerance=1e-06, stopTime=1.0, resultFile="Cos1"); +createPlot(id=1, position={15, 10, 590, 420}, y={"cos1.u", "cos1.y"}, range={0.0, 1.0, -1.2, 1.4}, grid=true, colors={{238,46,47}, {28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Derivative.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Derivative.mos new file mode 100644 index 0000000000..7a13e21734 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Derivative.mos @@ -0,0 +1,3 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Reals.Validation.Derivative", stopTime=10, method="Cvode", tolerance=1e-07, resultFile="Derivative"); +createPlot(id=1, position={15, 15, 761, 628}, y={"der1.y", "intWitRes.u", "der2.y"}, range={0.0, 20.0, -3.0, 3.0}, grid=true, subPlot=102, colors={{238,46,47}, {28,108,200}, {0,140,72}}, timeUnit="s"); +createPlot(id=1, position={15, 15, 761, 628}, y={"der1.T"}, range={0.0, 20.0, 0.0, 0.12}, grid=true, subPlot=101, colors={{28,108,200}}, timeUnit="s"); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Divide.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Divide.mos new file mode 100644 index 0000000000..14d8b733d4 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Divide.mos @@ -0,0 +1,2 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Reals.Validation.Divide", method="Cvode", tolerance=1e-06, stopTime=1.0, resultFile="Divide1"); +createPlot(id=1, position={15, 10, 590, 420}, y={"div1.u1", "div1.u2", "div1.y"}, range={0.0, 1.0, -2.5, 3.5}, grid=true, colors={{0,140,72}, {238,46,47}, {28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Exp.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Exp.mos new file mode 100644 index 0000000000..f795e6d050 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Exp.mos @@ -0,0 +1,2 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Reals.Validation.Exp", method="Cvode", tolerance=1e-06, stopTime=1.0, resultFile="Exp1"); +createPlot(id=1, position={15, 10, 590, 420}, y={"Exp1.u", "Exp1.y"}, range={0.0, 1.0, -1.0, 8.0}, grid=true, colors={{238,46,47}, {28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Greater.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Greater.mos new file mode 100644 index 0000000000..9b8e2fda53 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Greater.mos @@ -0,0 +1,3 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Reals.Validation.Greater", stopTime=10.0, method="Cvode", tolerance=1e-06, resultFile="Greater1"); +createPlot(id=1, position={15, 15, 742, 472}, y={"gre.u1", "gre.u2"}, range={0.0, 10.0, -0.5, 1.5}, grid=true, subPlot=1, colors={{28,108,200}, {238,46,47}}); +createPlot(id=1, position={15, 15, 742, 472}, y={"gre.y", "greHys.y"}, range={0.0, 10.0, -0.5, 1.5}, grid=true, subPlot=2, colors={{28,108,200}, {28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/GreaterThreshold.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/GreaterThreshold.mos new file mode 100644 index 0000000000..52d1e9de5b --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/GreaterThreshold.mos @@ -0,0 +1,3 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Reals.Validation.GreaterThreshold", stopTime=10.0, method="Cvode", tolerance=1e-06, resultFile="GreaterThreshold1"); +createPlot(id=1, position={15, 15, 742, 472}, y={"gre.u", "gre.t"}, range={0.0, 10.0, -0.5, 1.5}, grid=true, subPlot=1, colors={{28,108,200}, {238,46,47}}); +createPlot(id=1, position={15, 15, 742, 472}, y={"gre.y", "greHys.y"}, range={0.0, 10.0, -0.5, 1.5}, grid=true, subPlot=2, colors={{28,108,200}, {28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Hysteresis.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Hysteresis.mos new file mode 100644 index 0000000000..ffdd083d12 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Hysteresis.mos @@ -0,0 +1,4 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Reals.Validation.Hysteresis", stopTime=1.0, method="Cvode", tolerance=1e-06, resultFile="Hysteresis1"); +createPlot(id=1, position={15, 10, 900, 420}, subPlot=1, y={"hysteresis.u", "hysteresis.y"}, range={0.0, 5.0, -3.5, 3.5}, grid=true, colors={{238,46,47},{28,108,200}}); +createPlot(id=1, position={15, 10, 900, 420}, subPlot=2, y={"hysteresis1.u", "hysteresis1.y"}, range={0.0, 5.0, -3.5, 3.5}, grid=true, colors={{238,46,47},{28,108,200}}); +createPlot(id=1, position={15, 10, 900, 420}, subPlot=3, y={"hysteresis2.u", "hysteresis2.y"}, range={0.0, 5.0, -3.5, 3.5}, grid=true, colors={{238,46,47},{28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/IntegratorWithReset.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/IntegratorWithReset.mos new file mode 100644 index 0000000000..af4c7bc128 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/IntegratorWithReset.mos @@ -0,0 +1,6 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Reals.Validation.IntegratorWithReset", method="Cvode", tolerance=1e-6, stopTime=1.0, resultFile="IntegratorWithReset1"); +createPlot(id=1, position={35, 30, 586, 850}, y={"cons.y"}, range={0.0, 1.0, 8.8, 11.2}, grid=true, colors={{28,108,200}}); +createPlot(id=1, position={35, 30, 586, 850}, y={"booleanPulse.y"}, range={0.0, 1.0, -0.1, 1.1}, grid=true, subPlot=2, colors={{28,108,200}}); +createPlot(id=2, position={645, 30, 725, 850}, y={"intDef.y_start", "intDef.y", "intDef.y_reset_in"}, range={0.0, 1.0, -5.0, 15.0}, grid=true, colors={{28,108,200}, {0,140,72},{238,46,47}}); +createPlot(id=2, position={645, 30, 725, 850}, y={"intWitRes1.y_start", "intWitRes1.y", "intWitRes1.y_reset_in"}, range={0.0, 1.0, 1.0, 6.0}, grid=true, subPlot=2, colors={{28,108,200}, {0,140,72}, {238,46,47}}); +createPlot(id=2, position={645, 30, 725, 850}, y={"intWitRes2.y_start", "intWitRes2.y", "intWitRes2.y_reset_in"}, range={0.0, 1.0, -6.0, -1.0}, grid=true, subPlot=3, colors={{28,108,200}, {0,140,72}, {238,46,47}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Less.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Less.mos new file mode 100644 index 0000000000..94e8832bb3 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Less.mos @@ -0,0 +1,3 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Reals.Validation.Less", stopTime=10.0, method="Cvode", tolerance=1e-06, resultFile="Less1"); +createPlot(id=1, position={15, 15, 742, 472}, y={"les.u1", "les.u2"}, range={0.0, 5.0, -0.5, 1.5}, grid=true, subPlot=1, colors={{28,108,200}, {238,46,47}}); +createPlot(id=1, position={15, 15, 742, 472}, y={"les.y", "lesHys.y"}, range={0.0, 5.0, -0.5, 1.5}, grid=true, subPlot=2, colors={{28,108,200}, {28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/LessThreshold.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/LessThreshold.mos new file mode 100644 index 0000000000..b8063d99bc --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/LessThreshold.mos @@ -0,0 +1,3 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Reals.Validation.LessThreshold", stopTime=10.0, method="Cvode", tolerance=1e-06, resultFile="LessThreshold1"); +createPlot(id=1, position={15, 15, 742, 472}, y={"les.u", "les.t"}, range={0.0, 5.0, -0.5, 1.5}, grid=true, subPlot=1, colors={{28,108,200}, {238,46,47}}); +createPlot(id=1, position={15, 15, 742, 472}, y={"les.y", "lesHys.y"}, range={0.0, 5.0, -0.5, 1.5}, grid=true, subPlot=2, colors={{28,108,200}, {28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/LimitSlewRate.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/LimitSlewRate.mos new file mode 100644 index 0000000000..892c3c9410 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/LimitSlewRate.mos @@ -0,0 +1,2 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Reals.Validation.LimitSlewRate", method="Cvode", stopTime=480, tolerance=1e-06, resultFile="LimitSlewRate"); +createPlot(id=1, position={15, 10, 730, 420}, y={"sleRatLim.u", "sleRatLim.y"}, range={0.0, 5.0, -2.0, 2.0}, grid=true, colors={{238,46,47},{0,140,72}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Limiter.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Limiter.mos new file mode 100644 index 0000000000..571fa90d72 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Limiter.mos @@ -0,0 +1,2 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Reals.Validation.Limiter", method="Cvode", tolerance=1e-06, stopTime=1.0, resultFile="Limiter1"); +createPlot(id=1, position={15, 10, 590, 420}, y={"limiter1.u", "limiter1.y"}, range={0.0, 1.0, -1.0, 8.0}, grid=true, colors={{238,46,47}, {28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Line.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Line.mos new file mode 100644 index 0000000000..649395e910 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Line.mos @@ -0,0 +1,5 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Reals.Validation.Line", method="Cvode", tolerance=1e-06, stopTime=1.0, resultFile="Line1"); +createPlot(id=1, position={15, 10, 590, 420}, y={"line1.u", "line1.y"}, range={0.0, 1.0, -1.0, 8.0}, grid=true, colors={{238,46,47}, {28,108,200}}); +createPlot(id=1, position={15, 10, 590, 420}, y={"line1.u", "line1.y", "line2.y", "line3.y"}, range={0.0, 1.0, -1.0, 4.0}, grid=true, colors={{238,46,47}, {28,108,200}, {0,140,72}, {217,67,180}}); + + diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Log.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Log.mos new file mode 100644 index 0000000000..ba9a0d72a0 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Log.mos @@ -0,0 +1,2 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Reals.Validation.Log", method="Cvode", tolerance=1e-06, stopTime=1.0, resultFile="Log1"); +createPlot(id=1, position={15, 10, 590, 420}, y={"log1.u", "log1.y"}, range={0.0, 1.0, -1.0, 8.0}, grid=true, colors={{238,46,47}, {28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Log10.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Log10.mos new file mode 100644 index 0000000000..4995515cf9 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Log10.mos @@ -0,0 +1,3 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Reals.Validation.Log10", method="Cvode", tolerance=1e-06, stopTime=1.0, resultFile="Log10_1"); + +createPlot(id=1, position={15, 10, 590, 420}, y={"log10_1.u", "log10_1.y"}, range={0.0, 1.0, -1.0, 8.0}, grid=true, colors={{238,46,47}, {28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/MatrixGain.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/MatrixGain.mos new file mode 100644 index 0000000000..25ee2b5ec3 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/MatrixGain.mos @@ -0,0 +1,7 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Reals.Validation.MatrixGain", method="Cvode", tolerance=1e-06, stopTime=1.0, resultFile="MatrixGain"); + +createPlot(id=1, position={10, 15, 1000, 750}, subPlot=1, y={"matGai.y[1]", "matGai.y[2]", "matGai.y[3]"}, range={0.0, 0.05, -0.2, 0.6}, grid=true, colors={{28,108,200},{238,46,47}, {0,0,127}}); +createPlot(id=1, position={10, 15, 1000, 750}, subPlot=2, y={"matGai.u[1]", "matGai.u[2]"}, range={0.0, 0.05, -0.2, 0.6}, grid=true, colors={{28,108,200},{0,140,72}}); +createPlot(id=1, position={10, 15, 1000, 750}, subPlot=3, y={"matGai1.y[1]", "matGai1.y[2]"}, range={0.0, 0.05, -0.2, 0.6}, grid=true, colors={{28,108,200},{238,46,47}}); +createPlot(id=1, position={10, 15, 1000, 750}, subPlot=4, y={"matGai1.u[1]", "matGai1.u[2]"}, range={0.0, 0.05, -0.2, 0.6}, grid=true, colors={{28,108,200},{0,140,72}}); + diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/MatrixMax.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/MatrixMax.mos new file mode 100644 index 0000000000..a7a53a10dc --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/MatrixMax.mos @@ -0,0 +1,5 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Reals.Validation.MatrixMax", method="Cvode", tolerance=1e-06, stopTime=1.0, resultFile="MatrixMax"); + +createPlot(id=1, position={10, 15, 1000, 750}, subPlot=1, y={"matMax.y[1]", "matMax.y[2]", "matMax.y[3]"}, range={0.0, 0.05, -0.2, 0.6}, grid=true, colors={{28,108,200},{238,46,47}, {0,0,127}}); +createPlot(id=1, position={10, 15, 1000, 750}, subPlot=2, y={"matMax1.y[1]", "matMax1.y[2]"}, range={0.0, 0.05, -0.2, 0.6}, grid=true, colors={{28,108,200},{238,46,47}}); +createPlot(id=1, position={10, 15, 1000, 750}, subPlot=3, y={"matMax2.y[1]", "matMax2.y[2]"}, range={0.0, 0.05, -0.2, 0.6}, grid=true, colors={{28,108,200},{238,46,47}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/MatrixMin.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/MatrixMin.mos new file mode 100644 index 0000000000..4cb7287592 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/MatrixMin.mos @@ -0,0 +1,5 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Reals.Validation.MatrixMin", method="Cvode", tolerance=1e-06, stopTime=1.0, resultFile="MatrixMin"); + +createPlot(id=1, position={10, 15, 1000, 750}, subPlot=1, y={"matMin.y[1]", "matMin.y[2]", "matMin.y[3]"}, range={0.0, 0.05, -0.2, 0.6}, grid=true, colors={{28,108,200},{238,46,47}, {0,0,127}}); +createPlot(id=1, position={10, 15, 1000, 750}, subPlot=2, y={"matMin1.y[1]", "matMin1.y[2]", "matMin1.y[3]"}, range={0.0, 0.05, -0.2, 0.6}, grid=true, colors={{28,108,200},{238,46,47}, {0,0,127}}); +createPlot(id=1, position={10, 15, 1000, 750}, subPlot=3, y={"matMin2.y[1]", "matMin2.y[2]"}, range={0.0, 0.05, -0.2, 0.6}, grid=true, colors={{28,108,200},{238,46,47}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Max.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Max.mos new file mode 100644 index 0000000000..9ec941c843 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Max.mos @@ -0,0 +1,2 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Reals.Validation.Max", method="Cvode", tolerance=1e-06, stopTime=1.0, resultFile="Max1"); +createPlot(id=1, position={15, 10, 590, 420}, y={"max1.u1", "max1.u2", "max1.y"}, range={0.0, 1.0, -3.5, 3.5}, grid=true, colors={{0,140,72}, {238,46,47}, {28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Min.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Min.mos new file mode 100644 index 0000000000..c4ac352c17 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Min.mos @@ -0,0 +1,2 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Reals.Validation.Min", method="Cvode", tolerance=1e-06, stopTime=1.0, resultFile="Min1"); +createPlot(id=1, position={15, 10, 590, 420}, y={"min1.u1", "min1.u2", "min1.y"}, range={0.0, 1.0, -3.5, 3.5}, grid=true, colors={{0,140,72}, {238,46,47}, {28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Modulo.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Modulo.mos new file mode 100644 index 0000000000..168e60dcb2 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Modulo.mos @@ -0,0 +1,2 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Reals.Validation.Modulo", method="Cvode", tolerance=1e-06, stopTime=1.0, resultFile="Modulo1"); +createPlot(id=1, position={15, 10, 590, 420}, y={"mod1.u1", "mod1.u2", "mod1.y"}, range={0.0, 1.0, -3.5, 3.5}, grid=true, colors={{0,140,72}, {238,46,47}, {28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/MovingAverage.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/MovingAverage.mos new file mode 100644 index 0000000000..f9024191fa --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/MovingAverage.mos @@ -0,0 +1,4 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Reals.Validation.MovingAverage", stopTime=900.0, method="Cvode", tolerance=1e-06, resultFile="MovingAverage1"); +createPlot(id=1, position={15, 10, 1300, 400}, subPlot=1, y={"sinInpNoDel.y","movAve1.y","movAve2.y","movAve3.y","movAve4.y"}, range={0.0, 5.0, 0, 1}, grid=true, colors={{238,46,47},{0,140,72},{28,108,200},{0,140,72},{28,108,200}}); +createPlot(id=2, position={15, 430, 600, 400}, subPlot=1, y={"sinInp50sDel.y","movAve6.y","movAve7.y"}, range={0.0, 5.0, 0, 1}, grid=true, colors={{238,46,47},{0,140,72},{28,108,200}}); +createPlot(id=3, position={640, 430, 600, 400}, subPlot=1, y={"sinInp100sDel.y","movAve8.y","movAve9.y"}, range={0.0, 5.0, 0, 1}, grid=true, colors={{238,46,47},{0,140,72},{28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/MovingAverage_nonZeroStart.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/MovingAverage_nonZeroStart.mos new file mode 100644 index 0000000000..b3682de0fb --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/MovingAverage_nonZeroStart.mos @@ -0,0 +1,4 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Reals.Validation.MovingAverage_nonZeroStart", startTime=100.0, stopTime=900.0, method="Cvode", tolerance=1e-06, resultFile="MovingAverage_nonZeroStart1"); +createPlot(id=1, position={15, 10, 1300, 400}, subPlot=1, y={"sinInpNoDel.y","movAve1.y","movAve2.y","movAve3.y","movAve4.y"}, range={0.0, 5.0, 0, 1}, grid=true, colors={{238,46,47},{0,140,72},{28,108,200},{0,140,72},{28,108,200}}); +createPlot(id=2, position={15, 430, 600, 400}, subPlot=1, y={"sinInp50sDel.y","movAve6.y","movAve7.y"}, range={0.0, 5.0, 0, 1}, grid=true, colors={{238,46,47},{0,140,72},{28,108,200}}); +createPlot(id=3, position={640, 430, 600, 400}, subPlot=1, y={"sinInp100sDel.y","movAve8.y","movAve9.y"}, range={0.0, 5.0, 0, 1}, grid=true, colors={{238,46,47},{0,140,72},{28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/MultiMax.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/MultiMax.mos new file mode 100644 index 0000000000..61a44a012b --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/MultiMax.mos @@ -0,0 +1,3 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Reals.Validation.MultiMax", stopTime=1.0, method="Cvode", tolerance=1e-06, resultFile="MultiMax1"); +createPlot(id=1, position={15, 10, 600, 420}, y={"con[1].y","con[2].y","con[3].y","con[4].y","con[5].y"}, range={0.0, 5.0, -3.5, 3.5}, grid=true, colors={{238,46,47},{0,140,72},{28,108,200},{0,140,72},{28,108,200}}); +createPlot(id=2, position={630, 10, 600, 420}, y={"maxVal.y"}, range={0.0, 5.0, -3.5, 3.5}, grid=true, colors={{238,46,47}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/MultiMin.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/MultiMin.mos new file mode 100644 index 0000000000..d4ea7aa7a7 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/MultiMin.mos @@ -0,0 +1,3 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Reals.Validation.MultiMin", stopTime=1.0, method="Cvode", tolerance=1e-06, resultFile="MultiMin1"); +createPlot(id=1, position={15, 10, 600, 420}, y={"con[1].y","con[2].y","con[3].y","con[4].y","con[5].y"}, range={0.0, 5.0, -3.5, 3.5}, grid=true, colors={{238,46,47},{0,140,72},{28,108,200},{0,140,72},{28,108,200}}); +createPlot(id=2, position={630, 10, 600, 420}, y={"minVal.y"}, range={0.0, 5.0, -3.5, 3.5}, grid=true, colors={{238,46,47}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/MultiSum.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/MultiSum.mos new file mode 100644 index 0000000000..eb7d759435 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/MultiSum.mos @@ -0,0 +1,4 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Reals.Validation.MultiSum", method="Cvode", tolerance=1e-06, stopTime=1.0, resultFile="MultiSum_1"); +createPlot(id=1, position={15, 10, 600, 350}, y={"mulSum_1.u[1]", "mulSum_1.y"}, range={0.0, 1.0, -5, 6}, grid=true, colors={{0,140,72}, {28,108,200}}); +createPlot(id=2, position={15, 400, 600, 350}, y={"mulSum_2.u[1]","mulSum_2.u[2]", "mulSum_2.y"}, range={0.0, 1.0, -5, 6}, grid=true, colors={{0,140,72},{238,46,47},{28,108,200}}); +createPlot(id=3, position={630, 10, 600, 750}, y={"mulSum_5.u[1]", "mulSum_5.u[2]", "mulSum_5.u[3]", "mulSum_5.u[4]", "mulSum_5.u[5]","mulSum_5.y"}, range={0.0, 1.0, -5, 6}, grid=true, colors={{0,140,72}, {238,46,47}, {217,67,180}, {238,46,47}, {217,67,180},{28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Multiply.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Multiply.mos new file mode 100644 index 0000000000..d6cb278be8 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Multiply.mos @@ -0,0 +1,2 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Reals.Validation.Multiply", method="Cvode", tolerance=1e-06, stopTime=1.0, resultFile="Multiply1"); +createPlot(id=1, position={15, 10, 590, 420}, y={"product1.u1", "product1.u2", "product1.y"}, range={0.0, 1.0, -3.5, 3.5}, grid=true, colors={{0,140,72}, {238,46,47}, {28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/MultiplyByParameter.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/MultiplyByParameter.mos new file mode 100644 index 0000000000..a1dad689da --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/MultiplyByParameter.mos @@ -0,0 +1,2 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Reals.Validation.MultiplyByParameter", method="Cvode", tolerance=1e-06, stopTime=1.0, resultFile="Gain1"); +createPlot(id=1, position={15, 10, 590, 420}, y={"gain1.u", "gain1.y"}, range={0.0, 1.0, -1.0, 8.0}, grid=true, colors={{238,46,47}, {28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/PID.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/PID.mos new file mode 100644 index 0000000000..ed8dfef357 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/PID.mos @@ -0,0 +1,4 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Reals.Validation.PID", method="Cvode", tolerance=1e-06, stopTime=1.0, resultFile="PID1"); +createPlot(id=1, position={15, 10, 900, 700}, y={"limPID.u_s", "limPID.u_m"}, range={0.0, 1.0, -0.5, 1.5}, grid=true, colors={{238,46,47}, {0,140,72}}); +createPlot(id=1, position={15, 10, 900, 700}, y={"limPID.u_s", "limPID.y", "noLimPID.y"}, range={0.0, 1.0, -20.0, 10.0}, grid=true, subPlot=102, colors={{238,46,47}, {0,140,72}, {217,67,180}}); +createPlot(id=1, position={15, 10, 900, 700}, y={"limP.y", "limPI.y", "limPD.y"}, range={0.0, 1.0, -2.0, 2.0}, grid=true, subPlot=103, colors={{238,46,47}, {0,140,72}, {217,67,180}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/PIDInitialDerivativeOutput.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/PIDInitialDerivativeOutput.mos new file mode 100644 index 0000000000..3bb35f8a0c --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/PIDInitialDerivativeOutput.mos @@ -0,0 +1,2 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Reals.Validation.PIDInitialDerivativeOutput", tolerance=1e-06, stopTime=0.2, resultFile="PIDInitialDerivativeOutput"); +createPlot(id=1, position={31, 124, 592, 372}, y={"limPID.y", "limPD.y", "limPID.D.y", "limPD.D.y"}, range={0.0, 1.0, -0.2, 0.6}, grid=true, colors={{28,108,200}, {238,46,47}, {0,140,72}, {0,0,0}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/PIDInitialState.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/PIDInitialState.mos new file mode 100644 index 0000000000..81d0c5059b --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/PIDInitialState.mos @@ -0,0 +1,2 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Reals.Validation.PIDInitialState", tolerance=1e-06, resultFile="PIDInitialState"); +createPlot(id=1, position={35, 35, 926, 623}, y={"limPID.I.y", "limPID.D.y", "limPI.I.y", "limPID.D.u"}, range={0.0, 1.0, -0.6, 0.5}, grid=true, colors={{28,108,200}, {238,46,47}, {0,140,72}, {217,67,180}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/PIDScale.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/PIDScale.mos new file mode 100644 index 0000000000..90094594bf --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/PIDScale.mos @@ -0,0 +1,3 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Reals.Validation.PIDScale", method="CVode", stopTime=100, tolerance=1e-06, resultFile="PIDScale"); +createPlot(id=2, position={577, 61, 1112, 827}, y={"pidSca.y", "pidNoSca.y"}, range={0.0, 100.0, -1.5, 1.5}, grid=true, colors={{28,108,200}, {238,46,47}}); +createPlot(id=2, position={577, 61, 1112, 827}, y={"pla1.y", "pla2.y", "pidSca.u_s"}, range={0.0, 100.0, -500.0, 1500.0}, grid=true, subPlot=102, colors={{28,108,200}, {238,46,47}, {0,140,72}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/PIDWithReset.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/PIDWithReset.mos new file mode 100644 index 0000000000..dfed06121a --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/PIDWithReset.mos @@ -0,0 +1,5 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Reals.Validation.PIDWithReset", stopTime=10, method="Cvode", tolerance=1e-06, resultFile="CDL_PIDWithReset"); +createPlot(id=1, position={35, 35, 800, 1027}, y={"limPIDPar.u_s", "limPIDPar.u_m", "limPIDPar.y"}, range={0.0, 10.0, -0.5, 1.5}, grid=true, colors={{28,108,200}, {238,46,47}, {0,140,72}}); +createPlot(id=1, position={35, 35, 800, 1027}, y={"limPIDInp.u_s", "limPIDInp.u_m", "limPIDInp.y"}, range={0.0, 10.0, -0.5, 1.5}, grid=true, subPlot=2, colors={{28,108,200}, {238,46,47}, {0,140,72}}); +createPlot(id=1, position={35, 35, 800, 1027}, y={"limPIPar.u_s", "limPIPar.u_m", "limPIPar.y"}, range={0.0, 10.0, -0.5, 1.5}, grid=true, subPlot=3, colors={{28,108,200}, {238,46,47}, {0,140,72}}); +createPlot(id=1, position={35, 35, 800, 1027}, y={"limPIInp.u_s", "limPIInp.u_m", "limPIInp.y"}, range={0.0, 10.0, -0.5, 1.5}, grid=true, subPlot=4, colors={{28,108,200}, {238,46,47}, {0,140,72}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/PIDWithResetScale.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/PIDWithResetScale.mos new file mode 100644 index 0000000000..2da903f1f5 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/PIDWithResetScale.mos @@ -0,0 +1,4 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Reals.Validation.PIDWithResetScale", method="CVode", stopTime=100, tolerance=1e-06, resultFile="PIDWithResetScale"); +createPlot(id=2, position={577, 61, 1454, 979}, y={"pidSca.y", "pidNoSca.y"}, range={0.0, 100.0, -2.0, 2.0}, grid=true, colors={{28,108,200}, {238,46,47}}); +createPlot(id=2, position={577, 61, 1454, 979}, y={"pla1.y", "pla2.y", "pidSca.u_s"}, range={0.0, 100.0, -500.0, 1500.0}, grid=true, subPlot=102, colors={{28,108,200}, {238,46,47}, {0,140,72}}); +createPlot(id=2, position={577, 61, 1454, 979}, y={"pidSca.trigger"}, range={0.0, 100.0, -0.5, 1.5}, grid=true, subPlot=103, colors={{28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Ramp.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Ramp.mos new file mode 100644 index 0000000000..60c8c6da60 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Ramp.mos @@ -0,0 +1,8 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Reals.Validation.Ramp", method="Cvode", tolerance=1e-06, stopTime=10.0, resultFile="rampUpDown"); +createPlot(id=1, position={15, 15, 1034, 1198}, y={"ramUp.u", "ramUp.y", "ramUp1.y"}, range={0.0, 10.0, -0.5, 1.5}, grid=true, subPlot=1, colors={{28,108,200}, {238,46,47}, {0,140,72}}, timeUnit="s", displayUnits={"1", "1", "1"}); +createPlot(id=1, position={15, 15, 1034, 1198}, y={"ramUp.active"}, range={0.0, 10.0, -0.5, 1.5}, grid=true, subPlot=2, colors={{28,108,200}}, timeUnit="s"); +createPlot(id=1, position={15, 15, 1034, 1198}, y={"ramUpDow.u", "ramUpDow.y"}, range={0.0, 10.0, -0.5, 1.5}, grid=true, subPlot=3, colors={{28,108,200}, {238,46,47}}, timeUnit="s", displayUnits={"1", "1"}); +createPlot(id=1, position={15, 15, 1034, 1198}, y={"ramUpDow.active"}, range={0.0, 10.0, -0.5, 1.5}, grid=true, subPlot=4, colors={{28,108,200}}, timeUnit="s"); +createPlot(id=2, position={1059, 15, 1002, 1200}, y={"ramUpDow1.u", "ramUpDow1.y"}, range={0.0, 10.0, -0.1, 1.1}, grid=true, subPlot=1, colors={{28,108,200}, {238,46,47}}, timeUnit="s", displayUnits={"1", "1"}); +createPlot(id=2, position={1059, 15, 1002, 1200}, y={"ramUpDow1.active"}, range={0.0, 10.0, -0.1, 1.1}, grid=true, subPlot=2, colors={{28,108,200}}, timeUnit="s"); + diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Round.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Round.mos new file mode 100644 index 0000000000..5376e81072 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Round.mos @@ -0,0 +1,4 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Reals.Validation.Round", method="Cvode", tolerance=1e-06, stopTime=1.0, resultFile="Round1"); +createPlot(id=1, position={15, 10, 1475, 1167}, y={"round1.u", "round1.y"}, range={0.0, 1.0, -5.0, 5.0}, grid=true, colors={{238,46,47}, {28,108,200}}); +createPlot(id=1, position={15, 10, 1475, 385}, y={"round2.u", "round2.y"}, range={0.0, 1.0, -0.5, 0.5}, grid=true, subPlot=2, colors={{28,108,200}, {238,46,47}}); +createPlot(id=1, position={15, 10, 1475, 385}, y={"round3.u", "round3.y"}, range={0.0, 1.0, -50.0, 50.0}, grid=true, subPlot=3, colors={{28,108,200}, {238,46,47}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Sin.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Sin.mos new file mode 100644 index 0000000000..fe76afad53 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Sin.mos @@ -0,0 +1,2 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Reals.Validation.Sin", method="Cvode", tolerance=1e-06, stopTime=1.0, resultFile="Sin1"); +createPlot(id=1, position={15, 10, 590, 420}, y={"sin1.u", "sin1.y"}, range={0.0, 1.0, -2, 7.0}, grid=true, colors={{238,46,47}, {28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Sort.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Sort.mos new file mode 100644 index 0000000000..42334ec0d9 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Sort.mos @@ -0,0 +1,8 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Reals.Validation.Sort", method="Cvode", tolerance=1e-06, stopTime=1.0, resultFile="Sort1"); +createPlot(id=1, position={24, 14, 959, 865}, y={"sorAsc.u[1]", "sorAsc.u[2]", "sorAsc.u[3]", "sorAsc.u[4]", "sorAsc.u[5]"}, range={0.0, 1.0, -4.0, 6.0}, grid=true, subPlot=101, colors={{28,108,200}, {238,46,47}, {0,140,72}, {217,67,180}, {0,0,0}}, timeUnit="s"); +createPlot(id=1, position={24, 14, 959, 865}, y={"sorAsc.y[1]", "sorAsc.y[2]", "sorAsc.y[3]", "sorAsc.y[4]", "sorAsc.y[5]"}, range={0.0, 1.0, -4.0, 6.0}, grid=true, subPlot=102, colors={{28,108,200}, {238,46,47}, {0,140,72}, {217,67,180}, {0,0,0}}, timeUnit="s"); +createPlot(id=1, position={24, 14, 959, 865}, y={"sorDes.y[1]", "sorDes.y[2]", "sorDes.y[3]", "sorDes.y[4]", "sorDes.y[5]"}, range={0.0, 1.0, -6.0, 6.0}, grid=true, subPlot=103, colors={{28,108,200}, {238,46,47}, {0,140,72}, {217,67,180}, {0,0,0}}, timeUnit="s"); +createPlot(id=2, position={1001, 330, 1147, 549}, y={"sorAsc.yIdx[1]", "sorAsc.yIdx[2]", "sorAsc.yIdx[3]", "sorAsc.yIdx[4]", "sorAsc.yIdx[5]"}, range={0.0, 1.0, 0.0, 6.0}, grid=true, subPlot=101, colors={{28,108,200}, {28,108,200}, {28,108,200}, {28,108,200}, {28,108,200}}, timeUnit="s"); +createPlot(id=2, position={1001, 330, 1147, 549}, y={"sorDes.yIdx[1]", "sorDes.yIdx[2]", "sorDes.yIdx[3]", "sorDes.yIdx[4]", "sorDes.yIdx[5]"}, range={0.0, 1.0, 0.0, 6.0}, grid=true, subPlot=102, colors={{28,108,200}, {28,108,200}, {28,108,200}, {28,108,200}, {28,108,200}}, timeUnit="s"); + + diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Sqrt.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Sqrt.mos new file mode 100644 index 0000000000..21d064bb5d --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Sqrt.mos @@ -0,0 +1,2 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Reals.Validation.Sqrt", method="Cvode", tolerance=1e-06, stopTime=1.0, resultFile="Sqrt1"); +createPlot(id=1, position={15, 10, 590, 420}, y={"sqrt1.u", "sqrt1.y"}, range={0.0, 1.0, -1.0, 8.0}, grid=true, colors={{238,46,47}, {28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Subtract.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Subtract.mos new file mode 100644 index 0000000000..1327da28af --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Subtract.mos @@ -0,0 +1,2 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Reals.Validation.Subtract", method="Cvode", tolerance=1e-06, stopTime=1.0, resultFile="sub1"); +createPlot(id=1, position={15, 10, 590, 420}, y={"sub.u1", "sub.u2", "sub.y"}, range={0.0, 1.0, -3.5, 3.5}, grid=true, colors={{0,140,72}, {238,46,47}, {28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Switch.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Switch.mos new file mode 100644 index 0000000000..138dbf3c80 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Switch.mos @@ -0,0 +1,3 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Reals.Validation.Switch", stopTime=5.0, method="Cvode", tolerance=1e-06, resultFile="ConSwitch"); +createPlot(id=1, position={15, 10, 1000, 600}, subPlot=1, y={"switch1.u1","switch1.u2","switch1.u3"}, range={0.0, 5.0, -3.5, 3.5}, grid=true, colors={{238,46,47},{0,140,72},{28,108,200}}); +createPlot(id=1, position={15, 10, 1000, 600}, subPlot=2, y={"switch1.y"}, range={0.0, 5.0, -3.5, 3.5}, grid=true, colors={{28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Tan.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Tan.mos new file mode 100644 index 0000000000..d3ddb4e1cb --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Reals/Validation/Tan.mos @@ -0,0 +1,2 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Reals.Validation.Tan", method="Cvode", tolerance=1e-06, stopTime=1.0, resultFile="Tan1"); +createPlot(id=1, position={15, 10, 590, 420}, y={"tan1.u", "tan1.y"}, range={0.0, 1.0, -15, 15}, grid=true, colors={{238,46,47}, {28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Routing/Validation/BooleanExtractSignal.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Routing/Validation/BooleanExtractSignal.mos new file mode 100644 index 0000000000..1b486e16f8 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Routing/Validation/BooleanExtractSignal.mos @@ -0,0 +1,4 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Routing.Validation.BooleanExtractSignal", method="Cvode", tolerance=1e-6, stopTime=1.0, resultFile="BooleanExtractSignal"); +createPlot(id=1, position={15, 15, 704, 972}, y={"extBooSig.u[1]", "extBooSig.u[2]", "extBooSig.u[3]", "extBooSig.u[4]"}, range={0.0, 1.0, -0.1, 1.1}, grid=true, colors={{28,108,200}, {28,108,200}, {28,108,200}, {28,108,200}}, timeUnit="s"); +createPlot(id=2, position={729, 17, 658, 980}, y={"extBooSig.y[1]", "extBooSig.y[2]", "extBooSig.y[3]"}, range={0.0, 1.0, -0.1, 1.1}, grid=true, colors={{28,108,200}, {28,108,200}, {28,108,200}}, timeUnit="s"); +createPlot(id=3, position={1407, 17, 744, 982}, y={"extBooSig1.y[1]", "extBooSig1.y[2]", "extBooSig1.y[3]", "extBooSig1.y[4]", "extBooSig1.y[5]"}, range={0.0, 1.0, -0.1, 1.1}, grid=true, colors={{28,108,200}, {28,108,200}, {28,108,200}, {28,108,200}, {28,108,200}}, timeUnit="s"); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Routing/Validation/BooleanExtractor.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Routing/Validation/BooleanExtractor.mos new file mode 100644 index 0000000000..ad9839d4e3 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Routing/Validation/BooleanExtractor.mos @@ -0,0 +1,17 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Routing.Validation.BooleanExtractor", method="Cvode", tolerance=1e-6, stopTime=1.0, resultFile="BooleanExtractor"); + +createPlot(id=1, position={15, 15, 730, 1276}, y={"extIndBoo.u[1]"}, range={0.0, 1.0, -2.0, 2.0}, grid=true, subPlot=1, colors={{28,108,200}}, timeUnit="s"); +createPlot(id=1, position={15, 15, 730, 1276}, y={"extIndBoo.u[2]"}, range={0.0, 1.0, -0.5, 1.5}, grid=true, subPlot=2, colors={{28,108,200}}, timeUnit="s"); +createPlot(id=1, position={15, 15, 730, 1276}, y={"extIndBoo.u[3]"}, range={0.0, 1.0, -2.0, 2.0}, grid=true, subPlot=3, colors={{28,108,200}}, timeUnit="s"); +createPlot(id=1, position={15, 15, 730, 1276}, y={"extIndBoo.u[4]"}, range={0.0, 1.0, 3.0, 5.0}, grid=true, subPlot=4, colors={{28,108,200}}, timeUnit="s"); +createPlot(id=2, position={757, 15, 678, 400}, y={"extIndBoo.index"}, range={0.0, 1.0, 1.5, 2.5}, grid=true, subPlot=1, colors={{28,108,200}}, timeUnit="s"); +createPlot(id=2, position={757, 15, 678, 400}, y={"extIndBoo.y"}, range={0.0, 1.0, -1.0, 2.0}, grid=true, subPlot=2, colors={{28,108,200}}, timeUnit="s"); +createPlot(id=3, position={757, 449, 686, 406}, y={"extIndBoo1.index"}, range={0.0, 1.0, 5.0, 7.0}, grid=true, subPlot=1, colors={{28,108,200}}, timeUnit="s"); +createPlot(id=3, position={757, 449, 686, 406}, y={"extIndBoo1.y"}, range={0.0, 1.0, 3.5, 4.5}, grid=true, subPlot=2, colors={{28,108,200}}, timeUnit="s"); +createPlot(id=4, position={755, 897, 694, 394}, y={"extIndBoo2.index"}, range={0.0, 1.0, -2.0, 2.0}, grid=true, subPlot=1, colors={{28,108,200}}, timeUnit="s"); +createPlot(id=4, position={755, 897, 694, 394}, y={"extIndBoo2.y"}, range={0.0, 1.0, -2.0, 2.0}, grid=true, subPlot=2, colors={{28,108,200}}, timeUnit="s"); +createPlot(id=5, position={1455, 19, 832, 660}, y={"extIndBoo3.index"}, range={0.0, 1.0, -2.0, 3.0}, grid=true, subPlot=1, colors={{28,108,200}}, timeUnit="s"); +createPlot(id=5, position={1455, 19, 832, 660}, y={"extIndBoo3.y"}, range={0.0, 1.0, -0.5, 1.5}, grid=true, subPlot=2, colors={{28,108,200}}, timeUnit="s"); +createPlot(id=6, position={1459, 709, 830, 578}, y={"extIndBoo4.index"}, range={0.0, 1.0, -1.0, 4.0}, grid=true, subPlot=1, colors={{28,108,200}}, timeUnit="s"); +createPlot(id=6, position={1459, 709, 830, 578}, y={"extIndBoo4.y"}, range={0.0, 1.0, -2.0, 2.0}, grid=true, subPlot=2, colors={{28,108,200}}, timeUnit="s"); + diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Routing/Validation/BooleanScalarReplicator.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Routing/Validation/BooleanScalarReplicator.mos new file mode 100644 index 0000000000..98082d08dd --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Routing/Validation/BooleanScalarReplicator.mos @@ -0,0 +1,5 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Routing.Validation.BooleanScalarReplicator", method="Cvode", tolerance=1e-6, stopTime=1.0, resultFile="BooleanScalarReplicator"); +createPlot(id=1, position={15, 10, 500, 420}, y={"booRep.u"}, range={0.0, 1.0, -3.5, 3.5}, grid=true, colors={{28,108,200}}); +createPlot(id=2, position={530, 10, 500, 750}, subPlot=1, y={"booRep.y[1]"}, range={0.0, 1.0, -3.5, 3.5}, grid=true, colors={{28,108,200}}); +createPlot(id=2, position={530, 10, 500, 750}, subPlot=2, y={"booRep.y[2]"}, range={0.0, 1.0, -3.5, 3.5}, grid=true, colors={{28,108,200}}); +createPlot(id=2, position={530, 10, 500, 750}, subPlot=3, y={"booRep.y[3]"}, range={0.0, 1.0, -3.5, 3.5}, grid=true, colors={{28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Routing/Validation/BooleanVectorFilter.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Routing/Validation/BooleanVectorFilter.mos new file mode 100644 index 0000000000..acc52ac599 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Routing/Validation/BooleanVectorFilter.mos @@ -0,0 +1,3 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Routing.Validation.BooleanVectorFilter", method="Cvode", tolerance=1e-6, stopTime=1.0, resultFile="BooleanVectorFilter"); +createPlot(id=1, position={533, 39, 592, 372}, y={"booFil.u[1]", "booFil.u[2]", "booFil.u[3]"}, range={0.0, 1.0, -0.5, 1.5}, grid=true, colors={{28,108,200}, {28,108,200}, {28,108,200}}, timeUnit="s"); +createPlot(id=1, position={533, 39, 592, 372}, y={"booFil.y[1]", "booFil.y[2]"}, range={0.0, 1.0, -0.5, 1.5}, grid=true, subPlot=102, colors={{28,108,200}, {28,108,200}}, timeUnit="s"); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Routing/Validation/BooleanVectorReplicator.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Routing/Validation/BooleanVectorReplicator.mos new file mode 100644 index 0000000000..fe3e803d24 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Routing/Validation/BooleanVectorReplicator.mos @@ -0,0 +1,5 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Routing.Validation.BooleanVectorReplicator", method="Cvode", tolerance=1e-6, stopTime=1.0, resultFile="BooleanVectorReplicator"); +createPlot(id=1, position={15, 10, 500, 420}, y={"booRep.u[1]"}, range={0.0, 1.0, -3.5, 3.5}, grid=true, colors={{28,108,200}}); +createPlot(id=2, position={530, 10, 500, 750}, subPlot=1, y={"booRep.y[1, 1]"}, range={0.0, 1.0, -3.5, 3.5}, grid=true, colors={{28,108,200}}); +createPlot(id=2, position={530, 10, 500, 750}, subPlot=2, y={"booRep.y[2, 2]"}, range={0.0, 1.0, -3.5, 3.5}, grid=true, colors={{28,108,200}}); +createPlot(id=2, position={530, 10, 500, 750}, subPlot=3, y={"booRep.y[3, 2]"}, range={0.0, 1.0, -3.5, 3.5}, grid=true, colors={{28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Routing/Validation/IntegerExtractSignal.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Routing/Validation/IntegerExtractSignal.mos new file mode 100644 index 0000000000..2ec496a269 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Routing/Validation/IntegerExtractSignal.mos @@ -0,0 +1,14 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Routing.Validation.IntegerExtractSignal", method="Cvode", tolerance=1e-6, stopTime=1.0, resultFile="IntegerExtractSignal"); +createPlot(id=1, position={15, 15, 802, 1132}, y={"extIntSig.u[1]"}, range={0.0, 1.0, 0.8, 1.2}, grid=true, subPlot=1, colors={{28,108,200}}, timeUnit="s"); +createPlot(id=1, position={15, 15, 802, 1132}, y={"extIntSig.u[2]"}, range={0.0, 1.0, -0.5, 1.5}, grid=true, subPlot=2, colors={{28,108,200}}, timeUnit="s"); +createPlot(id=1, position={15, 15, 802, 1132}, y={"extIntSig.u[3]"}, range={0.0, 1.0, -2.0, 2.0}, grid=true, subPlot=3, colors={{28,108,200}}, timeUnit="s"); +createPlot(id=1, position={15, 15, 802, 1132}, y={"extIntSig.u[4]"}, range={0.0, 1.0, 3.5, 4.5}, grid=true, subPlot=4, colors={{28,108,200}}, timeUnit="s"); +createPlot(id=2, position={827, 17, 744, 1134}, y={"extIntSig.y[1]"}, range={0.0, 1.0, -1.5, 1.5}, grid=true, subPlot=1, colors={{28,108,200}}, timeUnit="s"); +createPlot(id=2, position={827, 17, 744, 1134}, y={"extIntSig.y[2]"}, range={0.0, 1.0, -0.5, 1.5}, grid=true, subPlot=2, colors={{28,108,200}}, timeUnit="s"); +createPlot(id=2, position={827, 17, 744, 1134}, y={"extIntSig.y[3]"}, range={0.0, 1.0, 3.4, 4.6}, grid=true, subPlot=3, colors={{28,108,200}}, timeUnit="s"); +createPlot(id=3, position={1583, 17, 710, 1132}, y={"extIntSig1.y[1]"}, range={0.0, 1.0, -2.0, 2.0}, grid=true, subPlot=1, colors={{28,108,200}}, timeUnit="s"); +createPlot(id=3, position={1583, 17, 710, 1132}, y={"extIntSig1.y[2]"}, range={0.0, 1.0, -1.0, 2.0}, grid=true, subPlot=2, colors={{28,108,200}}, timeUnit="s"); +createPlot(id=3, position={1583, 17, 710, 1132}, y={"extIntSig1.y[3]"}, range={0.0, 1.0, 3.5, 4.5}, grid=true, subPlot=3, colors={{28,108,200}}, timeUnit="s"); +createPlot(id=3, position={1583, 17, 710, 1132}, y={"extIntSig1.y[4]"}, range={0.0, 1.0, -1.0, 2.0}, grid=true, subPlot=4, colors={{28,108,200}}, timeUnit="s"); +createPlot(id=3, position={1583, 17, 710, 1132}, y={"extIntSig1.y[5]"}, range={0.0, 1.0, -2.0, 2.0}, grid=true, subPlot=5, colors={{28,108,200}}, timeUnit="s"); + diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Routing/Validation/IntegerExtractor.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Routing/Validation/IntegerExtractor.mos new file mode 100644 index 0000000000..1dc36c3099 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Routing/Validation/IntegerExtractor.mos @@ -0,0 +1,16 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Routing.Validation.IntegerExtractor", method="Cvode", tolerance=1e-6, stopTime=1.0, resultFile="IntegerExtractor"); +createPlot(id=1, position={15, 15, 730, 1276}, y={"extIndInt.u[1]"}, range={0.0, 1.0, -2.0, 2.0}, grid=true, subPlot=1, colors={{28,108,200}}, timeUnit="s"); +createPlot(id=1, position={15, 15, 730, 1276}, y={"extIndInt.u[2]"}, range={0.0, 1.0, -0.5, 1.5}, grid=true, subPlot=2, colors={{28,108,200}}, timeUnit="s"); +createPlot(id=1, position={15, 15, 730, 1276}, y={"extIndInt.u[3]"}, range={0.0, 1.0, -2.0, 2.0}, grid=true, subPlot=3, colors={{28,108,200}}, timeUnit="s"); +createPlot(id=1, position={15, 15, 730, 1276}, y={"extIndInt.u[4]"}, range={0.0, 1.0, 3.0, 5.0}, grid=true, subPlot=4, colors={{28,108,200}}, timeUnit="s"); +createPlot(id=2, position={757, 15, 678, 400}, y={"extIndInt.index"}, range={0.0, 1.0, 1.5, 2.5}, grid=true, subPlot=1, colors={{28,108,200}}, timeUnit="s"); +createPlot(id=2, position={757, 15, 678, 400}, y={"extIndInt.y"}, range={0.0, 1.0, -1.0, 2.0}, grid=true, subPlot=2, colors={{28,108,200}}, timeUnit="s"); +createPlot(id=3, position={757, 449, 686, 406}, y={"extIndInt1.index"}, range={0.0, 1.0, 5.0, 7.0}, grid=true, subPlot=1, colors={{28,108,200}}, timeUnit="s"); +createPlot(id=3, position={757, 449, 686, 406}, y={"extIndInt1.y"}, range={0.0, 1.0, 3.5, 4.5}, grid=true, subPlot=2, colors={{28,108,200}}, timeUnit="s"); +createPlot(id=4, position={755, 897, 694, 394}, y={"extIndInt2.index"}, range={0.0, 1.0, -2.0, 2.0}, grid=true, subPlot=1, colors={{28,108,200}}, timeUnit="s"); +createPlot(id=4, position={755, 897, 694, 394}, y={"extIndInt2.y"}, range={0.0, 1.0, -2.0, 2.0}, grid=true, subPlot=2, colors={{28,108,200}}, timeUnit="s"); +createPlot(id=5, position={1455, 19, 832, 660}, y={"extIndInt3.index"}, range={0.0, 1.0, -2.0, 3.0}, grid=true, subPlot=1, colors={{28,108,200}}, timeUnit="s"); +createPlot(id=5, position={1455, 19, 832, 660}, y={"extIndInt3.y"}, range={0.0, 1.0, -0.5, 1.5}, grid=true, subPlot=2, colors={{28,108,200}}, timeUnit="s"); +createPlot(id=6, position={1459, 709, 830, 578}, y={"extIndInt4.index"}, range={0.0, 1.0, -1.0, 4.0}, grid=true, subPlot=1, colors={{28,108,200}}, timeUnit="s"); +createPlot(id=6, position={1459, 709, 830, 578}, y={"extIndInt4.y"}, range={0.0, 1.0, -2.0, 2.0}, grid=true, subPlot=2, colors={{28,108,200}}, timeUnit="s"); + diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Routing/Validation/IntegerScalarReplicator.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Routing/Validation/IntegerScalarReplicator.mos new file mode 100644 index 0000000000..9de9fefbad --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Routing/Validation/IntegerScalarReplicator.mos @@ -0,0 +1,6 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Routing.Validation.IntegerScalarReplicator", method="Cvode", tolerance=1e-6, stopTime=1.0, resultFile="IntegerScalarReplicator"); +createPlot(id=1, position={15, 10, 500, 750}, subPlot=1, y={"ram.y"}, range={0.0, 1.0, -3.5, 3.5}, grid=true, colors={{28,108,200}}); +createPlot(id=1, position={15, 10, 500, 750}, subPlot=2, y={"reaToInt.y"}, range={0.0, 1.0, -3.5, 3.5}, grid=true, colors={{28,108,200}}); +createPlot(id=2, position={530, 10, 500, 750}, subPlot=1, y={"intRep.y[1]"}, range={0.0, 1.0, -3.5, 3.5}, grid=true, colors={{28,108,200}}); +createPlot(id=2, position={530, 10, 500, 750}, subPlot=2, y={"intRep.y[2]"}, range={0.0, 1.0, -3.5, 3.5}, grid=true, colors={{28,108,200}}); +createPlot(id=2, position={530, 10, 500, 750}, subPlot=3, y={"intRep.y[3]"}, range={0.0, 1.0, -3.5, 3.5}, grid=true, colors={{28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Routing/Validation/IntegerVectorFilter.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Routing/Validation/IntegerVectorFilter.mos new file mode 100644 index 0000000000..9070f44105 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Routing/Validation/IntegerVectorFilter.mos @@ -0,0 +1,3 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Routing.Validation.IntegerVectorFilter", method="Cvode", tolerance=1e-6, stopTime=1.0, resultFile="IntegerVectorFilter"); +createPlot(id=1, position={144, 30, 592, 372}, y={"intFil.u[1]", "intFil.u[2]", "intFil.u[3]"}, range={0.0, 1.0, 0.0, 4.0}, grid=true, colors={{28,108,200}, {28,108,200}, {28,108,200}}, timeUnit="s"); +createPlot(id=1, position={144, 30, 592, 372}, y={"intFil.y[1]", "intFil.y[2]"}, range={0.0, 1.0, 0.0, 4.0}, grid=true, subPlot=102, colors={{28,108,200}, {28,108,200}}, timeUnit="s"); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Routing/Validation/IntegerVectorReplicator.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Routing/Validation/IntegerVectorReplicator.mos new file mode 100644 index 0000000000..ce3d08d903 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Routing/Validation/IntegerVectorReplicator.mos @@ -0,0 +1,6 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Routing.Validation.IntegerVectorReplicator", method="Cvode", tolerance=1e-6, stopTime=1.0, resultFile="IntegerVectorReplicator"); +createPlot(id=1, position={15, 10, 500, 750}, subPlot=1, y={"ram[1].y"}, range={0.0, 1.0, -3.5, 3.5}, grid=true, colors={{28,108,200}}); +createPlot(id=1, position={15, 10, 500, 750}, subPlot=2, y={"reaToInt[1].y"}, range={0.0, 1.0, -3.5, 3.5}, grid=true, colors={{28,108,200}}); +createPlot(id=2, position={530, 10, 500, 750}, subPlot=1, y={"intRep.y[1, 1]"}, range={0.0, 1.0, -3.5, 3.5}, grid=true, colors={{28,108,200}}); +createPlot(id=2, position={530, 10, 500, 750}, subPlot=2, y={"intRep.y[2, 2]"}, range={0.0, 1.0, -3.5, 3.5}, grid=true, colors={{28,108,200}}); +createPlot(id=2, position={530, 10, 500, 750}, subPlot=3, y={"intRep.y[3, 2]"}, range={0.0, 1.0, -3.5, 3.5}, grid=true, colors={{28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Routing/Validation/RealExtractSignal.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Routing/Validation/RealExtractSignal.mos new file mode 100644 index 0000000000..f5c9022353 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Routing/Validation/RealExtractSignal.mos @@ -0,0 +1,16 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Routing.Validation.RealExtractSignal", method="Cvode", tolerance=1e-6, stopTime=1.0, resultFile="ExtractSignal1"); +createPlot(id=1, position={15, 10, 592, 1106}, y={"extSig.u[1]"}, range={0.0, 1.0, -5.0, 5.0}, grid=true, subPlot=1, colors={{28,108,200}}, timeUnit="s"); +createPlot(id=1, position={15, 10, 592, 1106}, y={"extSig.u[2]"}, range={0.0, 1.0, -1.0, 1.0}, grid=true, subPlot=2, colors={{28,108,200}}, timeUnit="s"); +createPlot(id=1, position={15, 10, 592, 1106}, y={"extSig.u[3]"}, range={0.0, 1.0, -2.0, 2.0}, grid=true, subPlot=3, colors={{28,108,200}}, timeUnit="s"); +createPlot(id=1, position={15, 10, 592, 1106}, y={"extSig.u[4]"}, range={0.0, 1.0, -5.0, 5.0}, grid=true, subPlot=4, colors={{28,108,200}}, timeUnit="s"); +createPlot(id=1, position={15, 10, 592, 1106}, y={"extSig.u[5]"}, range={0.0, 1.0, -5.0, 5.0}, grid=true, subPlot=5, colors={{28,108,200}}, timeUnit="s"); +createPlot(id=2, position={622, 12, 574, 1106}, y={"extSig.y[1]"}, range={0.0, 1.0, -4.0, 4.0}, grid=true, subPlot=1, colors={{28,108,200}}, timeUnit="s"); +createPlot(id=2, position={622, 12, 574, 1106}, y={"extSig.y[2]"}, range={0.0, 1.0, -0.2, 0.6}, grid=true, subPlot=2, colors={{28,108,200}}, timeUnit="s"); +createPlot(id=2, position={622, 12, 574, 1106}, y={"extSig.y[3]"}, range={0.0, 1.0, -3.0, 2.0}, grid=true, subPlot=3, colors={{28,108,200}}, timeUnit="s"); +createPlot(id=3, position={1207, 13, 660, 1104}, y={"extSig1.y[1]"}, range={0.0, 1.0, -5.0, 5.0}, grid=true, subPlot=1, colors={{28,108,200}}, timeUnit="s"); +createPlot(id=3, position={1207, 13, 660, 1104}, y={"extSig1.y[2]"}, range={0.0, 1.0, -0.5, 1.0}, grid=true, subPlot=2, colors={{28,108,200}}, timeUnit="s"); +createPlot(id=3, position={1207, 13, 660, 1104}, y={"extSig1.y[3]"}, range={0.0, 1.0, -5.0, 5.0}, grid=true, subPlot=3, colors={{28,108,200}}, timeUnit="s"); +createPlot(id=3, position={1207, 13, 660, 1104}, y={"extSig1.y[4]"}, range={0.0, 1.0, -2.0, 2.0}, grid=true, subPlot=4, colors={{28,108,200}}, timeUnit="s"); +createPlot(id=3, position={1207, 13, 660, 1104}, y={"extSig1.y[5]"}, range={0.0, 1.0, -5.0, 5.0}, grid=true, subPlot=5, colors={{28,108,200}}, timeUnit="s"); +createPlot(id=3, position={1207, 13, 660, 1104}, y={"extSig1.y[6]"}, range={0.0, 1.0, -1.0, 1.0}, grid=true, subPlot=6, colors={{28,108,200}}, timeUnit="s"); + diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Routing/Validation/RealExtractor.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Routing/Validation/RealExtractor.mos new file mode 100644 index 0000000000..a76f4cbe0c --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Routing/Validation/RealExtractor.mos @@ -0,0 +1,16 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Routing.Validation.RealExtractor", method="Cvode", tolerance=1e-6, stopTime=1.0, resultFile="ExtractIndSignal"); +createPlot(id=1, position={15, 15, 730, 1276}, y={"extIndSig.u[1]"}, range={0.0, 1.0, -2.0, 2.0}, grid=true, subPlot=1, colors={{28,108,200}}, timeUnit="s"); +createPlot(id=1, position={15, 15, 730, 1276}, y={"extIndSig.u[2]"}, range={0.0, 1.0, -0.5, 1.5}, grid=true, subPlot=2, colors={{28,108,200}}, timeUnit="s"); +createPlot(id=1, position={15, 15, 730, 1276}, y={"extIndSig.u[3]"}, range={0.0, 1.0, -2.0, 2.0}, grid=true, subPlot=3, colors={{28,108,200}}, timeUnit="s"); +createPlot(id=1, position={15, 15, 730, 1276}, y={"extIndSig.u[4]"}, range={0.0, 1.0, 3.0, 5.0}, grid=true, subPlot=4, colors={{28,108,200}}, timeUnit="s"); +createPlot(id=2, position={757, 15, 678, 400}, y={"extIndSig.index"}, range={0.0, 1.0, 1.5, 2.5}, grid=true, subPlot=1, colors={{28,108,200}}, timeUnit="s"); +createPlot(id=2, position={757, 15, 678, 400}, y={"extIndSig.y"}, range={0.0, 1.0, -1.0, 2.0}, grid=true, subPlot=2, colors={{28,108,200}}, timeUnit="s"); +createPlot(id=3, position={757, 449, 686, 406}, y={"extIndSig1.index"}, range={0.0, 1.0, 5.0, 7.0}, grid=true, subPlot=1, colors={{28,108,200}}, timeUnit="s"); +createPlot(id=3, position={757, 449, 686, 406}, y={"extIndSig1.y"}, range={0.0, 1.0, 3.5, 4.5}, grid=true, subPlot=2, colors={{28,108,200}}, timeUnit="s"); +createPlot(id=4, position={755, 897, 694, 394}, y={"extIndSig2.index"}, range={0.0, 1.0, -2.0, 2.0}, grid=true, subPlot=1, colors={{28,108,200}}, timeUnit="s"); +createPlot(id=4, position={755, 897, 694, 394}, y={"extIndSig2.y"}, range={0.0, 1.0, -2.0, 2.0}, grid=true, subPlot=2, colors={{28,108,200}}, timeUnit="s"); +createPlot(id=5, position={1455, 19, 832, 660}, y={"extIndSig3.index"}, range={0.0, 1.0, -2.0, 3.0}, grid=true, subPlot=1, colors={{28,108,200}}, timeUnit="s"); +createPlot(id=5, position={1455, 19, 832, 660}, y={"extIndSig3.y"}, range={0.0, 1.0, -0.5, 1.5}, grid=true, subPlot=2, colors={{28,108,200}}, timeUnit="s"); +createPlot(id=6, position={1459, 709, 830, 578}, y={"extIndSig4.index"}, range={0.0, 1.0, -1.0, 4.0}, grid=true, subPlot=1, colors={{28,108,200}}, timeUnit="s"); +createPlot(id=6, position={1459, 709, 830, 578}, y={"extIndSig4.y"}, range={0.0, 1.0, -2.0, 2.0}, grid=true, subPlot=2, colors={{28,108,200}}, timeUnit="s"); + diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Routing/Validation/RealScalarReplicator.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Routing/Validation/RealScalarReplicator.mos new file mode 100644 index 0000000000..3f4f56eb09 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Routing/Validation/RealScalarReplicator.mos @@ -0,0 +1,5 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Routing.Validation.RealScalarReplicator", method="Cvode", tolerance=1e-6, stopTime=1.0, resultFile="RealScalarReplicator"); +createPlot(id=1, position={15, 10, 500, 420}, y={"reaRep.u"}, range={0.0, 1.0, -3.5, 3.5}, grid=true, colors={{28,108,200}}); +createPlot(id=2, position={530, 10, 500, 750}, subPlot=1, y={"reaRep.y[1]"}, range={0.0, 1.0, -3.5, 3.5}, grid=true, colors={{28,108,200}}); +createPlot(id=2, position={530, 10, 500, 750}, subPlot=2, y={"reaRep.y[2]"}, range={0.0, 1.0, -3.5, 3.5}, grid=true, colors={{28,108,200}}); +createPlot(id=2, position={530, 10, 500, 750}, subPlot=3, y={"reaRep.y[3]"}, range={0.0, 1.0, -3.5, 3.5}, grid=true, colors={{28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Routing/Validation/RealVectorFilter.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Routing/Validation/RealVectorFilter.mos new file mode 100644 index 0000000000..cc4c72e85e --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Routing/Validation/RealVectorFilter.mos @@ -0,0 +1,3 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Routing.Validation.RealVectorFilter", method="Cvode", tolerance=1e-6, stopTime=1.0, resultFile="RealVectorFilter"); +createPlot(id=1, position={35, 35, 592, 372}, y={"reaFil.u[1]", "reaFil.u[2]", "reaFil.u[3]"}, range={0.0, 1.0, 0.0, 4.0}, grid=true, colors={{28,108,200}, {238,46,47}, {0,140,72}}, timeUnit="s"); +createPlot(id=1, position={35, 35, 592, 372}, y={"reaFil.y[1]", "reaFil.y[2]"}, range={0.0, 1.0, 0.0, 4.0}, grid=true, subPlot=102, colors={{28,108,200}, {238,46,47}}, timeUnit="s"); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Routing/Validation/RealVectorReplicator.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Routing/Validation/RealVectorReplicator.mos new file mode 100644 index 0000000000..83416d24b1 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Routing/Validation/RealVectorReplicator.mos @@ -0,0 +1,5 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Routing.Validation.RealVectorReplicator", method="Cvode", tolerance=1e-6, stopTime=1.0, resultFile="RealVectorReplicator"); +createPlot(id=1, position={15, 10, 500, 420}, y={"reaRep.u[1]"}, range={0.0, 1.0, -3.5, 3.5}, grid=true, colors={{28,108,200}}); +createPlot(id=2, position={530, 10, 500, 750}, subPlot=1, y={"reaRep.y[1, 1]"}, range={0.0, 1.0, -3.5, 3.5}, grid=true, colors={{28,108,200}}); +createPlot(id=2, position={530, 10, 500, 750}, subPlot=2, y={"reaRep.y[2, 2]"}, range={0.0, 1.0, -3.5, 3.5}, grid=true, colors={{28,108,200}}); +createPlot(id=2, position={530, 10, 500, 750}, subPlot=3, y={"reaRep.y[3, 2]"}, range={0.0, 1.0, -3.5, 3.5}, grid=true, colors={{28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Utilities/Validation/Assert.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Utilities/Validation/Assert.mos new file mode 100644 index 0000000000..3b1bbdd00c --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Utilities/Validation/Assert.mos @@ -0,0 +1,2 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Utilities.Validation.Assert", method="Cvode", tolerance=1e-06, stopTime=1.0, resultFile="Assert"); +createPlot(id=1, position={15, 10, 590, 420}, y={"assert.u"}, range={0.0, 1.0, -2.5, 3.5}, grid=true, colors={{0,140,72}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Utilities/Validation/SunRiseSet.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Utilities/Validation/SunRiseSet.mos new file mode 100644 index 0000000000..73ddb8e31b --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Utilities/Validation/SunRiseSet.mos @@ -0,0 +1,14 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Utilities.Validation.SunRiseSet", + method="CVode", tolerance=1e-06, stopTime=3.1536e+007, numberOfIntervals=5000, resultFile="SunRiseSet"); +createPlot(id=1, + position={15, 10, 590, 600}, subPlot=1, y={"sunRiseSetArctic.nextSunRise", "sunRiseSetArctic.nextSunSet","sunRiseSetArctic.sunUp"}, + range={0.0, 370, -2, 24}, grid=true, colors={{0,140,72}, {238,46,47}, {28,108,200}}); +createPlot(id=1, + position={15, 10, 590, 600}, subPlot=2, y={"sunRiseSetSf.nextSunRise", "sunRiseSetSf.nextSunSet","sunRiseSetSf.sunUp"}, + range={0.0, 370, -2, 24}, grid=true, colors={{0,140,72}, {238,46,47}, {28,108,200}}); +createPlot(id=1, + position={15, 10, 590, 600}, subPlot=3, y={"sunRiseSetAntarctic.nextSunRise", "sunRiseSetAntarctic.nextSunSet","sunRiseSetAntarctic.sunUp"}, + range={0.0, 370, -2, 24}, grid=true, colors={{0,140,72}, {238,46,47}, {28,108,200}}); +createPlot(id=1, + position={15, 10, 590, 600}, subPlot=4, y={"sunRiseSetSyd.nextSunRise", "sunRiseSetSyd.nextSunSet","sunRiseSetSyd.sunUp"}, + range={0.0, 370, -2, 24}, grid=true, colors={{0,140,72}, {238,46,47}, {28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Utilities/Validation/SunRiseSetNegativeStartTime.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Utilities/Validation/SunRiseSetNegativeStartTime.mos new file mode 100644 index 0000000000..353ad15e11 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Utilities/Validation/SunRiseSetNegativeStartTime.mos @@ -0,0 +1,14 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Utilities.Validation.SunRiseSetNegativeStartTime", + method="dassl", tolerance=1e-06, startTime = -43200, stopTime=259200, numberOfIntervals=500, resultFile="SunRiseSetNegativeStartTime"); +createPlot(id=1, + position={15, 10, 590, 600}, subPlot=1, y={"sunRiseSetArctic.nextSunRise", "sunRiseSetArctic.nextSunSet","sunRiseSetArctic.sunUp"}, + range={0.0, 370, -2, 24}, grid=true, colors={{0,140,72}, {238,46,47}, {28,108,200}}); +createPlot(id=1, + position={15, 10, 590, 600}, subPlot=2, y={"sunRiseSetSf.nextSunRise", "sunRiseSetSf.nextSunSet","sunRiseSetSf.sunUp"}, + range={0.0, 370, -2, 24}, grid=true, colors={{0,140,72}, {238,46,47}, {28,108,200}}); +createPlot(id=1, + position={15, 10, 590, 600}, subPlot=3, y={"sunRiseSetAntarctic.nextSunRise", "sunRiseSetAntarctic.nextSunSet","sunRiseSetAntarctic.sunUp"}, + range={0.0, 370, -2, 24}, grid=true, colors={{0,140,72}, {238,46,47}, {28,108,200}}); +createPlot(id=1, + position={15, 10, 590, 600}, subPlot=4, y={"sunRiseSetSyd.nextSunRise", "sunRiseSetSyd.nextSunSet","sunRiseSetSyd.sunUp"}, + range={0.0, 370, -2, 24}, grid=true, colors={{0,140,72}, {238,46,47}, {28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Utilities/Validation/SunRiseSetPositiveStartTime.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Utilities/Validation/SunRiseSetPositiveStartTime.mos new file mode 100644 index 0000000000..673ead9163 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/CDL/Utilities/Validation/SunRiseSetPositiveStartTime.mos @@ -0,0 +1,14 @@ +simulateModel("IBPSA.Controls.OBC.CDL.Utilities.Validation.SunRiseSetPositiveStartTime", + method="dassl", tolerance=1e-06, startTime = 43200, stopTime=345600, numberOfIntervals=500, resultFile="SunRiseSetPositiveStartTime"); +createPlot(id=1, + position={15, 10, 590, 600}, subPlot=1, y={"sunRiseSetArctic.nextSunRise", "sunRiseSetArctic.nextSunSet","sunRiseSetArctic.sunUp"}, + range={0.0, 370, -2, 24}, grid=true, colors={{0,140,72}, {238,46,47}, {28,108,200}}); +createPlot(id=1, + position={15, 10, 590, 600}, subPlot=2, y={"sunRiseSetSf.nextSunRise", "sunRiseSetSf.nextSunSet","sunRiseSetSf.sunUp"}, + range={0.0, 370, -2, 24}, grid=true, colors={{0,140,72}, {238,46,47}, {28,108,200}}); +createPlot(id=1, + position={15, 10, 590, 600}, subPlot=3, y={"sunRiseSetAntarctic.nextSunRise", "sunRiseSetAntarctic.nextSunSet","sunRiseSetAntarctic.sunUp"}, + range={0.0, 370, -2, 24}, grid=true, colors={{0,140,72}, {238,46,47}, {28,108,200}}); +createPlot(id=1, + position={15, 10, 590, 600}, subPlot=4, y={"sunRiseSetSyd.nextSunRise", "sunRiseSetSyd.nextSunSet","sunRiseSetSyd.sunUp"}, + range={0.0, 370, -2, 24}, grid=true, colors={{0,140,72}, {238,46,47}, {28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/Utilities/SetPoints/Validation/SupplyReturnTemperatureReset.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/Utilities/SetPoints/Validation/SupplyReturnTemperatureReset.mos new file mode 100644 index 0000000000..85f9b01aac --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/Utilities/SetPoints/Validation/SupplyReturnTemperatureReset.mos @@ -0,0 +1,3 @@ +simulateModel("IBPSA.Controls.OBC.Utilities.SetPoints.Validation.SupplyReturnTemperatureReset", method="Cvode", tolerance=1e-6, stopTime=1.0, resultFile="SupplyReturnTemperatureReset1"); +createPlot(id = 1, position = {35, 20, 789, 637}, x = "heaCur.TOut", y = {"heaCur.TSup", "heaCur.TRet", "heaCur.TOut"}, range = {262.0, 304.0, 70.0, (-20.0)}, autoscale = true, autoerase = true, autoreplot = true, grid = true, color = true, leftTitleType = 1, bottomTitleType = 1); +createPlot(id = 1, position = {35, 20, 789, 316}, x = "heaCur.TOut", y = {"heaCur1.TSetZon", "heaCur1.TSup", "heaCur1.TRet"}, range = {262.0, 304.0, 70.0, 10.0}, autoscale = true, autoerase = true, autoreplot = true, grid = true, color = true, subPlot = 2, leftTitleType = 1, bottomTitleType = 1); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/Utilities/SetPoints/Validation/SupplyReturnTemperatureResetExponent.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/Utilities/SetPoints/Validation/SupplyReturnTemperatureResetExponent.mos new file mode 100644 index 0000000000..33af396a5d --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/Utilities/SetPoints/Validation/SupplyReturnTemperatureResetExponent.mos @@ -0,0 +1,2 @@ +simulateModel("IBPSA.Controls.OBC.Utilities.SetPoints.Validation.SupplyReturnTemperatureResetExponent", method="Cvode", tolerance=1e-6, stopTime=1.0, resultFile="SupplyReturnTemperatureResetExponent"); +createPlot(id=1, position={119, 70, 789, 637}, x="heaCur.TOut", y={"heaCur.TSup", "heaCur.TRet", "heaCurM.TSup", "heaCurM.TRet"}, range={-10.0, 20.0, 18.0, 42.0}, grid=true, colors={{28,108,200}, {238,46,47}, {217,67,180}, {0,0,0}}, timeUnit="degC", displayUnits={"degC", "degC", "degC", "degC"}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/Utilities/Validation/OptimalStartCoolingNegativeStartTime.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/Utilities/Validation/OptimalStartCoolingNegativeStartTime.mos new file mode 100644 index 0000000000..32183621bc --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/Utilities/Validation/OptimalStartCoolingNegativeStartTime.mos @@ -0,0 +1,4 @@ +simulateModel("IBPSA.Controls.OBC.Utilities.Validation.OptimalStartCoolingNegativeStartTime", method="Cvode", startTime=-660000,stopTime=0, tolerance=1e-07, resultFile="OptimalStartCoolingNegativeStartTime"); +createPlot(id=1, position={10, 9, 1161, 1054}, subPlot=1, y={"optStaCoo.tOpt"}, range={-691200.0, 0.0, 0, 20000.0}, grid=true, colors={{28,108,200}}); +createPlot(id=1, position={10, 9, 1161, 346}, subPlot=2, y={"TSetCoo.y", "optStaCoo.TZon"}, range={-691200.0, 0.0, 16, 24}, grid=true, colors={{238,46,47}, {0,140,72}}); +createPlot(id=1, position={10, 9, 1161, 346}, subPlot=3, y={"optStaCoo.optOn"}, range={-691200.0, 0.0, 0, 20000.0}, grid=true, colors={{28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/Utilities/Validation/OptimalStartCoolingPositiveStartTime.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/Utilities/Validation/OptimalStartCoolingPositiveStartTime.mos new file mode 100644 index 0000000000..793946087e --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/Utilities/Validation/OptimalStartCoolingPositiveStartTime.mos @@ -0,0 +1,4 @@ +simulateModel("IBPSA.Controls.OBC.Utilities.Validation.OptimalStartCoolingPositiveStartTime", method="Cvode", startTime=34000,stopTime=864000, tolerance=1e-07, resultFile="OptimalStartCoolingPositiveStartTime"); +createPlot(id=1, position={10, 9, 1161, 1054}, subPlot=1, y={"optStaCoo.tOpt"}, range={34000.0, 604800.0, 0, 20000.0}, grid=true, colors={{28,108,200}}); +createPlot(id=1, position={10, 9, 1161, 346}, subPlot=2, y={"TSetCoo.y", "optStaCoo.TZon"}, range={34000.0, 604800.0, 16, 24}, grid=true, colors={{238,46,47}, {0,140,72}}); +createPlot(id=1, position={10, 9, 1161, 346}, subPlot=3, y={"optStaCoo.optOn"}, range={34000.0, 604800.0, 0, 20000.0}, grid=true, colors={{28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/Utilities/Validation/OptimalStartHeating.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/Utilities/Validation/OptimalStartHeating.mos new file mode 100644 index 0000000000..6438409465 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/Utilities/Validation/OptimalStartHeating.mos @@ -0,0 +1,4 @@ +simulateModel("IBPSA.Controls.OBC.Utilities.Validation.OptimalStartHeating", method="Cvode", startTime=-172800, stopTime=604800, tolerance=1e-07, resultFile="OptimalStartHeating"); +createPlot(id=1, position={10, 9, 1161, 1054}, subPlot=1, y={"optStaHea.tOpt"}, range={-172800.0, 604800.0, 0, 20000.0}, grid=true, colors={{28,108,200}}); +createPlot(id=1, position={10, 9, 1161, 346}, subPlot=2, y={"TSetHea.y", "optStaHea.TZon"}, range={-172800.0, 604800.0, 16, 24}, grid=true, colors={{238,46,47}, {0,140,72}}); +createPlot(id=1, position={10, 9, 1161, 346}, subPlot=3, y={"optStaHea.optOn"}, range={-172800.0, 604800.0, 0, 20000.0}, grid=true, colors={{28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/Utilities/Validation/OptimalStartHeatingCooling.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/Utilities/Validation/OptimalStartHeatingCooling.mos new file mode 100644 index 0000000000..b724c606bd --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/Utilities/Validation/OptimalStartHeatingCooling.mos @@ -0,0 +1,6 @@ +simulateModel("IBPSA.Controls.OBC.Utilities.Validation.OptimalStartHeatingCooling", method="Cvode", stopTime=2419200, tolerance=1e-06, resultFile="OptimalStartHeatingCooling"); +createPlot(id=1, position={2, 1, 859, 713}, subPlot=1, y={"optSta.tOpt"}, range={0.0, 604800.0, 0, 20000.0}, grid=true, colors={{28,108,200}}); +createPlot(id=1, position={2, 1, 859, 352}, subPlot=2, y={"optSta.optCoo.tOpt","optSta.optHea.tOpt"}, range={0.0, 604800.0, 16, 24}, grid=true, colors={{238,46,47}, {0,140,72}}); +createPlot(id=2, position={876, 5, 857, 710}, subPlot=1, y={"optSta.optOn"}, range={0.0, 604800.0, 0, 20000.0}, grid=true, colors={{28,108,200}}); +createPlot(id=2, position={876, 5, 857, 351}, subPlot=2, y={"optSta.optCoo.optOn","optSta.optHea.optOn"}, range={0.0, 604800.0, 0, 20000.0}, grid=true, colors={{238,46,47}, {0,140,72}}); +createPlot(id=3, position={1748, 7, 959, 708}, subPlot=1, y={"TSetHea.y","TSetCoo.y","optSta.TZon"}, range={0.0, 604800.0, 16, 24}, grid=true, colors={{238,46,47},{0,140,72},{28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/Utilities/Validation/OptimalStartNoHeatingNoCooling.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/Utilities/Validation/OptimalStartNoHeatingNoCooling.mos new file mode 100644 index 0000000000..3538b2ba9f --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/Utilities/Validation/OptimalStartNoHeatingNoCooling.mos @@ -0,0 +1,4 @@ +simulateModel("IBPSA.Controls.OBC.Utilities.Validation.OptimalStartNoHeatingNoCooling", stopTime=2419200, method="Cvode", tolerance=1e-06, resultFile="OptimalStartNoHeatingNoCooling"); +createPlot(id=1, position={10, 9, 1161, 1054},subPlot=1, y={"optSta.tOpt"}, range={0.0, 28.0, -1.5, 1.5}, grid=true, colors={{28,108,200}}); +createPlot(id=1, position={10, 9, 1161, 346},subPlot=2, y={"optSta.optOn"}, range={0.0, 2500000.0, -1.5, 1.5}, grid=true, colors={{28,108,200}}); +createPlot(id=1, position={10, 9, 1161, 346},subPlot=3, y={"TSetHea.y","TSetCoo.y","optSta.TZon"}, range={0.0, 2500000.0, 10.0, 35.0}, grid=true, colors={{238,46,47},{0,140,72},{28,108,200}}); diff --git a/IBPSA/Resources/Scripts/Dymola/Controls/OBC/Utilities/Validation/PIDWithInputGains.mos b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/Utilities/Validation/PIDWithInputGains.mos new file mode 100644 index 0000000000..301891fb65 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Controls/OBC/Utilities/Validation/PIDWithInputGains.mos @@ -0,0 +1,6 @@ +simulateModel("IBPSA.Controls.OBC.Utilities.Validation.PIDWithInputGains", method="Cvode", tolerance=1e-06, stopTime=1.0, resultFile="PIDWithInputGains"); +createPlot(id=1, position={15, 15, 800, 600}, y={"PID.k", "PIDWitInpGai.k"}, range={0.0, 1.0, 0.9, 1.3}, grid=true, subPlot=101, colors={{28,108,200}, {238,46,47}}); +createPlot(id=1, position={15, 15, 800, 600}, y={"PID.Ti", "PIDWitInpGai.Ti"}, range={0.0, 1.0, 0.4, 0.8}, grid=true, subPlot=102, colors={{28,108,200}, {238,46,47}}); +createPlot(id=1, position={15, 15, 800, 600}, y={"PID.Td", "PIDWitInpGai.Td"}, range={0.0, 1.0, 0.05, 0.25}, grid=true, subPlot=103, colors={{28,108,200}, {238,46,47}}); +createPlot(id=1, position={15, 15, 800, 600}, y={"PID.y", "PIDWitInpGai.y"}, range={0.0, 1.0, -0.5, 1.5}, grid=true, subPlot=104, colors={{28,108,200}, {238,46,47}}); + diff --git a/IBPSA/Resources/Scripts/Dymola/Utilities/Math/Functions/Examples/Round.mos b/IBPSA/Resources/Scripts/Dymola/Utilities/Math/Functions/Examples/Round.mos new file mode 100644 index 0000000000..b378d70167 --- /dev/null +++ b/IBPSA/Resources/Scripts/Dymola/Utilities/Math/Functions/Examples/Round.mos @@ -0,0 +1,2 @@ +simulateModel("IBPSA.Utilities.Math.Functions.Examples.Round", startTime=-2, stopTime=2, method="Cvode", tolerance=1e-06, resultFile="Round"); +createPlot(id=1, position={35, 35, 1536, 906}, y={"ym2", "ym1", "y", "y1", "y2"}, range={-2.0, 2.0, -2.5, 2.5}, grid=true, colors={{28,108,200}, {238,46,47}, {0,140,72}, {217,67,180}, {0,0,0}}); diff --git a/IBPSA/Utilities/Math/Functions/Examples/Round.mo b/IBPSA/Utilities/Math/Functions/Examples/Round.mo new file mode 100644 index 0000000000..3b860d0d87 --- /dev/null +++ b/IBPSA/Utilities/Math/Functions/Examples/Round.mo @@ -0,0 +1,35 @@ +within IBPSA.Utilities.Math.Functions.Examples; +model Round "Example for round function" + extends Modelica.Icons.Example; + Real ym2 "Function value"; + Real ym1 "Function value"; + Real y "Function value"; + Real y1 "Function value"; + Real y2 "Function value"; +equation + ym2=IBPSA.Utilities.Math.Functions.round(x=time*100, n=-2)/100; + ym1=IBPSA.Utilities.Math.Functions.round(x=time*10, n=-1)/10; + y=IBPSA.Utilities.Math.Functions.round(x=time, n=0); + y1=IBPSA.Utilities.Math.Functions.round(x=time/10, n=1)*10; + y2=IBPSA.Utilities.Math.Functions.round(x=time/100, n=2)*100; + annotation(experiment(StartTime=-2,Tolerance=1e-6, StopTime=2.0), +__Dymola_Commands(file="modelica://IBPSA/Resources/Scripts/Dymola/Utilities/Math/Functions/Examples/Round.mos" + "Simulate and plot"), +Documentation(info=" +

+This example tests the implementation of + +IBPSA.Utilities.Math.Functions.round +for different values of n. +Arguments and return values are scale to simplify the show that the scaling for the rounding +is implemented correctly. +

+", revisions=" + +")); +end Round; diff --git a/IBPSA/Utilities/Math/Functions/Examples/package.order b/IBPSA/Utilities/Math/Functions/Examples/package.order index a073d84717..0b7ed0c40e 100644 --- a/IBPSA/Utilities/Math/Functions/Examples/package.order +++ b/IBPSA/Utilities/Math/Functions/Examples/package.order @@ -19,6 +19,7 @@ RegNonZeroPower RegNonZeroPowerDerivativeCheck RegNonZeroPowerDerivative_2_Check RegStep +Round SmoothExponentialDerivativeCheck SmoothHeavisideDerivatives SmoothInterpolation diff --git a/IBPSA/Utilities/Math/Functions/package.order b/IBPSA/Utilities/Math/Functions/package.order index b809973459..d668c299cf 100644 --- a/IBPSA/Utilities/Math/Functions/package.order +++ b/IBPSA/Utilities/Math/Functions/package.order @@ -21,6 +21,7 @@ quadraticLinear quinticHermite regNonZeroPower regStep +round smoothExponential smoothHeaviside smoothInterpolation diff --git a/IBPSA/Utilities/Math/Functions/round.mo b/IBPSA/Utilities/Math/Functions/round.mo new file mode 100644 index 0000000000..6c0a6f90af --- /dev/null +++ b/IBPSA/Utilities/Math/Functions/round.mo @@ -0,0 +1,63 @@ +within IBPSA.Utilities.Math.Functions; +function round "Round real number to specified digits" + extends Modelica.Icons.Function; + + input Real x "Argument to be rounded"; + input Integer n "Number of digits being round to"; + output Real y "Connector of Real output signal"; + +protected + Real fac = 10^n "Factor used for rounding"; + +algorithm + y := if (x>0) then floor(x*fac + 0.5)/fac else ceil(x*fac - 0.5)/fac; + +annotation ( +Documentation(info=" +

+Function that outputs the input after rounding it to n digits. +

+

+For example, +

+ +

+Hence, the function outputs +

+
+    y = floor(x*(10^n) + 0.5)/(10^n)  for  x > 0,
+    y = ceil( x*(10^n) - 0.5)/(10^n)  for  x < 0.
+
+

+To use this function as a block, use + +Buildings.Controls.OBC.CDL.Reals.Round. +

+", revisions=" + +")); +end round; diff --git a/IBPSA/failed-simulator-dymola.log b/IBPSA/failed-simulator-dymola.log deleted file mode 100644 index 3d43ef277d..0000000000 --- a/IBPSA/failed-simulator-dymola.log +++ /dev/null @@ -1,2 +0,0 @@ -Automatically generated BuildingsPy dump file for failed translations. -