12.07.2015 Views

COPYRIGHT 2008, PRINCETON UNIVERSITY PRESS

COPYRIGHT 2008, PRINCETON UNIVERSITY PRESS

COPYRIGHT 2008, PRINCETON UNIVERSITY PRESS

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

xxivprefacewhich includes understanding the computed results. We believe that this “bluecollar”approach engages and motivates the students, encompasses the fun andexcitement of CP, and stimulates the students to take pride in their work.As computers have become more powerful, it has become easier to use completeproblem-solving environments like Mathematica, Maple, Matlab, and Femlab tosolve scientific problems. Although these environments are often used for seriouswork, the algorithms and numerics are kept hidden from the user, as if in a blackbox. Although this may be a good environment for an experienced computationalscientist, we think that if you are trying to learn scientific computation, then youneed to look inside the black box and get your hands dirty. This is probably bestdone through the use of a compiled language that forces you to deal directly withthe algorithm and requires you to understand the computer’s storage of numbersand inner workings.Notwithstanding our viewpoint that being able to write your own codes isimportant for CP, we also know how time-consuming and frustrating debuggingprograms can be, especially for beginners. Accordingly, rather than makethe reader write all their codes from scratch, we include basic programs to modifyand extend. This not only leaves time for exploration and analysis but also morerealistically resembles a working environment in which one must incorporate newdevelopments with preexisting developments of others.The choice of Java as our prime programming language may surprise somereaders who know it mainly for its prowess in Web computing (we do provideFortran77, Fortran95, and C versions of the programs on the CD). Actually, Javais quite good for CP education since it demands proper syntax, produces usefulerror messages, and is consistent and intelligent in its handling of precision (whichC is not). And when used as we use it, without a strong emphasis on object orientation,the syntax is not overly heavy. Furthermore, Java now runs on essentiallyall computer systems in an identical manner, is the most used of all programminglanguages, and has a universal program development environment available freefrom Sun [SunJ], where the square brackets refer to references in the bibliography.(Although we recommend using shells and jEdit [jEdit] for developing Java programs,many serious programmers prefer a development platform such as Eclipse[Eclipse].) This means that practitioners can work just as well at home or in thedeveloping world. Finally, Java’s speed does not appear to be an issue for educationalprojects with present-day fast computers. If more speed is needed, thenconversion to C is straightforward, as is using the C and Fortran programs onthe CD.In addition to multilanguage codes, the CD also contains animations, visualizations,color figures, interactive Java applets, MPI and PVM codes and tutorials, andOpenDX codes. More complete versions of the programs, as well as programs leftfor exercises, are available to instructors from RHL.There is also a digital libraryversion of the text containing streaming video lectures and interactive equationsunder development.Specific additions to this book, not found in our earlier CP text, include chaptersand appendices on visualization tools, wavelet analysis, molecular dynamics,computational fluid dynamics, MPI, and PVM. Specific subjects added to this−101<strong>COPYRIGHT</strong> <strong>2008</strong>, PRINCET O N UNIVE R S I T Y P R E S SEVALUATION COPY ONLY. NOT FOR USE IN COURSES.34811_fm — <strong>2008</strong>/2/13 — Page xxiv

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!