Engee documentation

Second-Order Integrator

Page in progress.

Second-order integrator.

second order integrator

Description

The Integrator, Second-Order block performs second-order integration. The behaviour of the block is described by the following equations:

,

,

where is the input signal. Thus, the block represents a dynamic system with two continuous states: and .

These two states have a mathematical relationship, is the derivative of . To fulfil this relationship during simulation, Engee imposes various constraints on the parameters and behaviour of the block.

These equations describe the exact dependence of output on input in continuous time. Numerical approximation methods are used to estimate them with finite accuracy. In Engee there are several types of solvers that implement different numerical integration methods to compute the output of a block. Each solver has its own advantages depending on the specific problem.

The selected solver calculates the output of the Integrator, Second-Order block at the current time step using the current input value and the state value at the previous time step.

The initial values and can be set in the block parameters dialogue box.

Ports

Input

# u — input signal
scalar | vector | matrix

Details

The input signal u to the integrator as a scalar, vector or matrix.

Data types

Float16, Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64, Bool.

Complex numbers support

No

Output

# x — output signal
scalar | vector | matrix

Details

The output of the x state signal as a scalar, vector or matrix.

Data types

Float64.

Complex numbers support

No

# dx — output signal
scalar | vector | matrix

Details

The output of the dx state signal as a scalar, vector or matrix.

Data types

Float64.

Complex numbers support

No

Parameters

Parameters

# Initial condition x — initial value of state x
Scalar / array of real numbers

Details

Initial value of state x of the block.

Default value

0.0

Program usage name

ICX

Tunable

No

Evaluatable

Yes

# Limit x — state limit values x
Logical

Details

Limit the block output to a value between the Lower limit x and Upper limit x parameters. By default, this checkbox is unchecked.

Default value

false (switched off)

Program usage name

LimitX

Tunable

No

Evaluatable

No

# Wrap x — transfer switch x
Logical

Details

Enable carry states x between the Wrapped upper value x and Wrapped Lower value x parameters. Enabling carry states eliminates the need for zero crossing detection, reduces the number of solver resets, improves solver performance and accuracy, and increases simulation time when modelling rotational and cyclic state trajectories.

If you specify Wrapped upper value x as inf and Wrapped Lower value x as -inf, no carryover will occur.

Default value

false (switched off)

Program usage name

WrapX

Tunable

No

Evaluatable

No

Parameters

# Initial condition dx/dt — initial value of the state dx/dt
Scalar / array of real numbers

Details

Initial value of the state dx/dt.

Default value

0.0

Program usage name

ICDXDT

Tunable

No

Evaluatable

Yes

# Limit dx/dt — state limit values dx/dt
Logical

Details

Limit the block output to a value between the Lower limit dx/dt and Upper limit dx/dt parameters. By default, this checkbox is unchecked.

If x state limits are set, the interval defined by the Lower limit dx/dt and Upper limit dx/dt parameters must contain zero.

Default value

false (switched off)

Program usage name

LimitDXDT

Tunable

No

Evaluatable

No