Revision as of 19:37, 12 February 2011 edit79.181.25.208 (talk) →Examples← Previous edit | Latest revision as of 20:29, 3 September 2024 edit undo77.20.253.138 (talk) resolved discrepancy between lead and main article body | ||
(429 intermediate revisions by more than 100 users not shown) | |||
Line 1: | Line 1: | ||
{{short description|Process of mathematical modelling, performed on a computer}} | |||
{{About|computer model within a scientific context|artistic usage|3d modeling|simulating a computer on a computer|emulator}} | |||
{{About|computer model within a scientific context|simulating a computer on a computer|emulator}} | |||
{{More footnotes|date=May 2008}} | |||
{{redirect|Computer model|computer models of 3 dimensional objects|3D modeling}} | |||
{{redirect|Digital model|digital twinning|Digital twin|virtual fictional characters|Virtual influencer}} | |||
{{More citations needed|date=December 2022}} | |||
] using the ] ]] | |||
] | |||
'''Computer simulation''' is the running of a ] on a ], the ] being designed to represent the behaviour of, or the outcome of, a real-world or physical system. The reliability of some mathematical models can be determined by comparing their results to the real-world outcomes they aim to predict. Computer ]s have become a useful tool for the mathematical modeling of many natural systems in ] (]), ], ], ], ] and ], as well as human systems in ], ], ], ] and ]. Simulation of a system is represented as the running of the system's model. It can be used to explore and gain new insights into new ] and to estimate the performance of systems too complex for ]s.<ref>{{Cite book | |||
] around ] (]), ]: computer simulation in ]]] | |||
A '''computer simulation''', a '''computer model''', or a '''computational model''' is a ], or network of computers, that attempts to ] an abstract ] of a particular system. Computer simulations have become a useful part of ]ing of many natural systems in ] (]), ], ] and ], human systems in ], ], ], and ]. Simulations can be used to explore and gain new insights into new ], and to estimate the performance of systems too complex for ]s.<ref>{{Citation | |||
| last =Strogatz | | last =Strogatz | ||
| first =Steven | | first =Steven | ||
Line 13: | Line 16: | ||
| editor-first =John | | editor-first =John | ||
| publisher =HarperCollins | | publisher =HarperCollins | ||
| |
| isbn=9780061214950 | ||
}}</ref> | |||
Computer simulations |
Computer simulations are realized by running ]s that can be either small, running almost instantly on small devices, or large-scale programs that run for hours or days on network-based groups of computers. The scale of events being simulated by computer simulations has far exceeded anything possible (or perhaps even imaginable) using traditional paper-and-pencil mathematical modeling. In 1997, a desert-battle simulation of one force invading another involved the modeling of 66,239 tanks, trucks and other vehicles on simulated terrain around ], using multiple supercomputers in the ] High Performance Computer Modernization Program.<ref name="JPLsim">{{cite web |url-status=dead |url=http://www.jpl.nasa.gov/releases/97/military.html |title=Researchers stage largest Military Simulation ever |archive-url=https://web.archive.org/web/20080122123958/http://www.jpl.nasa.gov/releases/97/military.html |archive-date=2008-01-22 |website=] |publisher=] |date=December 4, 1997}}</ref> | ||
Other examples include a 1-billion-atom model of material deformation;<ref>{{cite web|title=Molecular Simulation of Macroscopic Phenomena|url=http://www.almaden.ibm.com/st/past_projects/fractures/ |website=IBM Research - Almaden |url-status=dead |archive-url=https://web.archive.org/web/20130522082737/http://www.almaden.ibm.com/st/past_projects/fractures/|archive-date=2013-05-22}}</ref> a 2.64-million-atom model of the complex protein-producing organelle of all living organisms, the ], in 2005;<ref name="LANLsim">{{cite web |url-status=dead |title=Largest computational biology simulation mimics life's most essential nanomachine |first1=Nancy |last1=Ambrosiano |publisher=] |location=Los Alamos, NM |date=October 19, 2005 |url=http://www.lanl.gov/news/index.php/fuseaction/home.story/story_id/7428 |archive-url=https://web.archive.org/web/20070704061957/http://www.lanl.gov/news/index.php/fuseaction/home.story/story_id/7428 |archive-date=2007-07-04 }}</ref> | |||
</ref> | |||
a complete simulation of the life cycle of '']'' in 2012; and the ] project at ] (Switzerland), begun in May 2005 to create the first computer simulation of the entire human brain, right down to the molecular level.<ref name="Brainsim">{{cite web |url-status=live |url=https://www.newscientist.com/article/dn7470.html |title=Mission to build a simulated brain begins |archive-url=https://web.archive.org/web/20150209125048/http://www.newscientist.com/article/dn7470.html |archive-date=2015-02-09 |website=] |date=June 6, 2005 |first1=Duncan |last1=Graham-Rowe }}</ref> | |||
a 1-billion-atom model of material deformation ; a 2.64-million-atom model of the complex maker of protein in all organisms, a ], in 2005;<ref name="LANLsim"> | |||
"Largest computational biology simulation mimics life's | |||
most essential nanomachine" (news), News Release, | |||
Nancy Ambrosiano, ], | |||
Los Alamos, NM, October 2005, webpage: | |||
.</ref> | |||
and the ] project at ] (Switzerland), began in May 2005, to create the first computer simulation of the entire human brain, right down to the molecular level.<ref name="Brainsim">, project of the institute at the ] (EPFL), Switzerland, '']'', June 2005. | |||
</ref> | |||
Because of the computational cost of simulation, ]s are used to perform inference such as ].<ref>{{cite book| author1=Santner, Thomas J| author2=Williams, Brian J| author3=Notz, William I| title=The design and analysis of computer experiments| year=2003| publisher=Springer Verlag}}</ref> | |||
==Simulation versus modeling== | |||
Traditionally, forming large models of systems has been via a ], which attempts to find ] to problems and thereby enable the prediction of the behavior of the system from a set of parameters and initial conditions. | |||
== Simulation versus model == | |||
While computer simulations might use some algorithms from purely mathematical models, computers can combine simulations with reality or actual events, such as generating input responses, to simulate test subjects who are no longer present. Whereas the missing test subjects are being modeled/simulated, the system they use could be the actual equipment, revealing performance limits or defects in long-term use by these simulated users. | |||
A model consists of the equations used to capture the behavior of a system. By contrast, computer simulation is the actual running of the program that perform algorithms which solve those equations, often in an approximate manner. Simulation, therefore, is the process of running a model. Thus one would not "build a simulation"; instead, one would "build a model (or a simulator)", and then either "run the model" or equivalently "run a simulation". | |||
== History == | |||
Note that the term ''computer simulation'' is broader than ''computer modeling'', which implies that all aspects are being modeled in the computer representation. However, computer simulation also includes generating inputs from simulated users to run actual computer software or equipment, with only part of the system being modeled: an example would be ]s which can run machines as well as actual flight software. | |||
Computer simulation developed hand-in-hand with the rapid growth of the computer, following its first large-scale deployment during the ] in ] to model the process of ]. It was a simulation of 12 ] using a ]. Computer simulation is often used as an adjunct to, or substitute for, modeling systems for which simple ] are not possible. There are many types of computer simulations; their common feature is the attempt to generate a sample of representative scenarios for a model in which a complete enumeration of all possible states of the model would be prohibitive or impossible.<ref>{{Cite book|url=https://books.google.com/books?id=XHnkBwAAQBAJ&q=There+are+many+types+of+computer+simulations;+their+common+feature+is+the+attempt+to+generate+a+sample+of+representative+scenarios+for+a+model+in+which+a+complete+enumeration+of+all+possible+states+of+the+model+would+be+prohibitive+or+impossible.&pg=PR18|title=A Guide to Simulation|last1=Bratley|first1=Paul|last2=Fox|first2=Bennet L.|last3=Schrage|first3=Linus E.|date=2011-06-28|publisher=Springer Science & Business Media|isbn=9781441987242|language=en}}</ref> | |||
== Data preparation == | |||
Computer simulations are used in many fields, including ], ], ], health care, and ] planning and scheduling. | |||
==History== | |||
Computer simulation was developed hand-in-hand with the rapid growth of the computer, following its first large-scale deployment during the ] in ] to model the process of ]. It was a simulation of 12 ] using a ]. Computer simulation is often used as an adjunct to, or substitution for, modeling systems for which simple ] are not possible. There are many different types of computer simulations; the common feature they all share is the attempt to generate a sample of representative scenarios for a model in which a complete enumeration of all possible states of the model would be prohibitive or impossible. Computer models were initially used as a supplement for other arguments, but their use later became rather widespread. | |||
==Data preparation== | |||
The external data requirements of simulations and models vary widely. For some, the input might be just a few numbers (for example, simulation of a waveform of AC electricity on a wire), while others might require terabytes of information (such as weather and climate models). | The external data requirements of simulations and models vary widely. For some, the input might be just a few numbers (for example, simulation of a waveform of AC electricity on a wire), while others might require terabytes of information (such as weather and climate models). | ||
Line 44: | Line 37: | ||
* Sensors and other physical devices connected to the model; | * Sensors and other physical devices connected to the model; | ||
* Control surfaces used to direct the progress of the simulation in some way; | * Control surfaces used to direct the progress of the simulation in some way; | ||
* Current or |
* Current or historical data entered by hand; | ||
* Values extracted as by-product from other processes; | * Values extracted as a by-product from other processes; | ||
* Values output for the purpose by other simulations, models, or processes. | * Values output for the purpose by other simulations, models, or processes. | ||
Lastly, the time at which data is available varies: | Lastly, the time at which data is available varies: | ||
* "invariant" data is often built into the model code, either because the value is truly invariant (e.g. the value of π) or because the designers consider the value to be invariant for all cases of interest; | * "invariant" data is often built into the model code, either because the value is truly invariant (e.g., the value of π) or because the designers consider the value to be invariant for all cases of interest; | ||
* data can entered into the simulation when it starts up, for example by reading one or more files, or by reading data from a ]; | * data can be entered into the simulation when it starts up, for example by reading one or more files, or by reading data from a ]; | ||
* data can be provided during the simulation run, for example by a sensor network |
* data can be provided during the simulation run, for example by a sensor network. | ||
Because of this variety, and |
Because of this variety, and because diverse simulation systems have many common elements, there are a large number of specialized ]s. The best-known may be ]. There are now many others. | ||
Systems |
Systems that accept data from external sources must be very careful in knowing what they are receiving. While it is easy for computers to read in values from text or binary files, what is much harder is knowing what the ] (compared to ] and ]) of the values are. Often they are expressed as "error bars", a minimum and maximum deviation from the value range within which the true value (is expected to) lie. Because digital computer mathematics is not perfect, rounding and truncation errors multiply this error, so it is useful to perform an "error analysis"<ref name=Taylor>{{cite book |title=An Introduction to Error Analysis: The Study of Uncertainties in Physical Measurements |author=John Robert Taylor |url=https://books.google.com/books?id=giFQcZub80oC&pg=PA128 |pages=128–129 |isbn=978-0-935702-75-0 |year=1999 |publisher=University Science Books |url-status=live |archive-url=https://web.archive.org/web/20150316103343/http://books.google.com/books?id=giFQcZub80oC&pg=PA128 |archive-date=2015-03-16 }}</ref> to confirm that values output by the simulation will still be usefully accurate. | ||
== Types == | |||
Even small errors in the original data can accumulate into substantial error later in the simulation. While all computer analysis is subject to the "GIGO" (garbage in, garbage out) restriction, this is especially true of digital simulation. Indeed, it was the observation of this inherent, cumulative error, for digital systems that is the origin of ]. | |||
Models used for computer simulations can be classified according to several independent pairs of attributes, including: | |||
* ] or ] (and as a special case of deterministic, chaotic) – see external links below for examples of stochastic vs. deterministic simulations | |||
* Steady-state or dynamic | |||
* ] or ] (and as an important special case of discrete, ] or DE models) | |||
* ], e.g. electric systems, hydraulic systems or multi-body mechanical systems (described primarily by DAE:s) or dynamics simulation of field problems, e.g. CFD of FEM simulations (described by PDE:s). | |||
* Local or ]. | |||
Another way of categorizing models is to look at the underlying data structures. For time-stepped simulations, there are two main classes: | |||
==Types== | |||
* Simulations which store their data in regular grids and require only next-neighbor access are called ]s. Many ] applications belong to this category. | |||
Computer models can be classified according to several independent pairs of attributes, including: | |||
* If the underlying graph is not a regular grid, the model may belong to the ] class. | |||
* ] or ] (and as a special case of deterministic, chaotic) - see External links below for examples of stochastic vs. deterministic simulations | |||
* Steady-state or dynamic | |||
* ] or ] (and as an important special case of discrete, ] or DE models) | |||
* Local or ]. | |||
For steady-state simulations, equations define the relationships between elements of the modeled system and attempt to find a state in which the system is in equilibrium. Such models are often used in simulating physical systems, as a simpler modeling case before dynamic simulation is attempted. | |||
*Dynamic simulations |
* Dynamic simulations attempt to capture changes in a system in response to (usually changing) input signals. | ||
*'']'' models use '']s'' to model chance or random events; | * '']'' models use '']s'' to model chance or random events; | ||
*A '']'' (DES) manages events in time. Most computer, logic-test and fault-tree simulations are of this type. In this type of simulation, the simulator maintains a queue of events sorted by the simulated time they should occur. The simulator reads the queue and triggers new events as each event is processed. It is not important to execute the simulation in real time. It |
* A '']'' (DES) manages events in time. Most computer, logic-test and fault-tree simulations are of this type. In this type of simulation, the simulator maintains a queue of events sorted by the simulated time they should occur. The simulator reads the queue and triggers new events as each event is processed. It is not important to execute the simulation in real time. It is often more important to be able to access the data produced by the simulation and to discover logic defects in the design or the sequence of events. | ||
*A ''continuous dynamic simulation'' performs numerical solution of ] or ] (either ] or ]). Periodically, the simulation program solves all the equations |
* A ''continuous dynamic simulation'' performs numerical solution of ] or ] (either ] or ]). Periodically, the simulation program solves all the equations and uses the numbers to change the state and output of the simulation. Applications include flight simulators, ], ], and simulations of ]s. Originally, these kinds of simulations were actually implemented on ]s, where the differential equations could be represented directly by various electrical components such as ]s. By the late 1980s, however, most "analog" simulations were run on conventional ]s that ] the behavior of an analog computer. | ||
*A special type of discrete simulation |
* A special type of discrete simulation that does not rely on a model with an underlying equation, but can nonetheless be represented formally, is ]. In agent-based simulation, the individual entities (such as molecules, cells, trees or consumers) in the model are represented directly (rather than by their density or concentration) and possess an internal state and set of behaviors or rules that determine how the agent's state is updated from one time-step to the next. | ||
*] models run on a network of interconnected computers, possibly through the ]. Simulations dispersed across multiple host computers like this are often referred to as "distributed simulations". There are several standards for distributed simulation, including ] (ALSP), ] (DIS), the ] (HLA) and the ] (TENA). | * ] models run on a network of interconnected computers, possibly through the ]. Simulations dispersed across multiple host computers like this are often referred to as "distributed simulations". There are several standards for distributed simulation, including ] (ALSP), ] (DIS), the ] (HLA) and the ] (TENA). | ||
== |
== Visualization == | ||
Formerly, the output data from a computer simulation was sometimes presented in a table |
Formerly, the output data from a computer simulation was sometimes presented in a table or a matrix showing how data were affected by numerous changes in the simulation ]. The use of the matrix format was related to traditional use of the matrix concept in ]s. However, psychologists and others noted that humans could quickly perceive trends by looking at graphs or even moving-images or motion-pictures generated from the data, as displayed by ] (CGI) animation. Although observers could not necessarily read out numbers or quote math formulas, from observing a moving weather chart they might be able to predict events (and "see that rain was headed their way") much faster than by scanning tables of rain-cloud ]s. Such intense graphical displays, which transcended the world of numbers and formulae, sometimes also led to output that lacked a coordinate grid or omitted timestamps, as if straying too far from numeric data displays. Today, ] models tend to balance the view of moving rain/snow clouds against a map that uses numeric coordinates and numeric timestamps of events. | ||
Similarly, CGI computer simulations of ]s can simulate how a ] might shrink or change |
Similarly, CGI computer simulations of ]s can simulate how a ] might shrink or change during an extended period of medical treatment, presenting the passage of time as a spinning view of the visible human head, as the tumor changes. | ||
Other applications of CGI computer simulations are being developed to graphically display large amounts of data, in motion, as changes occur during a simulation run. | Other applications of CGI computer simulations are being developed{{As of?|date=December 2022}} to graphically display large amounts of data, in motion, as changes occur during a simulation run. | ||
== In science == | |||
] ]] | |||
==Computer simulation in science== | |||
Generic examples of types of computer simulations in science, which are derived from an underlying mathematical description: | Generic examples of types of computer simulations in science, which are derived from an underlying mathematical description: | ||
* a numerical simulation of ]s |
* a numerical simulation of ]s that cannot be solved analytically, theories that involve continuous systems such as phenomena in ], ] (e.g., ]s, ] models, ]s), ] and ] fall into this category. | ||
* a ] simulation, typically used for discrete systems where events occur ]ally |
* a ] simulation, typically used for discrete systems where events occur ]ally and which cannot be described directly with differential equations (this is a ''discrete'' simulation in the above sense). Phenomena in this category include ], ]<ref name=":0">{{Cite journal|last1=Gupta|first1=Ankur|last2=Rawlings|first2=James B.|date=April 2014|title=Comparison of Parameter Estimation Methods in Stochastic Chemical Kinetic Models: Examples in Systems Biology|journal=AIChE Journal |volume=60|issue=4|pages=1253–1268|doi=10.1002/aic.14409|issn=0001-1541|pmc=4946376|pmid=27429455|bibcode=2014AIChE..60.1253G }}</ref> or ]s with small numbers of molecules. (see also: ]). | ||
* multiparticle simulation of the response of nanomaterials at multiple scales to an applied force for the purpose of modeling their thermoelastic and thermodynamic properties. Techniques used for such simulations are ], ], ], and ]. | |||
Specific examples of computer simulations follow: | |||
* statistical simulations based upon an agglomeration of a large number of input profiles, such as the forecasting of equilibrium ] of ], allowing the gamut of ] data to be input for a specific locale. This technique was developed for ] forecasting . | |||
* agent based simulation has been used effectively in ], where it is often called ''individual based modeling'' and has been used in situations for which individual variability in the agents cannot be neglected, such as ] of ] and ] (most purely mathematical models assume all trout behave identically). | |||
* time stepped dynamic model. In hydrology there are several such ]s such as the ] and ]s developed by the ] for river water quality forecasting. | |||
* computer simulations have also been used to formally model theories of human cognition and performance, e.g. ] | |||
* computer simulation using ] for ] | |||
* computer simulation for studying the selective sensitivity of bonds by mechanochemistry during grinding of organic molecules.<ref>Mizukami, Koichi ; Saito, Fumio ; Baron, Michel. Study on grinding of pharmaceutical products with an aid of computer simulation: web adress://pem.utbm.fr/materiaux_2002/file/pdf/AF01078.PDF</ref> | |||
* ] simulations are used to simulate the behaviour of flowing air, water and other fluids. There are one-, two- and three- dimensional models used. A one dimensional model might simulate the effects of ] in a pipe. A two-dimensional model might be used to simulate the drag forces on the cross-section of an aeroplane wing. A three-dimensional simulation might estimate the heating and cooling requirements of a large building. | |||
* An understanding of statistical thermodynamic molecular theory is fundamental to the appreciation of molecular solutions. Development of the ] (PDT) allows one to simplify this complex subject to down-to-earth presentations of molecular theory. | |||
Notable, and sometimes controversial, computer simulations used in science include: ] ] used in the '']'', ] ] and Thomas Ray's ]. | |||
Specific examples of computer simulations include: | |||
===Simulation environments for physics and engineering=== | |||
* statistical simulations based upon an agglomeration of a large number of input profiles, such as the forecasting of equilibrium ] of receiving waters, allowing the gamut of ] data to be input for a specific locale. This technique was developed for ] forecasting. | |||
* agent based simulation has been used effectively in ], where it is often called "individual based modeling" and is used in situations for which individual variability in the agents cannot be neglected, such as ] of ] and ] (most purely mathematical models assume all trout behave identically). | |||
* time stepped dynamic model. In hydrology there are several such ]s such as the ] and ]s developed by the ] for river water quality forecasting. | |||
* computer simulations have also been used to formally ] and performance, e.g., ]. | |||
* computer simulation using ] for ].<ref>{{cite journal | pmid = 26281720 | doi=10.1016/j.biotechadv.2015.08.001 | volume=33 | issue=8 | title=Discovery and resupply of pharmacologically active plant-derived natural products: A review | pmc=4748402 | year=2015 | journal=Biotechnol Adv | pages=1582–614 | last1 = Atanasov | first1 = AG | last2 = Waltenberger | first2 = B | last3 = Pferschy-Wenzig | first3 = EM | last4 = Linder | first4 = T | last5 = Wawrosch | first5 = C | last6 = Uhrin | first6 = P | last7 = Temml | first7 = V | last8 = Wang | first8 = L | last9 = Schwaiger | first9 = S | last10 = Heiss | first10 = EH | last11 = Rollinger | first11 = JM | last12 = Schuster | first12 = D | last13 = Breuss | first13 = JM | last14 = Bochkov | first14 = V | last15 = Mihovilovic | first15 = MD | last16 = Kopp | first16 = B | last17 = Bauer | first17 = R | last18 = Dirsch | first18 = VM | last19 = Stuppner | first19 = H}}</ref> | |||
* computer simulation to model viral infection in mammalian cells.<ref name=":0" /> | |||
* computer simulation for studying the selective sensitivity of bonds by mechanochemistry during grinding of organic molecules.<ref>Mizukami, Koichi; Saito, Fumio; Baron, Michel. {{webarchive|url=https://web.archive.org/web/20110721023918/http://pem.utbm.fr/materiaux_2002/file/pdf/AF01078.PDF |date=2011-07-21 }}</ref> | |||
* ] simulations are used to simulate the behaviour of flowing air, water and other fluids. One-, two- and three-dimensional models are used. A one-dimensional model might simulate the effects of ] in a pipe. A two-dimensional model might be used to simulate the drag forces on the cross-section of an aeroplane wing. A three-dimensional simulation might estimate the heating and cooling requirements of a large building. | |||
* An understanding of statistical thermodynamic molecular theory is fundamental to the appreciation of molecular solutions. Development of the Potential Distribution Theorem (PDT) allows this complex subject to be simplified to down-to-earth presentations of molecular theory. | |||
Notable, and sometimes controversial, computer simulations used in science include: ]' ] used in the '']'', ] ] and Thomas Ray's ]. | |||
]s to design simulations have been developed. Special care was taken to handle events (situations in which the simulation equations are not valid and have to be changed). The open project ] was started to develop reusable libraries for simulations in ], together with ], a complete graphical environment that generates code based on these libraries. | |||
In social sciences, computer simulation is an integral component of the five angles of analysis fostered by the data percolation methodology,<ref>Mesly, Olivier | |||
==Computer simulation in practical contexts== | |||
(2015). ''Creating Models in Psychological Research.'' United States: Springer Psychology: 126 pages. {{ISBN|978-3-319-15752-8}}</ref> which also includes qualitative and quantitative methods, reviews of the literature (including scholarly), and interviews with experts, and which forms an extension of data triangulation. Of course, similar to any other scientific method, ] is an important part of computational modeling <ref>{{cite journal | last1 = Wilensky | first1 = Uri | last2 = Rand | first2 = William | year = 2007 | title = Making Models Match: Replicating an Agent-Based Model | url = http://jasss.soc.surrey.ac.uk/10/4/2.html | journal = Journal of Artificial Societies and Social Simulation | volume = 10 | issue = 4| pages = 2 }}</ref> | |||
== In practical contexts == | |||
{{More citations needed section|date=June 2022}} | |||
Computer simulations are used in a wide variety of practical contexts, such as: | Computer simulations are used in a wide variety of practical contexts, such as: | ||
* analysis of ] dispersion using ] | * analysis of ] dispersion using ] | ||
* As a possible humane alternative to live ] in respect to ]. | |||
* design of complex systems such as ] and also ] systems. | * design of complex systems such as ] and also ] systems. | ||
* design of ]s to effect roadway ] | * design of ]s to effect roadway ] | ||
* modeling of ]<ref>{{cite book | last = Wescott | first = Bob | title = The Every Computer Performance Book, Chapter 7: Modeling Computer Performance | publisher = ] | date = 2013 | isbn = 978-1482657753 | url = https://books.google.com/books?id=0SD1mgEACAAJ}}</ref> | |||
* ]s to train pilots | * ]s to train pilots | ||
* ] | * ] | ||
* ] | |||
* Simulation of other computers is ]. | |||
* simulation of electrical circuits | |||
* ] | |||
* simulation of other computers is ]. | |||
* forecasting of prices on financial markets (for example ]) | * forecasting of prices on financial markets (for example ]) | ||
* behavior of structures (such as buildings and industrial parts) under stress and other conditions | * behavior of structures (such as buildings and industrial parts) under stress and other conditions | ||
* design of industrial processes, such as chemical processing plants | * design of industrial processes, such as chemical processing plants | ||
* ] and ] | * ] and ] | ||
* ] for the petroleum engineering to model the subsurface reservoir | * ] for the petroleum engineering to model the subsurface reservoir | ||
* |
* process engineering simulation tools. | ||
* ] for the design of robots and robot control algorithms | * ] for the design of robots and robot control algorithms | ||
* ] that simulate dynamic patterns of urban development and responses to urban land use and transportation policies |
* ] that simulate dynamic patterns of urban development and responses to urban land use and transportation policies. | ||
* ] to plan or redesign parts of the street network from single junctions over cities to a national highway network |
* ] to plan or redesign parts of the street network from single junctions over cities to a national highway network to transportation system planning, design and operations. See a more detailed article on ]. | ||
* modeling car crashes to test safety mechanisms in new vehicle models | * modeling car crashes to test safety mechanisms in new vehicle models. | ||
* ] in agriculture, via dedicated software frameworks (e.g. ], OMS3, APSIM) | |||
The reliability and the trust people put in computer simulations depends on the ] of the simulation ], therefore ] are of crucial importance in the development of computer simulations. Another important aspect of computer simulations is that of reproducibility of the results, meaning that a simulation model should not provide a different answer for each execution. Although this might seem obvious, this is a special point of attention in stochastic |
The reliability and the trust people put in computer simulations depends on the ] of the simulation ], therefore ] are of crucial importance in the development of computer simulations. Another important aspect of computer simulations is that of reproducibility of the results, meaning that a simulation model should not provide a different answer for each execution. Although this might seem obvious, this is a special point of attention{{Editorializing|date=December 2022}} in ]s, where random numbers should actually be semi-random numbers. An exception to reproducibility are human-in-the-loop simulations such as flight simulations and ]. Here a human is part of the simulation and thus influences the outcome in a way that is hard, if not impossible, to reproduce exactly. | ||
] manufacturers make use of computer simulation to test safety features in new designs. By building a copy of the car in a physics simulation environment, they can save the hundreds of thousands of dollars that would otherwise be required to build a unique prototype |
] manufacturers make use of computer simulation to test safety features in new designs. By building a copy of the car in a physics simulation environment, they can save the hundreds of thousands of dollars that would otherwise be required to build and test a unique prototype. Engineers can step through the simulation milliseconds at a time to determine the exact stresses being put upon each section of the prototype.<ref>Baase, Sara. A Gift of Fire: Social, Legal, and Ethical Issues for Computing and the Internet. 3. Upper Saddle River: Prentice Hall, 2007. Pages 363–364. {{ISBN|0-13-600848-8}}.</ref> | ||
] can be used to display the results of a computer simulation. ] can be used to experience a simulation in real-time e.g. in ]. In some cases animations may also be useful in faster than real-time or even slower than real-time modes. For example, faster than real-time animations can be useful in visualizing the buildup of queues in the simulation of humans evacuating a building. Furthermore, simulation results are often aggregated into static images using various ways of ]. | ] can be used to display the results of a computer simulation. ] can be used to experience a simulation in real-time, e.g., in ]. In some cases animations may also be useful in faster than real-time or even slower than real-time modes. For example, faster than real-time animations can be useful in visualizing the buildup of queues in the simulation of humans evacuating a building. Furthermore, simulation results are often aggregated into static images using various ways of ]. | ||
In debugging, simulating a program execution under test (rather than executing natively) can detect far more errors than the hardware itself can detect and, at the same time, log useful debugging information such as instruction trace, memory alterations and instruction counts. This technique can also detect ] and similar "hard to detect" errors as well as produce performance information and ] data. | In debugging, simulating a program execution under test (rather than executing natively) can detect far more errors than the hardware itself can detect and, at the same time, log useful debugging information such as instruction trace, memory alterations and instruction counts. This technique can also detect ] and similar "hard to detect" errors as well as produce performance information and ] data. | ||
==Pitfalls== | == Pitfalls == | ||
Although sometimes ignored in computer simulations, it is very important{{Editorializing|date=December 2022}} to perform a ] to ensure that the accuracy of the results is properly understood. For example, the probabilistic risk analysis of factors determining the success of an oilfield exploration program involves combining samples from a variety of statistical distributions using the ]. If, for instance, one of the key parameters (e.g., the net ratio of oil-bearing strata) is known to only one significant figure, then the result of the simulation might not be more precise than one significant figure, although it might (misleadingly) be presented as having four significant figures. | |||
== See also == | |||
Although sometimes ignored in computer simulations, it is very important to perform ] to ensure that the accuracy of the results are properly understood. For example, the probabilistic risk analysis of factors determining the success of an oilfield exploration program involves combining samples from a variety of statistical distributions using the ]. If, for instance, one of the key parameters (i.e. the net ratio of oil-bearing strata) is known to only one significant figure, then the result of the simulation might not be more precise than one significant figure, although it might (misleadingly) be presented as having four significant figures. | |||
{{div col|colwidth=30em}} | |||
* ] | |||
* ] | |||
* ] | |||
* ] | |||
* ] | |||
* ] | |||
* ] | |||
* ] | |||
* ] | |||
* ] | |||
* ] | |||
* ] | |||
* ] | |||
{{div col end}} | |||
== References == | |||
'''Model Calibration Techniques''' | |||
The following three steps should be used to produce accurate simulation models: calibration, verification, and validation. Computer simulations are good at portraying and comparing theoretical scenarios but in order to accurately model actual case studies, it has to match what is actually happening today. A base model should be created and calibrated so that it matches the area being studied. The calibrated model should then be verified to ensure that the model is operating as expected based on the inputs. Once the model has been verified, the final step is to validate the model by comparing the outputs to historical data from the study area. This can be done by using statistical techniques and ensuring an adequate R-squared value. Unless these techniques are employed, the simulation model created will produce inaccurate results and not be a useful prediction tool. | |||
Model calibration is achieved by adjusting any available parameters in order to adjust how the model operates and simulates the process. For example in traffic simulation, typical parameters include look-ahead distance, car-following sensitivity, discharge headway, and start-up lost time. These parameters influence driver behaviors such as when and how long it takes a driver to change lanes, how much distance a driver leaves between itself and the car in front of it, and how quickly it starts to accelerate through an intersection. Adjusting these parameters has a direct effect on the amount of traffic volume that can traverse through the modeled roadway network by making the drivers more or less aggressive. These are examples of calibration parameters that can be fine-tuned to match up with characteristics observed in the field at the study location. Most traffic models will have typical default values but they may need to be adjusted to better match the driver behavior at the location being studied. | |||
Model verification is achieved by obtaining output data from the model and comparing it to what is expected from the input data. For example in traffic simulation, traffic volume can be verified to ensure that actual volume throughput in the model is reasonably close to traffic volumes input into the model. Ten percent is a typical threshold used in traffic simulation to determine if output volumes are reasonably close to input volumes. Simulation models handle model inputs in different ways so traffic that enters the network, for example, may or may not reach its desired destination. Additionally, traffic that wants to enter the network may not be able to if any congestion exists. This is why model verification is a very important part of the modeling process. | |||
The final step is to validate the model by comparing the results with what’s expected based on historical data from the study area. Ideally, the model should produce similar results to what has happened historically. This is typically verified by nothing more than quoting the R2 statistic from the fit. This statistic measures the fraction of variability that is accounted for by the model. A high R2 value does not necessarily mean the model fits the data well. Another tool used to validate models is graphical residual analysis. If model output values are drastically different than historical values, it probably means there’s an error in the model. This is an important step to verify before using the model as a base to produce additional models for different scenarios to ensure each one is accurate. If the outputs do not reasonably match historic values during the validation process, the model should be reviewed and updated to produce results more in line with expectations. It is an iterative process that helps to produce more realistic models. | |||
Validating traffic simulation models requires comparing traffic estimated by the model to observed traffic on the roadway and transit systems. Initial comparisons are for trip interchanges between quadrants, sectors, or other large areas of interest. The next step is to compare traffic estimated by the models to traffic counts, including transit ridership, crossing contrived barriers in the study area. These are typically called screenlines, cutlines, and cordon lines and may be imaginary or actual physical barriers. Cordon lines surround particular areas such as the central business district or other major activity centers. Transit ridership estimates are commonly validated by comparing them to actual patronage crossing cordon lines around the central business district. | |||
Three sources of error can cause weak correlation during calibration: input error, model error, and parameter error. In general, input error and parameter error can be adjusted easily by the user. Model error however is caused by the methodology used in the model and may not be as easy to fix. Simulation models are typically built using several different modeling theories that can produce conflicting results. Some models are more generalized while others are more detailed. If model error occurs as a result of this, in may be necessary to adjust the model methodology to make results more consistent. | |||
In order to produce good models that can be used to produce realistic results, these are the necessary steps that need to be taken in order to ensure that simulation models are functioning properly. Simulation models can be used as a tool to verify engineering theories but are only valid if calibrated properly. Once satisfactory estimates of the parameters for all models have been obtained, the models must be checked to assure that they adequately perform the functions for which they are intended. The validation process establishes the credibility of the model by demonstrating its ability to replicate actual traffic patterns. The importance of model validation underscores the need for careful planning, thoroughness and accuracy of the input data collection program that has this purpose. Efforts should be made to ensure collected data is consistent with expected values. For example in traffic analysis, it is typically common for a traffic engineer to perform a site visit to verify traffic counts and become familiar with traffic patterns in the area. The resulting models and forecasts will be no better than the data used for model estimation and validation. | |||
==References== | |||
{{More footnotes|date=May 2008}} | |||
{{Reflist}} | {{Reflist}} | ||
== Further reading == | |||
==Notes== | |||
{{Commons category}} | |||
{{Refbegin}} | |||
* Young, Joseph and Findley, Michael. 2014. "Computational Modeling to Study Conflicts and Terrorism." edited by Soeters, Joseph; Shields, Patricia and Rietjens, Sebastiaan. pp. 249–260. New York: Routledge, | |||
* R. Frigg and S. Hartmann, . Entry in the '' ]''. | * R. Frigg and S. Hartmann, . Entry in the '' ]''. | ||
* S. Hartmann, , in: R. Hegselmann et al. (eds.), ''Modelling and Simulation in the Social Sciences from the Philosophy of Science Point of View'', Theory and Decision Library. Dordrecht: ] 1996, |
* E. Winsberg . Entry in the '' ]''. | ||
* S. Hartmann, , in: R. Hegselmann et al. (eds.), ''Modelling and Simulation in the Social Sciences from the Philosophy of Science Point of View'', Theory and Decision Library. Dordrecht: ] 1996, 77–100. | |||
* E. Winsberg, ''Science in the Age of Computer Simulation''. Chicago: ], 2010. | |||
* P. Humphreys, ''Extending Ourselves: Computational Science, Empiricism, and Scientific Method''. Oxford: ], 2004. | * P. Humphreys, ''Extending Ourselves: Computational Science, Empiricism, and Scientific Method''. Oxford: ], 2004. | ||
* {{cite book|author=James J. Nutaro|title=Building Software for Simulation: Theory and Algorithms, with Applications in C++|url=https://books.google.com/books?id=WZceCd74GRcC|year=2011|publisher=John Wiley & Sons|isbn=978-1-118-09945-2}} | |||
{{Refend}} | |||
* Desa, W. L. H. M., Kamaruddin, S., & Nawawi, M. K. M. (2012). Modeling of Aircraft Composite Parts Using Simulation. Advanced Material Research, 591–593, 557–560. | |||
==External links== | == External links == | ||
* | |||
{{External links|date=August 2010}} | |||
{{Computer simulation}} | |||
<!--========================({{No More Links}})============================ | |||
{{Energy modeling}} | |||
| PLEASE BE CAUTIOUS IN ADDING MORE LINKS TO THIS ARTICLE. WIKIPEDIA | | |||
{{Authority control}} | |||
| IS NOT A COLLECTION OF LINKS NOR SHOULD IT BE USED FOR ADVERTISING. | | |||
| | | |||
| Excessive or inappropriate links WILL BE DELETED. | | |||
| See ] & ] for details. | | |||
| | | |||
| If there are already plentiful links, please propose additions or | | |||
| replacements on this article's discussion page, or submit your link | | |||
| to the relevant category at the Open Directory Project (dmoz.org) | | |||
| and link back to that category using the {{dmoz}} template. | | |||
=======================({{No More Links}})=============================--> | |||
===Organizations=== | |||
* | |||
* | |||
* | |||
* ] | |||
* | |||
* | |||
* | |||
* | |||
* | |||
* at the ], UK | |||
* | |||
* ] | |||
===Education=== | |||
* | |||
* | |||
* (some Mathematica-specific tutorials here) | |||
* | |||
* | |||
===Examples=== | |||
* by | |||
* (]), written by the at the University of Warwick | |||
* | |||
* | |||
* | |||
* | |||
* (]) | |||
* | |||
* | |||
* | |||
===Techniques to analyze computer simulations=== | |||
* | |||
<!--========================({{No More Links}})============================ | |||
| PLEASE BE CAUTIOUS IN ADDING MORE LINKS TO THIS ARTICLE. WIKIPEDIA | | |||
| IS NOT A COLLECTION OF LINKS NOR SHOULD IT BE USED FOR ADVERTISING. | | |||
| | | |||
| Excessive or inappropriate links WILL BE DELETED. | | |||
| See ] & ] for details. | | |||
| | | |||
| If there are already plentiful links, please propose additions or | | |||
| replacements on this article's discussion page, or submit your link | | |||
| to the relevant category at the Open Directory Project (dmoz.org) | | |||
| and link back to that category using the {{dmoz}} template. | | |||
=======================({{No More Links}})=============================--> | |||
{{DEFAULTSORT:Computer Simulation}} | |||
] | ] | ||
] | |||
] | ] | ||
] | ] | ||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] |
Latest revision as of 20:29, 3 September 2024
Process of mathematical modelling, performed on a computer This article is about computer model within a scientific context. For simulating a computer on a computer, see emulator. "Computer model" redirects here. For computer models of 3 dimensional objects, see 3D modeling. "Digital model" redirects here. For digital twinning, see Digital twin. For virtual fictional characters, see Virtual influencer.This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed. Find sources: "Computer simulation" – news · newspapers · books · scholar · JSTOR (December 2022) (Learn how and when to remove this message) |
Computer simulation is the running of a mathematical model on a computer, the model being designed to represent the behaviour of, or the outcome of, a real-world or physical system. The reliability of some mathematical models can be determined by comparing their results to the real-world outcomes they aim to predict. Computer simulations have become a useful tool for the mathematical modeling of many natural systems in physics (computational physics), astrophysics, climatology, chemistry, biology and manufacturing, as well as human systems in economics, psychology, social science, health care and engineering. Simulation of a system is represented as the running of the system's model. It can be used to explore and gain new insights into new technology and to estimate the performance of systems too complex for analytical solutions.
Computer simulations are realized by running computer programs that can be either small, running almost instantly on small devices, or large-scale programs that run for hours or days on network-based groups of computers. The scale of events being simulated by computer simulations has far exceeded anything possible (or perhaps even imaginable) using traditional paper-and-pencil mathematical modeling. In 1997, a desert-battle simulation of one force invading another involved the modeling of 66,239 tanks, trucks and other vehicles on simulated terrain around Kuwait, using multiple supercomputers in the DoD High Performance Computer Modernization Program. Other examples include a 1-billion-atom model of material deformation; a 2.64-million-atom model of the complex protein-producing organelle of all living organisms, the ribosome, in 2005; a complete simulation of the life cycle of Mycoplasma genitalium in 2012; and the Blue Brain project at EPFL (Switzerland), begun in May 2005 to create the first computer simulation of the entire human brain, right down to the molecular level.
Because of the computational cost of simulation, computer experiments are used to perform inference such as uncertainty quantification.
Simulation versus model
A model consists of the equations used to capture the behavior of a system. By contrast, computer simulation is the actual running of the program that perform algorithms which solve those equations, often in an approximate manner. Simulation, therefore, is the process of running a model. Thus one would not "build a simulation"; instead, one would "build a model (or a simulator)", and then either "run the model" or equivalently "run a simulation".
History
Computer simulation developed hand-in-hand with the rapid growth of the computer, following its first large-scale deployment during the Manhattan Project in World War II to model the process of nuclear detonation. It was a simulation of 12 hard spheres using a Monte Carlo algorithm. Computer simulation is often used as an adjunct to, or substitute for, modeling systems for which simple closed form analytic solutions are not possible. There are many types of computer simulations; their common feature is the attempt to generate a sample of representative scenarios for a model in which a complete enumeration of all possible states of the model would be prohibitive or impossible.
Data preparation
The external data requirements of simulations and models vary widely. For some, the input might be just a few numbers (for example, simulation of a waveform of AC electricity on a wire), while others might require terabytes of information (such as weather and climate models).
Input sources also vary widely:
- Sensors and other physical devices connected to the model;
- Control surfaces used to direct the progress of the simulation in some way;
- Current or historical data entered by hand;
- Values extracted as a by-product from other processes;
- Values output for the purpose by other simulations, models, or processes.
Lastly, the time at which data is available varies:
- "invariant" data is often built into the model code, either because the value is truly invariant (e.g., the value of π) or because the designers consider the value to be invariant for all cases of interest;
- data can be entered into the simulation when it starts up, for example by reading one or more files, or by reading data from a preprocessor;
- data can be provided during the simulation run, for example by a sensor network.
Because of this variety, and because diverse simulation systems have many common elements, there are a large number of specialized simulation languages. The best-known may be Simula. There are now many others.
Systems that accept data from external sources must be very careful in knowing what they are receiving. While it is easy for computers to read in values from text or binary files, what is much harder is knowing what the accuracy (compared to measurement resolution and precision) of the values are. Often they are expressed as "error bars", a minimum and maximum deviation from the value range within which the true value (is expected to) lie. Because digital computer mathematics is not perfect, rounding and truncation errors multiply this error, so it is useful to perform an "error analysis" to confirm that values output by the simulation will still be usefully accurate.
Types
Models used for computer simulations can be classified according to several independent pairs of attributes, including:
- Stochastic or deterministic (and as a special case of deterministic, chaotic) – see external links below for examples of stochastic vs. deterministic simulations
- Steady-state or dynamic
- Continuous or discrete (and as an important special case of discrete, discrete event or DE models)
- Dynamic system simulation, e.g. electric systems, hydraulic systems or multi-body mechanical systems (described primarily by DAE:s) or dynamics simulation of field problems, e.g. CFD of FEM simulations (described by PDE:s).
- Local or distributed.
Another way of categorizing models is to look at the underlying data structures. For time-stepped simulations, there are two main classes:
- Simulations which store their data in regular grids and require only next-neighbor access are called stencil codes. Many CFD applications belong to this category.
- If the underlying graph is not a regular grid, the model may belong to the meshfree method class.
For steady-state simulations, equations define the relationships between elements of the modeled system and attempt to find a state in which the system is in equilibrium. Such models are often used in simulating physical systems, as a simpler modeling case before dynamic simulation is attempted.
- Dynamic simulations attempt to capture changes in a system in response to (usually changing) input signals.
- Stochastic models use random number generators to model chance or random events;
- A discrete event simulation (DES) manages events in time. Most computer, logic-test and fault-tree simulations are of this type. In this type of simulation, the simulator maintains a queue of events sorted by the simulated time they should occur. The simulator reads the queue and triggers new events as each event is processed. It is not important to execute the simulation in real time. It is often more important to be able to access the data produced by the simulation and to discover logic defects in the design or the sequence of events.
- A continuous dynamic simulation performs numerical solution of differential-algebraic equations or differential equations (either partial or ordinary). Periodically, the simulation program solves all the equations and uses the numbers to change the state and output of the simulation. Applications include flight simulators, construction and management simulation games, chemical process modeling, and simulations of electrical circuits. Originally, these kinds of simulations were actually implemented on analog computers, where the differential equations could be represented directly by various electrical components such as op-amps. By the late 1980s, however, most "analog" simulations were run on conventional digital computers that emulate the behavior of an analog computer.
- A special type of discrete simulation that does not rely on a model with an underlying equation, but can nonetheless be represented formally, is agent-based simulation. In agent-based simulation, the individual entities (such as molecules, cells, trees or consumers) in the model are represented directly (rather than by their density or concentration) and possess an internal state and set of behaviors or rules that determine how the agent's state is updated from one time-step to the next.
- Distributed models run on a network of interconnected computers, possibly through the Internet. Simulations dispersed across multiple host computers like this are often referred to as "distributed simulations". There are several standards for distributed simulation, including Aggregate Level Simulation Protocol (ALSP), Distributed Interactive Simulation (DIS), the High Level Architecture (simulation) (HLA) and the Test and Training Enabling Architecture (TENA).
Visualization
Formerly, the output data from a computer simulation was sometimes presented in a table or a matrix showing how data were affected by numerous changes in the simulation parameters. The use of the matrix format was related to traditional use of the matrix concept in mathematical models. However, psychologists and others noted that humans could quickly perceive trends by looking at graphs or even moving-images or motion-pictures generated from the data, as displayed by computer-generated-imagery (CGI) animation. Although observers could not necessarily read out numbers or quote math formulas, from observing a moving weather chart they might be able to predict events (and "see that rain was headed their way") much faster than by scanning tables of rain-cloud coordinates. Such intense graphical displays, which transcended the world of numbers and formulae, sometimes also led to output that lacked a coordinate grid or omitted timestamps, as if straying too far from numeric data displays. Today, weather forecasting models tend to balance the view of moving rain/snow clouds against a map that uses numeric coordinates and numeric timestamps of events.
Similarly, CGI computer simulations of CAT scans can simulate how a tumor might shrink or change during an extended period of medical treatment, presenting the passage of time as a spinning view of the visible human head, as the tumor changes.
Other applications of CGI computer simulations are being developed to graphically display large amounts of data, in motion, as changes occur during a simulation run.
In science
Generic examples of types of computer simulations in science, which are derived from an underlying mathematical description:
- a numerical simulation of differential equations that cannot be solved analytically, theories that involve continuous systems such as phenomena in physical cosmology, fluid dynamics (e.g., climate models, roadway noise models, roadway air dispersion models), continuum mechanics and chemical kinetics fall into this category.
- a stochastic simulation, typically used for discrete systems where events occur probabilistically and which cannot be described directly with differential equations (this is a discrete simulation in the above sense). Phenomena in this category include genetic drift, biochemical or gene regulatory networks with small numbers of molecules. (see also: Monte Carlo method).
- multiparticle simulation of the response of nanomaterials at multiple scales to an applied force for the purpose of modeling their thermoelastic and thermodynamic properties. Techniques used for such simulations are Molecular dynamics, Molecular mechanics, Monte Carlo method, and Multiscale Green's function.
Specific examples of computer simulations include:
- statistical simulations based upon an agglomeration of a large number of input profiles, such as the forecasting of equilibrium temperature of receiving waters, allowing the gamut of meteorological data to be input for a specific locale. This technique was developed for thermal pollution forecasting.
- agent based simulation has been used effectively in ecology, where it is often called "individual based modeling" and is used in situations for which individual variability in the agents cannot be neglected, such as population dynamics of salmon and trout (most purely mathematical models assume all trout behave identically).
- time stepped dynamic model. In hydrology there are several such hydrology transport models such as the SWMM and DSSAM Models developed by the U.S. Environmental Protection Agency for river water quality forecasting.
- computer simulations have also been used to formally model theories of human cognition and performance, e.g., ACT-R.
- computer simulation using molecular modeling for drug discovery.
- computer simulation to model viral infection in mammalian cells.
- computer simulation for studying the selective sensitivity of bonds by mechanochemistry during grinding of organic molecules.
- Computational fluid dynamics simulations are used to simulate the behaviour of flowing air, water and other fluids. One-, two- and three-dimensional models are used. A one-dimensional model might simulate the effects of water hammer in a pipe. A two-dimensional model might be used to simulate the drag forces on the cross-section of an aeroplane wing. A three-dimensional simulation might estimate the heating and cooling requirements of a large building.
- An understanding of statistical thermodynamic molecular theory is fundamental to the appreciation of molecular solutions. Development of the Potential Distribution Theorem (PDT) allows this complex subject to be simplified to down-to-earth presentations of molecular theory.
Notable, and sometimes controversial, computer simulations used in science include: Donella Meadows' World3 used in the Limits to Growth, James Lovelock's Daisyworld and Thomas Ray's Tierra.
In social sciences, computer simulation is an integral component of the five angles of analysis fostered by the data percolation methodology, which also includes qualitative and quantitative methods, reviews of the literature (including scholarly), and interviews with experts, and which forms an extension of data triangulation. Of course, similar to any other scientific method, replication is an important part of computational modeling
In practical contexts
This section needs additional citations for verification. Please help improve this article by adding citations to reliable sources in this section. Unsourced material may be challenged and removed. (June 2022) (Learn how and when to remove this message) |
Computer simulations are used in a wide variety of practical contexts, such as:
- analysis of air pollutant dispersion using atmospheric dispersion modeling
- As a possible humane alternative to live animal testing in respect to animal rights.
- design of complex systems such as aircraft and also logistics systems.
- design of noise barriers to effect roadway noise mitigation
- modeling of application performance
- flight simulators to train pilots
- weather forecasting
- forecasting of risk
- simulation of electrical circuits
- Power system simulation
- simulation of other computers is emulation.
- forecasting of prices on financial markets (for example Adaptive Modeler)
- behavior of structures (such as buildings and industrial parts) under stress and other conditions
- design of industrial processes, such as chemical processing plants
- strategic management and organizational studies
- reservoir simulation for the petroleum engineering to model the subsurface reservoir
- process engineering simulation tools.
- robot simulators for the design of robots and robot control algorithms
- urban simulation models that simulate dynamic patterns of urban development and responses to urban land use and transportation policies.
- traffic engineering to plan or redesign parts of the street network from single junctions over cities to a national highway network to transportation system planning, design and operations. See a more detailed article on Simulation in Transportation.
- modeling car crashes to test safety mechanisms in new vehicle models.
- crop-soil systems in agriculture, via dedicated software frameworks (e.g. BioMA, OMS3, APSIM)
The reliability and the trust people put in computer simulations depends on the validity of the simulation model, therefore verification and validation are of crucial importance in the development of computer simulations. Another important aspect of computer simulations is that of reproducibility of the results, meaning that a simulation model should not provide a different answer for each execution. Although this might seem obvious, this is a special point of attention in stochastic simulations, where random numbers should actually be semi-random numbers. An exception to reproducibility are human-in-the-loop simulations such as flight simulations and computer games. Here a human is part of the simulation and thus influences the outcome in a way that is hard, if not impossible, to reproduce exactly.
Vehicle manufacturers make use of computer simulation to test safety features in new designs. By building a copy of the car in a physics simulation environment, they can save the hundreds of thousands of dollars that would otherwise be required to build and test a unique prototype. Engineers can step through the simulation milliseconds at a time to determine the exact stresses being put upon each section of the prototype.
Computer graphics can be used to display the results of a computer simulation. Animations can be used to experience a simulation in real-time, e.g., in training simulations. In some cases animations may also be useful in faster than real-time or even slower than real-time modes. For example, faster than real-time animations can be useful in visualizing the buildup of queues in the simulation of humans evacuating a building. Furthermore, simulation results are often aggregated into static images using various ways of scientific visualization.
In debugging, simulating a program execution under test (rather than executing natively) can detect far more errors than the hardware itself can detect and, at the same time, log useful debugging information such as instruction trace, memory alterations and instruction counts. This technique can also detect buffer overflow and similar "hard to detect" errors as well as produce performance information and tuning data.
Pitfalls
Although sometimes ignored in computer simulations, it is very important to perform a sensitivity analysis to ensure that the accuracy of the results is properly understood. For example, the probabilistic risk analysis of factors determining the success of an oilfield exploration program involves combining samples from a variety of statistical distributions using the Monte Carlo method. If, for instance, one of the key parameters (e.g., the net ratio of oil-bearing strata) is known to only one significant figure, then the result of the simulation might not be more precise than one significant figure, although it might (misleadingly) be presented as having four significant figures.
See also
- Computational model
- Digital twin
- Illustris project
- List of computer simulation software
- Scene generator
- Simulation
- Simulation hypothesis
- Simulation software
- Simulation video game
- UniverseMachine
- Virtual prototyping
- Virtual reality
- Web-based simulation
References
- Strogatz, Steven (2007). "The End of Insight". In Brockman, John (ed.). What is your dangerous idea?. HarperCollins. ISBN 9780061214950.
- "Researchers stage largest Military Simulation ever". Jet Propulsion Laboratory. Caltech. December 4, 1997. Archived from the original on 2008-01-22.
- "Molecular Simulation of Macroscopic Phenomena". IBM Research - Almaden. Archived from the original on 2013-05-22.
- Ambrosiano, Nancy (October 19, 2005). "Largest computational biology simulation mimics life's most essential nanomachine". Los Alamos, NM: Los Alamos National Laboratory. Archived from the original on 2007-07-04.
- Graham-Rowe, Duncan (June 6, 2005). "Mission to build a simulated brain begins". New Scientist. Archived from the original on 2015-02-09.
- Santner, Thomas J; Williams, Brian J; Notz, William I (2003). The design and analysis of computer experiments. Springer Verlag.
- Bratley, Paul; Fox, Bennet L.; Schrage, Linus E. (2011-06-28). A Guide to Simulation. Springer Science & Business Media. ISBN 9781441987242.
- John Robert Taylor (1999). An Introduction to Error Analysis: The Study of Uncertainties in Physical Measurements. University Science Books. pp. 128–129. ISBN 978-0-935702-75-0. Archived from the original on 2015-03-16.
- ^ Gupta, Ankur; Rawlings, James B. (April 2014). "Comparison of Parameter Estimation Methods in Stochastic Chemical Kinetic Models: Examples in Systems Biology". AIChE Journal. 60 (4): 1253–1268. Bibcode:2014AIChE..60.1253G. doi:10.1002/aic.14409. ISSN 0001-1541. PMC 4946376. PMID 27429455.
- Atanasov, AG; Waltenberger, B; Pferschy-Wenzig, EM; Linder, T; Wawrosch, C; Uhrin, P; Temml, V; Wang, L; Schwaiger, S; Heiss, EH; Rollinger, JM; Schuster, D; Breuss, JM; Bochkov, V; Mihovilovic, MD; Kopp, B; Bauer, R; Dirsch, VM; Stuppner, H (2015). "Discovery and resupply of pharmacologically active plant-derived natural products: A review". Biotechnol Adv. 33 (8): 1582–614. doi:10.1016/j.biotechadv.2015.08.001. PMC 4748402. PMID 26281720.
- Mizukami, Koichi; Saito, Fumio; Baron, Michel. Study on grinding of pharmaceutical products with an aid of computer simulation Archived 2011-07-21 at the Wayback Machine
- Mesly, Olivier (2015). Creating Models in Psychological Research. United States: Springer Psychology: 126 pages. ISBN 978-3-319-15752-8
- Wilensky, Uri; Rand, William (2007). "Making Models Match: Replicating an Agent-Based Model". Journal of Artificial Societies and Social Simulation. 10 (4): 2.
- Wescott, Bob (2013). The Every Computer Performance Book, Chapter 7: Modeling Computer Performance. CreateSpace. ISBN 978-1482657753.
- Baase, Sara. A Gift of Fire: Social, Legal, and Ethical Issues for Computing and the Internet. 3. Upper Saddle River: Prentice Hall, 2007. Pages 363–364. ISBN 0-13-600848-8.
Further reading
- Young, Joseph and Findley, Michael. 2014. "Computational Modeling to Study Conflicts and Terrorism." Routledge Handbook of Research Methods in Military Studies edited by Soeters, Joseph; Shields, Patricia and Rietjens, Sebastiaan. pp. 249–260. New York: Routledge,
- R. Frigg and S. Hartmann, Models in Science. Entry in the Stanford Encyclopedia of Philosophy.
- E. Winsberg Simulation in Science. Entry in the Stanford Encyclopedia of Philosophy.
- S. Hartmann, The World as a Process: Simulations in the Natural and Social Sciences, in: R. Hegselmann et al. (eds.), Modelling and Simulation in the Social Sciences from the Philosophy of Science Point of View, Theory and Decision Library. Dordrecht: Kluwer 1996, 77–100.
- E. Winsberg, Science in the Age of Computer Simulation. Chicago: University of Chicago Press, 2010.
- P. Humphreys, Extending Ourselves: Computational Science, Empiricism, and Scientific Method. Oxford: Oxford University Press, 2004.
- James J. Nutaro (2011). Building Software for Simulation: Theory and Algorithms, with Applications in C++. John Wiley & Sons. ISBN 978-1-118-09945-2.
- Desa, W. L. H. M., Kamaruddin, S., & Nawawi, M. K. M. (2012). Modeling of Aircraft Composite Parts Using Simulation. Advanced Material Research, 591–593, 557–560.
External links
Computer simulation software | |
---|---|
Biology | |
Chemistry | |
Physics | |
Social science |
Energy modeling | |
---|---|
Models | |
Open data | |
Lists | |
Concepts | |
Applications | |
People | |
Organizations | |