Tao Pang - An Introduction to Computational Physics, Cambridge 2006

Khám phá Vật lý Tính toán với cuốn sách của Tao Pang (Cambridge, 2006). Giới thiệu nền tảng, thuật toán & ứng dụng trong vật lý hiện đại. Tìm hiểu ngay!

Trường đại học

University of Nevada, Las Vegas

Chuyên ngành

Vật lý Tính toán

Người đăng

Ẩn danh

Thể loại

Giáo trình

2006

402
2
0

Phí lưu trữ

75 Point

Mục lục chi tiết

Preface to first edition

Preface

Acknowledgments

1. Chapter 1: Introduction

1.1. Computation and science

1.2. The emergence of modern computers

1.3. Computer algorithms and languages

Exercises

2. Approximation of a function

2.2. Least-squares approximation

2.3. The Millikan experiment

2.5. Random-number generators

Exercises

3. Numerical calculus

3.3. Roots of an equation

3.4. Extremes of a function

3.5. Classical scattering

Exercises

4. Ordinary differential equations

4.1. Initial-value problems

4.2. The Euler and Picard methods

4.3. Predictor–corrector methods

4.4. The Runge–Kutta method

4.5. Chaotic dynamics of a driven pendulum

4.6. Boundary-value and eigenvalue problems

4.7. The shooting method

4.8. Linear equations and the Sturm–Liouville problem

4.9. The one-dimensional Schrödinger equation

Exercises

5. Numerical methods for matrices

5.1. Matrices in physics

5.2. Basic matrix operations

5.3. Linear equation systems

5.4. Zeros and extremes of multivariable functions

5.6. The Faddeev–Leverrier method

5.7. Complex zeros of a polynomial

5.8. Electronic structures of atoms

5.9. The Lanczos algorithm and the many-body problem

5.10. Random matrices

Exercises

6. Spectral analysis

6.1. Fourier analysis and orthogonal functions

6.2. Discrete Fourier transform

6.3. Fast Fourier transform

6.4. Power spectrum of a driven pendulum

6.5. Fourier transform in higher dimensions

6.7. Discrete wavelet transform

6.9. Gaussian quadratures

Exercises

7. Partial differential equations

7.1. Partial differential equations in physics

7.2. Separation of variables

7.3. Discretization of the equation

7.4. The matrix method for difference equations

7.5. The relaxation method

7.7. Initial-value problems

7.8. Temperature field of a nuclear waste rod

Exercises

8. Molecular dynamics simulations

8.1. General behavior of a classical system

8.2. Basic methods for many-body systems

8.3. The Verlet algorithm

8.4. Structure of atomic clusters

8.5. The Gear predictor–corrector method

8.6. Constant pressure, temperature, and bond length

8.7. Structure and dynamics of real materials

8.8. Ab initio molecular dynamics

Exercises

9. Modeling continuous systems

9.2. The basic finite element method

9.3. The Ritz variational method

9.4. Higher-dimensional systems

9.5. The finite element method for nonlinear equations

9.6. The particle-in-cell method

9.7. Hydrodynamics and magnetohydrodynamics

9.8. The lattice Boltzmann method

Exercises

10. Monte Carlo simulations

10.1. Sampling and integration

10.2. The Metropolis algorithm

10.3. Applications in statistical physics

10.4. Critical slowing down and block algorithms

10.5. Variational quantum Monte Carlo simulations

10.6. Green’s function Monte Carlo simulations

10.7. Two-dimensional electron gas

10.8. Path-integral Monte Carlo simulations

10.9. Quantum lattice models

Exercises

11. Genetic algorithm and programming

11.1. Basic elements of a genetic algorithm

11.2. The Thomson problem

11.3. Continuous genetic algorithm

11.5. Genetic programming

Exercises

12. Numerical renormalization

12.1. The scaling concept

12.2. Renormalization transform

12.3. Critical phenomena: the Ising model

12.4. Renormalization with Monte Carlo simulation

12.5. Crossover: the Kondo problem

12.6. Quantum lattice renormalization

12.7. Density matrix renormalization

Exercises

References

Index

Tóm tắt

I. Tổng quan về Computational Physics Cambridge 2006 55

Computational Physics, đặc biệt là ấn bản Cambridge 2006, đánh dấu một bước tiến quan trọng trong việc tích hợp mô phỏng số vào khoa học và công nghệ. Ấn bản này cung cấp một nền tảng vững chắc về các phương pháp cơ bản của Computational Physics, đồng thời cung cấp một cái nhìn tổng quan về những tiến bộ gần đây trong nhiều lĩnh vực của Scientific Computing. Sách cung cấp nhiều ví dụ từng bước, bao gồm danh sách chương trình bằng Java, về các phương pháp số thực tế từ vật lý hiện đại và các lĩnh vực mà Computational Physics đã có những tiến bộ đáng kể trong thập kỷ qua. Nửa đầu của cuốn sách đề cập đến các công cụ và quy trình tính toán cơ bản, bao gồm xấp xỉ và tối ưu hóa một hàm, phương trình vi phân, phân tích quang phổ và các phép toán ma trận. Các khái niệm quan trọng được minh họa bằng các ví dụ liên quan ở mỗi giai đoạn. Tác giả cũng thảo luận về các chủ đề nâng cao hơn, chẳng hạn như Molecular Dynamics, mô hình hóa các hệ thống liên tục, phương pháp Monte Carlo, Genetic Algorithm và lập trình, và Numerical Renormalization. Ấn bản mới này đã được sửa đổi kỹ lưỡng và bao gồm nhiều ví dụ và bài tập hơn. Nó có thể được sử dụng làm sách giáo khoa cho các khóa học đại học hoặc năm nhất sau đại học về Computational Physics hoặc tính toán khoa học. Nó cũng sẽ là một tài liệu tham khảo hữu ích cho bất kỳ ai tham gia vào nghiên cứu tính toán. Cuốn sách khẳng định vai trò thiết yếu của tính toán trong nghiên cứu khoa học hiện đại, cung cấp các công cụ và kiến thức để giải quyết các vấn đề phức tạp trong nhiều lĩnh vực. Sách nhấn mạnh tầm quan trọng của việc phát triển các Algorithm hiệu quả và chính xác, đồng thời cung cấp các hướng dẫn rõ ràng về cách viết mã máy tính sạch và có cấu trúc cho hầu hết các vấn đề gặp phải trong vật lý và các lĩnh vực liên quan. Tao Pang là Giáo sư Vật lý tại Đại học Nevada, Las Vegas. Lĩnh vực nghiên cứu chính của ông bao gồm lý thuyết vật chất ngưng tụ và Computational Physics.

1.1. Tầm quan trọng của Computational Physics trong khoa học 57

Trong kỷ nguyên hiện đại, Computational Physics không chỉ là một công cụ hỗ trợ mà còn là một trụ cột chính của nghiên cứu khoa học. Việc sử dụng máy tính để giải quyết các bài toán phức tạp đã mở ra những cánh cửa mới trong việc khám phá và hiểu biết về thế giới tự nhiên. Từ mô phỏng các hệ thống vật lý phức tạp đến dự đoán các hiện tượng mới, Computational Physics đóng một vai trò quan trọng trong nhiều lĩnh vực. Các kỹ thuật được sử dụng để giải quyết các phương trình vi phân có thể được áp dụng cho các vấn đề kiểm soát ô nhiễm không khí; và mô phỏng số các phương trình thủy động lực học là cần thiết trong dự báo thời tiết và động lực học đại dương.

1.2. Nội dung chính và cấu trúc của cuốn sách 45

Cuốn sách được chia thành hai phần chính: phần đầu tiên tập trung vào các nguyên tắc cơ bản của Computational Physics, bao gồm Numerical Methods, Algorithms, và kỹ thuật lập trình. Phần thứ hai giới thiệu các kỹ thuật mô phỏng hiện đang được sử dụng và một số phát triển mới nhất trong lĩnh vực này. Sách bao gồm một chương về thuật toán di truyền và lập trình. Nhiều tài liệu trong cuốn sách đến từ ghi chú bài giảng của tôi cho một khóa học Computational Physics mà tôi đã giảng dạy tại Đại học Nevada, Las Vegas.

II. Thách thức trong Computational Physics Tìm giải pháp tối ưu 60

Mặc dù Computational Physics đã đạt được những tiến bộ đáng kể, nhưng vẫn còn nhiều thách thức cần phải vượt qua. Một trong những thách thức lớn nhất là sự phức tạp của các hệ thống vật lý. Việc mô phỏng các hệ thống này đòi hỏi các Algorithm hiệu quả và chính xác, cũng như sức mạnh tính toán đáng kể. Một thách thức khác là sự không chắc chắn trong các dữ liệu đầu vào. Các mô phỏng Computational Physics thường dựa trên các dữ liệu thực nghiệm, và những dữ liệu này có thể có những sai số nhất định. Do đó, cần phải có các phương pháp để xử lý và giảm thiểu những sai số này. Đòi hỏi người học phải thông thạo nhiều ngôn ngữ lập trình như Fortran, C++, Python. Hơn nữa, High-Performance ComputingParallel Computing yêu cầu các kỹ năng chuyên biệt để tận dụng tối đa sức mạnh của máy tính.

2.1. Xử lý sự phức tạp của hệ thống vật lý 53

Các hệ thống vật lý thường rất phức tạp, với nhiều yếu tố tương tác với nhau. Việc mô phỏng các hệ thống này đòi hỏi các Algorithm tinh vi và sức mạnh tính toán đáng kể. Cần có các phương pháp để đơn giản hóa các hệ thống này mà không làm mất đi các đặc tính quan trọng của chúng.

2.2. Giảm thiểu sai số trong dữ liệu thực nghiệm 55

Các mô phỏng Computational Physics thường dựa trên các dữ liệu thực nghiệm, và những dữ liệu này có thể có những sai số nhất định. Cần có các phương pháp để ước tính và giảm thiểu những sai số này. Các kỹ thuật thống kê và xác suất có thể được sử dụng để đánh giá độ tin cậy của các kết quả mô phỏng.

2.3. Phát triển Algorithm hiệu quả và chính xác 50

Sự phát triển của các Algorithm mới và hiệu quả là rất quan trọng để giải quyết các vấn đề phức tạp trong Computational Physics. Các Algorithm này cần phải chính xác và ổn định, và chúng cần phải có khả năng chạy trên các máy tính có sức mạnh tính toán hạn chế. Với việc gia tăng sức mạnh tính toán của máy tính hiện đại, các Algorithm tiên tiến có thể được phát triển để mô phỏng các hệ thống vật lý phức tạp hơn.

III. Phương pháp Monte Carlo trong Computational Physics 59

Phương pháp Monte Carlo là một kỹ thuật mô phỏng số mạnh mẽ, được sử dụng rộng rãi trong Computational Physics. Phương pháp này dựa trên việc sử dụng các số ngẫu nhiên để ước tính các đại lượng vật lý. Phương pháp Monte Carlo đặc biệt hữu ích trong việc giải quyết các bài toán phức tạp, mà các phương pháp phân tích truyền thống không thể áp dụng được. Việc mô phỏng các hệ thống thống kê, tính toán các tích phân đa chiều, và giải quyết các phương trình vi phân là những ứng dụng tiêu biểu của phương pháp này. Monte Carlo đóng một vai trò quan trọng trong việc khám phá các hệ thống vật lý phức tạp và dự đoán các hiện tượng mới.

3.1. Ứng dụng Monte Carlo trong thống kê vật lý 52

Phương pháp Monte Carlo được sử dụng rộng rãi trong thống kê vật lý để mô phỏng các hệ thống có nhiều hạt tương tác với nhau. Ví dụ, phương pháp này có thể được sử dụng để mô phỏng hành vi của các phân tử trong một chất lỏng, hoặc các spin trong một vật liệu từ tính. Monte Carlo cũng có thể được sử dụng để ước tính các đại lượng nhiệt động lực học, chẳng hạn như năng lượng, entropy, và nhiệt dung.

3.2. Tính tích phân đa chiều với Monte Carlo 48

Phương pháp Monte Carlo là một công cụ mạnh mẽ để tính toán các tích phân đa chiều. Các tích phân này thường xuất hiện trong các bài toán vật lý phức tạp, và việc tính toán chúng bằng các phương pháp phân tích truyền thống là rất khó khăn. Monte Carlo cho phép ước tính các tích phân này một cách hiệu quả, bằng cách lấy mẫu ngẫu nhiên các điểm trong không gian tích phân.

3.3. Giải phương trình vi phân bằng phương pháp Monte Carlo 59

Mặc dù ít phổ biến hơn so với các phương pháp số khác, phương pháp Monte Carlo cũng có thể được sử dụng để giải các phương trình vi phân. Các kỹ thuật đặc biệt, chẳng hạn như Green's Function Monte Carlo simulations, có thể được áp dụng để giải các phương trình này trong các hệ thống Quantum Mechanics. Điều này đặc biệt hữu ích trong việc nghiên cứu các hệ thống lượng tử phức tạp, nơi các phương pháp giải truyền thống gặp khó khăn.

IV. Finite Element Method Mô hình hóa hệ thống liên tục 58

Phương pháp Finite Element Method (FEM) là một kỹ thuật số mạnh mẽ để giải các phương trình vi phân riêng phần, đặc biệt là trong các vấn đề kỹ thuật và vật lý. FEM chia một miền phức tạp thành các phần tử nhỏ hơn, đơn giản hơn (các phần tử hữu hạn) và sau đó xấp xỉ giải pháp trên mỗi phần tử. Bằng cách lắp ráp các giải pháp phần tử này, có thể có được một xấp xỉ cho giải pháp của toàn bộ miền. FEM đặc biệt hiệu quả để mô hình hóa các hệ thống liên tục, chẳng hạn như các vật liệu đàn hồi, các dòng chất lỏng, và các trường điện từ. Khả năng xử lý hình học phức tạp và điều kiện biên làm cho nó trở thành một công cụ thiết yếu trong nhiều ứng dụng kỹ thuật.

4.1. Nguyên tắc cơ bản của Finite Element Method 47

Nguyên tắc cơ bản của FEM bao gồm việc chia miền thành các phần tử nhỏ hơn, chọn các hàm cơ sở phù hợp trên mỗi phần tử, và sau đó giải các phương trình để tìm ra các hệ số của các hàm cơ sở. Các hàm cơ sở thường là các đa thức bậc thấp, và các phương trình được giải bằng cách sử dụng các kỹ thuật số, chẳng hạn như phương pháp Ritz variational method.

4.2. Ứng dụng FEM trong mô hình hóa vật liệu đàn hồi 50

FEM là một công cụ mạnh mẽ để mô hình hóa các vật liệu đàn hồi. Phương pháp này có thể được sử dụng để dự đoán ứng suất, biến dạng, và các đặc tính cơ học khác của các vật liệu đàn hồi dưới tác dụng của tải trọng. FEM cũng có thể được sử dụng để thiết kế các cấu trúc và linh kiện, chẳng hạn như cầu, tòa nhà, và máy bay.

4.3. FEM trong mô phỏng dòng chất lỏng và trường điện từ 59

FEM cũng được sử dụng rộng rãi để mô phỏng dòng chất lỏng và trường điện từ. Trong lĩnh vực động lực học chất lỏng, nó có thể được sử dụng để mô hình hóa các hiện tượng như dòng chảy rối, truyền nhiệt và tác động của chất lỏng đối với các vật thể. Trong điện từ học, FEM cho phép các nhà nghiên cứu mô phỏng sự lan truyền sóng điện từ, thiết kế ăng-ten và phân tích các thiết bị điện. Khả năng xử lý hình học phức tạp của FEM và khả năng kết hợp các điều kiện biên khác nhau làm cho nó trở thành một công cụ vô giá cho các mô phỏng kỹ thuật này.

V. Tương lai của Computational Physics Hội tụ và đột phá 58

Tương lai của Computational Physics hứa hẹn sự hội tụ của nhiều lĩnh vực và những đột phá trong các phương pháp và ứng dụng. Với sự phát triển không ngừng của sức mạnh tính toán, chúng ta có thể mong đợi các mô phỏng phức tạp hơn và chính xác hơn, cho phép các nhà khoa học khám phá các hệ thống vật lý với độ chi tiết chưa từng có. Sự hội nhập của Machine LearningArtificial Intelligence vào Computational Physics sẽ mở ra những khả năng mới để phân tích dữ liệu, tối ưu hóa các mô phỏng, và khám phá các hiện tượng vật lý mới. Các nỗ lực hợp tác và sự sẵn có của các công cụ tính toán mã nguồn mở sẽ thúc đẩy hơn nữa sự phát triển của lĩnh vực này.

5.1. Ứng dụng Machine Learning trong Computational Physics 55

Machine Learning đang cách mạng hóa nhiều lĩnh vực khoa học, và Computational Physics cũng không ngoại lệ. Các Algorithm Machine Learning có thể được sử dụng để phân tích lượng lớn dữ liệu mô phỏng và thực nghiệm, để xác định các mẫu và mối quan hệ mà con người có thể bỏ lỡ. Machine Learning cũng có thể được sử dụng để tối ưu hóa các mô phỏng Computational Physics, bằng cách tìm ra các tham số tốt nhất cho các mô phỏng. Thêm vào đó, Machine Learning có thể giúp khám phá các hiện tượng vật lý mới, bằng cách phân tích dữ liệu từ các mô phỏng và thí nghiệm.

5.2. Tính toán hiệu năng cao và mô phỏng quy mô lớn 53

Sự phát triển của High-Performance Computing (HPC) và Parallel Computing đang mở ra những khả năng mới cho Computational Physics. Các máy tính có sức mạnh tính toán cao có thể được sử dụng để mô phỏng các hệ thống vật lý rất lớn và phức tạp, mà trước đây không thể thực hiện được. Điều này cho phép các nhà khoa học khám phá các hiện tượng mới và dự đoán các hành vi phức tạp của các hệ thống vật lý.

5.3. Mã nguồn mở và hợp tác trong Computational Physics 58

Sự sẵn có của các công cụ tính toán mã nguồn mở và sự hợp tác giữa các nhà khoa học đang thúc đẩy sự phát triển của Computational Physics. Mã nguồn mở cho phép các nhà khoa học chia sẻ mã và dữ liệu của họ, và hợp tác với nhau để giải quyết các vấn đề phức tạp. Điều này dẫn đến sự phát triển nhanh chóng của các phương pháp và ứng dụng mới trong Computational Physics.

27/09/2025

Trích đoạn nội dung tài liệu

An Introduction to Computational Physics Numerical simulation is now an integrated part of science and technology. Now in its second edition, this comprehensive textbook provides an introduction to the basic methods of computational physics, as well as an overview of recent progress in several areas of scientific computing. The author presents many step-by-step examples, including program listings in JavaTM , of practical numerical methods from modern physics and areas in which computational physics has made significant progress in the last decade. The first half of the book deals with basic computational tools and routines, covering approximation and optimization of a function, differential equations, spectral analysis, and matrix operations.

Important concepts are illustrated by relevant examples at each stage. The author also discusses more advanced topics, such as molecular dynamics, modeling continuous systems, Monte Carlo methods, the genetic algorithm and programming, and numerical renormalization. This new edition has been thoroughly revised and includes many more examples and exercises. It can be used as a textbook for either undergraduate or first-year graduate courses on computational physics or scientific computation.

It will also be a useful reference for anyone involved in computational research. Tao Pang is Professor of Physics at the University of Nevada, Las Vegas. Following his higher education at Fudan University, one of the most prestigious institutions in China, he obtained his Ph. in condensed matter theory from the University of Minnesota in 1989.

He then spent two years as a Miller Research Fellow at the University of California, Berkeley, before joining the physics faculty at the University of Nevada, Las Vegas in the fall of 1991. He has been Professor of Physics at UNLV since 2002. His main areas of research include condensed matter theory and computational physics.com An Introduction to Computational Physics Second Edition Tao Pang University of Nevada, Las Vegas www.com cambridge university press Cambridge, New York, Melbourne, Madrid, Cape Town, Singapore, São Paulo Cambridge University Press The Edinburgh Building, Cambridge cb2 2ru, UK Published in the United States of America by Cambridge University Press, New York www.org Information on this title: www. Pang 2006 This publication is in copyright.

Subject to statutory exception and to the provision of relevant collective licensing agreements, no reproduction of any part may take place without the written permission of Cambridge University Press. First published in print format 2006 isbn-13 978-0-511-14046-4 eBook (NetLibrary) isbn-10 0-511-14046-0 eBook (NetLibrary) isbn-13 978-0-521-82569-6 hardback isbn-10 0-521-82569-5 hardback isbn-13 978-0-521-53276-1 isbn-10 0-521-53276-0 Cambridge University Press has no responsibility for the persistence or accuracy of urls for external or third-party internet websites referred to in this publication, and does not guarantee that any content on such websites is, or will remain, accurate or appropriate.com To Yunhua, for enduring love www.com Contents Preface to first edition xi Preface xiii Acknowledgments xv 1 Introduction 1 1.1 Computation and science 1 1.2 The emergence of modern computers 4 1.3 Computer algorithms and languages 7 Exercises 14 2 Approximation of a function 16 2.2 Least-squares approximation 24 2.3 The Millikan experiment 27 2.5 Random-number generators 37 Exercises 44 3 Numerical calculus 49 3.3 Roots of an equation 62 3.4 Extremes of a function 66 3.5 Classical scattering 70 Exercises 76 4 Ordinary differential equations 80 4.1 Initial-value problems 81 4.2 The Euler and Picard methods 81 4.3 Predictor–corrector methods 83 4.4 The Runge–Kutta method 88 4.5 Chaotic dynamics of a driven pendulum 90 4.6 Boundary-value and eigenvalue problems 94 vii www.com viii Contents 4.7 The shooting method 96 4.8 Linear equations and the Sturm–Liouville problem 99 4.9 The one-dimensional Schrödinger equation 105 Exercises 115 5 Numerical methods for matrices 119 5.1 Matrices in physics 119 5.2 Basic matrix operations 123 5.3 Linear equation systems 125 5.4 Zeros and extremes of multivariable functions 133 5.6 The Faddeev–Leverrier method 147 5.7 Complex zeros of a polynomial 149 5.8 Electronic structures of atoms 153 5.9 The Lanczos algorithm and the many-body problem 156 5.10 Random matrices 158 Exercises 160 6 Spectral analysis 164 6.1 Fourier analysis and orthogonal functions 165 6.2 Discrete Fourier transform 166 6.3 Fast Fourier transform 169 6.4 Power spectrum of a driven pendulum 173 6.5 Fourier transform in higher dimensions 174 6.7 Discrete wavelet transform 180 6.9 Gaussian quadratures 191 Exercises 193 7 Partial differential equations 197 7.1 Partial differential equations in physics 197 7.2 Separation of variables 198 7.3 Discretization of the equation 204 7.4 The matrix method for difference equations 206 7.5 The relaxation method 209 7.7 Initial-value problems 216 7.8 Temperature field of a nuclear waste rod 219 Exercises 222 8 Molecular dynamics simulations 226 8.1 General behavior of a classical system 226 www.com Contents ix 8.2 Basic methods for many-body systems 228 8.3 The Verlet algorithm 232 8.4 Structure of atomic clusters 236 8.5 The Gear predictor–corrector method 239 8.6 Constant pressure, temperature, and bond length 241 8.7 Structure and dynamics of real materials 246 8.8 Ab initio molecular dynamics 250 Exercises 254 9 Modeling continuous systems 256 9.2 The basic finite element method 258 9.3 The Ritz variational method 262 9.4 Higher-dimensional systems 266 9.5 The finite element method for nonlinear equations 269 9.6 The particle-in-cell method 271 9.7 Hydrodynamics and magnetohydrodynamics 276 9.8 The lattice Boltzmann method 279 Exercises 282 10 Monte Carlo simulations 285 10.1 Sampling and integration 285 10.2 The Metropolis algorithm 287 10.3 Applications in statistical physics 292 10.4 Critical slowing down and block algorithms 297 10.5 Variational quantum Monte Carlo simulations 299 10.6 Green’s function Monte Carlo simulations 303 10.7 Two-dimensional electron gas 307 10.8 Path-integral Monte Carlo simulations 313 10.9 Quantum lattice models 315 Exercises 320 11 Genetic algorithm and programming 323 11.1 Basic elements of a genetic algorithm 324 11.2 The Thomson problem 332 11.3 Continuous genetic algorithm 335 11.5 Genetic programming 342 Exercises 345 12 Numerical renormalization 347 12.1 The scaling concept 347 12.2 Renormalization transform 350 www.3 Critical phenomena: the Ising model 352 12.4 Renormalization with Monte Carlo simulation 355 12.5 Crossover: the Kondo problem 357 12.6 Quantum lattice renormalization 360 12.7 Density matrix renormalization 364 Exercises 367 References 369 Index 381 www.com Preface to first edition The beauty of Nature is in its detail. If we are to understand different layers of sci- entific phenomena, tedious computations are inevitable. In the last half-century, computational approaches to many problems in science and engineering have clearly evolved into a new branch of science, computational science.

With the increasing computing power of modern computers and the availability of new numerical techniques, scientists in different disciplines have started to unfold the mysteries of the so-called grand challenges, which are identified as scientific problems that will remain significant for years to come and may require teraflop computing power. These problems include, but are not limited to, global environ- mental modeling, virus vaccine design, and new electronic materials simulation. Computational physics, in my view, is the foundation of computational sci- ence. It deals with basic computational problems in physics, which are closely related to the equations and computational problems in other scientific and en- gineering fields.

For example, numerical schemes for Newton’s equation can be implemented in the study of the dynamics of large molecules in chemistry and biology; algorithms for solving the Schrödinger equation are necessary in the study of electronic structures in materials science; the techniques used to solve the diffusion equation can be applied to air pollution control problems; and nu- merical simulations of hydrodynamic equations are needed in weather prediction and oceanic dynamics. Important as computational physics is, it has not yet become a standard course in the curricula of many universities. But clearly its importance will increase with the further development of computational science. Almost every college or university now has some networked workstations available to students.

Probably many of them will have some closely linked parallel or distributed computing systems in the near future. Students from many disciplines within science and engineering now demand the basic knowledge of scientific computing, which will certainly be important in their future careers. This book is written to fulfill this need. Some of the materials in this book come from my lecture notes for a com- putational physics course I have been teaching at the University of Nevada, Las Vegas.

I usually have a combination of graduate and undergraduate students from physics, engineering, and other majors. All of them have some access to the work- stations or supercomputers on campus. The purpose of my lectures is to provide xi www.com xii Preface to first edition the students with some basic materials and necessary guidance so they can work out the assigned problems and selected projects on the computers available to them and in a programming language of their choice. This book is made up of two parts.

The first part (Chapter 1 through Chapter 6) deals with the basics of computational physics. Enough detail is provided so that a well-prepared upper division undergraduate student in science or engineering will have no difficulty in following the material. The second part of the book (Chapter 7 through Chapter 12) introduces some currently used simulation techniques and some of the newest developments in the field. The choice of subjects in the second part is based on my judgment of the importance of the subjects in the future.

This part is specifically written for students or beginning researchers who want to know the new directions in computational physics or plan to enter the research areas of scientific computing. Many references are given there to help in further studies. In order to make the course easy to digest and also to show some practical aspects of the materials introduced in the text, I have selected quite a few exercises. The exercises have different levels of difficulty and can be grouped into three categories.

Those in the first category are simple, short problems; a student with little preparation can still work them out with some effort at filling in the gaps they have in both physics and numerical analysis. The exercises in the second category are more involved and aimed at well-prepared students. Those in the third category are mostly selected from current research topics, which will certainly benefit those students who are going to do research in computational science. Programs for the examples discussed in the text are all written in standard Fortran 77, with a few exceptions that are available on almost all Fortran compil- ers.

Some more advanced programming languages for data parallel or distributed computing are also discussed in Chapter 12. I have tried to keep all programs in the book structured and transparent, and I hope that anyone with knowledge of any programming language will be able to understand the content without extra effort. As a convention, all statements are written in upper case and all comments are given in lower case. From my experience, this is the best way of presenting a clear and concise Fortran program.

Many sample programs in the text are explained in sufficient detail with commentary statements. I find that the most efficient approach to learning computational physics is to study well-prepared programs. Related programs used in the book can be accessed via the World Wide Web at the URL http://www.edu/∼pang/cp. Corre- sponding programs in C and Fortran 90 and other related materials will also be available at this site in the future.

This book can be used as a textbook for a computational physics course. If it is a one-semester course, my recommendation is to select materials from Chapters 1 through 7 and Chapter 11. Some sections, such as 4.8, are good for graduate students or beginning researchers but may pose some challenges to most undergraduate students. Tao Pang Las Vegas, Nevada www.com Preface Since the publication of the first edition of the book, I have received numerous comments and suggestions on the book from all over the world and from a far wider range of readers than anticipated.

This is a firm testament of what I claimed in the Preface to the first edition that computational physics is truly the foundation of computational science.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ