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 = false
result 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 = false
result 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 = false
useConjugateInput3 = false
result 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 y
arg_y
Angle of y
dB_y
Logarithm to the base 10 of the absolute value of y
in dBType | 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.