Abstract
After completing this module, a student should be able to:
-
Describe an example of a computational science simulation model.
-
Define computational science, model, simulation, visualization, validation, verification.
-
Appreciate the need to determine the reliability of simulation model results.
-
List three sources of error in simulation model results.
-
Appreciate the value of computational science.
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
1.1 Objectives
After completing this module, a student should be able to:
-
Describe an example of a computational science simulation model.
-
Define computational science, model, simulation, visualization, validation, verification.
-
Appreciate the need to determine the reliability of simulation model results.
-
List three sources of error in simulation model results.
-
Appreciate the value of computational science.
1.2 Definitions
-
Computational Science
-
Model
-
Bitmap
-
Pixel
-
Raster graphics
-
Reliability
-
Resolution
-
Simulation
-
Validation
-
Vector graphics
-
Verification
-
Visualization
1.3 Introductory Example
Before trying to define computational science, we will look at a NetLogo (Wilensky 1999) model of a rope in order to get a better feel for computational science. We want to open up the NetLogo model of a rope (Wilensky 1997a) using NetLogo Web: http://www.netlogoweb.org/launch#http://www.netlogoweb.org/assets/modelslib/Sample%20Models/Chemistry%20&%20Physics/Waves/Rope.nlogo
When going to the link, the top portion of the web page is the model interface. Below the interface are tabs: “Command Center ” is where you can interact with the running model, or add code; “NetLogo Code” section contains all the simulation code; “Model Info” section is where you can read the information describing the model and how it works. Explore all the sections.
Notice the controls on the model. There are two buttons, setup and go , and there are three sliders : friction, frequency, and amplitude. There is also a timer speed slider at the top of the interface, and a ticks value displayed just above the model viewing window. All these controls change the behavior of the running model.
Push the setup button to initialize the model. Notice the red horizontal line that appears in the model window – this will be the simulated “rope”. Your model is now ready to run. Push the go button to begin running the model. Observe the changing position of the “rope”. Experiment with the speed slider to see how you can slow down or speed up simulation time. You can pause the model at any time by pushing the go button. Push it again to resume running. Initialize the model at any time by pushing the setup button. Continue to discover the behavior of the rope model by adjusting each of the friction, frequency, and amplitude slider controls. Observe the change in behavior of the rope as you change each slider (Fig. 1.1).
Answer It!
Perform an experiment and observe a corresponding change in the wave along the rope. The experimental variable will be frequency. Use values of 5, 10, 15, 20, and 25. For each input frequency, count the corresponding number of cycles in the wave along the rope. You will probably need to adjust the speed slider to slow down the simulation and push the go button to pause so you can accurately observe and record the dependent variable cycles.
- Q01.01::
-
Record your experimental data results in the table below.
Independent variable : Frequency
5
10
15
20
25
Dependent variable: Cycles
- Q01.02::
-
Do you think the number of cycles is dependent on the frequency?
- Q01.03::
-
Give an English statement that describes the qualitative relationship between frequency and cycles.
- Q01.04::
-
Give a mathematical model (i.e. function) that describes the quantitative relationship between frequency and cycles.
Continue experimenting by changing the amplitude input and observing the number of cycles. Then change the friction input and observe the number of cycles.
- Q01.05::
-
How does the wave change with a change in amplitude?
- Q01.06::
-
Do you think the number of cycles is dependent on the amplitude? Why?
- Q01.07::
-
How does the wave change with a change in friction?
- Q01.08::
-
Do you think the number of cycles is dependent on the friction? Why?
Notice how the waves often seem to travel from left to right. See if you can find inputs that make the wave reflect off the wall and travel back from right to left. You may also observe a place or places along the rope where the wave doesn’t move up or down, left or right. It is just still. Place your finger or another pointer at a point on the rope to make sure the point is not moving. Change the frequency and watch for new waves interfering with each other until a new wave pattern is established.
Discuss It!
There are ways the simulation model could be changed by adding other inputs or changing the fixed assumptions in the model. For example, you could add a rope length input or allow the rope to be wiggled on both ends. What else could be done?
Answer It!
- Q01.09::
-
Briefly describe one change that could be made to the rope wave model to make it either more visually appealing, easier to control, or to make it more flexible to simulate other conditions.
1.4 Another Example
Before returning to the question, “What is computational science?” we will explore one more simulation model. Open up the web version of the NetLogo model of a 2D Wave Machine (Wilensky 1997b): http://www.netlogoweb.org/launch#http://www.netlogoweb.org/assets/modelslib/Sample%20Models/Chemistry%20&%20Physics/Waves/Wave%20Machine.nlogo
Experiment with the controls on this model. Look for traveling waves from the driver to the edges. Look for reflecting waves off the edges back toward the center. Look for standing waves on the surface. Look for interfering waves causing turbulence. Remember that you can slow down and pause the simulation (Fig. 1.2) .
Discuss It!
How are the rope wave model and the wave machine model different? How are they similar?
Answer It!
In the wave machine model, change the three-d? switch to off.
- Q01.10::
-
With the three-d? switch off, how does the visualization show that the membrane surface is below the edges? Above the edges?
- Q01.11::
-
With the three-d? switch off, is the wave machine a 2-dimensional or 3-dimensional model?
- Q01.12::
-
Did the computational model change when the three-d? switch changed or did the visualization change?
- Q01.13::
-
Is it easier to “see” what is happening in the wave machine with the three-d? switch off or on? Why?
Discuss It!
Has experimenting with the NetLogo rope wave model taught you anything about real ropes and waves? What would make a computational model most useful?
Answer It!
- Q01.14::
-
Does the rope wave model behave like a real rope?
- Q01.15::
-
Is the rope wave model a “good” model?
- Q01.16::
-
How could you decide if the rope wave model is a “good” model?
You have not yet examined the details of how the rope wave model works. You cannot be certain if its internal model is close to a known mathematical model of waves in ropes. One source of error in a computational model is using the wrong or a poor mathematical model. Builders of a computational model may choose a good mathematical model and procedure (i.e. algorithm ) for the science but not correctly translate them into the computing environment.
A second source of error in a computational model is incorrectly implementing the mathematical model . NetLogo , the Internet, and your computer make up a complex computing environment. Each of these components has limitations and could contain errors in computations . A third source of error in a computational model is inaccurate or incorrect computations in the computing environment.
Discuss It!
How can you be confident in using the results from experiments performed with computer simulation models?
Answer It!
- Q01.17::
-
List and rank (in your opinion) the three sources of error in simulation model results for the wave and rope models you just used.
1.5 What Is Computational Science?
Let’s return now to the initial question, “What is computational science?” On the surface, computational science must involve computation and science – so let’s first explore “science”.
Traditional science advances when someone (1) carefully observes something, (2) develops a hypothesis or theory, and (3) designs experiments and tests the hypothesis or theory. When the experimental data supports the hypothesis or theory, mathematical models are developed that can be used to predict future outcomes.
There are often drawbacks to traditional science. As mathematical models become more complex, the algorithmic procedures required are increasingly time consuming, tedious, and error-prone. Modern computer systems can perform algorithms quickly, tirelessly, and without computational error .
Computational science is therefore the intersection between science, math, and computing. Figure 1.3 shows a way of describing computational science.
Two legs of the triangle shown in Fig. 1.3, Theory and Experiment, are covered by the traditional scientific method. Experimental data is collected using observational tools such as human eyes, photography, microscopes, telescopes, and measuring devices (e.g. stopwatches, rulers, micrometers, balances, and graduated cylinders). Two of the vertices, Application and Algorithm , are also included in traditional science. The mathematical model must be validated by its ability to usefully predict events in the real world.
The third leg, Computation , can be used to support any application domain of science (e.g. computational physics, computational chemistry, computational biology, computational engineering, and computational geology). The computer can even be used in the study of computer science. Computational science involves all aspects of traditional science within the bounds and limitations of today’s computing environments.
Let’s now explore our previous Rope Wave simulation to see the mathematical model and computational algorithm that were used to simulate a rope.
Again open up the NetLogo model of a rope using NetLogo Web. Select the “NetLogo Code” section at the bottom of the page. Don’t worry right now about understanding exactly what the program means, but you have now seen a computer model. As the computer program runs in the NetLogo environment, it performs a computation that simulates the model over time and shows a visualization of the computation for the user. The remaining modules in the book will explore the computing foundations for this and other science computer simulations .
Discuss It!
Performing a real world experiment and collecting data often raises difficult issues such as measurement, time, cost, and ethics . Think of some examples of experiments with these issues. In these situations, computational science models should be considered because they may be very useful.
Answer It!
- Q01.18::
-
Describe a real world experiment with a measurement issue. How might a computer simulated experiment alleviate the measurement issue?
- Q01.19::
-
Describe a real world experiment with a time issue. How might a computer simulated experiment alleviate the time issue?
- Q01.20::
-
Describe a real world experiment with a cost issue. How might a computer simulated experiment alleviate the cost issue?
- Q01.21::
-
Describe a real world experiment with an ethical issue. How might a computer simulated experiment alleviate the ethical issue?
1.6 Related Modules
-
Module 2: Chemical Kinetics. Simulation types are introduced.
-
Module 3: Data Representation, Abstraction, Limitations. Computational limits/errors (e.g. round-off, overflow, underflow, limited precision, non-reproducible computations) are examined further.
-
Module 5: Procedures: Algorithms and Abstraction. Algorithms and computation are examined further.
References
Shodor.org. What is Computational Science? http://www.shodor.org/refdesk/Help/whatiscs. Retrieved June 2011
Wilensky U (1997a) NetLogo Rope model. http://ccl.northwestern.edu/netlogo/models/Rope. Center for Connected Learning and Computer-Based Modeling, Northwestern University, Evanston
Wilensky U (1997b) NetLogo Wave Machine model. http://ccl.northwestern.edu/netlogo/models/WaveMachine. Center for Connected Learning and Computer-Based Modeling, Northwestern University, Evanston
Wilensky U (1999) NetLogo. http://ccl.northwestern.edu/netlogo/. Center for Connected Learning and Computer-Based Modeling, Northwestern University, Evanston
Acknowledgement
The original version of this module was developed by Dr. Larry Vail.
Author information
Authors and Affiliations
Rights and permissions
Copyright information
© 2016 Springer International Publishing Switzerland
About this chapter
Cite this chapter
Brewer, K., Bareiss, C. (2016). Introduction to Computational Science. In: Concise Guide to Computing Foundations. Springer, Cham. https://doi.org/10.1007/978-3-319-29954-9_1
Download citation
DOI: https://doi.org/10.1007/978-3-319-29954-9_1
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-29952-5
Online ISBN: 978-3-319-29954-9
eBook Packages: Computer ScienceComputer Science (R0)