Extending and Modifying LAMMPS Writing Your Own Source Code: A pragmatic guide to extending LAMMPS as per custom simulation requirements (Paperback)

Mubin, Shafat, Li, Jichen

  • 出版商: Packt Publishing
  • 出版日期: 2021-02-19
  • 售價: $1,800
  • 貴賓價: 9.5$1,710
  • 語言: 英文
  • 頁數: 394
  • 裝訂: Quality Paper - also called trade paper
  • ISBN: 1800562268
  • ISBN-13: 9781800562264
  • 相關分類: 生物資訊 Bioinformatics
  • 立即出貨 (庫存=1)

商品描述

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

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

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

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.

商品描述(中文翻譯)

了解 LAMMPS 源代碼並修改以滿足研究需求,輕鬆運行涉及力、恆溫器、配對電位等定制應用的模擬。

主要特點:

- 了解 LAMMPS 源代碼的結構
- 在 LAMMPS 源代碼中實現自定義功能以滿足研究需求
- 基於實現的功能運行涉及力、恆溫器和配對電位的示例模擬

書籍描述:

LAMMPS 是分子動力學研究中最廣泛使用的工具之一。儘管該工具本身相對容易使用,但通常需要根據特定的模擬需求進行自定義。《擴展和修改 LAMMPS》填補了這一學習差距,通過編寫自定義代碼來添加新功能到 LAMMPS 源代碼中,幫助您實現這一目標。這本實用指南由 LAMMPS 的熱心支持者撰寫,通過逐步解釋基本概念、實際示例和自我評估問題,使您能夠擴展 LAMMPS 的能力。

這本 LAMMPS 書籍提供了一種實踐方法,幫助您快速上手並提高生產力。您將從 LAMMPS 內部機制的簡要介紹開始,逐漸轉向源代碼的概述以及修改教程。隨著您的進步,您將了解 LAMMPS 源代碼的結構、語法和組織,並能夠編寫自己的源代碼擴展,實現標準可下載版本中不可用的功能。

通過閱讀本書,您將學會如何向 LAMMPS 源代碼添加自己的擴展和修改,以滿足模擬需求。

學到的內容:

- 理解 LAMMPS 源代碼中如何解析 LAMMPS 輸入腳本命令
- 了解源代碼的架構
- 將源代碼元素與模擬量相關聯
- 學習如何在源代碼中訪問存儲的量
- 探索控制配對樣式、計算和修正的機制
- 修改源代碼以實現 LAMMPS 的自定義功能

適合閱讀對象:

本書適合目前使用 LAMMPS 或考慮轉換到 LAMMPS 的學生、教職員和研究人員,他們對如何使用 LAMMPS 有基本的了解,並希望為研究目的擴展 LAMMPS 源代碼。本書不是關於使用 LAMMPS 或編寫 LAMMPS 腳本的教程,假設讀者對基本的 LAMMPS 語法感到舒適。本書針對沒有源代碼編輯經驗的用戶,熟悉 C++ 編程將有所幫助,但不是必需的。

作者簡介

Dr. Shafat Mubin (PhD, Physics, Penn State) is an assistant professor of physics at Valdosta State University. Since his graduate student days, he has worked with molecular simulations using primarily LAMMPS and has investigated a variety of simulation systems employing a wide array of techniques. He possesses extensive experience in writing custom routines and extending the LAMMPS source code, and hosts his own website to instruct and demonstrate the same to other users. At present, he is engaged in computational physics research including molecular simulations, and endeavours to train undergraduate students in computational techniques to help them better prepare for careers in physics.

Jichen Li (graduated from Qingdao University of Science and Technology) is now studying for his master's degree at the University of Science and Technology of China. He used LAMMPS to conduct many molecular simulations to explore the relationship between polymer microstructure and macro mechanical and rheological properties. He developed several modeling and post-processing frameworks for LAMMPS and had a certain understanding of its program architecture. He dedicated to the community construction and wrote many columns and tutorials for LAMMPS starters. At present, he is working on the trans-scale simulation and the combination of deep learning and simulation.

作者簡介(中文翻譯)

Dr. Shafat Mubin(賓夫人,賓州州立大學物理學博士)是瓦爾多斯塔州立大學的助理教授,專攻物理學。從研究生時期開始,他一直使用LAMMPS進行分子模擬,並使用各種技術研究不同的模擬系統。他在編寫自定義程序和擴展LAMMPS源代碼方面擁有豐富的經驗,並擁有自己的網站,以指導和展示給其他用戶。目前,他從事計算物理研究,包括分子模擬,並致力於培訓本科生掌握計算技術,以幫助他們更好地為物理學職業生涯做準備。

Jichen Li(畢業於青島科技大學)現在正在中國科學技術大學攻讀碩士學位。他使用LAMMPS進行了許多分子模擬,探索了聚合物微觀結構與宏觀機械和流變性質之間的關係。他為LAMMPS開發了幾個建模和後處理框架,對其程序架構有一定的了解。他致力於社區建設,為LAMMPS初學者撰寫了許多專欄和教程。目前,他正在進行跨尺度模擬和深度學習與模擬的結合研究。

目錄大綱

  1. MD Theory and Simulation Practices
  2. LAMMPS Syntax and Source Code Repository
  3. Source Code Structure and Stages of Execution
  4. Accessing Information by Variables, Arrays, and Methods
  5. Understanding Pair Styles
  6. Understanding Computes
  7. Understanding Fixes
  8. Exploring Supporting Classes
  9. Modifying Pair Potentials
  10. Modifying Force Applications
  11. Modifying Thermostats
  12. Appendix A: Building LAMMPS with CMake
  13. Appendix B: Debugging Programs
  14. Appendix C: Getting Familiar with MPI
  15. Appendix D: Compatibility with Version 29Oct20

目錄大綱(中文翻譯)

- MD 理論和模擬實踐
- LAMMPS 語法和源代碼庫
- 源代碼結構和執行階段
- 通過變量、數組和方法訪問信息
- 理解 Pair Styles
- 理解 Computes
- 理解 Fixes
- 探索支持類
- 修改 Pair Potentials
- 修改力應用
- 修改熱浴
- 附錄 A: 使用 CMake 構建 LAMMPS
- 附錄 B: 程序調試
- 附錄 C: 熟悉 MPI
- 附錄 D: 與 29Oct20 版本的兼容性