Интегратор второго порядка
Интегратор второго порядка.
Тип: SecondOrderIntegrator
Путь в библиотеке:
|
Описание
Блок Интегратор второго порядка выполняет интегрирование второго порядка. Поведение блока описывается следующими уравнениями:
где — входной сигнал. Таким образом, блок представляет динамическую систему с двумя непрерывными состояниями: и .
Эти два состояния имеют математическую связь, является производной от . Чтобы выполнить это соотношение во время моделирования, Engee накладывает различные ограничения на параметры и поведение блока. |
Эти уравнения описывают точную зависимость выхода от входа в непрерывном времени. Для их оценки с конечной точностью используются методы численной аппроксимации. В Engee существуют несколько типов решателей, которые реализуют разные методы численного интегрирования для вычисления выходных данных блока. Каждый решатель имеет свои преимущества в зависимости от конкретной задачи.
Выбранный решатель рассчитывает выход блока Интегратор второго порядка на текущем временном шаге, используя текущее входное значение и значение состояния на предыдущем временном шаге.
Начальные значения и можно задать в диалоговом окне параметров блока.
Ограничение состояний
При моделировании системы второго порядка вам может потребоваться ограничить состояния блоков. Например, движение поршня внутри цилиндра регулируется вторым законом Ньютона и имеет ограничения на положение поршня . В блоке Интегратор второго порядка можно ограничить состояния и независимо друг от друга. Важным правилом, которому следует следовать, является то, что верхний предел должен быть строго больше, чем соответствующий нижний предел.
Ограничение только x
Можно ограничить состояние , установив фдлажок Ограничение состояния x и введя ограничения в соответствующие параметры.
Блок определяет значения состояний следующим образом:
-
Когда меньше или равно нижнему пределу, значение удерживается на нижнем пределе, а устанавливается равным нулю.
-
Когда находится между нижним и верхним пределами, оба состояния соответствуют заданному ОДУ второго порядка.
-
Когда больше или равно его верхнему пределу, значение удерживается на его верхнем пределе, а устанавливается равным нулю.
Вы можете повторно инициализировать новым значением в то время, когда достигает предела.
Ограничение только dx/dt
Можно ограничить состояние , установив флажок Ограничение состояния dx/dt и введя ограничения в соответствующие параметры.
Если вы ограничиваете только состояние , то блок определяет значения следующим образом:
-
Когда меньше или равно нижнему пределу, значение удерживается на нижнем пределе.
-
Когда находится между нижним и верхним пределами, оба состояния соответствуют заданному ОДУ второго порядка.
-
Когда больше или равно его верхнему пределу, значение удерживается на его верхнем пределе.
-
Когда состояние удерживается на верхнем или нижнем пределе, значение определяется задачей начального значения первого порядка:
,
,
где
-
— предел (верхний или нижний);
-
— время, когда достигает этого предела;
— значение состояния в момент .
Ограничение обоих состояний
Когда вы ограничиваете оба состояния, Engee поддерживает математическую согласованность состояний, ограничивая допустимые значения верхнего и нижнего пределов для . Такие ограничения необходимы для удовлетворения следующих ограничений:
-
Когда находится в пределах ограничений, значение должно быть равно нулю.
-
Для того чтобы вышел за верхний предел, значение должно быть строго отрицательным.
-
Для того чтобы вышел за нижний предел, значение должно быть строго положительным.
В таких случаях верхний предел должен быть строго положительным, а нижний предел должен быть строго отрицательным.
Когда оба состояния ограничены, блок определяет состояния следующим образом:
-
Всякий раз, когда достигает своих пределов, результирующее поведение такое же, как описано в разделе Ограничение только x.
-
Всякий раз, когда достигает одного из своих пределов, результирующее поведение включает вычисление с использованием ОДУ первого порядка, когда удерживается на одном из своих пределов. В таких случаях, когда достигает одного из своих пределов, он удерживается на этом пределе, а устанавливается равным нулю.
-
Всякий раз, когда оба достигают своих соответствующих пределов одновременно, поведение состояния переопределяет поведение для поддержания согласованности состояний.
Когда вы ограничиваете оба состояния, вы можете выбрать повторную инициализацию в то время, когда состояние достигает насыщения. Если повторно инициализированное значение выходит за указанные пределы , то повторно инициализируется до ближайшего допустимого значения и вычисляется согласованный набор начальных условий.
Порты
Вход
#
u
—
входной сигнал
скаляр
| вектор
| матрица
Details
Входной сигнал u интегратора в виде скаляра, вектора или матрицы.
Типы данных |
|
Поддержка комплексных чисел |
Нет |
Выход
#
x
—
выходной сигнал
скаляр
| вектор
| матрица
Details
Выходной сигнал состояния x в виде скаляра, вектора или матрицы.
Типы данных |
|
Поддержка комплексных чисел |
Нет |
#
dx
—
выходной сигнал
скаляр
| вектор
| матрица
Details
Выходной сигнал состояния dx в виде скаляра, вектора или матрицы.
Типы данных |
|
Поддержка комплексных чисел |
Нет |
Параметры
Параметры
#
Начальное значение x —
начальное значение состояния x
Скаляр / массив вещественных чисел
Details
Начальное значение состояния x блока.
Значение по умолчанию |
|
Имя для программного использования |
|
Настраиваемый |
Нет |
Вычисляемый |
Да |
#
Ограничение состояния x —
предельные значения состояния x
Логический тип
Details
Ограничьте выходные данные блока значением между параметрами Lower limit x и Upper limit x. По умолчанию этот флажок снят.
Значение по умолчанию |
|
Имя для программного использования |
|
Настраиваемый |
Нет |
Вычисляемый |
Нет |
#
Upper limit x —
верхний предел значения состояния x
Скаляр / массив вещественных чисел
Details
Укажите верхний предел состояния x.
Верхний предел для состояния x должен быть строго больше нижнего предела.
Зависимости
Чтобы использовать этот параметр, установите флажок Ограничение состояния x.
Значение по умолчанию |
|
Имя для программного использования |
|
Настраиваемый |
Нет |
Вычисляемый |
Да |
#
Lower limit x —
нижний предел значения состояния x
Скаляр / массив вещественных чисел
Details
Укажите нижний предел состояния x.
Нижний предел для состояния x должен быть строго меньше верхнего предела.
Зависимости
Чтобы использовать этот параметр, установите флажок Ограничение состояния x.
Значение по умолчанию |
|
Имя для программного использования |
|
Настраиваемый |
Нет |
Вычисляемый |
Да |
#
Сброс циклического состояния x —
включение переноса x
Логический тип
Details
Включите перенос состояний x между значениями параметров Wrapped upper value x и Wrapped Lower value x. Включение состояний переноса устраняет необходимость в обнаружении пересечения нуля, уменьшает количество сбросов решателя, повышает производительность и точность решателя, а также увеличивает время моделирования при моделировании траекторий вращательных и циклических состояний.
Если вы укажете Wrapped upper value x как inf
и Wrapped Lower value x как −inf
, перенос не произойдет.
Значение по умолчанию |
|
Имя для программного использования |
|
Настраиваемый |
Нет |
Вычисляемый |
Нет |
#
Wrapped upper value x —
верхнее значение для переноса x
Скаляр / массив вещественных чисел
Details
Укажите верхнее значение для переноса x. Верхнее значение для переноса x должно быть больше нижнего значения.
Зависимости
Чтобы использовать этот параметр, установите флажок Сброс циклического состояния x.
Значение по умолчанию |
|
Имя для программного использования |
|
Настраиваемый |
Нет |
Вычисляемый |
Да |
#
Wrapped lower value x —
нижнее значение для переноса x
Скаляр / массив вещественных чисел
Details
Укажите нижнее значение для переноса x. Нижнее значение для переноса x должно быть меньше верхнего значения.
Зависимости
Чтобы использовать этот параметр, установите флажок Сброс циклического состояния x.
Значение по умолчанию |
|
Имя для программного использования |
|
Настраиваемый |
Нет |
Вычисляемый |
Да |
Параметры
#
Начальное значение dx/dt —
начальное значение состояния dx/dt
Скаляр / массив вещественных чисел
Details
Начальное значение состояния dx/dt.
Значение по умолчанию |
|
Имя для программного использования |
|
Настраиваемый |
Нет |
Вычисляемый |
Да |
#
Ограничение состояния dx/dt —
предельные значения состояния dx/dt
Логический тип
Details
Ограничьте выходные данные блока значением между параметрами Lower limit dx/dt и Upper limit dx/dt. По умолчанию этот флажок снят.
Если установлены предельные значения состояния x, то интервал, определенный параметрами Lower limit dx/dt и Upper limit dx/dt должен содержать ноль.
Значение по умолчанию |
|
Имя для программного использования |
|
Настраиваемый |
Нет |
Вычисляемый |
Нет |
#
Upper limit dx/dt —
верхний предел значения состояния dx/dt
Скаляр / массив вещественных чисел
Details
Укажите верхний предел состояния dx/dt.
Зависимости
Если вы ограничиваете x, то этот параметр должен иметь строго положительное значение.
Чтобы использовать этот параметр, установите флажок Ограничение состояния dx/dt.
Значение по умолчанию |
|
Имя для программного использования |
|
Настраиваемый |
Нет |
Вычисляемый |
Да |
#
Lower limit dx/dt —
нижний предел состояния dx/dt
Скаляр / массив вещественных чисел
Details
Укажите нижний предел состояния dx/dt.
Зависимости
Если вы ограничиваете x, то этот параметр должен иметь строго отрицательное значение.
Чтобы использовать этот параметр, установите флажок Ограничение состояния dx/dt.
Значение по умолчанию |
|
Имя для программного использования |
|
Настраиваемый |
Нет |
Вычисляемый |
Да |