МИМИК

MIMIC , известный только с заглавной буквы, — бывший язык компьютерного моделирования, разработанный в 1964 году Х. Э. Петерсеном, Ф. Дж. Сэнсомом и Л. М. Варшавски из Группы системной инженерии в Командовании материально-технического обеспечения ВВС на авиабазе Райт-Паттерсон в Дейтоне, штат Огайо , США. [1] Это язык моделирования с непрерывными блоками, ориентированный на выражения , но способный включать блоки алгебры, подобной FORTRAN .

MIMIC является дальнейшим развитием MIDAS ( M odified Integration D igital Analog S imulator), который представлял собой проектирование аналоговых компьютеров . Полностью написанный на FORTRAN, но с одной процедурой на COMPASS , и работающий на суперкомпьютерах Control Data , MIMIC способен решать гораздо более крупные модели симуляции.

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

Пакет программного обеспечения MIMIC, написанный в виде программ наложения FORTRAN, выполняет входные операторы математической модели за шесть последовательных проходов. Программы моделирования, написанные в MIMIC, компилируются, а не интерпретируются. Ядром пакета моделирования является числовой интегратор переменного шага метода Рунге-Кутты четвертого порядка . Существует множество полезных функций, связанных с элементами электрической цепи, помимо некоторых математических функций, встречающихся в большинстве научных языков программирования. Нет необходимости сортировать операторы в порядке зависимости переменных, поскольку MIMIC делает это внутренне.

Части программного обеспечения, организованные в виде наложений:

  • MIMIN (вход) – считывает данные и программу моделирования пользователя,
  • MIMCO (компилятор) – компилирует пользовательскую программу и создает внутриядерный массив инструкций,
  • MIMSO (sort) – сортирует массив инструкций по зависимостям переменных,
  • MIMAS (ассемблер) – преобразует инструкции BCD в машинно-ориентированный код ,
  • MIMEX (выполнить) – выполняет пользовательскую программу путем интеграции,
  • MIMOUT (выход) – выводит данные в виде списка или диаграммы данных.

Пример

Проблема

Рассмотрим модель хищник-жертва из области морской биологии для определения динамики популяций рыб и акул. В качестве простой модели мы выбираем уравнение Лотки-Вольтерры и константы, приведенные в руководстве. [2]

Если

f (t): Популяция рыб с течением времени (рыбы)
s (t): Популяция акул с течением времени (акулы)
d f / dt или : темпы роста популяции рыб (рыб/год) ф ˙ {\displaystyle {\точка {f}}}
d s / dt или : темпы роста популяции акул (акул/год) с ˙ {\displaystyle {\точка {s}}}
α {\displaystyle \альфа} : скорость роста рыб в отсутствие акул (1/год)
β {\displaystyle \бета} : показатель смертности при столкновении рыб с акулами (1/акула в год).
γ {\displaystyle \гамма} : смертность акул при отсутствии их добычи, рыбы (1/год)
ϵ {\displaystyle \epsilon} : эффективность превращения хищных рыб в акул (акулы/рыбы)

затем

ф ˙ = α ф β ф с {\displaystyle {\dot {f}}=\alpha f-\beta fs}
с ˙ = ϵ β ф с γ с {\displaystyle {\dot {s}}=\epsilon \beta fs-\gamma s}

с начальными условиями

ф ( 0 ) = ф о {\displaystyle f(0)=f_{o}}
с ( 0 ) = с о {\displaystyle s(0)=s_{o}}

Константы задачи имеют вид:

  • ф о {\displaystyle f_{o}} = 600 рыб
  • с о {\displaystyle s_{o}} = 50 акул
  • α {\displaystyle \альфа} = 0,7 рыбы/год
  • β {\displaystyle \бета} = 0,007 рыбы/акула в год
  • γ {\displaystyle \гамма} = 0,5 акулы/год
  • ϵ {\displaystyle \epsilon} = 0,1 акула/рыба
  • tмакс = 50 лет
Пример кода
Карточные столбцы0 1 2 3 4 5 6 712345678901234567890123456789012345678901234567890123456789012345678901-------------------------------------------------- ---------------------* ПРОСТАЯ МОДЕЛЬ ХИЩНИК-ЖЕРТВА ИЗ МОРСКОЙ БИОЛОГИИ/ (УЧЕБНИК 2: ЧИСЛЕННОЕ РЕШЕНИЕ ОДУ - 19/08/02)/ ЛАБОРАТОРИЯ МЕХАНИКИ ОКРУЖАЮЩЕЙ СРЕДЫ/ ОТДЕЛЕНИЕ ГРАЖДАНСКОЙ И ЭКОЛОГИЧЕСКОЙ ИНЖЕНЕРИИ/ СТЭНФОРДСКИЙ УНИВЕРСИТЕТ** УРАВНЕНИЕ ЛОТКИ–ВОЛЬТЕРРА КОН(F0,S0,TМАКС) КОН(АЛЬФА,БЕТА,ГАММА,EPS) 1DF = АЛЬФА*F-БЕТА*F*S F = ЦЕЛОЕ(1DF,F0) 1DS = EPS*БЕТА*F*S-ГАММА*S S = ЦЕЛОЕ(1DS,S0) HDR(ВРЕМЯ,РЫБА,АКУЛА) ВЫХОД(Т,Ф,С) ООП(Ф,С) ФИН(Т,ТМАКС) КОНЕЦ<ЭОР>600. 50. 50.0,7 0,007 0,5 0,1<КонецФ>

Ссылки

  1. ^ Центр технической информации Министерства обороны [ нерабочая ссылка ‍ ]
  2. ^ "Учебник 2: Численные решения ОДУ" (PDF) . Стэнфордский университет - Кафедра гражданского и экологического строительства, Лаборатория механики жидкостей в окружающей среде. 2002-08-19. Архивировано из оригинала (PDF) 2010-07-20 . Получено 2012-02-26 .
Примечания
  • Control Data MIMIC; Язык цифрового моделирования, справочное руководство, номер публикации 4461n400, Control Data Corporation, Special Systems Publications, Сент-Пол, Миннесота (апрель 1968 г.)
  • MIMIC, Альтернативный язык программирования для промышленной динамики, ND Peterson, Socio-Econ Plan Sci. 6, Pergamon 1972
  • Руководство MIMIC (1969), Компьютерный центр Университета штата Орегон [ постоянная мертвая ссылка ‍ ]
Взято с "https://en.wikipedia.org/w/index.php?title=MIMIC&oldid=1182186259"