The ability to use computers to solve mathematical relationships is a fundamental skill for anyone planning for a career in science or engineering. For this reason, numerical analysis is part of the core curriculum for just about every undergraduate physics and engineering department. But for most physics and engineering students, practical programming is a self-taught process.
This book introduces the reader not only to the mathematical foundation but also to the programming paradigms encountered in modern hybrid software-hardware scientific computing. After completing the text, the reader will be well-versed in the use of different numerical techniques, programming languages, and hardware architectures, and will be able to select the appropriate software and hardware tool for their analysis.
It can serve as a textbook for undergraduate courses on numerical analysis and scientific computing courses within engineering and physical sciences departments. It will also be a valuable guidebook for researchers with experimental backgrounds interested in working with numerical simulations, or to any new personnel working in scientific computing or data analysis.
Key Features:
- Includes examples of solving numerical problems in multiple programming languages, including MATLAB, Python, Fortran, C++, Arduino, Javascript, and Verilog.
- Provides an introduction to modern high performance computing technologies including multithreading, distributed computing, GPUs, microcontrollers, FPGAs, and web "cloud computing".
- Contains an overview of numerical techniques not found in other introductory texts including particle methods, finite volume and finite element methods, Vlasov solvers, molecular dynamics.
Lubos Brieda holds a Ph.D. in Aerospace and Mechanical Aerospace Engineering from the George Washington University in Washington, D.C., USA and a M.Sc. in Aerospace and Ocean Engineering from Virginia Tech in Blacksburg, VA, USA. He is the president of Particle in Cell Consulting, LLC, Westlake Village, CA, USA, while also serving as a part time lecturer in the Department of Astronautical Engineering at University of Southern California, Los Angeles, CA. Dr. Brieda is the author of numerous simulation codes utilized by the aerospace and plasma modeling communities. Additionally, he maintains an online blog found at particleincell.com/blog focusing on scientific computing and since 2014 he has been teaching online courses on plasma simulations through his website.
Joseph Wang is Professor of Astronautics and Aerospace and Mechanical Engineering at University of Southern California. Prof. Wang received his Ph.D in Aeronautics and Astronautics from Massachusetts Institute of Technology in 1991. Prof. Wang conducts research in computational physics, space technology, and space and planetary science. He and his students have developed many computer simulation models utilizing particle-in-cell, Vlasov, and molecular dynamics simulation for large-scale first-principle based simulations in these areas. He has more than 300 publications.
Robert Martin received his B.S. in Aerospace Engineering from Iowa State University and his M.S. and Ph.D in Computational Science, Mathematics, and Engineering focused on modeling non-equilibrium gas and plasma at the University of California, San Diego. He joined the Air Force Research Laboratory (AFRL) In-Space Propulsion branch in 2011 leading development of a new multiscale/multiphysics modeling framework for spacecraft plasma. He joined the Army Research Office to run the Modeling of Complex Systems Program in 2021.