Cover image for Computer Simulation in Physics and Engineering.
Computer Simulation in Physics and Engineering.
Title:
Computer Simulation in Physics and Engineering.
Author:
Steinhauser, Martin Oliver.
ISBN:
9783110256062
Personal Author:
Physical Description:
1 online resource (509 pages)
Contents:
Preface -- 1 Introduction to computer simulation -- 1.1 Physics and computational physics -- 1.2 Choice of programming language -- 1.3 Outfitting your PC for scientific computing -- 1.4 History of computing in a nutshell -- 1.5 Number representation: bits and bytes in computer memory -- 1.5.1 Addition and subtraction of dual integer numbers -- 1.5.2 Basic data types -- 1.6 The role of algorithms in scientific computing -- 1.6.1 Efficient and inefficient calculations -- 1.6.2 Asymptotic analysis of algorithms -- 1.6.3 Merge sort and divide-and-conquer -- 1.7 Theory, modeling and computer simulation -- 1.7.1 What is a theory? -- 1.7.2 What is a model? -- 1.7.3 Model systems: particles or fields? -- 1.7.4 The linear chain as a model system -- 1.7.5 From modeling to computer simulation -- 1.8 Exercises -- 1.8.1 Addition of bit patterns of 1 byte duals -- 1.8.2 Subtracting dual numbers using two's complement -- 1.8.3 Comparison of running times -- 1.8.4 Asymptotic notation -- 1.9 Chapter literature -- 2 Scientific Computing in C -- 2.1 Introduction -- 2.1.1 Basics of a UNIX/Linux programming environment -- 2.2 First steps in C -- 2.2.1 Variables in C -- 2.2.2 Global variables -- 2.2.3 Operators in C -- 2.2.4 Control structures -- 2.2.5 Scientific "Hello world!" -- 2.2.6 Streams - input/output functionality -- 2.2.7 The preprocessor and symbolic constants -- 2.2.8 The function scanf() -- 2.3 Programming examples of rounding errors and loss of precision -- 2.3.1 Algorithms for calculating e-x -- 2.3.2 Algorithm for summing 1/n -- 2.4 Details on C-Arrays -- 2.4.1 Direct initialization of certain array elements (C99) -- 2.4.2 Arrays with variable length (C99) -- 2.4.3 Arrays as function parameters -- 2.4.4 Pointers -- 2.4.5 Pointers as function parameters.

2.4.6 Pointers to functions as function parameters -- 2.4.7 Strings -- 2.5 Structures and their representation in computer memory -- 2.5.1 Blending structs and arrays -- 2.6 Numerical differentiation and integration -- 2.6.1 Numerical differentiation -- 2.6.2 Case study: the second derivative of ex -- 2.6.3 Numerical integration -- 2.7 Remarks on programming and software engineering -- 2.7.1 Good software development practices -- 2.7.2 Reduction of complexity -- 2.7.3 Designing a program -- 2.7.4 Readability of a program -- 2.7.5 Focus your attention by using conventions -- 2.8 Ways to improve your programs -- 2.9 Exercises -- 2.9.1 Questions -- 2.9.2 Errors in programs -- 2.9.3 printf()-statement -- 2.9.4 Assignments -- 2.9.5 Loops -- 2.9.6 Recurrence -- 2.9.7 Macros -- 2.9.8 Strings -- 2.9.9 Structs -- 2.10 Projects -- 2.10.1 Decimal and binary representation -- 2.10.2 Nearest machine number -- 2.10.3 Calculating e -x -- 2.10.4 Loss of precision -- 2.10.5 Summing series -- 2.10.6 Recurrence in orthogonal functions -- 2.10.7 The Towers of Hanoi -- 2.10.8 Spherical harmonics and Legendre polynomials -- 2.10.9 Memory diagram of a battle -- 2.10.10 Computing derivatives numerically -- 2.11 Chapter literature -- 3 Fundamentals of statistical physics -- 3.1 Introduction and basic ideas -- 3.1.1 The macrostate -- 3.1.2 The microstate -- 3.1.3 Information conservation in statistical physics -- 3.1.4 Equations of motion in classical mechanics -- 3.1.5 Statistical physics in phase space -- 3.2 Elementary statistics -- 3.2.1 Random Walk -- 3.2.2 Discrete and continuous probability distributions -- 3.2.3 Reduced probability distributions -- 3.2.4 Important distributions in physics and engineering -- 3.3 Equilibrium distribution -- 3.3.1 The most probable distribution.

3.3.2 A statistical definition of temperature -- 3.3.3 The Boltzmann distribution and the partition function -- 3.4 The canonical ensemble -- 3.5 Exercises -- 3.5.1 Trajectories of the one-dimensional harmonic oscillator in phase space -- 3.5.2 Important integrals of statistical physics -- 3.5.3 Probability, example from playing cards -- 3.5.4 Rolling dice -- 3.5.5 Problems, using the Poisson density -- 3.5.6 Particle inside a sphere -- 4 Inter- and intramolecular potentials -- 4.1 Introduction -- 4.2 The quantum mechanical origin of particle interactions -- 4.3 The energy hypersurface and classical approximations -- 4.4 Non-bonded interactions -- 4.5 Pair potentials -- 4.5.1 Repulsive Interactions -- 4.5.2 Electric multipoles and multipole expansion -- 4.5.3 Charge-dipole interaction -- 4.5.4 Dipole-dipole interaction -- 4.5.5 Dipole-dipole interaction and temperature -- 4.5.6 Induction energy -- 4.5.7 Dispersion energy -- 4.5.8 Further remarks on pair potentials -- 4.6 Bonded interactions -- 4.7 Chapter literature -- 5 Molecular Dynamics simulations -- 5.1 Introduction -- 5.1.1 Historical notes on MD -- 5.1.2 Limitations of MD -- 5.2 Numerical integration of differential equations -- 5.2.1 Ordinary differential equations -- 5.2.2 Finite Difference methods -- 5.2.3 Improvements to Euler's algorithm -- 5.2.4 Predictor-corrector methods -- 5.2.5 Runge-Kutta methods -- 5.3 Integrating Newton's equation of motion: the Verlet algorithm -- 5.4 The basic MD algorithm -- 5.5 Basic MD: planetary motion -- 5.5.1 Preprocessor statements and basic definitions -- 5.5.2 Organization of the data -- 5.5.3 Function that computes the energy -- 5.5.4 The Verlet velocity algorithm -- 5.5.5 The force calculation -- 5.5.6 The initialization and output functions -- 5.5.7 The main()-function.

5.6 Planetary motion: suggested project -- 5.7 Periodic boundary conditions -- 5.8 Minimum image convention -- 5.9 Lyapunov instability -- 5.10 Case study: static and dynamic properties of a microcanonical LJ fluid -- 5.10.1 Microcanonical LJ fluid: suggested projects -- 5.11 Chapter literature -- 6 Monte Carlo simulations -- 6.1 Introduction to MC simulation -- 6.1.1 Historical remarks -- 6.2 Simple random numbers -- 6.2.1 The linear congruential method -- 6.2.2 Monte Carlo integration - simple sampling -- 6.3 Case study: MC simulation of harddisks -- 6.3.1 Trial moves -- 6.3.2 Case study: MC simulation of harddisks - suggested exercises -- 6.4 The Metropolis Monte Carlo method -- 6.5 The Ising model -- 6.5.1 Case study: Monte Carlo simulation of the 2D Ising magnet . -- 6.6 Case Study: NVT MC of dumbbell molecules in 2D -- 6.7 Exercises -- 6.7.1 The GSL library -- 6.7.2 Calculating π -- 6.7.3 Simple and importance sampling with random walks in 1D -- 6.7.4 Simple sampling and importance sampling with random walks in 1D -- 6.8 Chapter literature -- 7 Advanced topics, and applications in soft matter -- 7.1 Partial differential equations -- 7.1.1 Elliptic PDEs -- 7.1.2 Parabolic PDEs -- 7.1.3 Hyperbolic PDEs -- 7.2 The finite element method (FEM) -- 7.3 Coarse-grained MD for mesoscopic polymer and biomolecular simulations -- 7.3.1 Why coarse-grained simulations? -- 7.4 Scaling properties of polymers -- 7.5 Ideal polymer chains -- 7.6 Single-chain conformations -- 7.7 The ideal (Gaussian) chain model -- 7.8 Scaling of flexible and semiflexible polymer chains -- 7.9 Constant temperature MD -- 7.10 Velocity scaling using the Behrendsen thermostat -- 7.11 Dissipative particle dynamics thermostat -- 7.12 Case study: NVT Metropolis MC simulation of a LJ fluid -- 7.13 Exercise -- 7.13.1 Dumbbell molecules in 3D.

A The software development life cycle -- B Installation guide to Cygwin -- C Introduction to the UNIX/Linux programming environment -- C.1 Directory structure -- C.2 Users, rights and privileges -- C.3 Some basic commands -- C.4 Processes -- C.4.1 Ending processes -- C.4.2 Processes priorities and resources -- C.5 The Bash -- C.6 Tips and tricks -- C.7 Useful programs -- C.7.1 Remote connection: ssh -- C.7.2 Gnuplot -- C.7.3 Text editors: vi, EMACS and others -- D Sample program listings -- D.1 Sample code for file handling -- E Reserved keywords in C -- F Functions of the standard library -- G Elementary combinatorial problems -- G.1 How many differently ordered sequences of N objects are possible? -- G.2 In how many ways can N objects be divided into two piles, with n and m objects, respectively? -- G.3 In how many ways can N objects be arranged in r + 1 piles with nj objects in pile number j with j ∈ [0, 1,..., r]? -- G.4 Stirling's approximation of large numbers -- H Some useful constants -- I Installing the GNU Scientific Library, GSL -- J Standard header files of the ANSI-C library -- K The central limit theorem -- Bibliography -- Acronyms -- Index -- Authors.
Abstract:
This work is a needed reference for widely used techniques and methods of computer simulation in physics and other disciplines, such as materials science. The work conveys both: the theoretical foundations of computer simulation as well as applications and "tricks of the trade", that often are scattered across various papers. Thus it will meet a need and fill a gap for every scientist who needs computer simulations for his/her task at hand. In addition to being a reference, case studies and exercises for use as course reading are included.
Local Note:
Electronic reproduction. Ann Arbor, Michigan : ProQuest Ebook Central, 2017. Available via World Wide Web. Access may be limited to ProQuest Ebook Central affiliated libraries.
Electronic Access:
Click to View
Holds: Copies: