- •Основы моделирования систем
- •Введение в дисциплину "Основы моделирования систем"
- •Проблематика, задачи и цели моделирования
- •Технологии функционирования моделирующих программ
- •Обзор и классификация моделирующих программ
- •Решатели моделирующих программ
- •Понятие о структурном и мультидоменном физическом моделировании
- •Идея мультидоменного физического моделирования
- •Введение в технологию моделирования на основе направленных графов
- •Принцип поточного исполнения блок-схем (моделей)
- •Библиотеки блоков графических языков
- •Блоки обладающие эффектом памяти
- •Понятие о начальных условиях модели (Initial Condition)
- •Понятие о параметрах модели
- •Понятие о методах интегрирования
- •Выбор шага симуляции и метода интегрирования
- •Каскадные алгебраические петли
- •Каскодные алгебраические петли
- •Введение в технологию мультидоменного физического моделирования с применением ненаправленных графов
- •Принципы построения графа схемы физической принципиальной
- •Элементы ненаправленного графа
- •Пассивные элементы ненаправленного графа (потребители энергии)
- •Активные элементы ненаправленного графа (источники энергии)
- •Узлы ненаправленного графа
- •Рекомендации к использованию библиотеки элементов
- •Об альтернативном построении графа схемы физической принципиальной
- •Основы построения моделей на базе гибрида из направленных и ненаправленных графов при мультидоменном физическом моделировании
- •Связывание направленных и ненаправленных графов. Особенности условных графических обозначений пограничных элементов
- •Ситуации, требующие соблюдения условно-положительного направления тока энергетической материи для пассивных rlc-элементов
- •Понятие о датчике потенциала – w-элементе
- •Пример гибридно-графовой модели транзисторного усилителя с элементами инкапсуляции графов
- •Обзор методов анализа моделей, систем и сигналов
- •Идентификация моделей
- •Символьный анализ математического описания моделей
- •Частотный анализ моделей и систем
- •Литература
- •Обзор архитектурного построения программ математического моделирования динамических систем Введение
- •Модульная структура программ математического моделирования динамических систем
- •Архитектура математического ядра моделирующих программ с поточной моделью управления
- •Графический интерфейс программ математического моделирования динамических систем
- •Шлюз Visio2SimKernel
- •Xml хранилище модели
- •Литература
- •Что же с тоэ? или о структурном кризисе в методике преподавания блока дисциплин связанных с расчетом цепей преобразования энергий
- •Уровни сложности задач расчета цепей преобразования энергий
- •О том, как программы мультидоменного математического моделирования динамических систем "выкинули на помойку" учебники по теоретическим основам цепей
- •Сценарий изменения методики преподавания "Теоретических основ цепей" и обзор затруднений
Принцип поточного исполнения блок-схем (моделей)
Программы математического моделирования динамических систем относятся к графическим средам разработки иерархически структурированных программ верхнего уровня, и часть из них основана на поточной модели управления. Поточная модель управления – это основополагающее понятие для таких програм, как Jigrein, VisSim, ПК «МВТУ», Simulink, Easy5. Приведем определение:
Поточная модель управления (Data Flow)
Модель программирования, в которой инструкции, процедуры или функции выполняются только тогда, когда все входные данные (т.е. параметры и аргументы) готовы. Альтернативной моделью программирования является командное управление (Control Flow) в которой счетчик команд контролирует переход в памяти программ от одной команды к другой при их последовательном выполнении.
Рассмотрим пример:
Система уравнений модели составленная пользователем |
Упорядоченный программой информационный поток |
a) w=log(r) b) e=1 c) r=e−q d) q=sin(e) |
1) e=1 2) q=sin(e) 3) r=e−q 4) w=log(r) |
Для написания программ (создания моделей) используются графические языки, с помощью которых выполняется описание процессов преобразования данных в форме функциональных схем, блок-схем, схем физических принципиальных, мнемосхем, и прочее. Представим блок-схему для рассмотренного в примере информационного потока.
Статический информационный поток, составленный с помощью элементарных библиотечных блоков программы VisSim
Анализируя рисунок, легко заметить, что в любом информационном потоке данные распространяются от источников сигнала к приемникам. Очевидно, что в одном потоке могут существовать ветви, параллельные каналы и обратные связи. Могут существовать зависимые и независимые параллельные потоки. В случае если с течением времени источники сигнала меняют свое значение, то появляется смысл в повторном расчете потока. Такой информационный поток называется динамическим, а каждый повторный расчет называется шагом симуляции. Наиболее развитые языки графического программирования (G-язык среды программирования LabVIEW) кроме формирования информационных потоков позволяют программировать их исполнение, а в случае определения независимых параллельных потоков (мультизадачности) обеспечивают требуемый вид синхронизации.
Библиотеки блоков графических языков
В графических инструментальных средах информационные потоки определяются блоками, которые могут иметь входы и выходы. В библиотеках программ может присутствовать несколько сотен блоков. Блоки можно классифицировать:
Блоки – источники сигналов
Блоки – преобразователи сигналов
Блоки – приемники сигналов
Блоки, которые одновременно являются источниками, приемниками и преобразователями сигналов, т.е. это блоки обладающие эффектом памяти (кроме "УВХ")
Блоки (структуры) для программирования потока
Блоки (структуры) для синхронизации потоков
Большое количество блоков может наблюдаться только в группе преобразователей сигналов. Минимально необходимым является количество100+/−10 блоков. Это блоки элементарных математических операций:
Арифметические
Логические
Трансцендентные
Матричные
Нелинейные
Обладающие эффектом памяти
Практически все языки графического программирования поддерживают инкапсуляцию смыслового фрагмента информационного потока, т.е. небольшого фрагмента блок-схемы, в одном составном блоке. Этот механизм является основой при составлении иерархически структурированных программ (моделей), а так же позволяет расширить библиотеку базовых блоков блоками пользователя, которые, в последствии, можно многократно использовать (например, типовые динамические звенья).
