This package contains blocks and functions for commonly used mathematical operations. The classes in this package augment the classes Modelica.Blocks.
Extends from Modelica.Icons.VariantsPackage (Icon for package containing variants).
| Name | Description |
|---|---|
| Package with mathematical functions | |
| Average of a vector | |
| Bicubic function | |
| Biquadratic function | |
| Boolean signal replicator | |
| Integer signal replicator | |
| Maximum element of a vector | |
| Minimum element of a vector | |
| Once continuously differentiable approximation to the Heaviside function | |
| Once continuously differentiable approximation to the limit function | |
| Once continuously differentiable approximation to the maximum function | |
| Once continuously differentiable approximation to the minimum function | |
| Block for splice function opertation | |
| Collection of models that illustrate model use and test models |
Buildings.Utilities.Math.Average
This function outputs the average of the vector.
Extends from Modelica.Blocks.Interfaces.MISO (Multiple Input Single Output continuous control block).
| Type | Name | Default | Description |
|---|---|---|---|
| Integer | nin | 1 | Number of inputs |
| Type | Name | Description |
|---|---|---|
| input RealInput | u[nin] | Connector of Real input signals |
| output RealOutput | y | Connector of Real output signal |
block Average "Average of a vector" extends Modelica.Blocks.Interfaces.MISO; equation y = sum(u)/nin;end Average;
Buildings.Utilities.Math.Bicubic
This block computes
y = a1 + a2 x1 + a3 x12 + a4 x2 + a5 x22 + a6 x1 x2 + a7 x1^3 + a8 x2^3 + a9 x12 x2 + a10 x1 x22
Extends from Modelica.Blocks.Interfaces.SI2SO (2 Single Input / 1 Single Output continuous control block).
| Type | Name | Description |
|---|---|---|
| input RealInput | u1 | Connector of Real input signal 1 |
| input RealInput | u2 | Connector of Real input signal 2 |
| output RealOutput | y | Connector of Real output signal |
block Bicubic "Bicubic function" extends Modelica.Blocks.Interfaces.SI2SO; input Real a[10] "Coefficients"; equation y = Buildings.Utilities.Math.Functions.bicubic(a=a, x1=u1, x2=u2);end Bicubic;
Buildings.Utilities.Math.Biquadratic
This block computes
y = a1 + a2 x1 + a3 x12 + a4 x2 + a5 x22 + a6 x1 x2
Extends from Modelica.Blocks.Interfaces.SI2SO (2 Single Input / 1 Single Output continuous control block).
| Type | Name | Default | Description |
|---|---|---|---|
| Real | a[6] | Coefficients |
| Type | Name | Description |
|---|---|---|
| input RealInput | u1 | Connector of Real input signal 1 |
| input RealInput | u2 | Connector of Real input signal 2 |
| output RealOutput | y | Connector of Real output signal |
block Biquadratic "Biquadratic function" extends Modelica.Blocks.Interfaces.SI2SO; parameter Real a[6] "Coefficients"; equation y = Buildings.Utilities.Math.Functions.biquadratic(a=a, x1=u1, x2=u2);end Biquadratic;
Buildings.Utilities.Math.BooleanReplicator
This block replicates the boolean input signal to an array of nout identical output signals.
Extends from Modelica.Blocks.Interfaces.BooleanBlockIcon (Basic graphical layout of Boolean block).
| Type | Name | Default | Description |
|---|---|---|---|
| Integer | nout | 1 | Number of outputs |
| Type | Name | Description |
|---|---|---|
| input BooleanInput | u | Connector of boolean input signal |
| output BooleanOutput | y[nout] | Connector of boolean output signals |
block BooleanReplicator "Boolean signal replicator" extends Modelica.Blocks.Interfaces.BooleanBlockIcon; parameter Integer nout=1 "Number of outputs";Modelica.Blocks.Interfaces.BooleanInput u "Connector of boolean input signal"; Modelica.Blocks.Interfaces.BooleanOutput y[nout] "Connector of boolean output signals"; equation y = fill(u, nout);end BooleanReplicator;
Buildings.Utilities.Math.IntegerReplicator
This block replicates the integer input signal to an array of nout identical output signals.
Extends from Modelica.Blocks.Interfaces.IntegerBlockIcon (Basic graphical layout of Integer block).
| Type | Name | Default | Description |
|---|---|---|---|
| Integer | nout | 1 | Number of outputs |
| Type | Name | Description |
|---|---|---|
| input IntegerInput | u | Connector of integer input signal |
| output IntegerOutput | y[nout] | Connector of integer output signals |
block IntegerReplicator "Integer signal replicator" extends Modelica.Blocks.Interfaces.IntegerBlockIcon; parameter Integer nout=1 "Number of outputs";Modelica.Blocks.Interfaces.IntegerInput u "Connector of integer input signal"; Modelica.Blocks.Interfaces.IntegerOutput y[nout] "Connector of integer output signals"; equation y = fill(u, nout);end IntegerReplicator;
Buildings.Utilities.Math.Max
Outputs the minimum of the vector.
Extends from Modelica.Blocks.Interfaces.MISO (Multiple Input Single Output continuous control block).
| Type | Name | Default | Description |
|---|---|---|---|
| Integer | nin | 1 | Number of inputs |
| Type | Name | Description |
|---|---|---|
| input RealInput | u[nin] | Connector of Real input signals |
| output RealOutput | y | Connector of Real output signal |
block Max "Maximum element of a vector" extends Modelica.Blocks.Interfaces.MISO; equation y = max(u);end Max;
Buildings.Utilities.Math.Min
Outputs the minimum of the vector.
Extends from Modelica.Blocks.Interfaces.MISO (Multiple Input Single Output continuous control block).
| Type | Name | Default | Description |
|---|---|---|---|
| Integer | nin | 1 | Number of inputs |
| Type | Name | Description |
|---|---|---|
| input RealInput | u[nin] | Connector of Real input signals |
| output RealOutput | y | Connector of Real output signal |
block Min "Minimum element of a vector" extends Modelica.Blocks.Interfaces.MISO; equation y = min(u);end Min;
Buildings.Utilities.Math.SmoothHeaviside
Once Lipschitz continuously differentiable approximation to the Heaviside(.,.) function.
Extends from Modelica.Blocks.Interfaces.SISO (Single Input Single Output continuous control block).
| Type | Name | Default | Description |
|---|---|---|---|
| Real | delta | Width of transition interval |
| Type | Name | Description |
|---|---|---|
| input RealInput | u | Connector of Real input signal |
| output RealOutput | y | Connector of Real output signal |
block SmoothHeaviside "Once continuously differentiable approximation to the Heaviside function" extends Modelica.Blocks.Interfaces.SISO; parameter Real delta "Width of transition interval"; equation y = Buildings.Utilities.Math.Functions.smoothHeaviside(x=u, delta=delta);end SmoothHeaviside;
Buildings.Utilities.Math.SmoothLimit
Once continuously differentiable approximation to the limit(.,.) function. The output is bounded to be in [lower, upper].
Extends from Modelica.Blocks.Interfaces.SISO (Single Input Single Output continuous control block).
| Type | Name | Default | Description |
|---|---|---|---|
| Real | deltaX | Width of transition interval | |
| Real | upper | Upper limit | |
| Real | lower | Lower limit |
| Type | Name | Description |
|---|---|---|
| input RealInput | u | Connector of Real input signal |
| output RealOutput | y | Connector of Real output signal |
block SmoothLimit "Once continuously differentiable approximation to the limit function" extends Modelica.Blocks.Interfaces.SISO; parameter Real deltaX "Width of transition interval"; parameter Real upper "Upper limit"; parameter Real lower "Lower limit"; equation y = Buildings.Utilities.Math.Functions.smoothLimit(u, lower, upper, deltaX);end SmoothLimit;
Buildings.Utilities.Math.SmoothMax
Once continuously differentiable approximation to the max(.,.) function.
Extends from Modelica.Blocks.Interfaces.SI2SO (2 Single Input / 1 Single Output continuous control block).
| Type | Name | Default | Description |
|---|---|---|---|
| Real | deltaX | Width of transition interval |
| Type | Name | Description |
|---|---|---|
| input RealInput | u1 | Connector of Real input signal 1 |
| input RealInput | u2 | Connector of Real input signal 2 |
| output RealOutput | y | Connector of Real output signal |
block SmoothMax "Once continuously differentiable approximation to the maximum function" extends Modelica.Blocks.Interfaces.SI2SO; parameter Real deltaX "Width of transition interval"; equation y = Buildings.Utilities.Math.Functions.smoothMax(x1=u1, x2=u2, deltaX=deltaX);end SmoothMax;
Buildings.Utilities.Math.SmoothMin
Once continuously differentiable approximation to the max(.,.) function.
Extends from Modelica.Blocks.Interfaces.SI2SO (2 Single Input / 1 Single Output continuous control block).
| Type | Name | Default | Description |
|---|---|---|---|
| Real | deltaX | Width of transition interval |
| Type | Name | Description |
|---|---|---|
| input RealInput | u1 | Connector of Real input signal 1 |
| input RealInput | u2 | Connector of Real input signal 2 |
| output RealOutput | y | Connector of Real output signal |
block SmoothMin "Once continuously differentiable approximation to the minimum function" extends Modelica.Blocks.Interfaces.SI2SO; parameter Real deltaX "Width of transition interval"; equation y = Buildings.Utilities.Math.Functions.smoothMin(x1=u1, x2=u2, deltaX=deltaX);end SmoothMin;
Buildings.Utilities.Math.Splice
This block implements Buildings.Utilities.Math.Functions.spliceFunction, which provides a continuously differentiable transition between two arguments.
Extends from Modelica.Blocks.Interfaces.BlockIcon (Basic graphical layout of input/output block).
| Type | Name | Default | Description |
|---|---|---|---|
| Real | deltax | Half width of transition interval |
| Type | Name | Description |
|---|---|---|
| input RealInput | x | Independent value |
| input RealInput | u1 | Argument of u > 0 (pos) |
| input RealInput | u2 | Argument of u < 0 (neg) |
| output RealOutput | y | Smoothed value |
block Splice "Block for splice function opertation" extends Modelica.Blocks.Interfaces.BlockIcon;Modelica.Blocks.Interfaces.RealInput x "Independent value"; Modelica.Blocks.Interfaces.RealInput u1 "Argument of u > 0 (pos)"; Modelica.Blocks.Interfaces.RealInput u2 "Argument of u < 0 (neg)"; Modelica.Blocks.Interfaces.RealOutput y "Smoothed value"; parameter Real deltax "Half width of transition interval"; equation y=Buildings.Utilities.Math.Functions.spliceFunction( pos=u1, neg= u2, x= x, deltax= deltax);end Splice;