Description: "Library with models that facilitates the reporting of values"

- Home > Modelica

## Buildings.Utilities.Reports

Library with models that facilitates the reporting of values

### Information

This package contains components models to report values to files.

Extends from Modelica.Icons.VariantsPackage (Icon for package containing variants).

### Package Content

Name | Description
--- | ---
Printer | Model that prints values to a file
printRealArray | Print string to terminal or file
Examples | Collection of models that illustrate model use and test models

## Buildings.Utilities.Reports.Printer

Model that prints values to a file

### Information

This model prints to a file or the terminal at a fixed sample interval.

The parameter `configuration` controls the printing as follows:

`configuration` | configuration
`1` | print at sample times only
`2` | print at sample times and at end of simulation
`3` | print at end of simulation only

Extends from Modelica.Blocks.Interfaces.DiscreteBlock (Base class of discrete control blocks).

### Parameters

Type | Name | Default | Description
--- | --- | --- | ---
Time | samplePeriod |  | Sample period of component [s]
Time | startTime | 0 | First sample time instant [s]
String | header | "" | Header to be printed
String | fileName | "" | File name (empty string is the terminal)
Integer | nin | 1 | Number of inputs
Integer | configuration | 1 | Index for treating final report (see documentation)
Integer | minimumLength | 1 | Minimum length of result string
Integer | significantDigits | 16 | Number of significant digits

### Connectors

Type | Name | Description
--- | --- | ---
input RealInput | x[nin] | Value to be printed

### Modelica definition

model Printer "Model that prints values to a file" extends Modelica.Blocks.Interfaces.DiscreteBlock; parameter String header="" "Header to be printed"; parameter String fileName="" "File name (empty string is the terminal)"; parameter Integer nin=1 "Number of inputs"; parameter Integer configuration = 1 "Index for treating final report (see documentation)"; parameter Integer minimumLength = 1 "Minimum length of result string"; parameter Integer significantDigits = 16 "Number of significant digits"; Modelica.Blocks.Interfaces.RealInput x[nin] "Value to be printed"; initial algorithm if (fileName <> "") then Modelica.Utilities.Files.removeFile(fileName); end if; Modelica.Utilities.Streams.print(fileName=fileName, string=header); equation if configuration < 3 then when {sampleTrigger, initial()} then Buildings.Utilities.Reports.printRealArray( x=x, fileName=fileName, minimumLength=minimumLength, significantDigits=significantDigits); end when; end if; when terminal() then if configuration >= 2 then Buildings.Utilities.Reports.printRealArray( x=x, fileName=fileName, minimumLength=minimumLength, significantDigits=significantDigits); end if; end when; end Printer;

## Buildings.Utilities.Reports.printRealArray

Print string to terminal or file

### Information

Function that prints a real array to an output file.

Extends from Modelica.Icons.Function (Icon for functions).

### Inputs

Type | Name | Default | Description
--- | --- | --- | ---
Real | x[:] |  | Input to be printed
String | fileName | "" | File where to print (empty string is the terminal)
Integer | minimumLength | 1 | Minimum width of result
Integer | significantDigits | 6 | Number of significant digits

### Outputs

Type | Name | Description
--- | --- | ---
String | outStr | String to be printed

### Modelica definition

function printRealArray "Print string to terminal or file" extends Modelica.Icons.Function; input Real[:] x "Input to be printed"; input String fileName="" "File where to print (empty string is the terminal)"; input Integer minimumLength = 1 "Minimum width of result"; input Integer significantDigits = 6 "Number of significant digits"; output String outStr="" "String to be printed"; algorithm for i in 1:size(x,1) loop outStr :=outStr + " " + String(x[i], minimumLength=minimumLength, significantDigits=significantDigits); end for; Modelica.Utilities.Streams.print(string=outStr, fileName=fileName); end printRealArray;