Understand the LAMMPS source code and modify it to meet your research needs, and run simulations for bespoke applications involving forces, thermostats, pair potentials and more with ease
▶Book Description
LAMMPS is one of the most widely used tools for running simulations for research in molecular dynamics. While the tool itself is fairly easy to use, more often than not you'll need to customize it to meet your specific simulation requirements. Extending and Modifying LAMMPS bridges this learning gap and helps you achieve this by writing custom code to add new features to LAMMPS source code. Written by ardent supporters of LAMMPS, this practical guide will enable you to extend the capabilities of LAMMPS with the help of step-by-step explanations of essential concepts, practical examples, and self-assessment questions.
This LAMMPS book provides a hands-on approach to implementing associated methodologies that will get you up and running and productive in no time. You'll begin with a short introduction to the internal mechanisms of LAMMPS, and gradually transition to an overview of the source code along with a tutorial on modifying it. As you advance, you'll understand the structure, syntax, and organization of LAMMPS source code, and be able to write your own source code extensions to LAMMPS that implement features beyond the ones available in standard downloadable versions.
By the end of this book, you'll have learned how to add your own extensions and modifications to the LAMMPS source code that can implement features that suit your simulation requirements.
▶What You Will Learn
-Identify how LAMMPS input script commands are parsed within the source code
-Understand the architecture of the source code
-Relate source code elements to simulated quantities
-Learn how stored quantities are accessed within the source code
-Explore the mechanisms controlling pair styles, computes, and fixes
-Modify the source code to implement custom features in LAMMPS
▶Key Features
-Understand the structure of the LAMMPS source code
-Implement custom features in the LAMMPS source code to meet your research needs
-Run example simulations involving forces, thermostats, and pair potentials based on implemented features
▶Who This Book Is For
This book is for students, faculty members, and researchers who are currently using LAMMPS or considering switching to LAMMPS, have a basic knowledge of how to use LAMMPS, and are looking to extend LAMMPS source code for research purposes. This book is not a tutorial on using LAMMPS or writing LAMMPS scripts, and it is assumed that the reader is comfortable with the basic LAMMPS syntax. The book is geared toward users with little to no experience in source code editing. Familiarity with C++ programming is helpful but not necessary.
▶What this book covers
- Chapter 1, MD Theory and Simulation Practices, briefly introduces fundamental concepts of molecular dynamics, common techniques, and features that will be addressed later in the book to provide a link between theory and simulation.
- Chapter 2, LAMMPS Syntax and Source Code Repository, introduces LAMMPS input script and the execution of MD simulation features through LAMMPS commands and an introduction to the repository of standard LAMMPS code.
- Chapter 3, Source Code Structure and Stages of Execution, introduces the LAMMPS source code format and the sequence of execution followed in a LAMMPS script.
- Chapter 4, Accessing Information by Variables, Arrays, and Methods, describes the elements that store information and perform calculations during a simulation run.
- Chapter 5, Understanding Pair Styles, describes and dissects selected pair styles.
- Chapter 6, Understanding Computes, describes and dissects selected computes.
- Chapter 7, Understanding Fixes, describes and dissects selected fixes.
- Chapter 8, Exploring Supporting Classes, describes and dissects other additional LAMMPS features.
- Chapter 9, Modifying Pair Potentials, discusses the implementation of custom pair styles.
- Chapter 10, Modifying Force Applications, discusses the implementation of custom fix styles to apply forces based on pre-defined criteria.
- Chapter 11, Modifying Thermostats, discusses the implementation of custom fix styles associated with temperature control.
- Appendix A, Building LAMMPS with CMake, introduces LAMMPS compilation using CMake in Linux and Windows.
- Appendix B, Debugging with GDB and Visual Studio Code, introduces debugging tools with applications on understanding bit operations.
- Appendix C, Getting Familiar with MPI, introduces MPI parallel processing.
- Appendix D, Compatibility with Version 29Oct20, discusses source code differences between stable versions 3Mar20 and 29Oct20.