Issuu on Google+

Технические и программные средства моделирования


Технические и программные средства моделирования

Традиционно под моделированием на ЭВМ понималось лишь имитационное моделирование. Можно, однако, увидеть, что и при других видах моделирования компьютер может быть весьма полезен, за исключением разве физического моделирования, где компьютер вообще-то тоже может использоваться, но, скорее, для целей управления процессом моделирования. Например при математическом моделировании выполнение одного из основных этапов - построение математических моделей по экспериментальным данным - в настоящее время просто немыслимо без компьютера. В последние годы, благодаря развитию графического интерфейса и графических пакетов, широкое развитие получило компьютерное, структурно-функциональное моделирование. Положено начало использованию компьютера даже при концептуальном моделировании, где он используется, например, при построении систем искусственного интеллекта.


Технические и программные средства моделирования

Компьютерное моделирование - метод решения задачи анализа или синтеза сложной системы на основе использования ее компьютерной модели. Суть компьютерного моделирования заключена в получении количественных и качественных результатов по имеющейся модели. Качественные выводы, получаемые по результатам анализа, позволяют обнаружить неизвестные ранее свойства сложной системы: ее структуру, динамику развития, устойчивость, целостность и др. Количественные выводы в основном носят характер прогноза некоторых будущих или объяснения прошлых значений переменных, характеризирующих систему.


Технические и программные средства моделирования Под компьютерной моделью в настоящее время понимают: 1) условный образ объекта или некоторой системы объектов (или процессов), описанный с помощью взаимосвязанных компьютерных таблиц, блок-схем, диаграмм, графиков, рисунков, анимационных фрагментов, гипертекстов и т. д. и отображающий структуру и взаимосвязи между элементами объекта; 2) отдельную программу, совокупность программ, программный или аппаратный комплекс, позволяющий с помощью последовательности вычислений и графического отображения их результатов, воспроизводить (имитировать) процессы функционирования объекта, системы объектов при условии воздействия на объект различных, как правило случайных, факторов.


Технические и программные средства моделирования Аналоговое моделирование представляет собой математическое моделирование систем на аналоговых вычислительных машинах (АВМ). Аналоговое моделирование реализуются путем составления электрических цепей, т. е. когда язык программирования не требуется. Подобие оригинала и модели заключается в схожести их математических описаний. Цифровое моделирование представляет собой математическое моделирование систем на цифровых вычислительных машинах (ЦВМ). Цифровое моделирование реализуется использованием языков программирования и пакетов прикладных программ на ЦВМ. Гибридное (или аналогово-цифровое) моделирование реализуется путем совмещения методов аналогового и цифрового моделирования. Используется, когда некоторые величины представлены в непрерывной форме, а их обработка производиться методами цифрового моделирования (например: при использовании вычислительных машин в контурах регулирования).


Технические и программные средства моделирования АВМ

ЦВМ

Представление математических величин

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

Математические величины представляются в цифровой форме, как правило, в двоичной системе счисления.

Возможности изменения математических величин Принцип выполнения математических операций

Возможно непрерывное изменение математической величины в пределах определенного диапазона.

Значения величин изменяются только дискретно.

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

Математические операции сводятся к арифметическому сложению или вычитанию, как это делается вручную.

Точность

Точность выполнения математических операций ограничена технологией изготовления различных элементов, реализующих эти операции. Точность не высокая.

Точность математических операций определяется в основном количеством разрядов при числовом представлении математических величин.

Количество независимых переменных Решаемый класс задач

Одна.

Не ограничено

Обыкновенные дифференциальные уравнения.

Класс решаемых задач не ограничен. Однако существует сложность алгоритмизации методов решения для многих классов задач.

Быстродействие

Математические операции выполняются в течение определенного промежутка времени, длительность которого зависит от их сложности.


Моделирование на аналоговой вычислительной машине Конструктивно АВМ состоит из отдельных операционных блоков, каждый из которых выполняет одну математическую операцию. Для решения задачи блоки коммутируются в определённой последовательности. Процесс состоит из нескольких этапов. 1. Конкретизация условий задачи. Прежде всего целесообразно выяснить ожидаемый характер процесса, описываемого искомым решением. Характер процесса (сходящийся, расходящийся, колебательный) определяется устойчивостью или неустойчивостью системы, описываемой этим уравнением. Если установить его на основании физических соображений невозможно, следует подвергнуть анализу на устойчивость соответствующее характеристическое уравнение. Моделирование расходящихся функций всегда сопровождается значительными погрешностями. Во всех случаях желательно иметь сведения о пределах изменения переменных величин и их производных.


Моделирование на аналоговой вычислительной машине

2. Приведение уравнения к виду, удобному для моделирования. При моделировании дифференциальных уравнений задача сводится к получению выражений для старших производных. 3. Составление структурной схемы. Выполняется из блоков присутствующих в АВМ (см. Табл. на следующем слайде). Следует стремиться к минимизации числа блоков, нагрузки каждого из них и числа входов сумматоров и сумматоров - интеграторов


Моделирование на аналоговой вычислительной машине Название операции

Структурная схема

Обозначение

Зависимость входа от выхода

Передаточная функция

Rос

Пропорциональный усилитель

Rвх

U вых  k U вх ,

K

U i R R k   вых   ос ос   ос U вх iвх  Rвх Rвх

Uвых

+

W ( p) 

U вых ( p) Rос  k U вх ( p) Rвх

Rос Rвх

U вых  U вх ,

1

Звено перемены знака

Uвых

+

Rвх  Rвх  k  

W ( p) 

Rос  1 Rвх

U вых ( p) 1 U вх ( p)

Rос

K11 Rвх1 Uвх1

Суммирующий усилитель

U вых  (k11  U вх1  k12  U вх 2  ... k1n  U вхn )

-

Uвых

+

Uвх2

k 11

K12 K1n

Rвх2 Rвхn

R Rос R , k 12 ос , …, k 1n  ос Rвхn Rвх1 Rвх 2

Uвхn

Cос

Интегрирующее звено

Uвх

K11

Rвх -

U вых.  

Uвых

+

1   U вх.  dt. Rвх.  Сос

1 Coc  p 1  Rвх. Rвх.  Сос  p

W ( p) 

 oc ( p)   вх. ( p)

W ( p) 

 oc ( p) Roc   Roc  Cвх.  p 1  вх. ( p) Cвх.  p

Rос K11

Дифференцирующее звено

Uвх

Cвх +

Uвых K12


Моделирование на аналоговой вычислительной машине 4. Масштабирование. При решении задачи средствами АВМ возникает необходимость масштабирования переменных, т.к. диапазон изменения моделируемых величин велик, а диапазон изменения напряжения операционных элементов АВМ гораздо ниже. Приходится также масштабировать и время изменения переменных, т.к. реальное время моделируемых процессов может изменяться в интервале от нескольких часов до микросекунд, а время воспроизведения на АВМ ограничивается интервалом в несколько минут, что обусловлено необходимостью регистрации решения и температурной стабильностью установки. Аналоговые величины масштабируются следующим образом:

Mx  где

U max , X max

M x - масштаб переменной;

U max - максимальное значение напряжения для АВМ;

X max - максимальное значение физической величины.


Моделирование на аналоговой вычислительной машине Аналогично избирается масштаб времени:

M  , t где

M  - масштаб изменения переменной по времени;

t

- время изменения машинных переменных; - реальное время изменения физических величин.

С введением масштабов устанавливается связь между физическими и модельными величинами:

x  X Mx где

или X 

x - машинная переменная.

x Mx


Моделирование на аналоговой вычислительной машине Аналогично для времени:

где

  t  M  или - машинное время.

t

 M

5. Набор и решение задачи. Набор задачи означает коммутацию вычислительных блоков соответственно структурной схеме, установку коэффициентов передачи решающих усилителей, настройку блоков нелинейностей, ввод начальных условий. После этого следует пробное решение задачи с уточнением масштабов и коэффициентов передачи.


Моделирование на аналоговой вычислительной машине

6. Фиксация решения. Для автоматической записи медленно изменяющихся величин (например, напряжений U (t м )  y(t ) ) применяют самописцы, для записи быстро изменяющихся величин используют шлейфные и электроннолучевые осциллографы. Напряжения интеграторов можно фиксировать в различные моменты времени и строить график y (t ) по точкам. Возможно частое автоматическое повторение процесса решения при помощи специального периодизатора, автоматически выполняющего все необходимые переключения блоков. В этом случае применение в качестве индикатора решения электронно-лучевой трубки с длительным послесвечением обеспечивает наблюдение результата в виде "застывшей" на экране кривой.


Gephi

EasyPower

PSCad

LINGO

MatLab

Специализированные моделирующие комплексы

Математические программные пакеты

Универсальные моделирующие комплексы

Языки общего назначения

Языки имитационного моделирования Языки программирования

MathCad

AnyLogic

Stratum

Fortran

C++

Pascal

MIMIC

SIMULA

GPSS

Программные средства моделирования

Моделирование систем на ЦВМ

Прикладные программы


Программные средства моделирования GPSS http://www.minutemansoftware.com

General Purpose Simulation System — система моделирования общего назначения. Это не только система имитационного моделирования а, прежде всего, это неординарное явление в мире программирования конца 60-х/начала 70-х годов. GPSS уже исполнилось 50 лет (декабрь 2011 года).

Simula http://www.volny.cz/petr-novak/cim/

Simula 67 явилась первым языком с встроенной поддержкой основных механизмов объектно-ориентированного программирования. Этот язык в значительной степени опередил своё время, современники (программисты 60х годов) оказались не готовы воспринять ценности языка Simula 67, и он не выдержал конкуренции с другими языками программирования (прежде всего, с языком Fortran). Прохладному отношению к языку Simula 67 способствовало и то обстоятельство, что его реализация была весьма неэффективна, не в последнюю очередь из-за использования сборки мусора.


Программные средства моделирования

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

program HelloWorld; begin writeln('Hello, World!'); end.

{ оператор вывода строки }


Программные средства моделирования

C++ http://www.microsoft.com/visualstudio/eng/products/visual-studio-overview

C++ - компилируемый статически типизированный язык программирования общего назначения. Поддерживает такие парадигмы программирования как процедурное программирование, модульность, раздельная компиляция, обработка исключений, абстракция данных, типы (объекты), виртуальные функции, объектно-ориентированное программирование, обобщенное программирование, контейнеры и алгоритмы, сочетает свойства как высокоуровневых, так и низкоуровневых языков. В сравнении с его предшественником - языком C, - наибольшее внимание уделено поддержке объектно-ориентированного и обобщённого программирования. Название «C++» происходит от названия языка C, в котором унарный оператор ++ обозначает инкремент переменной. #include <iostream> using namespace std; void main() { cout << "Hello World!" << endl; cout << "Welcome to C++ Programming" << endl; }


Программные средства моделирования Fortran http://www.thefreecountry.com/compilers/fortran.shtml

Fortran - первый язык программирования высокого уровня, имеющий транслятор. Создан в период с 1954 по 1957 год группой программистов под руководством Джона Бэкуса в корпорации IBM. Название Fortran является сокращением от FORmula TRANslator (переводчик формул). Фортран широко используется в первую очередь для научных и инженерных вычислений. Одно из преимуществ современного Фортрана - большое количество написанных на нём программ и библиотек подпрограмм. Большинство библиотек является фактически достоянием человечества: они доступны в исходных кодах, хорошо документированы, отлажены и весьма эффективны. Поэтому изменять, а тем более переписывать их на других языках программирования накладно, несмотря на то, что регулярно производятся попытки автоматического конвертирования FORTRAN-кода на современные языки программирования. Современный Фортран (Fortran 95 и Fortran 2003) приобрёл черты, необходимые для эффективного программирования для новых вычислительных архитектур, позволяет применять современные технологии программирования, в частности, ООП. Program Hello Print *, "Hello World!" End Program Hello


Программные средства моделирования Stratum 2000 (http://www.stratum.ac.ru/rus/stratum/3.0/) При проектировании систем обеспечивается: 1) композиция и декомпозиция объектов, наследование свойств; 2) визуальное проектирование связей между объектами (М:М, 1:М, М:1); 3) проектирование структур данных, баз данных и моделей объектов; 4) проектирование пользовательского интерфейса; 5) создание и редактирование двух- и трехмерных статических и динамических изображений и сцен и управление ими из модели; 6) выполняемость разрабатываемого прототипа системы за счет автоматической генерации моделей объектов в исполняемый код; 7) возможность моделирования прототипа системы на любой стадии разработки.


Программные средства моделирования AnyLogic (http://www.anylogic.ru/) AnyLogic - инструмент имитационного моделирования (ИМ), который поддерживает все подходы к созданию имитационных моделей: процессно-ориентированный (дискретно-событийный), системно динамический и агентный, а также любую их комбинацию. Гибкость и мощность языка моделирования, предоставляемого AnyLogic, позволяет учесть любой аспект моделируемой системы с любым уровнем детализации. Графический интерфейс AnyLogic, инструменты и библиотеки позволяют быстро создавать модели для широко спектра задач от моделирования производства, логистики, бизнес-процессов до стратегических моделей развития компании и рынков.


Программные средства моделирования MathCad (http://www.ptc.com/product/mathcad/) Ориентирован на решение простых математических задач (численное решение задач, матричные операции, символьные преобразования, построение графиков). Удобен тем, что можно оформлять материалы в виде отчетов или учебников.


Программные средства моделирования MathLab (http://www.mathworks.com/) Имеет свой язык программирования, средства ля вычислений, коммуникации с внешним оборудованием, визуализации данных. Имеется среда визуального моделирования Simulink.


Программные средства моделирования Lingo (http://www.lindo.com/) Используется для решения задач связанных главным образом с решением оптимизационных задач. Поддерживаются алгоритмы линейного, нелинейного, квадратичного, целочисленного и стохастического программирования. Реализовано большое количество других математических алгоритмов (напр. Марковские цепи). Есть API, высокая скорость работы, малый размер программы и сохраняемых файлов.


Программные средства моделирования PSCad (https://pscad.com/products/pscad) Специализированная оболочка для визуального моделирования производственных систем электроснабжения в динамики как в штатных так и не штатных ситуациях (переходные процессы).


Программные средства моделирования

EasyPower (http://www.easypower.com/products/EasyPower/) Система продуктов для моделирования систем электроснабжения в динамике, расчета уставок защит, рисования высоковольтных электрических схем,


Программные средства моделирования

Gephi (https://gephi.org/) Система анализа графов. Позволяет вычислять такие вещи как максимальный поток, кратчайший путь и т.д.


Simulation System