# Introduction

### From ComputingForScientists

## Contents |

# 1. Overview

CSE [Computational Science and Engineering] is a broad multidisciplinary area that encompasses applications in science/engineering, applied mathematics, numerical analysis, and computer science. Computer models and computer simulations have become an important part of the research repertoire, supplementing (and in some cases replacing) experimentation. Going from application area to computational results requires domain expertise, mathematical modeling, numerical analysis, algorithm development, software implementation, program execution, analysis, validation and visualization of results. CSE involves all of this.

Society for Industrial and Applied Mathematics Working Group on Computational Science and Engineering.

# 2. Relationship to Other Fields

Computational Science is a discipline that involves solving and gaining insight into scientific problems using computation; the computer is used as a fundamental tool for experimentation and hypothesis testing.

The following figure shows the overlapping disciplines that create the discipline of Computational Science. Working in computational science requires a strong background in a variety of areas including computer programming, mathematics, and a background in one or more scientific fields.

The combination of mathematics, computer science, and a science domain (such as physics or biology) create this new discipline that goes beyond the elements of any single area of study [2].

The complexity of the equations we use to describe nature sometimes make it impossible to do predictions just using pencil and paper calculations. Computers allow us to make numerical approximations of these equations. These numerical approximations can then be used to create computational simulations that are based on our equations. Using the simulations, we can add a set of speciﬁc starting conditions and create a set of computer experiments. The use of these computer experiments is one of the core ideas behind computational science.

We use these computer experiments for a variety of reasons. First, some hypotheses are too diﬃcult or expensive to test in a laboratory. When we design a new aircraft, we could make a new physical model for each design and put it in a wind tunnel. In fact, this was done for decades. However, the cost of doing this was very expensive. Computers allow us to model an aircraft without ever using a wind tunnel. Making changes in the computer model is easy, making it very easy to do lots of “experiments” with the design. Computers are also used to evaluate possible drug designs in the same way.

In some cases, the experiments we want to do are impossible. For example, we can’t create a real galaxy or a real star in our laboratory. Even when we observe actual stars through the telescope, we can only get a limited amount of information based on the data collected because the inside of stars is hidden beneath the hot, glowing photosphere. When we make a computer simulation of a star, we can make predictions about the conditions inside stars.

Computational Science is often confused with Computer Science.

- Computational science primarily involves the use of computation to answer scientific questions.
- Computer science primarily involves the engineering of software and hardware systems and the theory of computation.

# 3. Why Computing For Scientists?

- Using computation to solve science problems is as important as
- Using math to solve science problems
- Using a microscope or a telescope to solve science problems

"Computers are used to generate insight, not just numbers"

(The quote appears in Section 1.1 of a book by Hamming)

# 4. Solving a Computational Science Problem

Solving a **Computational Science** problem requires

- A Scientific Model (A description of the system)
- A Mathematical Model (A translation of the description to a set of mathematical equations)
- Computation (Solving the mathematical equations with a computer)
- Science Analysis and Interpretation

# 5. Examples

Recall that solving a **Computational Science** problem requires

- A Scientific Model (A description of the system)
- A Mathematical Model (A translation of the description to a set of mathematical equations)
- Computation (Solving the mathematical equations with a computer)
- Science Analysis and Interpretation

## 5.1. Example I: Science Model

*From www.globalchange.umich.edu on June 23 2017 07:05:26.*

Assume a closed system (Rabbits and Foxes on an island, for example).

Assume the change in number of rabbits per year

- increases in proportion to the number of rabbits,
- decreases in proportion to (the number of rabbits) x (number of foxes), and
- Does not depend on rabbits dying of natural death

Assume that the change in number of foxes per year

- decreases in proportion to the number of foxes (more competition for food), and
- increases in proportion to (the number of rabbits) x (the number of foxes).

## 5.2. Example I: Mathematical Model

The science model can be written in terms of equations that can be solved using a computer. The mathematical model of the science description stated previously is [3]

ΔR = aR - bRF

ΔF = ebRF - cF

Where

- ΔR is the change in population of rabbits from this year to the next year
- ΔF is the change in population of foxes from this year to the next year
- R is the number of rabbits
- F is the number of foxes

and a, c, b, and e are numbers (such as 1.2, 0.5, etc.) where

- a is the natural growth rate of rabbits in the absence of predation,
- c is the natural death rate of foxes in the absence of food (rabbits),
- b is the death rate per encounter of rabbits due to predation,
- e is the efficiency of turning predated rabbits into foxes.

Notes |
---|

What you will need to know for this course is that a mathematical model exists, not have a complete understanding of the math involved in solving the problem. After taking this course you will not be able to solve these equations |

## 5.3. Example I: Computation

The very first computation is for

- ΔR = the change in population of rabbits from this year to the next year
- ΔF = the change in population of foxes from this year to the next year

If initially the population was R = 100, F = 10 a = 0.1, b = 0.1, c = 0.1, e = 0.1, you would then compute the change in population from year one to year two by plugging in values into the mathematical model equations

ΔR = aR - bRF = 0.1·100 - 0.1·100·10 = -90

ΔF = ebRF - cF = 0.1·0.1·100·10 - 0.1·10 = 9

Notes |
---|

Discussion question: What happens when the changes are not integer? (Something similar happens with the population model.) |

## 5.4. Example I: Analysis and Interpretation

*From www.globalchange.umich.edu on June 23 2017 07:05:27.*

Given the results of the simulation, the next steps include answering the following questions:

- What parts of the model are most important? If you leave out parts of the equations, do you get the same answer?
- If one parameter is changed slightly, does the solution change drastically?
- What features of actual measurement do the model explain? What features cannot be explained?

# 6. Activities

## 6.1. Computational Science vs. Computer Science

Ask someone who does programming what the difference is between Computational Science and Computer Science.

# 7. References

http://sherrytowers.com/2013/12/11/introduction-to-compartmental-modeling/

http://www.di.unipi.it/~ambriola/sim/2014_04_11LinciConigli.pdf

http://people.whitman.edu/~hundledr/courses/M250F03/M250.html

- Computational Science: Ensuring America's Competitiveness
- Overview of Computational Science from Shodor [4]
- Graduate Programs in Computational Science [5]