Table of Contents
CONTENTS FOR SECOND EDITION
Preface
1: OVERVIEW
Module 1.1 Overview of Computational Science
Module 1.2 The Modeling Process
- Introduction
- Model Classifications
- Steps of the Modeling Process
- Exercises
- References
2: SYSTEM DYNAMICS PROBLEMS WITH RATE PROPORTIONAL TO AMOUNT
Module 2.1 System Dynamics Tool—Tutorial 1
Module 2.2 Unconstrained Growth and Decay
- Introduction
- Rate of Change
- Differential Equation
- Difference Equation
- Simulation Program
- Analytical Solution Introduction
- Analytical Solution—Explanation with Indefinite Integrals (Optional)
- Analytical Solution—Explanation with Derivatives (Optional)
- Completion of the Analytical Solution
- Further Refinement
- Unconstrained Decay
- Reports for System Dynamics Models
- Exercises
- Projects
- Answers to Quick Review Questions
- Reference
Module 2.3 Constrained Growth
- Introduction
- Carrying Capacity
- Revised Model
- Equilibrium and Stability
- Exercises
- Projects
- Answers to Quick Review Questions
- References
Module 2.4 System Dynamics Tool: —Tutorial 2
Module 2.5 Drug Dosage
- Downloads
- Introduction
- One-Compartment Model of Single Dose
- One-Compartment Model of Repeated Doses
- Mathematics of Repeated Doses
- Sum of Finite Geometric Series
- Two-Compartment Model
- Exercises
- Projects
- Answers to Quick Review Questions
- References
3: FORCE AND MOTION
Module 3.1 Modeling Falling and Skydiving
- Downloads
- Introduction
- Acceleration, Velocity, and Position
- Physics Background
- Friction During Fall
- Modeling a Skydive
- Assessment of the Skydive Model
- Exercises
- Projects
- Answers to Quick Review Questions
- References
Module 3.2 Modeling Bungee Jumping
- Downloads
- Introduction
- Physics Background
- Vertical Springs
- Modeling a Bungee Jump
- Exercises
- Projects
- Answers to Quick Review Questions
- References
Module 3.3 Tick Tock—The Pendulum Clock
- Download
- Introduction
- Simple Pendulum
- Linear Damping
- Pendulum Clock
- Exercises
- Projects
- Answers to Quick Review Questions
- References
Module 3.4 Up, Up, and Away—Rocket Motion
- Download
- Introduction
- Physics Background
- System Dynamics Model
- Exercises
- Projects
- Answers to Quick Review Questions
- References
4: SYSTEM DYNAMICS MODELS WITH INTERACTIONS
Module 4.1 Competition
- Download
- Community Relations
- Competition Introduction to Competition
- Modeling Competition
- Exercises
- Projects
- Answers to Quick Review Questions
- References
Module 4.2 Predator-Prey Models
- Download
- Introduction
- Lotka-Volterra Model
- Particular Situations
- Exercises
- Projects
- Answers to Quick Review Questions
- References
Module 4.3 Modeling the Spread of SARS—Containing Emerging Disease
- Downloads
- Introduction
- SIR Model
- SARS Model
- Reproductive Number
- Exercises
- Projects
- Answers to Quick Review Questions
- References
Module 4.4 Modeling a Persistent Plague—Malaria
- Download
- Introduction
- Background Information
- Analysis of Problem
- Formulating a Model: Gather Data
- Formulating a Model: Make Simplifying Assumptions
- Formulating a Model: Determine Variables and Units
- Formulating a Model: Establish Relationships
- Formulating a Model: Determine Equations and Functions
- Solving the Model
- Verifying and Interpreting the Model’s Solution
- Exercises
- Projects
- Answers to Quick Review Questions
- References
Module 4.5 Enzyme Kinetics—A Model of Control
- Download
- Introduction
- Enzymatic Reactions
- Differential Equations
- Model
- Moles vs. Molar
- Results
- Michaelis-Menten Equation
- Results
- Modeling Inhibition
- Exercises
- Projects
- Answers to Quick Review Questions
- References
5: COMPUTATIONAL ERROR
Module 5.1 Computational Toolbox—Tools of the Trade: Tutorial 1
Module 5.2 Errors
- Introduction
- Data Errors
- Modeling Errors
- Implementation Errors
- Precision
- Absolute and Relative Errors
- Round-off Error
- Overflow and Underflow
- Arithmetic Errors
- Error Propagation
- Violation of Numeric Properties
- Comparison of Floating Floating-Point Numbers
- Truncation Error
- Exercises
- Projects
- Answers to Quick Review Questions
- References
6: SIMULATION TECHNIQUES
Module 6.1 Computational Toolbox—Tools of the Trade: Tutorial 2
Module 6.2 Euler’s Method
- Download
- Introduction
- Reasoning behind Euler’s Method
- Algorithm for Euler’s Method
- Error
- Exercises
- Projects
- Answers to Quick Review Questions
- References
Module 6.3 Runge-Kutta 2 Method
- Introduction
- Euler’s Estimate as a Predictor
- Corrector
- Runge-Kutta 2 Algorithm
- Error
- Exercises
- Projects
- Answers to Quick Review Questions
- References
Module 6.4 Runge-Kutta 4 Method
- Introduction
- First Estimate, ∂1, Using Euler’s Method
- Second Estimate, ∂2
- Third Estimate, ∂3
- Fourth Estimate, ∂4
- Using the Four Estimates
- Runge-Kutta 4 Algorithm
- Error
- Exercises
- Projects
- Answers to Quick Review Questions
- References
7: ADDITIONAL SYSTEM DYNAMICS PROJECTS
Module 7.1 Radioactive Chains—Never the Same Again
- Introduction
- Modeling the Radioactive Chain
- Projects
- Answers to Quick Review Questions
- Reference
Module 7.2 Turnover and Turmoil—Blood Cell Populations
- Introduction
- Formation and Destruction of Blood Cells
- Basic Model
- Model Parameters
- Projects
- Answers to Quick Review Questions
- References
Module 7.3 Deep Trouble—Ideal Gas Laws and Scuba Diving
- Pressure
- Ideal Gas
- Dalton’s Law
- Boyle’s Law
- Charles’ Law
- Henry’s Law
- Rate of Absorption
- Decompression Sickness
- Projects
- Answers to Quick Review Questions
- References
Module 7.4 What Goes Around Comes Around—The Carbon Cycle
- Introduction
- Flow Between between Systems
- Fossil Fuels
- Projects
- References
Module 7.5 A Heated Debate—Global Warming
- Greenhouse Effect
- Global Warming
- Greenhouse Gases
- Consequences
- Projects
- References
Module 7.6 Plotting the Future—How Will the Garden Grow?
- The Problem
- Project
- Reference
Module 7.7 Cardiovascular System—A Pressure Pressure-Filled Model
- Circulation
- Blood Pressure
- Nervous Systems
- Stroke Volume
- Venous Return
- Systemic Vascular Resistance
- Blood Flow
- Projects
- References
Module 7.8 Electrical Circuits—A Complete Story
- Defibrillators
- Current and Potential
- Resistance
- Capacitance
- Inductance
- Circuit for Defibrillator
- Kirchhoff’s Voltage Law
- Kirchhoff’s Current Law
- Projects
- Answers to Quick Review Questions
- References
Module 7.10 Feeding the Problem—Antibiotic Resistance
- Introduction
- Projects
- References
Module 7.11 Fueling Our Cells—Carbohydrate Metabolism
- Glycolysis
- Recycling NAD+s
- Aerobic Respiration
- Projects
- References
Module 7.12 Mercury Pollution—Getting on Our Nerves
- Introduction
- Projects
- References
Module 7.13 Managing to Eat—What’s the Catch?
- Introduction
- Economics Background
- Gordon-Schaefer Fishery Production Function
- Projects
- Answers to Quick Review Questions
- References
Module 7.14 Control Issues—The Operon Model
- Proteins
- Nucleic Acids
- From Genes to Proteins
- Projects
- References
Module 7.15 Troubling Signals—Colon Cancer
- Introduction
- Colon Cancer
- Modeling Crypt Dynamics
- Projects
- References
8: DATA-DRIVEN MODELS
Module 8.1 Computational Toolbox—Tools of the Trade: Tutorial 3
Module 8.2 Function Tutorial
- Download
- Introduction
- Linear Function
- Quadratic Function
- Polynomial Function
- Square Root Function
- Exponential Function
- Logarithmic Functions
- Logistic Function
- Trigonometric Functions
Module 8.3 Empirical Models
- Downloads
- Introduction
- Linear Empirical Model
- Predictions
- Linear Regression
- Non-Linear One-Term Model
- Solving for y in a One-Term Model
- Multiterm Models
- Advanced Fitting with Computational Tools
- Exercises
- Projects
- Answers to Quick Review Questions
- References
9: SIMULATING WITH RANDOMNESS
Module 9.1 Computational Toolbox—Tools of the Trade: Tutorial 4
Module 9.2 Simulations
- Download
- Introduction
- Disadvantages of Computer Simulations
- Element of Chance
- Measure of Quality
- Simulation Development
- Multiplicative Linear Congruential Method (Optional)
- Different Ranges of Random Numbers
- Exercises
- Projects
- Answers to Quick Review Questions
- References
Module 9.3 Random Numbers from Various Distributions
- Downloads
- Introduction
- Statistical Distributions
- Discrete Distributions
- Normal Distributions
- Exponential Distributions
- Rejection Method
- Exercises
- Projects
- Answers to Quick Review Questions
- References
Module 9.4 Computational Toolbox—Tools of the Trade: Tutorial 5
Module 9.5 Random Walk
- Downloads
- Introduction
- Algorithm for Random Walk
- Animate Path
- Average Distance Covered
- Relationship between Number of Steps and Distance Covered
- Exercises
- Projects
- Answers to Quick Review Questions
- References
10: CELLULAR AUTOMATON DIFFUSION SIMULATIONS
Module 10.1 Computational Toolbox—Tools of the Trade: Tutorial 6
Module 10.2 Diffusion: Overcoming Differences
- Downloads
- Introduction
- Problem
- Initializing the System
- Heat Diffusion
- Boundary Conditions
- Applying a Function to Each Grid Point
- Simulation Program
- Display Simulation
- Exercises
- Projects
- Answers to Quick Review Questions
- References
Module 10.3 Spreading of Fire
- Downloads
- Introduction
- Problem
- Initializing the System
- Updating Rules
- Periodic Boundary Conditions
- Applying a Function to Each Grid Point
- Simulation Program
- Display Simulation
- Exercises
- Projects
- Answers to Quick Review Questions
- References
Module 10.4 Movement of Ants—Taking the Right Steps
- Downloads
- Introduction
- Analysis of Problem
- Formulating a Model: Gather Data
- Formulating a Model: Make Simplifying Assumptions
- Formulating a Model: Determine Variables
- Formulating a Model: Establish Relationships and Submodels
- Formulating a Model: Determine Functions—Sensing
- Formulating a Model: Determine Functions—Walking
- Solving a Model: A Simulation
- Verifying and Interpreting the Model’s Solution—Visualizing the Simulation
- Exercises
- Projects
- Answers to Quick Review Questions
- References
Module 10.5 Biofilms—United They Stand, Divided They Colonize
- Downloads
- Introduction
- The Problem
- Nutrient Grid
- Nutrient Boundary Conditions
- Biofilm Initialization
- Biofilm Boundary Conditions
- Biofilm Growth
- Consumption of Nutrients
- Simulation Program
- Display Simulation
- Example Problem
- Assessment of the Model
- Computing Power
- Projects
- Answers to Quick Review Questions
- References
11: AGENT-BASED MODELS
Module 11.1 Agent-Based Tool: Tutorial 1
Module 11.2 Agents of Interaction: Steering a Dangerous Course
- Downloads
- Introduction
- Problem
- Agent-Based Modeling
- Formulating the Simulation Model
- Overall Design of the Simulation
- Model Environment
- Agents and Their States
- Agent Behaviors
- Example Problem
- Repeated Simulations
- Model Refinement
- Exercises
- Projects
- Answers to Quick Review Questions
- References
Module 11.3 Agent-Based Tool: Tutorial 2
Module 11.4 Introducing the Cane Toad – Able Invader
- Download
- Introduction
- The Problem
- Grid-Based Individual-Based Model
- Model of Environment
- Agents and Their Decictions
- Toad’s State
- Toad Behavior
- Constants and Global Simulation Variables
- Initial Environment
- Simulation Driver
- Phase 0: Initialization
- Phase 1: Consumption
- Phase 2: Movement
- Phase 3: Complete Cycle
- Visualization of Example Problem
- Multiple Simulations
- Assessment of Model
- Exercises
- Projects
- Answers to Quick Review Questions
- References
12: HIGH-PERFORMANCE COMPUTING
Module 12.1 Concurrent Processing
- Introduction
- Analogy
- Types of Processing
- Communication
- Metrics
- Exercises
- Project
- Answers to Quick Review Questions
- References
Module 12.2 Parallel Algorithms
- Introduction
- Embarrassingly Parallel Algorithm: Adding Two Vectors
- Data Partitioning: Adding Numbers
- Divide and Conquer: Adding Numbers
- Parallel Random Number Generator
- Sequential Algorithm for the N-Body Problem
- Barnes-Hut Algorithm for the N-Body Problem
- Exercises
- Projects
- Answers to Quick Review Questions
- References
13: MATRIX MODELS
Module 13.1 Computational Toolbox—Tools of the Trade: Tutorial 7
Module 13.2 Matrices for Population Studies—Linked for Life
- Downloads
- Population Matrices and High High-Performance Computing
- Vectors
- Vector Addition
- Multiplication by a Scalar
- Dot Product
- Matrices
- Scalar Multiplication and Matrix Sums
- Matrix Multiplication
- Square Matrices
- Matrices and Systems of Equations
- Exercises
- Projects
- Answers to Quick Review Questions
- References
Module 13.3 Time after Time—Age- and Stageuctured Models
- Downloads
- Introduction
- The Problem
- Ageuctured Model
- Leslie Matrices
- Age Distribution Over over Time
- Projected Population Population-Growth Rate
- Stage Structured Model
- Algorithms
- Sensitivity Analysis for the Age Structured Example
- Sensitivity Analysis for the Stage Structured Example
- Applicability of Leslie and Lefkovitch Matrices
- Need for High-Performance Computing
- Nimrod
- Exercises
- Answers to Selected Exercises
- Projects
- Answers to Quick Review Questions
- References
Module 13.5 The Next Flu Pandemic: Old Enemy—New Identity
- Downloads
- Introduction
- The Problem
- Graphs
- Paths
- Clustering
- Bipartite Graphs
- Matrix Representation of Graphs
- People-Location Graphs
- Minimal Dominating Set
- Degree Distribution
- Clustering Coefficient
- Example Problems
- Assessment of Model
- Computing Power
- Projects
- Answers to Quick Review Questions
- References
14: ADDITIONAL CELLULAR AUTOMATA, AGENT-BASED AND MATRIX PROJECTS
Module 14.1 Polymers—Strings of Pearls
- Introduction
- Simulations
- Projects
- References
Module 14.2 Solidification—Let’s Make It Crystal Clear!
- Introduction
- Projects
- References
Module 14.3 Foraging—Finding a Way to Eat
- Introduction
- Simulations
- Projects
- References
Module 14.4 Pit Vipers—Hot Bodies, Dead Meat
- Introduction
- Simulations of Heat Diffusion
- Projects
- References
Module 14.5 Mushroom Fairy Rings—Growing in Circles
- Introduction
- What Are Fungi?
- What Do Fungi Look Like?
- How Do Fungi Feed Themselves?
- How Do Fungi Reproduce?
- How Do Fungi Grow?
- The Problem
- How Do Fairy Rings Get Started?
- Initializing the System
- Updating Rules Display the Simulation
- Display the Simulation Updating Rules
- Projects
- References
Module 14.6 Spread of Disease—Sharing Bad News
- Introduction
- Exercise
- Projects
- References
Module 14.7 HIV—The Enemy Within
- The Developing Epidemic
- Attack on the Immune System
- Plan of Attack
- Simulation of the Attack
- Projects
- References
Module 14.8 Predator-Prey—”Catch Me If You Can”
- Introduction
- Projects
- References
Module 14.9 Clouds—Bringing It All Together
- Introduction
- Projects
- References
Module 14.10 Fish Schooling—Hanging Together, Not Separately
- Introduction
- Simulations
- Projects
- References
Module 14.11 Spaced Out—Native Plants Lose to Exotic Invasives
- Introduction
- Competition for Space
- Projects
- References
Module 14.12 Re-Solving the Problems with Cellular Automaton Simulations
- Introduction
- Simulations
- Projects
Module 14.13 Re-Solving the Problems with Agent-Based Simulations
Module 14.14 Computational Code-Breaking—Deciphering Our Own Mysteries
- Bioinformatics
- Mutations
- Locating Genes with Markov Chains
- GeneMark
- Projects
- Answers to Quick Review Questions
- References
Module 14.15 Social Networks—Value in Being Well- Connected
- Introduction
- Projects
- References
Glossary
Answers to Selected Exercises
Index