Основы физического моделирования в Engee
Построение физических моделей
Основные принципы построения физических моделей
Engee позволяет строить физические модели с помощью блоков, представляющих собой компоненты реальных физических систем, и соединений между ними. При этом вам не нужно составлять дифференциальные уравнения, описывающие поведение физической системы. Нужно только соединить компоненты с помощью линий, представляющих собой физические соединения.
При запуске модели Engee анализирует ее, составляет уравнения (или системы уравнений), которые необходимо решить, и затем выполняет численное решение этих уравнений. В этом состоит различие между физическим и динамическим моделированием в Engee. В случае динамического моделирования пользователь должен самостоятельно задавать уравнения.
Настройки решателя
Для каждой физической модели требуется блок Solver Configuration (настройки решателя). Он находится в библиотеке Физическое моделирование, в разделе Утилиты. Место подключения этого блока не имеет значения. Например, при построении моделей электрических цепей блок Solver Configuration может быть подключен к любой точке цепи.
Опорная точка
Каждая физическая модель должна содержать хотя бы один блок Reference (опорная точка). Для каждого домена он свой. Например, для домена «Электричество» таким блоком является Electrical Reference (электрическое заземление). Он находится в библиотеке Физическое моделирование -> Фундаментальные -> Электричество -> Элементы.
Датчики
Для измерения переменных в физической модели используются специальные блоки – датчики. Простейшими датчиками в домене «Электричество» являются следующие блоки:
- Current Sensor (амперметр),
- Voltage Sensor (вольтметр).
Эти блоки находятся в библиотеке Физическое моделирование -> Фундаментальные -> Электричество -> Датчики. Они измеряют ток и напряжение соответственно. Эти блоки имитируют соответствующие лабораторные приборы и подключаются к цепи таким же образом: вольтметр может измерять напряжение в любых двух точках цепи:
А амперметр может измерять ток в ответвлении цепи:
Измеряемая величина поступает на выходной порт датчика, обозначенный черной стрелкой. Этот порт может быть подсоединен к блокам библиотеки Базовые, сигнал с него можно залогировать, вывести на график, записать в рабочее пространство Engee или в файл.
Если поменять полярность датчика (т.е. поменять местами порты + и -), то измеряемая величина изменит знак на противоположный.
Начальные значения параметров
Вы можете задать начальные значения параметров блоков, используя диалоговое окно «Настройки». Например, если вы хотите смоделировать разряд конденсатора при начальном значении 5 V (В), вы можете задать начальное значение напряжения на конденсаторе (Value) в разделе Initial Targets > Capacitor voltage.
При инициализации модели решатель пытается выполнить заданные требования, но он может не использовать это значение, если возникнет конфликт с другими параметрами.
Модель RC-цепи
В этом примере вы будете использовать блоки из домена «Электричество» для построения модели следующей RC-цепи:
✏️Задание 1
Создайте новую модель. Добавьте в модель следующие блоки:
- Resistor (резистор),
- Capacitor (конденсатор),
- Electrical Reference (электрическое заземление),
- Solver Configuration (настройки решателя).
Первые три блока находятся в библиотеке Физическое моделирование -> Фундаментальные -> Электричество -> Элементы, а последний – в библиотеке Физическое моделирование -> Утилиты. Пока не соединяйте блоки.
Решение
✏️Задание 2
Задайте начальные значения параметров блоков:
- В окне настроек блока Resistor задайте значение параметра Resistance (сопротивление) равным
100Ohm (Ом). - В окне настроек блока Capacitor задайте значение параметра Capacitance (емкость) равным
1e-5F (Ф), а начальное значение напряжения на конденсаторе (Initial Targets -> Capacitor voltage -> Value) – равным5V (В).
Решение
✏️Задание 3
Соедините блоки:
- Последовательно соедините блоки Resistor и Capacitor, чтобы получился замкнутый контур. Обратите внимание на то, что блоки резистора и конденсатора имеют положительный (+) и отрицательный (-) порты. Подключите отрицательный порт блока резистора к положительному порту блока конденсатора.
- Подключите блоки Electrical Reference и Solver Configuration к любым точкам цепи.
Решение
✏️Задание 4
Чтобы измерить падение напряжения на конденсаторе, подключите к модели вольтметр:
- Добавьте в модель блок Voltage Sensor (вольтметр), расположенный на палитре Датчики, и подсоедините его параллельно участку цепи, на котором находится конденсатор.
- Подключите к порту V блока Voltage Sensor блок Terminator из базовой библиотеки и залогируйте выходной сигнал вольтметра.
Решение
✏️Задание 5
Завершите построение модели:
- В окне настроек модели задайте размер шага равным
0.001с, а время моделирования –0.1с. - Запустите модель. Постройте график зависимости падения напряжения на конденсаторе от времени.
Решение
Модель колеса, вращающегося с трением
Для моделирования в других предметных областях выполняются те же действия: добавляются физические компоненты, создаются соединения между ними, добавляются блок настроек решателя (Solver Configuration), опорная точка (Reference), соответствующая предметной области, и указываются значения параметров компонентов. В следующих задачах вы примените эти действия для моделирования вращающегося колеса, замедляющегося из-за трения. Вы будете использовать блоки вращательных элементов из домена «Механика».
✏️Задание 6
Чтобы смоделировать колесо, вращающееся с трением, вам понадобятся блок Inertia (инерция) и блок Rotational Damper (вязкостный демпфер в механических вращательных системах). Они находятся в библиотеке Физическое моделирование -> Фундаментальные -> Механика -> Вращательная -> Элементы.
- Создайте новую модель.
- Добавьте в модель следующие блоки:
- Inertia (инерция),
- Rotational Damper (вязкостный демпфер в механических вращательных системах),
- Mechanical Rotational Reference (опорная точка механической вращательной системы) из той же библиотеки. Этот блок представляет собой точку с нулевой угловой скоростью.
- Solver Configuration (настройки решателя).
Пока не соединяйте блоки.
Решение

На рисунке показан чертеж этой системы:
Механические вращательные блоки имеют порты R и C. Как и порты (+) и (-) в домене «Электричество», эти порты определяют знак параметра блока. Например, угловая скорость вращающегося колеса, моделируемого блоком Inertia, определяется выражением:
где – относительная угловая скорость, и – абсолютные угловые скорости на портах R и C соответственно.
✏️Задание 7
Последовательно соедините блоки Inertia, Rotational Damper и Mechanical Rotational Reference в соответствии с приведенной выше схемой. Выберите ориентацию блока Rotational Damper так, чтобы блок Inertia был подключен к порту C (ко входу демпфера), а опорная точка – к порту R (к выходу демпфера). Подсоедините блок настроек решателя к любой точке модели.
Решение
✏️Задание 8
Задайте значения параметров блоков:
- В окне настроек блока Rotational Damper задайте значение параметра Damping coefficient (коэффициент демпфирования) равным
0.01Нм(рад/с). - В окне настроек блока Inertia задайте начальное значение угловой скорости (Initial Targets -> Rotational velocity -> Value) равным
10rad/s (рад/с).
Решение
Для того чтобы вывести на экран график зависимости угловой скорости вращающегося колеса от времени, к модели необходимо подключить соответствующий датчик. Для механических вращательных систем таким датчиком является блок Absolute Rotational Motion Sensor (датчик движения в механических вращательных системах), который позволяет измерять угловое ускорение, угловую скорость и угловое перемещение компонента.
✏️Задание 9
- Добавьте в модель следующие блоки:
- Absolute Rotational Motion Sensor (датчик движения в механических вращательных системах) из библиотеки Физическое моделирование -> Фундаментальные -> Механика -> Вращательная -> Датчики. В окне настроек этого блока оставьте включенным только параметр Velocity (скорость), а параметры Acceleration и Position должны быть отключены. Это означает, что датчик будет измерять только угловую скорость.
- Zero-Order Hold (удержание нулевого порядка) из библиотеки Базовые -> Дискретные. В окне настроек этого блока задайте значение параметра Sample time (период дискретизации) равным
1e-3s (с). - Terminator (заглушка) из библиотеки Базовые -> Приемники.
-
Подсоедините порт R блока Absolute Rotational Motion Sensor к линии, соединяющей блоки Inertia и Rotational Damper, а порт W – ко входному порту блока Zero-Order Hold. Соедините выход блока Zero-Order Hold со входом блока Terminator.
-
Залогируйте выходной сигнал блока Zero-Order Hold.
Решение
✏️Задание 10
Завершите построение модели:
- В окне настроек модели задайте размер шага равным
0.001с. - Запустите модель. Постройте график зависимости угловой скорости вращающегося колеса от времени.
Решение
Механическая система, состоящая из инерции и демпфера, действует подобно RC-цепи в электричестве. Инерция накапливает энергию, как конденсатор, а демпфер рассеивает энергию, как резистор. Таким образом, инерция, вращающаяся с некоторой начальной угловой скоростью, замедляется с экспоненциальным затуханием, подобно RC-цепи с начальным напряжением на конденсаторе.