Parallel algorithms in computational science 1. Introduction 2. Computer Simulation Methods 2.1 Essential Features of Simulation Methods 2.2 The Monte Carlo Algorithm 2.3 Molecular Dynamics 2.4 Hybrid Molecular Dynamics 2.5 Accuracy Considerations and Finite Size Problems 2.6 Monte Carlo Algorithm for the Ising Model 3. Physics and Parallelism 4. Concepts of Parallelism 4.1 Some Basic Definitions 4.2 The Complexity of Computation 4.3 More on Models and Methods 4.4 Performance Measurements 5. Parallel Machines and Languages 5.1 General Purpose Parallel Computers 5.2 Parallel Machines for Special Physics Problems 5.3 Languages for Parallel Computers 5.4 The Matching Problem 6. Replication Algorithms 7. Geometrically Parallel Algorithms 7.1 Geometric Parallelization 7.2 Strips Squares and Checker Boards 7.3 Non local and Cluster Algorithms 7.4 Parallel Molecular Dynamics Algorithms 7.5 Hybrid Molecular Dynamics 7.6 Polymers on the Lattice 7.7 Off Lattice Polymers 7.8 Hybrid Molecular Dynamics for Polymers 7.9 Limits of Geometric Parallelization 8. Data Parallel Algorithms 8.1 Data Parallel Algorithm for Long Range Interactions 8.2 Polymers 9. Introduction to a Parallel Language 9.1 Transputer Based Parallel Machines 9.2 Parallel Programming in Occam Appendices A. A Parallel Ising Model Program B. Random Number Generator C. A Parallel Molecular Dynamics Program References Our aim in this book is to present and enlarge upon those aspects of parallel computing that are needed by practitioners of computational science. Today al­ most all classical sciences such as mathematics physics chemistry and biology employ numerical methods to help gain insight into nature. In addition to the traditional numerical methods such as matrix inversions and the like a whole new field of computational techniques has come to assume central importance namely the numerical simulation methods. These methods are much less fully developed than those which are usually taught in a standard numerical math­ ematics course. However they form a whole new set of tools for research in the physical sciences and are applicable to a very wide range of problems. At the same time there have been not only enormous strides forward in the speed and capability of computers but also dramatic new developments in computer architecture and particularly in parallel computers. These improvements offer exciting prospects for computer studies of physical systems and it is the new techniques and methods connected with such computer simulations that we seek to present in this book particularly in the light of the possibilities opened up by parallel computers. It is clearly not possible at this early stage to write a definitive book on simulation methods and parallel computing