Description: "Package with base classes for Buildings.Fluid.Utilities"

- Home > Modelica

## Buildings.Fluid.Utilities.BaseClasses

Package with base classes for Buildings.Fluid.Utilities

### Information

This package contains base classes that are used to construct the models in Buildings.Fluid.Utilities.

Extends from Modelica.Icons.BasesPackage (Icon for packages containing base classes).

### Package Content

Name | Description
--- | ---
der_extendedPolynomial | Polynomial that is linearly extended at user specified values

## Buildings.Fluid.Utilities.BaseClasses.der_extendedPolynomial

Polynomial that is linearly extended at user specified values

### Information

This function is the derivative of extendedPolynomial with respect to `x`.

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

### Inputs

Type | Name | Default | Description
--- | --- | --- | ---
Real | x |  | x value
Real | c[:] |  | Polynomial coefficients
Real | xMin |  | Minimum x value for polynomial
Real | xMax |  | Maximum x value for polynomial
Real | der_x |  |

### Outputs

Type | Name | Description
--- | --- | ---
Real | der_y | Derivative dy/dx

### Modelica definition

function der_extendedPolynomial "Polynomial that is linearly extended at user specified values" extends Modelica.Icons.Function; input Real x "x value"; input Real[:] c "Polynomial coefficients"; input Real xMin "Minimum x value for polynomial"; input Real xMax "Maximum x value for polynomial"; input Real der_x; output Real der_y "Derivative dy/dx"; protected Integer N = size(c,1) "Number of coefficients"; algorithm if x < xMin then der_y := 0; for i in 2:N loop der_y := der_y + (i - 1)*xMin^(i - 2)*c[i]; end for; elseif x < xMax then der_y := 0; for i in 2:N loop der_y := der_y + (i - 1)*x^(i - 2)*c[i]; end for; else der_y := 0; for i in 2:N loop der_y := der_y + (i - 1)*xMax^(i - 2)*c[i]; end for; end if; end der_extendedPolynomial;