miniatura|Simulació per ordinador feta el 1990 de boirina contaminada sobre sobre Karl Marx Stadt (Chemnitz), Alemanya Una simulació d'ordinador, un model de simulació per ordinador o un model informatitzat és un programa informàtic o una xarxa d'ordinadors la finalitat del qual és crear una simulació d'un model abstracte d'un determinat sistema que està dissenyat per predir el comportament o el resultat d'un sistema físic o del món real. La fiabilitat d'alguns d'aquests models es pot determinar comparant els resultats obtinguts computacionalment amb els observats empíricament al món real. Les simulacions per ordinador s'han convertit en una part rellevant i útil dels models matemàtics de molts sistemes naturals de ciències com la física, l'astrofísica, la climatologia la química i la biologia; així com de sistemes humans d'economia, psicologia, ciències socials, ciències de la salut i enginyeria. A més es fa servir en el disseny de nova tecnologia per arribar a comprendre millor el seu funcionament.
Les simulacions per ordinador abasten des de programes informàtics l'execució dels quals dura uns minuts fins a conjunts d'ordinadors connectats en xarxa l'execució dels quals dura hores o fins i tot dies. És tal el nivell de complexitat que pot arribar a assolir una simulació per ordinador, que per alguns models seria impossible (o més aviat inimaginable) reproduir els mateixos resultats fent la simulació de manera tradicional amb paper i llapis. alt=Es mostra un diagrama de caixes relacionades amb fletxes. Indica que a partir del sistema real es crea el model de simulació i també es realitzen experiments. A partir del model creat es crea el sistema modelitzat. Del sistema modelitzat es realitzen simulacions i es construeixen teories aproximades. A partir dels experiments del sistema real obtenim els resultats experimentals. A partir de la simulació realitzada obtenim resultats de la simulació, i a partr de les teories aproximades obtenim prediccions teòriques. Finalment es comparen els resultats experimentals amb els resultats de la simulació per a comparar i millorar el model, i també es comparen els resultats experimentals, amb els resultats de la simulació i amb les prediccions teòriques per a comprar i millorar les teories.|miniatura|219x219px|Procés de construcció d'una simulació per ordinador, i les interaccions entre la part experimental, la simulació i la teoria. Un exemple de simulació de llarga durada és el projecte Blue Brain de l'Escola Politècnica federal de Lausana a Suïssa que es va iniciar el maig de 2005 per a fer la simulació per ordinador de tot el cervell humà, arribant fins i tot al nivell molecular."Mission to build a simulated brain begins", project of the institute at the École Polytechnique Fédérale de Lausanne (EPFL), Switzerland, New Scientist, June 2005.
Model i simulació Cal diferenciar entre un model i una simulació. Parlem de model per a referir-nos al conjunt d'algorismes i equacions que capturen i reprodueixen el comportament del sistema que s'està simulant. Per contra, una simulació per ordinador és l'execució d'aquests algorismes i equacions. Per tant, una simulació per ordinador és com denominem al procés de fer córrer un model. Segons aquest criteri, no diríem "construir una simulació", sinó "construir un model (o simulador)". Similarment, no diríem "fer córrer el model", sinó que diríem "fer córrer una simulació".
Història La simulació per ordinador es va desenvolupar alhora que es va produir el vertiginós progrés de l'ordinador. El seu primer desplegament a gran escala va ser en el Projecte Manhattan, durant la Segona Guerra Mundial, per recrear una detonació nuclear. Es tractava d'una simulació de dotze esferes emprant el mètode de Montecarlo. Les simulacions per ordinador de vegades complementen o fins i tot substitueixen els sistemes de modelització per als quals no és possible trobar solucions analítiques de forma tancada. Hi ha molts tipus de simulació per ordinador, però tots comparteixen una característica comuna: tracten de generar una mostra d'escenaris representatius per a un model en què una relació completa de tots els estats possibles seria molt costós o impossible. Els models informatitzats es van emprar inicialment com a suplement d'altres paràmetres, però més endavant el seu ús es va estendre a altres àmbits.
Preparació de les dades Els requisits per a les dades externes de simulacions i models varia àmpliament. Per alguns models, les dades d'entrada poden ser simplement un conjunt de nombres (per exemple, la simulació d'una ona d'electricitat a un cable elèctric), mentre d'altres poden requerir terabytes sencers d'informació (com ara un model de predicció meteorològic).
Les fonts de les dades d'entrada poden variar molt. Poden donar-se en forma de:
Sensors i d'altres dispositius físics connectats al model; Superfícies de control, emprades per a dirigir el progrés de la simulació; Dades actuals o històriques introduïdes a mà; Valors extrets com a subproducte d'altres processos; Valors de sortida d'altres simulacions, models o processos.
Finalment, el moment en què podem accedir a les dades també pot mostrar variabilitat. Podem trobar:
Dades "invariants" solen estar construïdes directament dins el codi del model. Ja sigui perquè el valor és realment invariant (per exemple, el valor de π), o perquè els dissenyadors consideren el valor invariant per a tots els casos d'interès. Dades introduïdes a la simulació un cop comença, per exemple llegint un o més arxius, o llegint les dades d'un preprocessador. Dades proporcionades mentre la simulació s'executa, com ara una xarxa de sensors.
A causa d'aquesta varietat, i també perquè diversos sistemes de simulació comparteixen molts elements, hi ha un gran nombre de llenguatges de simulació especialitzats. El més conegut podria ser Simula. Actualment n'hi ha molts més.
Els sistemes que accepten dades de fonts externes han de tenir present què és el que estan rebent exactament. Mentre que per a un ordinador és una tasca fàcil llegir dades a partir d'un fitxer de text o d'un arxiu binari, el que és molt més difícil és saber la precisió dels valors. Normalment, expressem aquesta precisió amb "barres d'error", la desviació mínima i màxima dins del rang de valors per al qual esperem trobar el valor real. Com que la computació matemàtica digital no és perfecta, l'error que causen l'arrodoniment i el truncament es multiplica, per tant, és útil i recomanable realitzar una «anàlisi d'error» per a confirmar que els valors de les dades de sortida de la simulació seran útilment precisos.
Tipus Les simulacions per ordinador es poden classificar segons diferents parells d'atributs:
Estocàstic o determinista (i com a cas especial de determinista, caòtic) Estàtic o dinàmic Continu o discret (i com a cas especial important de models discrets, d'esdeveniments discrets o DE) Simulació de sistemes dinàmics, p. sistemes elèctrics, sistemes hidràulics o sistemes mecànics multicossos (descrits principalment per DAE:s) o simulació dinàmica de problemes de camp, p. CFD de simulacions FEM. Local o distribuït
Una altra manera de categoritzar els models és mirar les estructures de dades subjacents. Per a les simulacions de temps, hi ha dues classes principals: Les simulacions que emmagatzemen les seves dades en graelles normals i només requereixen l'accés del veí següent s'anomenen codis de plantilla. Moltes aplicacions de CFD pertanyen a aquesta categoria. Si el gràfic subjacent no és una quadrícula normal, el model pot pertànyer a la classe del mètode sense malla.
Les equacions defineixen les relacions existents entre els elements del sistema modelat i tracten de trobar un estat en què el sistema estigui en equilibri. Aquesta classe de models es fan servir habitualment per simular sistemes físics, és a dir, a tall de modelatge més senzill abans de passar al modelatge dinàmic.
Els models de simulació dinàmica canvien en un sistema en resposta a senyals d'entrada. Els models estocàstics fan servir generadors de nombres aleatoris per simular l'atzar o una sèrie d'esdeveniments aleatoris. Una simulació d'un esdeveniment discret (DES, de l'anglès Discrete event simulation) manipula esdeveniments en el temps. La majoria de les simulacions per ordinador de tests de lògica i arborigrames de fallades són d'aquest tipus. En aquest tipus de simulació, el simulador té una llista d'esdeveniments ordenats pel temps que haurien de succeir. El simulador llegeix la llista i activa nous esdeveniments a mesura que se'n processa un altre. No és important executar la simulació en temps real, sinó que normalment se li dona més importància en poder accedir a les dades produïdes per la simulació per descobrir defectes lògics en el disseny o la successió d'esdeveniments. Una simulació de moviment continu proporciona una solució numèrica a equacions diferencials algebraiques o equacions diferencials (tant equacions diferencials en derivades parcials com equacions diferencials ordinàries). A intervals regulars, el programa de simulació resol totes les equacions i utilitza els números per canviar l'estat i la sortida de la simulació. Entre les aplicacions s'hi inclouen simuladors de vol, videojocs de construcció i gestió, modelats de processos químics i simulacions de circuits elèctrics. Al principi, aquest tipus de simulacions s'executaven en ordinadors analògics, en què es podien representar les equacions diferencials mitjançant diferents components elèctrics com a amplificadors operacionals. No obstant això, a partir de finals dels anys vuitanta, la major part de les simulacions analògiques s'executaven en ordinadors digitals que emulaven els ordinadors analògics. Un tipus especial de simulació discreta que no se sustenta en un model basat en una equació, però que, això no obstant, es pot representar formalment, és la simulació agent-based. En aquesta simulació, les entitats individuals (com, per exemple, molècules, cèl·lules, arbres o consumidors) del model es representen directament (en lloc de per la seva densitat o concentració) i tenen un estat intern i un conjunt de comportaments o regles que determinen com s'actualitza l'estat de l'agent d'un salt de temps al següent. Els models distribuïts s'executen a una xarxa d'ordinadors interconnectats, possiblement a través d'Internet. Aquest tipus de simulacions disperses en diferents ordinadors centrals se les coneix amb el nom de «simulacions distribuïdes». Hi ha diversos estàndards per a les simulacions distribuïdes, entre els quals hi ha l'Aggregate Level Simulation Protocol (ALSP), el Distributed Interactive Simulation (DIS), el High level architecture (simulation) (HLA) i el Test and Training Enabling Architecture (TENA) .
Visualització Prèviament, a l'hora de presentar els resultats obtinguts d'una simulació per ordinador, es feien servir taules o matrius on es mostrava com les dades es veien afectades per diversos canvis als paràmetres de la simulació. L'ús d'aquest format es devia a la influència de l'ús de matrius clàssic en l'estudi de models matemàtics. Psicòlegs i d'altres experts van adonar-se que les persones podem percebre tendències ràpidament simplement observant gràfics o fins i tot imatges en moviment generades a partir de les dades.
Fins i tot quan l'observador no és capaç d'interpretar els nombres o les fórmules, simplement mirant les gràfiques pot ser capaç d'entendre què és el que està passant a la simulació. Un bon exemple d'aquest fenomen són els mapes de simulacions meteorològiques. Gairebé qualsevol persona pot interpretar correctament una simulació del mapa de pluges dels dies vinents, i fins i tot si no som capaços de dir que és el que està passant exactament, podem arribar a la conclusió correcta ("la pluja s'apropa o s'allunya d'on sóc jo").