Pull to refresh

Симуляционное моделирование механической системы средствами визуального программирования Scilab\Xcos

Reading time 2 min
Views 5.2K
Вместо предисловия.

Эта небольшая по объему работа была экстренно выполнена с учебными и демонстрационными целями около года назад на базе уже разработанной ранее модели струны. Как водится, потом полежав энное время без дела, недавно она попалась мне на глаза.

Что такое Scilab, рассказывать здесь смысла нет — интернетом читатель пользоваться умеет.
image

Интересным для читателя, уже знакомым с Scilab, эта работа может быть довольно нетривиальным применением данного средства. Имеется ввиду «конечноэлементный» подход в моделировани системы и анимационное отображение результатов осциллографом. Безусловно, есть средства, специально «заточенные» под механику, но, повторяю, целью было именно срочно обкатать Scilab.

Для тех же, кто ранее с этим простым и наглядным средством знаком не был, интересно будет узнать вот что. Весь процесс освоения этого ранее мне незнакомого типа софта (визуального программирования), от момента инсталляции бесплатного Xcos до создания нижеследующего текста, занял у меня пять дней. Более простая модель системы с одной степенью свободы была окончательно готова уже на второй день. И у вас, я думаю, дела в изучении этой программной среды, при желании, пойдут не хуже, так что дерзайте.

Сам текст, пожалуй, излишне лаконичен, так как на широкую аудиторию изначально рассчитан не был. Но если у читателя возникнут вопросы, попытаюсь вспомнить детали и на эти вопросы ответить. Итак.


Механическая система («колеблющаяся струна в вязкой среде»), подробно рассмотренная в этой статье, представляет следующее:
image

где Δt = 0,01с, l=1м, M= 1кг, k=10 кг/с, T=2000Н

Для упрощения моделирования и расширения возможностей модификации модели, модель разбита на вот такие элементы,

image

которые моделировались, как подсистемы («суперблоки»).

Построена следующая «диаграмма» (модель) в системе визуального программирования Xcos

image

«Диаграмма» (модель) позволяет имитировать поведение системы под воздействием единичного импульса, приложенного к узлу(элементу) №1, регистрировать и графически отображать внешнее воздействие в узле №1 и отклик(перемещения) системы в узлах №№1,2,3, а также визуально отображать поведение системы в форме анимированного условного изображения.

Каждый из пяти входящих в «диаграмму» «суперблоков» (подсистем) представляет следующее

image

Блок получает из главной системы данные о внешнем воздействии, длинах и перемещениях сопряженных элементов, тактовое время, величину интервала временной дискретизации и силу натяжения струны. Блок в своих настройках содержит данные о его длине, массе и коэффициенте демпфирования, которые могут быть изменены для целей моделирования. (Заявленную разработчиком Xcos возможность маскирования блока реализовать не удалось по причине, по-видимому, сбоев в работе ПО.)

Блок осуществляет интегрирование соответствующего линейного ОДУ методом конечных разностей. Нулевые начальные условия интегрирования реализованы с помощью умолчаний системы Xcos.

Блок передает в главную систему данные о своих перемещениях (в системном тактовом времени) и длине (постоянной).

Получены следующие результаты симуляционного моделирования

image

image

Далее для целей более полного раскрытия резонансных свойств системы произведено моделирование, аналогичное предыдущему, с внешним воздействием, приложенным к середине струны (в узле №3)

image

image

Получены следующие результаты симуляционного моделирования:

image

image

Вот, собственно, и все. Успехов в изучении Scilab всем желающим.
Tags:
Hubs:
+5
Comments 1
Comments Comments 1

Articles