This package contains basic mathematical operations, such as summation and multiplication, and basic mathematical functions, such as sqrt and sin, as input/output blocks. All blocks of this library can be either connected with continuous blocks or with sampled-data blocks.
Extends from Modelica.Icons.Package (Icon for standard packages).
| Name | Description |
|---|---|
Acos | Output the arc cosine of the input |
Add | Output the sum of the two inputs |
Add3 | Output the sum of the three inputs |
Asin | Output the arc sine of the input |
Atan | Output the arc tangent of the input |
Bode | Calculate quantities to plot Bode diagram |
ComplexToPolar | Converts complex to polar representation |
ComplexToReal | Converts complex to Cartesian representation |
Conj | Output is equal to the conjugate complex input signal |
Cos | Output the cosine of the input |
Cosh | Output the hyperbolic cosine of the input |
Division | Output first input divided by second input |
Exp | Output the exponential (base e) of the input |
Feedback | Output difference between commanded input 1 and feedback input 2 |
Gain | Output the product of a gain value with the input signal |
Log | Output the natural (base e) logarithm of the input (input <> '0' required) |
PolarToComplex | Converts polar representation to complex |
Product | Output product of the two inputs |
RealToComplex | Converts Cartesian representation to complex |
Sin | Output the sine of the input |
Sinh | Output the hyperbolic sine of the input |
Sqrt | Output the square root of the input (= principal square root of complex number) |
Sum | Output the sum of the elements of the input vector |
Tan | Output the tangent of the input |
Tanh | Output the hyperbolic tangent of the input |
TransferFunction | Complex Transfer Function |
This block computes output y as
conjugate complex input u.
y = Modelica.ComplexMath.conj(u)
Extends from Modelica.ComplexBlocks.Interfaces.ComplexSISO (Single Input Single Output continuous control block).
| Type | Name | Default | Description |
|---|---|---|---|
final Boolean | useConjugateInput | true | If true, input is processed conjugate complex |
| Type | Name | Description |
|---|---|---|
input ComplexInput | u | Connector of Complex input signal |
output ComplexOutput | y | Connector of Complex output signal |
This block computes output y as
product of gain k with the
input u. Optionally, the input u can be processed conjugate complex, when parameter useConjugateInput is true. Depending on useConjugateInput either the original or the conjugate complex input signal are processed.
y = k * (if useConjugateInput then Modelica.ComplexMath.conj(u) else u);
Example: If useConjugateInput = true and k = 2 the output signal y = 2 * Modelica.ComplexMath.conj(u).
| Type | Name | Default | Description |
|---|---|---|---|
Complex | k | Gain value multiplied with input signal | |
Boolean | useConjugateInput | false | If true, input is processed conjugate complex |
| Type | Name | Description |
|---|---|---|
input ComplexInput | u | Input signal connector |
output ComplexOutput | y | Output signal connector |
This blocks computes output y as
sum of the elements of the input signal vector
u:
y = u[1] + u[2] + ...;
Example:
parameter: nin = 3;
results in the following equations:
y = u[1] + u[2] + u[3];
Extends from Modelica.ComplexBlocks.Interfaces.ComplexMISO (Multiple Input Single Output continuous control block).
| Type | Name | Default | Description |
|---|---|---|---|
Integer | nin | 1 | Number of inputs |
Boolean | useConjugateInput[nin] | fill(false, nin) | If true, inputs are processed conjugate complex |
Complex | k[nin] | fill(Complex(1, 0), nin) | Optional: sum coefficients |
| Type | Name | Description |
|---|---|---|
input ComplexInput | u[nin] | Connector of Complex input signals |
output ComplexOutput | y | Connector of Complex output signal |
This blocks computes output y as difference of the
commanded input u1 and the feedback
input u2. Optionally, either input u1 or u2 or both inputs can be processed conjugate complex, when parameters useConjugateInput1 and useConjugateInput2 are true, respectively.
y = (if useConjugateInput1 then Modelica.ComplexMath.conj(u1) else u1)
- (if useConjugateInput1 then Modelica.ComplexMath.conj(u2) else u2);
Example parameters:
useConjugateInput1 = true,useConjugateInput2 = falseresult in the following equation:
y = Modelica.ComplexMath.conj(u1) - u2
| Type | Name | Default | Description |
|---|---|---|---|
Boolean | useConjugateInput1 | false | If true, input 1 is processed conjugate complex |
Boolean | useConjugateInput2 | false | If true, input 2 is processed conjugate complex |
| Type | Name | Description |
|---|---|---|
input ComplexInput | u1 |   |
input ComplexInput | u2 |   |
output ComplexOutput | y |   |
This blocks computes output y as sum of the
two input signals u1 and u2. Optionally, either input u1 or u2 or both inputs can be processed conjugate complex, when parameters useConjugateInput1 and useConjugateInput2 are true, respectively.
y = k1*u1Internal + k2*u2Internal;
Example parameters:
k1 = +2,k2 = -3,useConjugateInput1 = true,useConjugateInput2 = falseresult in the following equation:
y = 2 * Modelica.ComplexMath.conj(u1) - 3 * u2
Extends from Modelica.ComplexBlocks.Interfaces.ComplexSI2SO (2 Single Input / 1 Single Output continuous control block).
| Type | Name | Default | Description |
|---|---|---|---|
Boolean | useConjugateInput1 | false | If true, input 1 is processed conjugate complex |
Boolean | useConjugateInput2 | false | If true, input 2 is processed conjugate complex |
Complex | k1 | Complex(1, 0) | Gain of input 1 |
Complex | k2 | Complex(1, 0) | Gain of input 2 |
| Type | Name | Description |
|---|---|---|
input ComplexInput | u1 | Connector of Complex input signal 1 |
input ComplexInput | u2 | Connector of Complex input signal 2 |
output ComplexOutput | y | Connector of Complex output signal |
This blocks computes output y as sum of the
three input signals u1, u2 and u3. Optionally, inputs u1 and u2 and u3 can be processed conjugate complex, when parameters useConjugateInput1 and useConjugateInput2 and useConjugateInput3 are true, respectively.
y = k1*(if useConjugateInput1 then Modelica.ComplexMath.conj(u1) else u1)
+ k2*(if useConjugateInput2 then Modelica.ComplexMath.conj(u2) else u2)
+ k3*(if useConjugateInput3 then Modelica.ComplexMath.conj(u3) else u3);
Example parameters:
k1 = +2,k2 = -3,k3 = +1,useConjugateInput1 = true,useConjugateInput2 = falseuseConjugateInput3 = falseresult in the following equation:
y = 2 * Modelica.ComplexMath.conj(u1) - 3 * u2 + u3;
Extends from Modelica.Blocks.Icons.Block (Basic graphical layout of input/output block).
| Type | Name | Default | Description |
|---|---|---|---|
Complex | k1 | Complex(1, 0) | Gain of upper input |
Boolean | useConjugateInput1 | false | If true, input 1 is processed conjugate complex |
Complex | k2 | Complex(1, 0) | Gain of middle input |
Boolean | useConjugateInput2 | false | If true, input 2 is processed conjugate complex |
Complex | k3 | Complex(1, 0) | Gain of lower input |
Boolean | useConjugateInput3 | false | If true, input 3 is processed conjugate complex |
| Type | Name | Description |
|---|---|---|
input ComplexInput | u1 | Connector 1 of Complex input signals |
input ComplexInput | u2 | Connector 2 of Complex input signals |
input ComplexInput | u3 | Connector 3 of Complex input signals |
output ComplexOutput | y | Connector of Complex output signals |
This blocks computes the output y (element-wise)
as product of the corresponding elements of
the two inputs u1 and u2. Optionally, either input u1 or u2 or both inputs can be processed conjugate complex, when parameters useConjugateInput1 and useConjugateInput2 are true, respectively. Depending on useConjugateInput1 and useConjugateInput2 the internal signals represent either the original or the conjugate complex input signal.
y = u1Inernal * u2Internal;
Example: If useConjugateInput1 = true and useConjugateInput2 = false the output signal y = Modelica.ComplexMath.conj(u1) * u2.
Extends from Modelica.ComplexBlocks.Interfaces.ComplexSI2SO (2 Single Input / 1 Single Output continuous control block).
| Type | Name | Default | Description |
|---|---|---|---|
Boolean | useConjugateInput1 | false | If true, input 1 is processed conjugate complex |
Boolean | useConjugateInput2 | false | If true, input 2 is processed conjugate complex |
| Type | Name | Description |
|---|---|---|
input ComplexInput | u1 | Connector of Complex input signal 1 |
input ComplexInput | u2 | Connector of Complex input signal 2 |
output ComplexOutput | y | Connector of Complex output signal |
This block computes the output y (element-wise)
by dividing the corresponding elements of
the two inputs u1 and u2. Optionally, either input u1 or u2 or both inputs can be processed conjugate complex, when parameters useConjugateInput1 and useConjugateInput2 are true, respectively. Depending on useConjugateInput1 and useConjugateInput2 the internal signals represent either the original or the conjugate complex input signal.
y = u1Internal / u2Internal;
Example: If useConjugateInput1 = true and useConjugateInput2 = false the output signal y = Modelica.ComplexMath.conj(u1) / u2.
Extends from Modelica.ComplexBlocks.Interfaces.ComplexSI2SO (2 Single Input / 1 Single Output continuous control block).
| Type | Name | Default | Description |
|---|---|---|---|
Boolean | useConjugateInput1 | false | If true, input 1 is processed conjugate complex |
Boolean | useConjugateInput2 | false | If true, input 2 is processed conjugate complex |
| Type | Name | Description |
|---|---|---|
input ComplexInput | u1 | Connector of Complex input signal 1 |
input ComplexInput | u2 | Connector of Complex input signal 2 |
output ComplexOutput | y | Connector of Complex output signal |
This blocks computes the output y
as square root of the input u (= principal square root of the complex input). Optionally, the input u can be processed conjugate complex, when parameter useConjugateInput is true. Depending on useConjugateInput the internal signal uInternal represents either the original or the conjugate complex input signal.
y = sqrt(uInternal);
Extends from Modelica.ComplexBlocks.Interfaces.ComplexSISO (Single Input Single Output continuous control block).
| Type | Name | Default | Description |
|---|---|---|---|
Boolean | useConjugateInput | false | If true, input is processed conjugate complex |
| Type | Name | Description |
|---|---|---|
input ComplexInput | u | Connector of Complex input signal |
output ComplexOutput | y | Connector of Complex output signal |
This blocks computes the output y
as sine of the input u. Optionally, the input u can be processed conjugate complex, when parameter useConjugateInput is true. Depending on useConjugateInput the internal signal uInternal represents either the original or the conjugate complex input signal.
y = sin(uInternal);
Extends from Modelica.ComplexBlocks.Interfaces.ComplexSISO (Single Input Single Output continuous control block).
| Type | Name | Default | Description |
|---|---|---|---|
Boolean | useConjugateInput | false | If true, input is processed conjugate complex |
| Type | Name | Description |
|---|---|---|
input ComplexInput | u | Connector of Complex input signal |
output ComplexOutput | y | Connector of Complex output signal |
This blocks computes the output y
as cos of the input u. Optionally, the input u can be processed conjugate complex, when parameter useConjugateInput is true. Depending on useConjugateInput the internal signal uInternal represents either the original or the conjugate complex input signal.
y = cos(uInternal);
Extends from Modelica.ComplexBlocks.Interfaces.ComplexSISO (Single Input Single Output continuous control block).
| Type | Name | Default | Description |
|---|---|---|---|
Boolean | useConjugateInput | false | If true, input is processed conjugate complex |
| Type | Name | Description |
|---|---|---|
input ComplexInput | u | Connector of Complex input signal |
output ComplexOutput | y | Connector of Complex output signal |
This blocks computes the output y
as tan of the input u. Optionally, the input u can be processed conjugate complex, when parameter useConjugateInput is true. Depending on useConjugateInput the internal signal uInternal represents either the original or the conjugate complex input signal.
y = tan(uInternal);
Extends from Modelica.ComplexBlocks.Interfaces.ComplexSISO (Single Input Single Output continuous control block).
| Type | Name | Default | Description |
|---|---|---|---|
Boolean | useConjugateInput | false | If true, input is processed conjugate complex |
| Type | Name | Description |
|---|---|---|
input ComplexInput | u | Connector of Complex input signal |
output ComplexOutput | y | Connector of Complex output signal |
This blocks computes the output y as the
sine-inverse of the input u. Optionally, the input u can be processed conjugate complex, when parameter useConjugateInput is true. Depending on useConjugateInput the internal signal uInternal represents either the original or the conjugate complex input signal.
y = asin(uInternal);
Extends from Modelica.ComplexBlocks.Interfaces.ComplexSISO (Single Input Single Output continuous control block).
| Type | Name | Default | Description |
|---|---|---|---|
Boolean | useConjugateInput | false | If true, input is processed conjugate complex |
| Type | Name | Description |
|---|---|---|
input ComplexInput | u | Connector of Complex input signal |
output ComplexOutput | y | Connector of Complex output signal |
This blocks computes the output y as the
cosine-inverse of the input u. Optionally, the input u can be processed conjugate complex, when parameter useConjugateInput is true. Depending on useConjugateInput the internal signal uInternal represents either the original or the conjugate complex input signal.
y = acos(uInternal);
Extends from Modelica.ComplexBlocks.Interfaces.ComplexSISO (Single Input Single Output continuous control block).
| Type | Name | Default | Description |
|---|---|---|---|
Boolean | useConjugateInput | false | If true, input is processed conjugate complex |
| Type | Name | Description |
|---|---|---|
input ComplexInput | u | Connector of Complex input signal |
output ComplexOutput | y | Connector of Complex output signal |
This blocks computes the output y as the
tangent-inverse of the input u. Optionally, the input u can be processed conjugate complex, when parameter useConjugateInput is true. Depending on useConjugateInput the internal signal uInternal represents either the original or the conjugate complex input signal.
y= atan(uInternal);
Extends from Modelica.ComplexBlocks.Interfaces.ComplexSISO (Single Input Single Output continuous control block).
| Type | Name | Default | Description |
|---|---|---|---|
Boolean | useConjugateInput | false | If true, input is processed conjugate complex |
| Type | Name | Description |
|---|---|---|
input ComplexInput | u | Connector of Complex input signal |
output ComplexOutput | y | Connector of Complex output signal |
This blocks computes the output y as the
hyperbolic sine of the input u. Optionally, the input u can be processed conjugate complex, when parameter useConjugateInput is true. Depending on useConjugateInput the internal signal uInternal represents either the original or the conjugate complex input signal.
y = sinh(uInternal);
Extends from Modelica.ComplexBlocks.Interfaces.ComplexSISO (Single Input Single Output continuous control block).
| Type | Name | Default | Description |
|---|---|---|---|
Boolean | useConjugateInput | false | If true, input is processed conjugate complex |
| Type | Name | Description |
|---|---|---|
input ComplexInput | u | Connector of Complex input signal |
output ComplexOutput | y | Connector of Complex output signal |
This blocks computes the output y as the
hyperbolic cosine of the input u. Optionally, the input u can be processed conjugate complex, when parameter useConjugateInput is true. Depending on useConjugateInput the internal signal uInternal represents either the original or the conjugate complex input signal.
y = cosh(uInternal);
Extends from Modelica.ComplexBlocks.Interfaces.ComplexSISO (Single Input Single Output continuous control block).
| Type | Name | Default | Description |
|---|---|---|---|
Boolean | useConjugateInput | false | If true, input is processed conjugate complex |
| Type | Name | Description |
|---|---|---|
input ComplexInput | u | Connector of Complex input signal |
output ComplexOutput | y | Connector of Complex output signal |
This blocks computes the output y as the
hyperbolic tangent of the input u. Optionally, the input u can be processed conjugate complex, when parameter useConjugateInput is true. Depending on useConjugateInput the internal signal uInternal represents either the original or the conjugate complex input signal.
y = tanh(uInternal);
Extends from Modelica.ComplexBlocks.Interfaces.ComplexSISO (Single Input Single Output continuous control block).
| Type | Name | Default | Description |
|---|---|---|---|
Boolean | useConjugateInput | false | If true, input is processed conjugate complex |
| Type | Name | Description |
|---|---|---|
input ComplexInput | u | Connector of Complex input signal |
output ComplexOutput | y | Connector of Complex output signal |
This blocks computes the output y as the
exponential (of base e) of the input u. Optionally, the input u can be processed conjugate complex, when parameter useConjugateInput is true. Depending on useConjugateInput the internal signal uInternal represents either the original or the conjugate complex input signal.
y = exp(uInternal);
Extends from Modelica.ComplexBlocks.Interfaces.ComplexSISO (Single Input Single Output continuous control block).
| Type | Name | Default | Description |
|---|---|---|---|
Boolean | useConjugateInput | false | If true, input is processed conjugate complex |
| Type | Name | Description |
|---|---|---|
input ComplexInput | u | Connector of Complex input signal |
output ComplexOutput | y | Connector of Complex output signal |
This blocks computes the output y as the
natural (base e) logarithm of the input u. Optionally, the input u can be processed conjugate complex, when parameter useConjugateInput is true. Depending on useConjugateInput the internal signal uInternal represents either the original or the conjugate complex input signal.
y = log(uInternal);
An error occurs if the elements of the input u is zero.
Extends from Modelica.ComplexBlocks.Interfaces.ComplexSISO (Single Input Single Output continuous control block).
| Type | Name | Default | Description |
|---|---|---|---|
Boolean | useConjugateInput | false | If true, input is processed conjugate complex |
| Type | Name | Description |
|---|---|---|
input ComplexInput | u | Connector of Complex input signal |
output ComplexOutput | y | Connector of Complex output signal |
Converts the Real inputs re (real part) and im (imaginary part) to the Complex output y.
Extends from Modelica.ComplexBlocks.Interfaces.ComplexSO (Single Output continuous control block).
| Type | Name | Description |
|---|---|---|
output ComplexOutput | y | Connector of Complex output signal |
input RealInput | re |   |
input RealInput | im |   |
Converts the Real inputs len (length, absolute) and phi (angle, argument) to the Complex output y.
Extends from Modelica.ComplexBlocks.Interfaces.ComplexSO (Single Output continuous control block).
| Type | Name | Description |
|---|---|---|
output ComplexOutput | y | Connector of Complex output signal |
input RealInput | len |   |
input RealInput | phi |   |
Converts the Complex input u to the Real outputs re (real part) and im (imaginary part).
Extends from Modelica.Blocks.Icons.Block (Basic graphical layout of input/output block).
| Type | Name | Default | Description |
|---|---|---|---|
Boolean | useConjugateInput | false | If true, input is processed conjugate complex |
| Type | Name | Description |
|---|---|---|
output RealOutput | re |   |
output RealOutput | im |   |
input ComplexInput | u |   |
Converts the Complex input u to the Real outputs len (length, absolute) and phi (angle, argument).
Extends from Modelica.Blocks.Icons.Block (Basic graphical layout of input/output block).
| Type | Name | Default | Description |
|---|---|---|---|
Boolean | useConjugateInput | false | If true, input is processed conjugate complex |
| Type | Name | Description |
|---|---|---|
output RealOutput | len |   |
output RealOutput | phi |   |
input ComplexInput | u |   |
This complex block is used to determine variables of a Bode diagram for the output y.
The output y is calculated by u / divisor if useDivisor == true.
Otherwise the output y = u.
abs_y Absolute value of yarg_y Angle of ydB_y Logarithm to the base 10 of the absolute value of y in dB| Type | Name | Default | Description |
|---|---|---|---|
Boolean | useDivisor | true | Use divisor input, if true |
| Type | Name | Description |
|---|---|---|
input ComplexInput | u | Dividend if useDivisor == true |
input ComplexInput | divisor | Divisor |
output RealOutput | abs_y | Absolute value of ratio u / divisor |
output RealOutput | arg_y | Angle of ratio u / divisor |
output ComplexOutput | y | Quotient y = u / divisor |
output RealOutput | dB_y | Log10 of absolute value of ratio u / divisor in dB |
The complex input u is multiplied by the complex transfer function (depending on frequency input w) to obtain the complex output y (nb = dimension of b, na = dimension of a):
b[1]*(jw)^[nb-1] + b[2]*(jw)^[nb-2] + ... + b[nb]
y(jw) = ------------------------------------------------- * u(jw)
a[1]*(jw)^[na-1] + a[2]*(jw)^[na-2] + ... + a[na]
Extends from Modelica.ComplexBlocks.Interfaces.ComplexSISO (Single Input Single Output continuous control block).
| Type | Name | Default | Description |
|---|---|---|---|
Boolean | useConjugateInput | false | If true, input is processed conjugate complex |
Real | b[:] | {1} | Numerator coefficients of transfer function (e.g., 2*s+3 is specified as {2,3}) |
Real | a[:] | {1} | Denominator coefficients of transfer function (e.g., 5*s+6 is specified as {5,6}) |
| Type | Name | Description |
|---|---|---|
input ComplexInput | u | Connector of Complex input signal |
output ComplexOutput | y | Connector of Complex output signal |
input RealInput | w | Frequency input |
Generated 2018-12-12 12:09:58 EST by MapleSim.