You are here

Introduction to Computational Science: Modeling and Simulation for the Sciences

Angela B. Shiflet and George W. Shiflet
Publisher: 
Princeton University Press
Publication Date: 
2006
Number of Pages: 
554
Format: 
Hardcover
Price: 
69.50
ISBN: 
0691125651
Category: 
Textbook
[Reviewed by
William J. Satzer
, on
07/11/2006
]

My younger son will be applying for college admission this fall and he has suggested that he may be interested in majoring in mathematics. I feel strangely ambivalent about this. It seems to me that the scope of many college and university mathematics programs is still much too narrow. My own experiences suggest that many non-academic employers are reluctant to hire math majors, and their reluctance increases for those with advanced degrees. This is not entirely an irrational prejudice. I have met too many people working in government and industry who have mathematics degrees but are seemingly unable to connect what they had learned to problems in the wide world outside.

There are several avenues for broadening the mathematics major. One of the most promising is to introduce computational science early in the undergraduate curriculum. Besides the benefits this offers to the prospective math major, practical knowledge of computational science is increasingly important in the sciences and engineering, and most particularly biology. Introduction to Computational Science is a marvelous introduction to the field, suitable even for beginning undergraduates and full of wonderful examples. The authors are a biologist and a mathematician (who now focuses on computer science). The book truly benefits from their balance of experience.

“Computational science” is still somewhat ill-defined. It is situated somewhere between mathematics and computer science, and uses the tools of both fields to investigate problems in the physical and biological sciences, engineering, economics and finance via computational models and simulations. Some years ago (when my job title actually was “computational scientist”) computational science was intimately connected with high performance computing (i.e., supercomputers). Today even the most basic home computer is capable of supporting sophisticated modeling and simulation.

The heart of Introduction to Computational Science is a collection of modules. Each module is either a discussion of a general computational issue or an investigation of an application. There are 22 modules of the former kind and 36 of the latter. Each application module provides prerequisite scientific background material and leads the student into the modeling. An early module introduces the modeling process (analyze the problem, formulate a model, solve the model, validate and interpret the solution, and report results). The authors consistently follow this discipline throughout. Two major categories of computational science modeling are considered: system dynamics models and cellular automata simulations. The authors do not assume readers have any computer programming experience. Instead they rely on software tools: for system dynamics models, they suggest Stella, Vensim, and Berkeley Madonna, and for computational tools, there are Maple, Mathematica, MATLAB and Excel. Tutorials for all these software packages are provided on the text’s web site. In addition, models built using these tools are available from the web site for many of the modules. Typically, an instructor would choose one system dynamics tool and one computational tool for use throughout.

Application modules draw from biology, physics, chemistry and economics, with biology and physics dominating somewhat. Some of the most interesting applications are models of bungee jumping, malaria, the spread of a forest fire, ideal gas laws and scuba diving, and the movement of ants. The scientific background behind each application is clearly and succinctly described and each topic is well-motivated. Modules typically include “quick review” questions, more or less straightforward exercises, and a collection of more extended “project” problems. All of these are well integrated with the text.

This is a visually appealing book that seems to invite browsing. It has been carefully and thoughtfully written with students clearly in mind. I have two concerns about the authors’ approach. First, calculus is not a prerequisite, and that works because it’s possible to do quite a bit of sophisticated modeling without any calculus. However, the authors do include relatively short introductory modules on the derivative and the integral. Then they go on to make pretty free use of differential equations in succeeding modules. (However, they do not require any knowledge of how to differentiate or to solve differential equations.) I wonder how well this works for students who have not seen calculus before. Instead, how about considering an approach based exclusively on difference equations?

My other concern is more of a quibble. There is a very good module called “Errors” that includes a range of things from data errors through round-off, underflow, overflow, truncation and implementation mistakes. This is a valuable piece, often omitted from other texts on modeling, but it sits too early in the book. When students have had some experience with modeling and the various ways it can run amuck, this discussion of errors would mean a good deal more to them.


Bill Satzer (wjsatzer@mmm.com) is a senior intellectual property scientist at 3M Company, having previously been a lab manager at 3M for composites and electromagnetic materials. His training is in dynamical systems and particularly celestial mechanics; his current interests are broadly in applied mathematics and the teaching of mathematics.

Preface xix

CHAPTER 1: OVERVIEW

Module 1.1 Overview of Computational Science 3
Projects 5
References 5
Module 1.2 The Modeling Process 6
Introduction 6
Model Classifications 7
Steps of the Modeling Process 8
Exercises 11
References 11

CHAPTER 2: FUNDAMENTAL CONSIDERATIONS

Module 2.1 Computational Toolbox--Tools of the Trade: Tutorial 1 15
Download 15
Introduction 16

Module 2.2 Errors 17
Introduction 17
Data Errors 17
Modeling Errors 17
Implementation Errors 18
Precision 18
Absolute and Relative Errors 19
Round-off Error 21
Overflow and Underflow 22
Arithmetic Errors 23
Error Propagation 24
Violation of Numeric Properties 27
Comparison of Floating Point Numbers 27
Truncation Error 29
Exercises 31
Projects 32
Answers to Quick Review Questions 34
References 35

Module 2.3 Rate of Change 36
Introduction 36
Vel o c ity 36
Derivative 41
Slope of Tangent Line 42
Differential Equations 47
Second Derivative 48
Exercises 49
Project 51
Answers to Quick Review Questions 51
Reference 52
Module 2.4 Fundamental Concepts of Integral Calculus 53
Introduction 53
Total Distance Traveled and Area 53
Definite Integral 60
Total Change 61
Fundamental Theorem of Calculus 62
Differential Equations Revisited 64
Exercises 64
Project 66
Answers to Quick Review Questions 66
References 67

CHAPTER 3: SYSTEM DYNAMICS PROBLEMS WITH RATE PROPORTIONAL TO AMOUNT

Module 3.1 System Dynamics Tool: Tutorial 1 71
Download 71
Introduction 71

Module 3.2 Unconstrained Growth and Decay 73
Introduction 73
Differential Equation 73
Difference Equation 74
Simulation Program 78
Analytical Solution Introduction 79
Analytical Solution: Explanation with Indefinite Integrals 79
Analytical Solution: Explanation without Indefinite Integrals 80
Completion of Analytical Solution 80
Further Refinement 82
Unconstrained Decay 82
Exercises 84
Projects 85
Answers to Quick Review Questions 86
Reference 86

Module 3.3 Constrained Growth 87
Introduction 87
Carrying Capacity 87
Revised Model 89
Equilibrium and Stability 91
Exercises 92
Projects 93
Answers to Quick Review Questions 95
References 96
Module 3.4 System Dynamics Tool: Tutorial 2 97
Download 97
Introduction 97

Module 3.5 Drug Dosage 98
Downloads 98
Introduction 98
One-Compartment Model of Single Dose 99
One-Compartment Model of Repeated Doses 101
Mathematics of Repeated Doses 103
Sum of Finite Geometric Series 106
Two-Compartment Model 106
Exercises 107
Projects 108
Answers to Quick Review Questions 109
References 110

CHAPTER 4: FORCE AND MOTION

Module 4.1 Modeling Falling and Skydiving 113
Downloads 113
Introduction 113
Acceleration, Velocity, and Position 114
Physics Background 117
Friction During Fall 120
Modeling a Skydive 122
Assessment of the Skydive Model 124
Exercises 125
Projects 125
Answers to Quick Review Questions 127
References 128

Module 4.2 Modeling Bungee Jumping 129
Downloads 129
Introduction 129
Physics Background 130
Vertical Springs 132
Modeling a Bungee Jump 135
Exercises 137
Projects 137
Answers to Quick Review Questions 138
References 139

Module 4.3 Tick Tock--The Pendulum Clock 140
Download 140
Introduction 140
Simple Pendulum 141
Linear Damping 144
Pendulum Clock 144
Exercises 145
Projects 146
Answers to Quick Review Questions 147
References 147

Module 4.4 Up, Up, and Away--Rocket Motion 149
Download 149
Introduction 149
Physics Background 150
System Dynamics Model 152
Exercises 154
Projects 155
Answers to Quick Review Questions 157
References 157

CHAPTER 5: SIMULATION TECHNIQUES

Module 5.1 Computational Toolbox--Tools of the Trade: Tutorial 2 161
Download 161
Introduction 161
Module 5.2 Euler's Method 162
Download 162
Introduction 162
Reasoning behind Euler's Method 162
Algorithm for Euler's Method 164
Error 165
Exercises 167
Projects 167
Answers to Quick Review Questions 168
References 169

Module 5.3 Runge-Kutta 2 Method 170
Introduction 170
Euler's Estimate as a Predictor 170
Corrector 170
Runge-Kutta 2 Algorithm 173
Error 174
Exercises 175
Projects 175
Answers to Quick Review Questions 175
References 175

Module 5.4 Runge-Kutta 4 Method 176
Introduction 176
First Estimate Using Euler's Method 176
Second Estimate 177
Third Estimate 179
Fourth Estimate 181
Using the Four Estimates 183
Runge-Kutta 4 Algorithm 184
Error 185
Exercises 186
Projects 186
Answers to Quick Review Questions 186
References 187

CHAPTER 6: SYSTEM DYNAMICS MODELS WITH INTERACTIONS

Module 6.1 Competition 191
Download 191
Community Relations 191
Competition Introduction 191
Modeling Competition 192
Exercises 195
Projects 195
Answers to Quick Review Questions 197
References 197

Module 6.2 Spread of SARS 198
Downloads 198
Introduction 198
SIR Model 199
SARS Model 202
Reproductive Number 207
Exercises 208
Projects 208
Answers to Quick Review Questions 210
References 211

Module 6.3 Enzyme Kinetics 213
Download 213
Introduction 213
Michaelis-Menten Equation 214
Differential Equations 217
Model 218
Exercises 219
Projects 221
Answers to Quick Review Questions 222
References 223

Module 6.4 Predator-Prey Model 224
Download 224
Introduction 224
Lotka-Volterra Model 225
Particular Situations 227
Exercises 230
Projects 231
Answers to Quick Review Questions 235
References 235

Module 6.5 Modeling Malaria 237
Download 237
Introduction 237
Background Information 238
Analysis of Problem 238
Formulating a Model: Gather Data 239
Formulating a Model: Make Simplifying Assumptions 240
Formulating a Model: Determine Variables and Units 241
Formulating a Model: Establish Relationships 242
Formulating a Model: Determine Equations and Functions 243
Solving the Model 244
Verifying and Interpreting the Model's Solution 247
Exercises 249
Projects 249
Answers to Quick Review Questions 251
References 251

CHAPTER 7: ADDITIONAL DYNAMIC SYSTEMS PROJECTS

Overview 253
Module 7.1 Radioactive Chains--Never the Same Again 255
Introduction 255
Modeling the Radioactive Chain 255
Projects 257
Answers to Quick Review Question 258
Reference 258

Module 7.2 Turnover and Turmoil--Blood Cell Populations 259
Introduction 259
Formation and Destruction of Blood Cells 259
Basic Model 260
Model Parameters 260
Projects 262
Answers to Quick Review Questions 263
References 264

Module 7.3 Deep Trouble--Ideal Gas Laws and Scuba Diving 265
Pressure 265
Ideal Gas 266
Dalton's Law 266
Boyle's Law 267
Charles'Law 268
Henry's Law 269
Rate of Absorption 270
Decompression Sickness 271
Projects 271
Answers to Quick Review Questions 272
References 273

Module 7.4 What Goes Around Comes Around--The Carbon Cycle 274
Introduction 274
Flow between Subsystems 274
Fossil Fuels 275
Projects 276
References 276

Module 7.5 A Heated Debate--Global Warming 278
Greenhouse Effect 278
Global Warming 279
Greenhouse Gases 279
Consequences 279
Projects 280
References 281

Module 7.6 Cardiovascular System--A Pressure-Filled Model 283
Circulation 283
Blood Pressure 284
Heart Rate 284
Stroke Volume 285
Venous Return 285
Systemic Vascular Resistance 285
Blood Flow 285
Projects 286
References 287

Module 7.7 Electrical Circuits--A Complete Story 288
Defibrillators 288
Current and Potential 288
Resistance 290
Capacitance 291
Inductance 292
Circuit for Defibrillator 292
Kirchhoff's Voltage Law 293
Kirchhoff's Current Law 295
Projects 296
Answers to Quick Review Questions 297
References 297
Module 7.8 Fueling Our Cells--Carbohydrate Metabolism 299
Glycolysis 299
Recycling NAD ?'s 300
Aerobic Respiration 301
Projects 301
References 302

Module 7.9 Mercury Pollution--Getting on Our Nerves 303
Introduction 303
Projects 304
References 307

Module 7.10 Managing to Eat--What's the Catch? 308
Introduction 308
Economics Background 309
Gordon-Schaefer Fishery Production Function 314
Projects 314
Answers to Quick Review Questions 316
References 316

CHAPTER 8: DATA-DRIVEN MODELS

Module 8.1 Computational Toolbox--Tools of the Trade: Tutorial 3 321
Download 321
Introduction 321

Module 8.2 Function Tutorial 322
Download 322
Introduction 322
Linear Function 323
Quadratic Function 324
Polynomial Function 325
Square Root Function 326
Exponential Function 327
Logarithmic Functions 328
Logistic Function 330
Trigonometric Functions 331

Module 8.3 Empirical Models 335
Downloads 335
Introduction 336
Linear Empirical Model 336
Predictions 338
Linear Regression 339
Nonlinear One-Term Model 340
Solving for y in a One-Term Model 346
Multiterm Models 349
Exercises 351
Projects 351
Answers to Quick Review Questions 351
References 352

CHAPTER 9: MONTE CARLO SIMULATIONS

Module 9.1 Computational Toolbox--Tools of the Trade: Tutorial 4 357
Download 357
Introduction 357

Module 9.2 Simulations 358
Introduction 358
Element of Chance 359
Disadvantages 359
Genesis of Monte Carlo Simulations 359
Multiplicative Linear Congruential Method 360
Different Ranges of Random Numbers 361
Exercises 364
Projects 365
Answers to Quick Review Questions 366
References 366

Module 9.3 Area Through Monte Carlo Simulation 367
Download 367
Introduction 367
Throwing Darts for Area 368
Measure of Quality 370
Algorithm 371
Implementation 371
Exercises 371
Projects 372
Answers to Quick Review Questions 373
Reference 373

Module 9.4 Random Numbers from Various Distributions 374
Downloads 374
Introduction 374
Statistical Distributions 374
Discrete Distributions 377
Normal Distributions 380
Exponential Distributions 382
Rejection Method 384
Exercises 385
Projects 387
Answers to Quick Review Questions 387
References 388

CHAPTER 10: RANDOM WALK SIMULATIONS

Module 10.1 Computational Toolbox--Tools of the Trade: Tutorial 5 391
Download 391
Introduction 391
Module 10.2 Random Walk 392
Downloads 392
Introduction 392
Algorithm for Random Walk 393
Animate Path 395
Average Distance Covered 398
Relationship between Number of Steps and Distance Covered 400
Exercises 400
Projects 401
Answers to Quick Review Questions 402
References 402

CHAPTER 11: DIFFUSION

Module 11.1 Computational Toolbox--Tools of the Trade: Tutorial 6 405
Download 405
Introduction 405

Module 11.2 Spreading of Fire 406
Downloads 406
Introduction 406
Initializing the System 407
Updating Rules 408
Periodic Boundary Conditions 411
Applying a Function to Each Grid Point 414
Simulation Program 416
Display Simulation 417
Exercises 417
Projects 419
Answers to Quick Review Questions 420
References 420

Module 11.3 Movement of Ants 422
Downloads 422
Introduction 422
Analysis of Problem 423
Formulating a Model: Gather Data 423
Formulating a Model: Make Simplifying Assumptions 424
Formulating a Model: Determine Variables 424
Formulating a Model: Establish Relationships and Submodels 424
Formulating a Model: Determine Functions--Sensing 425
Formulating a Model: Determine Functions--Walking without Concern for Collision 425
Formulating a Model: Determine Functions--Walking with Concern for Collision 426
Solving the Model--A Simulation 428
Verifying and Interpreting the Model's Solution--Visualizing the Simulation 429
Exercises 429
Projects 431
Answers to Quick Review Questions 434
References 434

CHAPTER 12: HIGH PERFORMANCE COMPUTING

Module 12.1 Concurrent Processing 437
Introduction 437
Analogy 439
Types of Processing 440
Multiprocessor 441
Classification of Computer Architectures 443
Metrics 443
Exercises 446
Project 446
Answers to Quick Review Questions 446
References 447

Module 12.2 Parallel Algorithms 448
Introduction 448
Embarrassingly Parallel Algorithm: Adding Two Vectors 448
Data Partitioning: Adding Numbers 449
Divide and Conquer: Adding Numbers 452
Parallel Random Number Generator 455
Sequential Algorithm for N -Body Problem 457
Barnes-Hut Algorithm for N -Body Problem 462
Exercises 465
Projects 467
Answers to Quick Review Questions 468
References 470

CHAPTER 13: ADDITIONAL CELLULAR AUTOMATA PROJECTS

Overview 471
Module 13.1 Polymers--Strings of Pearls 473
Introduction 473
Simulations 475
Projects 476
References 477
Module 13.2 Solidification--Let's Make It Crystal Clear! 479
Introduction 479
Projects 480
References 482

Module 13.3 Foraging--Finding a Way to Eat 483
Introduction 483
Simulations 484
Projects 485
References 488

Module 13.4 Pit Vipers--Hot Bodies, Dead Meat 489
Introduction 489
Simulations of Heat Diffusion 489
Projects 490
References 491

Module 13.5 Mushroom Fairy Rings--Just Going in Circles 492
Introduction 492
What Are Fungi? 493
What Do Fungi Look Like? 493
How Do Fungi "Feed Themselves"? 494
How Do Fungi Reproduce? 494
How Do Fungi Grow? 494
The Problem 494
How Do Fairy Rings Get Started? 495
Initializing the System 495
Updating Rules 497
Displaying the Simulation 498
Projects 498
References 499

Module 13.6 Spread of Disease--"Gesundheit!"501
Introduction 501
Exercise 501
Projects 501

Module 13.7 HIV--The Enemy Within 504
The Developing Epidemic 504
Attack on the Immune System 505
Plan of Attack 506
Simulation of the Attack 507
Projects 507
References 508

Module 13.8 Predator-Prey--"Catch Me If You Can "510
Introduction 510
Projects 510
References 514

Module 13.9 Clouds--Bringing It All Together 516
Introduction 516
Projects 517
References 520

Module 13.10 Fish Schooling--Hanging Together, not Separately 521
Introduction 521
Simulations 522
Projects 522
References 523

Glossary of Terms 525
Answers to Selected Exercises 543
Index 547