MIMIC - MIMIC
MIMIC , známý pouze kapitalizovanou formou, je bývalý simulační počítačový jazyk vyvinutý v roce 1964 HE Petersenem , FJ Sansom a LM Warshawsky ze Systems Engineering Group v rámci velení letectva ve Wright-Patterson AFB v Daytonu ve Spojených státech. Jedná se o výraz orientovaný kontinuální blok simulační jazyk, ale umožňuje zahrnout bloků FORTRAN -jako algebry.
MIMICKÉHO je další vývoj od MIDAS ( M odified I ntegration D igitální nalog S imulator), což představuje analogový počítač design. MIMIC, napsaný kompletně ve FORTRANU, ale v rutině COMPASS , a běží na superpočítačích Control Data , je schopen řešit mnohem větší simulační modely.
S MIMIC lze obyčejné diferenciální rovnice popisující matematické modely v několika vědních oborech, jako je strojírenství, fyzika, chemie, biologie, ekonomie a také ve společenských vědách, snadno vyřešit numerickou integrací a výsledky analýzy jsou uvedeny nebo nakresleny v diagramech . Umožňuje také analýzu nelineárních dynamických podmínek .
Softwarový balíček MIMIC, napsaný jako překrývací programy FORTRAN, provádí vstupní příkazy matematického modelu v šesti po sobě jdoucích průchodech. Simulační programy napsané v MIMICu jsou spíše kompilovány než interpretovány. Jádrem simulačního balíčku je variabilní krokový numerický integrátor metody Runge-Kutta čtvrtého řádu . Kromě některých matematických funkcí ve většině vědeckých programovacích jazyků existuje mnoho užitečných funkcí souvisejících s prvky elektrických obvodů. Není třeba třídit příkazy v pořadí závislostí proměnných, protože MIMIC to dělá interně.
Části softwaru uspořádané do překryvných vrstev jsou:
- MIMIN (vstup) - čte v uživatelském simulačním programu a datech,
- MIMCO (kompilátor) - kompiluje uživatelský program a vytváří základní pole instrukcí,
- MIMSO (sort) - seřadí pole instrukcí po závislostech proměnných,
- MIMAS (assembler) - převádí instrukce BCD do strojově orientovaného kódu ,
- MIMEX (spustit) - provede uživatelský program integrací,
- MIMOUT (výstup) - umístí data jako seznam nebo diagram dat.
Příklad
- Problém
Zvažte model predátor-kořist z oblasti mořské biologie a určete dynamiku populací ryb a žraloků. Jako jednoduchý model zvolíme rovnici Lotka – Volterra a konstanty uvedené v tutoriálu.
Li
- f (t): Populace ryb v průběhu času (ryby)
- s (t): Populace žraloků v průběhu času (žraloci)
- d f / dt nebo : tempo růstu populace ryb (ryby / rok)
- d s / dt nebo : tempo růstu populace žraloků (žraloci / rok)
- : rychlost růstu ryb při absenci žraloků (1 / rok)
- : úmrtnost na setkání ryby se žraloky (1 / žraloci a rok).
- : úmrtnost žraloků v nepřítomnosti jejich kořisti, ryby (1 / rok)
- : účinnost přeměny predated ryby na žraloky (žraloci / ryby)
pak
s počátečními podmínkami
Konstanty problému jsou uvedeny jako:
- = 600 ryb
- = 50 žraloků
- = 0,7 ryby / rok
- = 0,007 ryby / žralok a rok
- = 0,5 žraloka / rok
- = 0,1 žraloka / ryba
- tmax = 50 let
- Ukázka kódu
Card columns 0 1 2 3 4 5 6 7 12345678901234567890123456789012345678901234567890123456789012345678901 ----------------------------------------------------------------------- * A SIMPLE PREDATOR-PREY MODEL FROM MARINE BIOLOGY / (TUTORIAL 2: NUMERICAL SOLUTION OF ODE'S - 19/08/02) / ENVIRONMENTAL FLUID MECHANICS LAB / DEPT OF CIVIL AND ENVIRONMENTAL ENGINEERİNG / STANFORD UNIVERSITY * * LOTKA–VOLTERRA EQUATION CON(F0,S0,TMAX) CON(ALPHA,BETA,GAMMA,EPS) 1DF = ALPHA*F-BETA*F*S F = INT(1DF,F0) 1DS = EPS*BETA*F*S-GAMMA*S S = INT(1DS,S0) HDR(TIME,FISH,SHARK) OUT(T,F,S) PLO(F,S) FIN(T,TMAX) END <EOR> 600. 50. 50. 0.7 0.007 0.5 0.1 <EOF>
Reference
- Poznámky
- Řídicí data MIMIC; Digital Simulation Language, Reference Manual, Publication Number 4461n400, Control Data Corporation, Special Systems Publications, St. Paul, Minnesota (duben 1968)
- MIMIC, alternativní programovací jazyk pro průmyslovou dynamiku, ND Peterson, Socio-Econ Plan Sci. 6, Pergamon 1972
- Příručka MIMIC (1969), Computer Center Oregon State University