This preview shows pages 1–3. Sign up to view the full content.
This preview has intentionally blurred sections. Sign up to view the full version.View Full Document
Unformatted text preview: Chapter 1 Introduction The principle focus of this course is the discipline of scientific programming. The aim is to acquaint the students with how to program computers to solve analyti- cally (pencil and paper approach) difficult but numerically tractable mathematical problems. 1.1 Justification for scientific computing The study of natural physical phenomena must be approached in a variety of ways. They include observations, measurements, experiments, and last but not least building abstract physical/mathematical models of the phenomena of interest. These abstract models are necessary for the purpose of elucidating the underlying physical principle, and for design and forecasting purposes. An example include understanding and predicting atmospheric flows like hurricane formation, steer- ing and intensification. Fluid flows for example are governed by the Navier-Stokes equations which are derived based on the principle of momentum, mass and energy conservation. This constitutes for example the abstraction phase into a mathemat- ical model. Unfortunately, these equations are very hard to solve analytically: they are nonlinear so we cannot superpose simple solutions to build complex ones, they occur in geometrically complicated regions like ocean basins, or flow around cars and airplanes, or around the Earth, and are subject to complicated forcing mech- anisms. These equations must be solved numerically which requires an algorithm suitable for computers, and the implementation of that algorithm on a computer, i.e. programming. We are mostly concerned with the last step here. However, to provide examples of programming we will study several numerical algorithms that one encounters in science and engineering. The emphasis however, will not be on studying these algorithms and their stability but on programming them. 5 6 CHAPTER 1. INTRODUCTION 1.2 Types of programming tasks Programming encompasses a wide variety of subcategories that can be classified according to the target applications. These include data base programming, i.e....
View Full Document
- Fall '08