Computer simulation
This article needs additional citations for verification. (December 2022) |
Computer simulation is the process of
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.[2] Other examples include a 1-billion-atom model of material deformation;[3] a 2.64-million-atom model of the complex protein-producing organelle of all living organisms, the ribosome, in 2005;[4] a complete simulation of the life cycle of
Because of the computational cost of simulation, computer experiments are used to perform inference such as uncertainty quantification.[6]
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
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
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
- discrete eventor 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 CFDapplications belong to this category.
- If the underlying graph is not a regular grid, the model may belong to the meshfree methodclass.
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.
- random number generatorsto 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 digital computers that emulatethe 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.
- 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
Similarly, CGI computer simulations of
Other applications of CGI computer simulations are being developed[as of?] 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 roadway air dispersion models), continuum mechanics and chemical kineticsfall into this category.
- a 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[9] 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 meteorological data to be input for a specific locale. This technique was developed for thermal pollutionforecasting.
- 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 SWMM and DSSAM Models developed by the U.S. Environmental Protection Agencyfor 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.[10]
- computer simulation to model viral infection in mammalian cells.[9]
- computer simulation for studying the selective sensitivity of bonds by mechanochemistry during grinding of organic molecules.[11]
- 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:
.In social sciences, computer simulation is an integral component of the five angles of analysis fostered by the data percolation methodology,
In practical contexts
This section needs additional citations for verification. (June 2022) |
Computer simulations are used in a wide variety of practical contexts, such as:
- analysis of air pollutant dispersion using atmospheric dispersion modeling
- design of complex systems such as aircraft and also logistics systems.
- design of noise mitigation
- modeling of application performance[14]
- 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
- 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.
- Simulation in Transportation.
- modeling car crashes to test safety mechanisms in new vehicle models.
- BioMA, OMS3, APSIM)
The reliability and the trust people put in computer simulations depends on the
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.[15]
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[
See also
References
- ISBN 9780061214950.
- Caltech. December 4, 1997. Archived from the originalon 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.
- ISBN 9781441987242.
- ISBN 978-0-935702-75-0. Archivedfrom the original on 2015-03-16.
- ^ PMID 27429455.
- 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.
- ISBN 978-1482657753.
- 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: Kluwer1996, 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.