Cover....1
Half Title....2
Series Page....3
Title Page....4
Copyright Page....5
Dedication....6
Contents....8
Preface....12
CHAPTER 1: Calculating π....16
1.1. ESTIMATING π WITH A POLYGON....18
1.2. ESTIMATING π WITH RANDOM DOTS....21
SECTION I: Classical Thermodynamics ....26
CHAPTER 2: Kinetic Theory of Gas....28
2.1. GETTING STARTED....29
2.2. DERIVATION OF THE IDEAL GAS LAW....36
2.3. SAMPLE CALCULATION....37
2.4. FURTHER EXPLORATIONS....38
2.5. TEMPERATURE....41
CHAPTER 3: Velocity Distribution....44
3.1. PARTICLE COLLISION....44
3.2. ONE-DIMENSIONAL EXAMPLE....45
3.3. MULTIPLE SOLUTIONS....48
3.4. FINDING SOLUTIONS WITH CODE....50
3.5. DISTRIBUTION OF ENERGY....58
3.6. DISTRIBUTION OF ENERGY AFTER MANY, MANY COLLISION EVENTS....60
3.7. DISTRIBUTION OF SPEED AFTER MANY, MANY COLLISION EVENTS....66
3.8. NOTE ON A MORE AMBITIOUS CODING PROJECT....70
Chapter 4: Thermal Processes....72
4.1. STATE AND PROCESS....72
4.2. PLOTTING AND NUMERICAL INTEGRATION....73
4.3. PV DIAGRAM....74
4.4. ADIABATIC PROCESS....75
4.5. PROOF OF PVY = CONSTANT FOR AN ADIABAT OF IDEAL GAS....76
4.6. CARNOT CYCLE....79
SECTION II: Statistical Mechanics....86
Chapter 5: Premise of Statistical Mechanics....88
5.1. ANALOGY: WEALTH DISTRIBUTION....88
5.2. MATHEMATICAL NOTATIONS....91
5.3. LISTING PERMUTATIONS....92
5.4. VISUALIZATION....93
5.5. COUNTING EXERCISE....96
5.6. CODE FOR ENUMERATING ALL POSSIBILITIES (VERSION 1)....98
5.7. CODE FOR ENUMERATING ALL POSSIBILITIES (VERSION 2)....101
5.8. BOLTZMANN DISTRIBUTION....104
5.9. MATH: LAGRANGE MULTIPLIER METHOD....105
5.10. MATH: STIRLING'S APPROXIMATION....105
5.11. BACK TO THE BOLTZMANN DISTRIBUTION....108
Chapter 6: Revisiting Ideal Gas....112
6.1. A LITTLE BIT OF QUANTUM MECHANICS....112
6.2. DEGENERACY....114
6.3. PARTITION FUNCTION....120
6.4. AVERAGE ENERGY OF AN IDEAL GAS....124
6.5. VISUALIZING ENERGY LEVELS WITH DEGENERACY....125
Chapter 7: Revisiting Thermal Processes....128
7.1. REVIEW....128
7.2. THERMAL PROCESSES....131
7.3. CHECK....137
Chapter 8: Entropy, Temperature, Energy, and Other Potentials....138
8.1. ENTROPY....138
8.2. LAWS OF THERMODYNAMICS....140
8.3. TEMPERATURE AS A RATIO OF CHANGES IN ENERGY AND ENTROPY....140
8.4. IDENTIFYING B = 1/kBT....142
8.5. MATH: VOLUME OF A SPHERE....144
8.6. ENTROPY OF IDEAL GAS....148
8.7. ENTROPY OF IDEAL GAS, AGAIN....149
8.8. MOTIVATION FOR OTHER METRICS OF A THERMODYNAMIC SYSTEM....152
8.9. FOUR THERMODYNAMIC POTENTIALS: U,H, F,G....155
8.10. THERMODYNAMIC RELATIONS....159
SECTION III: Examples....162
Chapter 9: Two-State System....164
9.1. DYNAMIC CASE....173
9.2. EQUILIBRIUM POTENTIAL....175
9.3. ACTION POTENTIAL....180
9.4. DIODE....181
Chapter 10: Specific Heat....184
10.1. DEFINITION OF SPECIFIC HEAT....184
10.2. TWO-STATE SYSTEM....185
10.3. SIMPLE HARMONIC OSCILLATOR (SHO)....187
10.4. TEMPERATURE DEPENDENCE OF ENERGY AND SPECIFIC HEAT....190
10.5. EINSTEIN MODEL OF SOLID....191
Chapter 11: Random and Guided Walks....198
11.1. ONE-DIMENSIONAL RANDOM WALK....198
11.2. TWO-DIMENSIONAL RANDOM WALK....203
11.3. A TANGENT....206
11.4. GUIDED RANDOM WALKS....210
Appendix....220
APPENDIX A: GETTING STARTED WITH PYTHON....220
APPENDIX B: PYTHON PROGRAMMING BASICS....220
APPENDIX C: PLOTS....224
APPENDIX D: COLORS....227
APPENDIX E: ANIMATION....232
Epilogue....236
Index....238
This book provides an accessible introduction to thermal physics with computational approaches that complement the traditional mathematical treatments of classical thermodynamics and statistical mechanics. It guides readers through visualizations and simulations in the Python programming language, helping them to develop their own technical computing skills (including numerical and symbolic calculations, optimizations, recursive operations, and visualizations). Python is a highly readable and practical programming language, making this book appropriate for students without extensive programming experience.
This book may serve as a thermal physics textbook for a semester-long undergraduate thermal physics course or may be used as a tutorial on scientific computing with focused examples from thermal physics. This book will also appeal to engineering students studying intermediate-level thermodynamics as well as computer science students looking to understand how to apply their computer programming skills to science.