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