Top Banner
MIT OpenCourseWare http://ocw.mit.edu 12.010 Computational Methods of Scientific Programming Fall 2007 For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms .
30

PowerPoint Presentation - 12.010 Computational Methods of ... · Class Project •Aim of the project is to put together everything you have learned in this course: – Algorithm design

Aug 05, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: PowerPoint Presentation - 12.010 Computational Methods of ... · Class Project •Aim of the project is to put together everything you have learned in this course: – Algorithm design

MIT OpenCourseWare http://ocw.mit.edu

12.010 Computational Methods of Scientific Programming Fall 2007

For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms .

Page 2: PowerPoint Presentation - 12.010 Computational Methods of ... · Class Project •Aim of the project is to put together everything you have learned in this course: – Algorithm design

12.010 Computational Methods of Scientific Programming

Lecturers

Thomas A HerringChris Hill

Page 3: PowerPoint Presentation - 12.010 Computational Methods of ... · Class Project •Aim of the project is to put together everything you have learned in this course: – Algorithm design

11/26/2007 12.010 Lec 22 2

Review of last Lecture• Examined parallel computing and MPI

implementation. One more lecture in this area on Tues Nov 28.

• Matlab Homework posted and due November 29.

• Today: Class project and graphics formats

Page 4: PowerPoint Presentation - 12.010 Computational Methods of ... · Class Project •Aim of the project is to put together everything you have learned in this course: – Algorithm design

11/26/2007 12.010 Lec 22 3

Class project Groups1. 5-in-a-line game: D. Husmann, L. Song2. Swaming behavior in animals: J. Berdahl, H. Owens3. Monte-Carlo simulation: Q. Ejaz, P. James4. Geothem and river incision: J. Stanley, E. Swanson,

M. Perignon5. Group theory: M. Reed, A. Marok6. Meteorite hits MIT: A. Baker, C. Galloway, K. Thome,

F. Rojas.7. Boron Neutron capture: A. Lerch, J. Shah8. Adventure Game: B. Edwards, G. Russo, A. Vu

Page 5: PowerPoint Presentation - 12.010 Computational Methods of ... · Class Project •Aim of the project is to put together everything you have learned in this course: – Algorithm design

11/26/2007 12.010 Lec 22 4

Class Project

• Aim of the project is to put together everything you have learned in this course:– Algorithm design– User interface– Numerical methods– Graphics output

• We will spend some time over next two lectures introducing some concepts that might assist in these projects.

Page 6: PowerPoint Presentation - 12.010 Computational Methods of ... · Class Project •Aim of the project is to put together everything you have learned in this course: – Algorithm design

11/26/2007 12.010 Lec 22 5

Ground rules

• You will be working in groups. The role of each person in the group should be explained in the project description.

• There is a written and code components to the projects (see web page of requirements).

• You can solve the problem in any language that you want to use

• For those that choose Fortran, C or C++, they can choose their a graphics program to display results.

Page 7: PowerPoint Presentation - 12.010 Computational Methods of ... · Class Project •Aim of the project is to put together everything you have learned in this course: – Algorithm design

11/26/2007 12.010 Lec 22 6

Problem statement• Each group should develop a problem statement that

defines the problem they are trying to solve.• Many of the projects are driven by differential

equations in the acceleration and/or velocity of a body will depend on forces applied to the body

• We will look at the case on a gravity driven orbital problem.

Page 8: PowerPoint Presentation - 12.010 Computational Methods of ... · Class Project •Aim of the project is to put together everything you have learned in this course: – Algorithm design

11/26/2007 12.010 Lec 22 7

Governing equations for gravity-type problems

• Force = mass*acceleration (F=ma)• Force = GM1M2/R2 where M1 and M2 are two masses

and R is the distance between them.• The force is directed along the vector between the

bodies• For multiple bodies, the force acting on each body is

the vector sum of the forces from all the other bodies.• What do you do with these equations?

Page 9: PowerPoint Presentation - 12.010 Computational Methods of ... · Class Project •Aim of the project is to put together everything you have learned in this course: – Algorithm design

11/26/2007 12.010 Lec 22 8

Solution to equations• Given the initial positions of all the bodies, the

accelerations of each body can be computed.• Acceleration integrated, gives the velocity change

(remember bodies are initially moving)• Velocity integrated gives position change.• At the new positions, the forces will be different and

therefore there will be different accelerations and velocities.

• How we quantity the changes in positions and velocities?

Page 10: PowerPoint Presentation - 12.010 Computational Methods of ... · Class Project •Aim of the project is to put together everything you have learned in this course: – Algorithm design

11/26/2007 12.010 Lec 22 9

Integration methods• Simplest method is Euler’s method: Compute

accelerations; DV = A*dt; P(t+dt) = P(t) + (V(t)+Adt/2)*dtV(t+dt) = V(t) + A*dt

• Compute new accelerations at P(t+dt) and continue to iterate.

• This is simplest and most inaccurate method.• Why is it inaccurate?• For your projects, write down the basic equations and

how these will be solved.

Page 11: PowerPoint Presentation - 12.010 Computational Methods of ... · Class Project •Aim of the project is to put together everything you have learned in this course: – Algorithm design

11/26/2007 12.010 Lec 22 10

Runge-Kutta integration

• Compare the two versions of the second-order system• y’’ = f(x,y,y’)

yn+1 = yn + h[yn' +16(k1 + k2 + k3)] +O(h

5 )

yn+1' = yn

' +16[k1 + 2k2 + 2k3 + k4 ]

k1 = hf (xn ,yn ,yn' )

k2 = hf (xn + h / 2,yn + hyn' / 2 + hk1 /8, yn

' + k1 / 2)

k3 = hf (xn + h / 2,yn + hyn' / 2 + hk1 / 8,yn

' + k2 / 2)

k4 = hf (xn + h,yn + hyn' + hk3 / 2, yn

' + k3)

Page 12: PowerPoint Presentation - 12.010 Computational Methods of ... · Class Project •Aim of the project is to put together everything you have learned in this course: – Algorithm design

11/26/2007 12.010 Lec 22 11

Form with no Velocity dependence• y’’ = f(x,y)

yn+1 = yn + h[yn' +16(k1 + 2k2 )] +O(h

4)

yn+1' = yn

' +16k1 +

23k2 +

16k3]

k1 = hf (xn ,yn)

k2 = hf (xn + h / 2,yn + hyn' / 2 + hk1 /8)

k3 = hf (xn + h,yn + hyn' + hk2 / 2)

Page 13: PowerPoint Presentation - 12.010 Computational Methods of ... · Class Project •Aim of the project is to put together everything you have learned in this course: – Algorithm design

11/26/2007 12.010 Lec 22 12

Graphics• As we have seen some languages (Matlab and

mathematica) already have graphics imbedded in them

• Languages such as Fortran, C and C++ do not explicitly contain graphics but graphics routines can be included in programs if a graphics library can be found.

• Often graphically output needs to be included in other documents (such as reports and web pages)

• Quality of the display depends very much on the type of graphics used.

• For graphics there are too many “standards”

Page 14: PowerPoint Presentation - 12.010 Computational Methods of ... · Class Project •Aim of the project is to put together everything you have learned in this course: – Algorithm design

11/26/2007 12.010 Lec 22 13

Types of graphics files• Graphics files fall into two basic types:

– Vector graphics, made of lines and objects (e.g., fonts) that can scaled. The most common of these is Postscript (in its various forms)

– Bitmapped graphics defined by pixels that have certain characteristics. The most common of these is GIF (Graphics Interchange Format). These types of formats are good for images especially with continuous tone changes.

• Bitmapped graphics can look very bad when re-scaled.• Some formats are a composite of each type (e.g. Mac

PICT format).

Page 15: PowerPoint Presentation - 12.010 Computational Methods of ... · Class Project •Aim of the project is to put together everything you have learned in this course: – Algorithm design

11/26/2007 12.010 Lec 22 14

Basic Graphic formats• Postscript: Comes in different versions (level 1, 2 and

3) and as encapsulated (EPS).• EPS files may have a preview of image which is often

displayed in WYSIWYG word processors. (The preview image may not always be displayable).

• Postscript is meant for printers and can maintain very high resolution

• Not all printers can print all levels of postscript and not all printers understand all parts of postscript.

• Postscript is a graphics programming language.

Page 16: PowerPoint Presentation - 12.010 Computational Methods of ... · Class Project •Aim of the project is to put together everything you have learned in this course: – Algorithm design

11/26/2007 12.010 Lec 22 15

Other vector formats• Often “drawing” program (opposed to “painting”

programs) us a vector graphics format that is unique to the program (e.g, Macdraw).

• There is interest in XML (eXtended Markup Language) becoming a vector graphics standard.

• Advantages:– Small file sizes– Scalable– Good for may scientific graphics plots such as line

drawings

Page 17: PowerPoint Presentation - 12.010 Computational Methods of ... · Class Project •Aim of the project is to put together everything you have learned in this course: – Algorithm design

11/26/2007 12.010 Lec 22 16

Pixel formats• GIF is the most common but enforcement of the patent

on the compression algorithm used has raised concerned

• Network Portable Graphics (PNG) is an alternative but a lot of older software will not handle this.

• JPEG (Joint Photographic Experts Group) also common and good for image data

• These format represent an image as pixels which have attributes such as color. When image is resized, the pixels need to be merged and mapped to the new location.

Page 18: PowerPoint Presentation - 12.010 Computational Methods of ... · Class Project •Aim of the project is to put together everything you have learned in this course: – Algorithm design

11/26/2007 12.010 Lec 22 17

Examples:• Output from Kaleidagraph in PICT format

70

71

72

72

72

73

73

74

75

15.4 15.6 15.8 16.0 16.2 16.4 16.6 16.8

Sextant 10/00

2*Sun Elev (deg)

2*S

un E

lev

(deg

)

GMT Hrs

Y = M0 + M1*x + ... M8*x8 + M9*x9

-858.71M0113.17M1

-3.4318M20.99882R

Page 19: PowerPoint Presentation - 12.010 Computational Methods of ... · Class Project •Aim of the project is to put together everything you have learned in this course: – Algorithm design

11/26/2007 12.010 Lec 22 18

Bitmap format• Basic bit-mapped graphic

Page 20: PowerPoint Presentation - 12.010 Computational Methods of ... · Class Project •Aim of the project is to put together everything you have learned in this course: – Algorithm design

11/26/2007 12.010 Lec 22 19

Rescaled versions• PICT and bitmap

70

71

72

72

72

73

73

74

75

15.4 15.6 15.8 16.0 16.2 16.4 16.6 16.8

Sextant 10/00

2*Sun Elev (deg)

2*S

un E

lev

(deg

)

GMT Hrs

Y = M0 + M1*x + ... M8*x8 + M9*x9

-858.71M0113.17M1

-3.4318M20.99882R

Page 21: PowerPoint Presentation - 12.010 Computational Methods of ... · Class Project •Aim of the project is to put together everything you have learned in this course: – Algorithm design

11/26/2007 12.010 Lec 22 20

JPEG Version• Medium Resolution

Page 22: PowerPoint Presentation - 12.010 Computational Methods of ... · Class Project •Aim of the project is to put together everything you have learned in this course: – Algorithm design

11/26/2007 12.010 Lec 22 21

JPEG• Maximum resolution

Page 23: PowerPoint Presentation - 12.010 Computational Methods of ... · Class Project •Aim of the project is to put together everything you have learned in this course: – Algorithm design

11/26/2007 12.010 Lec 22 22

Scaled versions of JPEG• Effects of scaling graphics

Page 24: PowerPoint Presentation - 12.010 Computational Methods of ... · Class Project •Aim of the project is to put together everything you have learned in this course: – Algorithm design

11/26/2007 12.010 Lec 22 23

EPS Files (from Photoshop)• 1.1 Mbytes (displays badly but will print very well)

Page 25: PowerPoint Presentation - 12.010 Computational Methods of ... · Class Project •Aim of the project is to put together everything you have learned in this course: – Algorithm design

11/26/2007 12.010 Lec 22 24

EPS Direct from Printing• (This figure will print with high resolution but displays

badly)

70

71

72

72

72

73

73

74

75

15.4 15.6 15.8 16.0 16.2 16.4 16.6 16.8

Sextant 10/00

2*Sun Elev (deg)

2*S

un E

lev

(deg

)

GMT Hrs

Y = M0 + M1*x + ... M8*x8 + M9*x9

-858.71M0113.17M1

-3.4318M20.99882R

Page 26: PowerPoint Presentation - 12.010 Computational Methods of ... · Class Project •Aim of the project is to put together everything you have learned in this course: – Algorithm design

11/26/2007 12.010 Lec 22 25

File sizes• For the different images we just looked at:• Original KG figure 32K (24K no data)• PICT 8K• Bitmap 12K• JPEG (medium) 44K• JPEG (maximum) 68K• EPS (photoshop) 1.1M• EPS (KG) 40K (no fonts)• EPS (KG+fonts) 256K

Page 27: PowerPoint Presentation - 12.010 Computational Methods of ... · Class Project •Aim of the project is to put together everything you have learned in this course: – Algorithm design

11/26/2007 12.010 Lec 22 26

Microsoft Graphics (Object based)

70

71

72

72

72

73

73

74

75

15.4 15.6 15.8 16.0 16.2 16.4 16.6 16.8

Sextant 10/00

2*Sun Elev (deg)

2*S

un E

lev

(deg

)

GMT Hrs

+ M1*x + ... M8*x 8 + M9*x9

-858.71M0113.17M1-3.4318M20.99882R

Page 28: PowerPoint Presentation - 12.010 Computational Methods of ... · Class Project •Aim of the project is to put together everything you have learned in this course: – Algorithm design

11/26/2007 12.010 Lec 22 27

Issue with graphics• Increasingly documents need to be prepared electronically and

generating acceptable graphics is one of the biggest problems still.

• For electronic presentation of images, best if the original graphics is generated at 72 dots-per-inch. If the graphics is not scaled then these can print OK as well.

• For printing, vector graphics are most often the best.• Display quality: Try antialiasing (process to smooth out edges but

some times makes graphics look fuzzy.• For WYSWYG word processing, encapsulated postscript

generates good prints but may not be rendered in electronic versions (such as web pages).

• Currently: Still a lot of testing to see what works best.

Page 29: PowerPoint Presentation - 12.010 Computational Methods of ... · Class Project •Aim of the project is to put together everything you have learned in this course: – Algorithm design

11/26/2007 12.010 Lec 22 28

Graphics packages in programming

• There are graphics programs that can be purchased or are open source in which data can be supplied and graphics generated

• There are also graphics libraries that can used and incorporated into user developed software.

• Some packages come in both forms• Example: Generic Mapping Tool (GMT) available from

http://gmt.soest.hawaii.edu/Includes program that can be scripted and routines that can be used in user developed software

• Caution with these programs is that calls and features can change with versions

Page 30: PowerPoint Presentation - 12.010 Computational Methods of ... · Class Project •Aim of the project is to put together everything you have learned in this course: – Algorithm design

11/26/2007 12.010 Lec 22 29

Summary of Today’s class• Aim of the project is to put together everything you

have learned in this course:– Algorithm design– User interface– Numerical methods– Graphics output

• Graphics formats and issues.