Merge branch 'clean-master2' of github.com:julient31/lammps into gneb_spin

This commit is contained in:
julient31
2019-03-19 09:01:27 -06:00
1415 changed files with 26999 additions and 196620 deletions

67
.github/CODE_OF_CONDUCT.md vendored Normal file
View File

@ -0,0 +1,67 @@
# Code of Conduct for the LAMMPS Project on GitHub
## Our Pledge
In the interest of fostering an open and welcoming environment, we as LAMMPS
developers, contributors, and maintainers pledge to making participation in
our project a harassment-free experience for everyone.
## Our Standards
Examples of behavior that contributes to creating a positive environment
include:
* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members
Examples of unacceptable behavior by participants include:
* The use of explicit language or imagery
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic
address, without explicit permission
## Our Responsibilities
Project maintainers are responsible for clarifying the standards of acceptable
behavior and are expected to take appropriate and fair corrective action in
response to any instances of unacceptable behavior.
Project maintainers have the right and responsibility to remove, edit, or
reject comments, commits, code, issues, and other contributions that are not
aligned to this Code of Conduct, or to ban temporarily or permanently any
developer, maintainer, or contributor for this or other behaviors that they
deem inappropriate, threatening, offensive, or harmful.
## Scope
This Code of Conduct applies to all public exchanges in the LAMMPS project
on GitHub and in submitted code.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported by contacting the project team at developer@lammps.org. All
complaints will be reviewed and investigated and will result in a response
that is deemed necessary and appropriate to the circumstances. The project
team is obligated to maintain confidentiality with regard to the reporter
of an incident.
Project maintainers who do not follow or enforce the Code of Conduct in good
faith may face temporary or permanent repercussions as determined by other
members of the project's leadership.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
[homepage]: https://www.contributor-covenant.org
For answers to common questions about this code of conduct, see
https://www.contributor-covenant.org/faq

View File

@ -2,10 +2,10 @@
Thank your for considering to contribute to the LAMMPS software project.
The following is a set of guidelines as well as explanations of policies and workflows for contributing to the LAMMPS molecular dynamics software project. These guidelines focus on submitting issues or pull requests on the LAMMPS GitHub project.
The following is a set of guidelines as well as explanations of policies and work flows for contributing to the LAMMPS molecular dynamics software project. These guidelines focus on submitting issues or pull requests on the LAMMPS GitHub project.
Thus please also have a look at:
* [The Section on submitting new features for inclusion in LAMMPS of the Manual](http://lammps.sandia.gov/doc/Section_modify.html#mod-15)
* [The Section on submitting new features for inclusion in LAMMPS of the Manual](https://lammps.sandia.gov/doc/Modify_contribute.html)
* [The LAMMPS GitHub Tutorial in the Manual](http://lammps.sandia.gov/doc/Howto_github.html)
## Table of Contents
@ -18,7 +18,7 @@ Thus please also have a look at:
* [Suggesting Enhancements](#suggesting-enhancements)
* [Contributing Code](#contributing-code)
[GitHub Workflows](#github-workflows)
[GitHub Work flows](#github-workflows)
* [Issues](#issues)
* [Pull Requests](#pull-requests)
@ -26,17 +26,17 @@ __
## I don't want to read this whole thing I just have a question!
> **Note:** Please do not file an issue to ask a general question about LAMMPS, its features, how to use specific commands, or how perform simulations or analysis in LAMMPS. Instead post your question to the ['lammps-users' mailing list](http://lammps.sandia.gov/mail.html). You do not need to be subscribed to post to the list (but a mailing list subscription avoids having your post delayed until it is approved by a mailing list moderator). Most posts to the mailing list receive a response within less than 24 hours. Before posting to the mailing list, please read the [mailing list guidelines](http://lammps.sandia.gov/guidelines.html). Following those guidelines will help greatly to get a helpful response. Always mention which LAMMPS version you are using.
> **Note:** Please do not file an issue to ask a general question about LAMMPS, its features, how to use specific commands, or how perform simulations or analysis in LAMMPS. Instead post your question to the ['lammps-users' mailing list](https://lammps.sandia.gov/mail.html). You do not need to be subscribed to post to the list (but a mailing list subscription avoids having your post delayed until it is approved by a mailing list moderator). Most posts to the mailing list receive a response within less than 24 hours. Before posting to the mailing list, please read the [mailing list guidelines](https://lammps.sandia.gov/guidelines.html). Following those guidelines will help greatly to get a helpful response. Always mention which LAMMPS version you are using.
## How Can I Contribute?
There are several ways how you can actively contribute to the LAMMPS project: you can discuss compiling and using LAMMPS, and solving LAMMPS related problems with other LAMMPS users on the lammps-users mailing list, you can report bugs or suggest enhancements by creating issues on GitHub (or posting them to the lammps-users mailing list), and you can contribute by submitting pull requests on GitHub or e-mail your code
to one of the [LAMMPS core developers](http://lammps.sandia.gov/authors.html). As you may see from the aforementioned developer page, the LAMMPS software package includes the efforts of a very large number of contributors beyond the principal authors and maintainers.
to one of the [LAMMPS core developers](https://lammps.sandia.gov/authors.html). As you may see from the aforementioned developer page, the LAMMPS software package includes the efforts of a very large number of contributors beyond the principal authors and maintainers.
### Discussing How To Use LAMMPS
The LAMMPS mailing list is hosted at SourceForge. The mailing list began in 2005, and now includes tens of thousands of messages in thousands of threads. LAMMPS developers try to respond to posted questions in a timely manner, but there are no guarantees. Please consider that people live in different timezone and may not have time to answer e-mails outside of their work hours.
You can post to list by sending your email to lammps-users at lists.sourceforge.net (no subscription required), but before posting, please read the [mailing list guidelines](http://lammps.sandia.gov/guidelines.html) to maximize your chances to receive a helpful response.
You can post to list by sending your email to lammps-users at lists.sourceforge.net (no subscription required), but before posting, please read the [mailing list guidelines](https://lammps.sandia.gov/guidelines.html) to maximize your chances to receive a helpful response.
Anyone can browse/search previous questions/answers in the archives. You do not have to subscribe to the list to post questions, receive answers (to your questions), or browse/search the archives. You **do** need to subscribe to the list if you want emails for **all** the posts (as individual messages or in digest form), or to answer questions yourself. Feel free to sign up and help us out! Answering questions from fellow LAMMPS users is a great way to pay back the community for providing you a useful tool for free, and to pass on the advice you have received yourself to others. It improves your karma and helps you understand your own research better.
@ -44,7 +44,7 @@ If you post a message and you are a subscriber, your message will appear immedia
### Reporting Bugs
While developers writing code for LAMMPS are careful to test their code, LAMMPS is such a large and complex software, that it is impossible to test for all combinations of features under all normal and not so normal circumstances. Thus bugs do happen, and if you suspect, that you have encountered one, please try to document it and report it as an [Issue](https://github.com/lammps/lammps/issues) on the LAMMPS GitHub project web page. However, before reporting a bug, you need to check whether this is something that may have already been corrected. The [Latest Features and Bug Fixes in LAMMPS](http://lammps.sandia.gov/bug.html) web page lists all significant changes to LAMMPS over the years. It also tells you what the current latest development version of LAMMPS is, and you should test whether your issue still applies to that version.
While developers writing code for LAMMPS are careful to test their code, LAMMPS is such a large and complex software, that it is impossible to test for all combinations of features under all normal and not so normal circumstances. Thus bugs do happen, and if you suspect, that you have encountered one, please try to document it and report it as an [Issue](https://github.com/lammps/lammps/issues) on the LAMMPS GitHub project web page. However, before reporting a bug, you need to check whether this is something that may have already been corrected. The [Latest Features and Bug Fixes in LAMMPS](https://lammps.sandia.gov/bug.html) web page lists all significant changes to LAMMPS over the years. It also tells you what the current latest development version of LAMMPS is, and you should test whether your issue still applies to that version.
When you click on the green "New Issue" button, you will be provided with a text field, where you can enter your message. That text field with contain a template with several headlines and some descriptions. Keep the headlines that are relevant to your reported potential bug and replace the descriptions with the information as suggested by the descriptions.
You can also attach small text files (please add the file name extension `.txt` or it will be rejected), images, or small compressed text files (using gzip, do not use RAR or 7-ZIP or similar tools that are uncommon outside of Windows machines). In many cases, bugs are best illustrated by providing a small input deck (do **not** attach your entire production input, but remove everything that is not required to reproduce the issue, and scale down your system size, that the resulting calculation runs fast and can be run on small desktop quickly).
@ -62,13 +62,13 @@ To be able to submit an issue on GitHub, you have to register for an account (fo
We encourage users to submit new features or modifications for LAMMPS to the core developers so they can be added to the LAMMPS distribution. The preferred way to manage and coordinate this is by submitting a pull request at the LAMMPS project on GitHub. For any larger modifications or programming project, you are encouraged to contact the LAMMPS developers ahead of time, in order to discuss implementation strategies and coding guidelines, that will make it easier to integrate your contribution and result in less work for everybody involved. You are also encouraged to search through the list of open issues on GitHub and submit a new issue for a planned feature, so you would not duplicate the work of others (and possibly get scooped by them) or have your work duplicated by others.
How quickly your contribution will be integrated depends largely on how much effort it will cause to integrate and test it, how much it requires changes to the core code base, and of how much interest it is to the larger LAMMPS community. Please see below for a checklist of typical requirements. Once you have prepared everything, see [this tutorial](http://lammps.sandia.gov/doc/Howto_github.html)
How quickly your contribution will be integrated depends largely on how much effort it will cause to integrate and test it, how much it requires changes to the core code base, and of how much interest it is to the larger LAMMPS community. Please see below for a checklist of typical requirements. Once you have prepared everything, see [this tutorial](https://lammps.sandia.gov/doc/Howto_github.html)
for instructions on how to submit your changes or new files through a GitHub pull request
Here is a checklist of steps you need to follow to submit a single file or user package for our consideration. Following these steps will save both you and us time. See existing files in packages in the source directory for examples. If you are uncertain, please ask on the lammps-users mailing list.
* All source files you provide must compile with the most current version of LAMMPS with multiple configurations. In particular you need to test compiling LAMMPS from scratch with `-DLAMMPS_BIGBIG` set in addition to the default `-DLAMMPS_SMALLBIG` setting. Your code will need to work correctly in serial and in parallel using MPI.
* For consistency with the rest of LAMMPS and especially, if you want your contribution(s) to be added to main LAMMPS code or one of its standard packages, it needs to be written in a style compatible with other LAMMPS source files. This means: 2-character indentation per level, no tabs, no lines over 80 characters. I/O is done via the C-style stdio library, class header files should not import any system headers outside <stdio.h>, STL containers should be avoided in headers, and forward declarations used where possible or needed. All added code should be placed into the LAMMPS_NS namespace or a sub-namespace; global or static variables should be avoided, as they conflict with the modular nature of LAMMPS and the C++ class structure. Header files must not import namespaces with using. This all is so the developers can more easily understand, integrate, and maintain your contribution and reduce conflicts with other parts of LAMMPS. This basically means that the code accesses data structures, performs its operations, and is formatted similar to other LAMMPS source files, including the use of the error class for error and warning messages.
* For consistency with the rest of LAMMPS and especially, if you want your contribution(s) to be added to main LAMMPS code or one of its standard packages, it needs to be written in a style compatible with other LAMMPS source files. This means: 2-character indentation per level, no tabs, no lines over 80 characters. I/O is done via the C-style stdio library, style class header files should not import any system headers outside of <cstdio>, STL containers should be avoided in headers, and forward declarations used where possible or needed. All added code should be placed into the LAMMPS_NS namespace or a sub-namespace; global or static variables should be avoided, as they conflict with the modular nature of LAMMPS and the C++ class structure. There MUST NOT be any "using namespace XXX;" statements in headers. In the implementation file (<name>.cpp) system includes should be placed in angular brackets (<>) and for c-library functions the C++ style header files should be included (<cstdio> instead of <stdio.h>, or <cstring> instead of <string.h>). This all is so the developers can more easily understand, integrate, and maintain your contribution and reduce conflicts with other parts of LAMMPS. This basically means that the code accesses data structures, performs its operations, and is formatted similar to other LAMMPS source files, including the use of the error class for error and warning messages.
* If you want your contribution to be added as a user-contributed feature, and it is a single file (actually a `<name>.cpp` and `<name>.h` file) it can be rapidly added to the USER-MISC directory. Include the one-line entry to add to the USER-MISC/README file in that directory, along with the 2 source files. You can do this multiple times if you wish to contribute several individual features.
* If you want your contribution to be added as a user-contribution and it is several related features, it is probably best to make it a user package directory with a name like USER-FOO. In addition to your new files, the directory should contain a README text file. The README should contain your name and contact information and a brief description of what your new package does. If your files depend on other LAMMPS style files also being installed (e.g. because your file is a derived class from the other LAMMPS class), then an Install.sh file is also needed to check for those dependencies. See other README and Install.sh files in other USER directories as examples. Send us a tarball of this USER-FOO directory.
* Your new source files need to have the LAMMPS copyright, GPL notice, and your name and email address at the top, like other user-contributed LAMMPS source files. They need to create a class that is inside the LAMMPS namespace. If the file is for one of the USER packages, including USER-MISC, then we are not as picky about the coding style (see above). I.e. the files do not need to be in the same stylistic format and syntax as other LAMMPS files, though that would be nice for developers as well as users who try to read your code.
@ -102,10 +102,10 @@ For bug reports, the next step is that one of the core LAMMPS developers will se
### Pull Requests
For submitting pull requests, there is a [detailed tutorial](http://lammps.sandia.gov/doc/Howto_github.html) in the LAMMPS manual. Thus only a brief breakdown of the steps is presented here. Please note, that the LAMMPS developers are still reviewing and trying to improve the process. If you are unsure about something, do not hesitate to post a question on the lammps-users mailing list or contact one fo the core LAMMPS developers.
For submitting pull requests, there is a [detailed tutorial](https://lammps.sandia.gov/doc/Howto_github.html) in the LAMMPS manual. Thus only a brief breakdown of the steps is presented here. Please note, that the LAMMPS developers are still reviewing and trying to improve the process. If you are unsure about something, do not hesitate to post a question on the lammps-users mailing list or contact one fo the core LAMMPS developers.
Immediately after the submission, the LAMMPS continuing integration server at ci.lammps.org will download your submitted branch and perform a simple compilation test, i.e. will test whether your submitted code can be compiled under various conditions. It will also do a check on whether your included documentation translates cleanly. Whether these tests are successful or fail will be recorded. If a test fails, please inspect the corresponding output on the CI server and take the necessary steps, if needed, so that the code can compile cleanly again. The test will be re-run each the pull request is updated with a push to the remote branch on GitHub.
Next a LAMMPS core developer will self-assign and do an overall technical assessment of the submission. If you are not yet registered as a LAMMPS collaborator, you will receive an invitation for that.
You may also receive comments and suggestions on the overall submission or specific details. If permitted, additional changes may be pushed into your pull request branch or a pull request may be filed in your LAMMPS fork on GitHub to include those changes.
Next a LAMMPS core developer will self-assign and do an overall technical assessment of the submission. If you are not yet registered as a LAMMPS collaborator, you will receive an invitation for that. As part of the assesment, the pull request will be categorized with labels. There are two special labels: `needs_work` (indicates that work from the submitter of the pull request is needed) and `work_in_progress` (indicates, that the assigned LAMMPS developer will make changes, if not done by the contributor who made the submit).
You may also receive comments and suggestions on the overall submission or specific details and on occasion specific requests for changes as part of the review. If permitted, also additional changes may be pushed into your pull request branch or a pull request may be filed in your LAMMPS fork on GitHub to include those changes.
The LAMMPS developer may then decide to assign the pull request to another developer (e.g. when that developer is more knowledgeable about the submitted feature or enhancement or has written the modified code). It may also happen, that additional developers are requested to provide a review and approve the changes. For submissions, that may change the general behavior of LAMMPS, or where a possibility of unwanted side effects exists, additional tests may be requested by the assigned developer.
If the assigned developer is satisfied and considers the submission ready for inclusion into LAMMPS, the pull request will receive approvals and be merged into the master branch by one of the core LAMMPS developers. After the pull request is merged, you may delete the feature branch used for the pull request in your personal LAMMPS fork.
Since the learning curve for git is quite steep for efficiently managing remote repositories, local and remote branches, pull requests and more, do not hesitate to ask questions, if you are not sure about how to do certain steps that are asked of you. Even if the changes asked of you do not make sense to you, they may be important for the LAMMPS developers. Please also note, that these all are guidelines and nothing set in stone. So depending on the nature of the contribution, the workflow may be adjusted.

View File

@ -1,31 +0,0 @@
## Summary
_Please provide a brief description of the issue_
## Type of Issue
_Is this a 'Bug Report' or a 'Suggestion for an Enhancement'?_
## Detailed Description (Enhancement Suggestion)
_Explain how you would like to see LAMMPS enhanced, what feature(s) you are looking for, provide references to relevant background information, and whether you are willing to implement the enhancement yourself or would like to participate in the implementation_
## LAMMPS Version (Bug Report)
_Please specify which LAMMPS version this issue was detected with. If this is not the latest development version, please stop and test that version, too, and report it here if the bug persists_
## Expected Behavior (Bug Report)
_Describe the expected behavior. Quote from the LAMMPS manual where needed or explain why the expected behavior is meaningful, especially when it differs from the manual_
## Actual Behavior (Bug Report)
_Describe the actual behavior, how it differs from the expected behavior, and how this can be observed. Try to be specific and do **not* use vague terms like "doesn't work" or "wrong result". Do not assume that the person reading this has any experience with or knowledge of your specific research._
## Steps to Reproduce (Bug Report)
_Describe the steps required to quickly reproduce the issue. You can attach (small) files to the section below or add URLs where to download an archive with all necessary files. Please try to create input that are as small as possible and run as fast as possible. NOTE: the less effort and time it takes to reproduce your issue, the more likely, that somebody will look into it._
## Further Information, Files, and Links
_Put any additional information here, attach relevant text or image files and URLs to external sites, e.g. relevant publications_

32
.github/ISSUE_TEMPLATE/bug_report.md vendored Normal file
View File

@ -0,0 +1,32 @@
---
name: Bug report
about: Create a bug report to help us eliminate issues and improve LAMMPS
title: "[BUG] _Replace With Suitable Title_"
labels: bug
assignees: ''
---
**Summary**
_Please provide a clear and concise description of what the bug is._
**LAMMPS Version and Platform**
_Please specify precisely which LAMMPS version this issue was detected with (the first line of the output) and what platform (operating system and its version, hardware) you are running on. If possible, test with the most recent LAMMPS patch version_
**Expected Behavior**
_Describe the expected behavior. Quote from the LAMMPS manual where needed, or explain why the expected behavior is meaningful, especially when it differs from the manual_
**Actual Behavior**
_Describe the actual behavior, how it differs from the expected behavior, and how this can be observed. Try to be specific and do **not** use vague terms like "doesn't work" or "wrong result". Do not assume that the person reading this has any experience with or knowledge of your specific area of research._
**Steps to Reproduce**
_Describe the steps required to (quickly) reproduce the issue. You can attach (small) files to the section below or add URLs where to download an archive with all necessary files. Please try to create an input set that is as minimal and small as possible and reproduces the bug as quickly as possible. **NOTE:** the less effort and time it takes to reproduce your reported bug, the more likely it becomes, that somebody will look into it and fix the problem._
**Further Information, Files, and Links**
_Put any additional information here, attach relevant text or image files and URLs to external sites, e.g. relevant publications_

View File

@ -0,0 +1,20 @@
---
name: Feature request
about: Make a suggestion for a new feature or a change to LAMMPS
title: "[Feature Request] _Replace with Title_"
labels: enhancement
assignees: ''
---
**Summary**
_Please provide a brief and concise description of the suggested feature or change_
**Detailed Description**
_Please explain how you would like to see LAMMPS enhanced, what feature(s) you are looking for, what specific problems this will solve. If possible, provide references to relevant background information like publications or web pages, and whether you are planning to implement the enhancement yourself or would like to participate in the implementation. If applicable add a reference to an existing bug report or issue that this will address._
**Further Information, Files, and Links**
_Put any additional information here, attach relevant text or image files and URLs to external sites, e.g. relevant publications_

21
.github/ISSUE_TEMPLATE/generic.md vendored Normal file
View File

@ -0,0 +1,21 @@
---
name: Generic Issue
about: For issues that do not fit any of the other categories
title: "_Replace With a Descriptive Title_"
labels:
assignees: ''
---
**Summary**
_Please provide a clear and concise description of what this issue report is about._
**LAMMPS Version and Platform**
_Please specify precisely which LAMMPS version this issue was detected with (the first line of the output) and what platform (operating system and its version, hardware) you are running on. If possible, test with the most recent LAMMPS patch version_
**Details**
_Please explain the issue in detail here_

15
.github/ISSUE_TEMPLATE/help_request.md vendored Normal file
View File

@ -0,0 +1,15 @@
---
name: Request for Help
about: "Don't post help requests here, email the lammps-users mailing list"
title: ""
labels: invalid
assignees: ''
---
Please **do not** post requests for help (e.g. with installing or using LAMMPS) here.
Instead send an e-mail to the lammps-users mailing list.
This issue tracker is for tracking LAMMPS development related issues only.
Thanks for your cooperation.

View File

@ -1,28 +1,43 @@
## Purpose
**Summary**
_Briefly describe the new feature(s), enhancement(s), or bugfix(es) included in this pull request. If this addresses an open GitHub Issue, mention the issue number, e.g. with `fixes #221` or `closes #135`, so that issue will be automatically closed when the pull request is merged_
_Briefly describe the new feature(s), enhancement(s), or bugfix(es) included in this pull request._
## Author(s)
**Related Issues**
_Please state name and affiliation of the author or authors that should be credited with the changes in this pull request_
_If this addresses an open GitHub issue for this project, please mention the issue number here, and describe the relation. Use the phrases `fixes #221` or `closes #135`, when you want an issue to be automatically closed when the pull request is merged_
## Backward Compatibility
**Author(s)**
_Please state whether any changes in the pull request break backward compatibility for inputs, and - if yes - explain what has been changed and why_
_Please state name and affiliation of the author or authors that should be credited with the changes in this pull request. If this pull request adds new files to the distribution, please also provide a suitable "long-lived" e-mail address (ideally something that can outlive your institution's e-mail, in case you change jobs) for the *corresponding* author, i.e. the person the LAMMPS developers can contact directly with questions and requests related to maintenance and support of this contributed code._
## Implementation Notes
**Licensing**
By submitting this pull request, I agree, that my contribution will be included in LAMMPS and redistributed under either the GNU General Public License version 2 (GPL v2) or the GNU Lesser General Public License version 2.1 (LGPL v2.1).
**Backward Compatibility**
_Please state whether any changes in the pull request will break backward compatibility for inputs, and - if yes - explain what has been changed and why_
**Implementation Notes**
_Provide any relevant details about how the changes are implemented, how correctness was verified, how other features - if any - in LAMMPS are affected_
## Post Submission Checklist
**Post Submission Checklist**
_Please check the fields below as they are completed **after** the pull request has been submitted. Delete lines that don't apply_
_Please check the fields below as they are completed_
- [ ] The feature or features in this pull request is complete
- [ ] Suitable new documentation files and/or updates to the existing docs are included
- [ ] One or more example input decks are included
- [ ] Licensing information is complete
- [ ] Corresponding author information is complete
- [ ] The source code follows the LAMMPS formatting guidelines
- [ ] Suitable new documentation files and/or updates to the existing docs are included
- [ ] The added/updated documentation is integrated and tested with the documentation build system
- [ ] The feature has been verified to work with the conventional build system
- [ ] The feature has been verified to work with the CMake based build system
- [ ] A package specific README file has been included or updated
- [ ] One or more example input decks are included
## Further Information, Files, and Links
**Further Information, Files, and Links**
_Put any additional information here, attach relevant text or image files, and URLs to external sites (e.g. DOIs or webpages)_

View File

@ -0,0 +1,42 @@
---
name: Bug fix
about: Submit a pull request that fixes one or more bugs
title: "[BUGFIX] _Replace With Suitable Title_"
labels: bugfix
assignees: ''
---
**Summary**
_Briefly describe the bug or bugs, that are eliminated by this pull request._
**Related Issue(s)**
_If this request addresses or is related to an existing (open) GitHub issue, e.g. a bug report, mention the issue number number here following a pound sign (aka hashmark), e.g.`#222`._
**Author(s)**
_Please state name and affiliation of the author or authors that should be credited with the changes in this pull request_
**Licensing**
By submitting this pull request I implicitly accept, that my submission is subject to the same licensing terms as the files that are modified.
**Backward Compatibility**
_Please state whether any changes in the pull request break backward compatibility for inputs, and - if yes - explain what has been changed and why_
**Detailed Description**
_Provide any relevant details about how the fixed bug can be reproduced, how the changes are implemented, how correctness was verified, how other features - if any - in LAMMPS are affected_
## Post Submission Checklist
_Please check the fields below as they are completed *after* the pull request is submitted_
- [ ] The code in this pull request is complete
- [ ] The source code follows the LAMMPS formatting guidelines
## Further Information, Files, and Links
_Put any additional information here, attach relevant text or image files, and URLs to external sites (e.g. to download input decks for testing)_

View File

@ -0,0 +1,35 @@
---
name: Maintenance or Refactoring
about: Submit a pull request that does code refactoring or other maintenance changes
title: "[MAINTENANCE] _Replace With Suitable Title_"
labels: maintenance
assignees: ''
---
**Summary**
_Briefly describe the included changes._
**Related Issue(s)**
_If this request addresses or is related to an existing (open) GitHub issue, e.g. a bug report, mention the issue number number here following a pound sign (aka hashmark), e.g.`#222`.
**Author(s)**
_Please state name and affiliation of the author or authors that should be credited with the changes in this pull request_
**Licensing**
By submitting this pull request I implicitly accept, that my submission is subject to the same licensing terms as the files that are modified.
**Detailed Description**
_Provide any relevant details about the included changes._
## Post Submission Checklist
_Please check the fields below as they are completed *after* the pull request is submitted_
- [ ] The pull request is complete
- [ ] The source code follows the LAMMPS formatting guidelines

View File

@ -0,0 +1,56 @@
---
name: New Feature
about: Submit a pull request that adds new Features (complete files) to LAMMPS
title: "[New Feature] _Replace With Suitable Title_"
labels: enhancement
assignees: ''
---
**Summary**
_Briefly describe the new feature(s) included in this pull request._
**Related Issues**
_If this addresses an existing (open) GitHub issue, e.g. a feature request, mention the issue number here following a pound sign (aka hashmark), e.g. `#331`._
**Author(s)**
_Please state name and affiliation of the author or authors that should be credited with the features added in this pull request. Please provide a suitable "long-lived" e-mail address (e.g. from gmail, yahoo, outlook, etc.) for the *corresponding* author, i.e. the person the LAMMPS developers can contact directly with questions and requests related to maintenance and support of this code. now and in the future_
**Licensing**
_Please add *yes* or *no* to the following two statements (please contact @lammps/core if you have questions about this)_
My contribution may be licensed as GPL v2 (default LAMMPS license):
My contribution may be licensed as LGPL (for use as a library with proprietary software):
**Backward Compatibility**
_Please state if any of the changes in this pull request will affect backward compatibility for inputs, and - if yes - explain what has been changed and why_
**Implementation Notes**
_Provide any relevant details about how the new features are implemented, how correctness was verified, what platforms (OS, compiler, MPI, hardware, number of processors, accelerator(s)) it was tested on_
## Post Submission Checklist
_Please check the fields below as they are completed *after* the pull request has been submitted_
- [ ] The feature or features in this pull request is complete
- [ ] Licensing information is complete
- [ ] Corresponding author information is complete
- [ ] The source code follows the LAMMPS formatting guidelines
- [ ] Suitable new documentation files and/or updates to the existing docs are included
- [ ] The added/updated documentation is integrated and tested with the documentation build system
- [ ] The feature has been verified to work with the conventional build system
- [ ] The feature has been verified to work with the CMake based build system
- [ ] A package specific README file has been included or updated
- [ ] One or more example input decks are included
## Further Information, Files, and Links
_Put any additional information here, attach relevant text or image files, and URLs to external sites (e.g. DOIs or webpages)_

View File

@ -0,0 +1,42 @@
---
name: Update or Enhancement
about: Submit a pull request that provides update or enhancements for a package or feature in LAMMPS
title: "[UPDATE] _Replace With Suitable Title_"
labels: enhancement
assignees: ''
---
**Summary**
_Briefly describe what kind of updates or enhancements for a package or feature are included. If you are not the original author of the package or feature, please mention, whether your contribution was created independently or in collaboration/cooperation with the original author._
**Author(s)**
_Please state name and affiliation of the author or authors that should be credited with the changes in this pull request_
**Licensing**
By submitting this pull request I implicitly accept, that my submission is subject to the same licensing terms as the original package or feature(s) that are updated or amended by this pull request.
**Backward Compatibility**
_Please state whether any changes in the pull request break backward compatibility for inputs, and - if yes - explain what has been changed and why_
**Implementation Notes**
_Provide any relevant details about how the changes are implemented, how correctness was verified, how other features - if any - in LAMMPS are affected_
**Post Submission Checklist**
_Please check the fields below as they are completed_
- [ ] The feature or features in this pull request is complete
- [ ] Suitable updates to the existing docs are included
- [ ] One or more example input decks are included
- [ ] The source code follows the LAMMPS formatting guidelines
**Further Information, Files, and Links**
_Put any additional information here, attach relevant text or image files, and URLs to external sites (e.g. DOIs or webpages)_

View File

@ -11,6 +11,8 @@ get_filename_component(LAMMPS_LIB_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../lib
get_filename_component(LAMMPS_LIB_BINARY_DIR ${CMAKE_BINARY_DIR}/lib ABSOLUTE)
get_filename_component(LAMMPS_DOC_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../doc ABSOLUTE)
find_package(Git)
# by default, install into $HOME/.local (not /usr/local), so that no root access (and sudo!!) is needed
if (CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
set(CMAKE_INSTALL_PREFIX "$ENV{HOME}/.local" CACHE PATH "default install path" FORCE )
@ -85,7 +87,7 @@ string(TOUPPER "${CMAKE_BUILD_TYPE}" BTYPE)
# this is fast, so check for it all the time
message(STATUS "Running check for auto-generated files from make-based build system")
file(GLOB SRC_AUTOGEN_FILES ${LAMMPS_SOURCE_DIR}/style_*.h)
list(APPEND SRC_AUTOGEN_FILES ${LAMMPS_SOURCE_DIR}/lmpinstalledpkgs.h)
list(APPEND SRC_AUTOGEN_FILES ${LAMMPS_SOURCE_DIR}/lmpinstalledpkgs.h ${LAMMPS_SOURCE_DIR}/lmpgitversion.h)
foreach(_SRC ${SRC_AUTOGEN_FILES})
get_filename_component(FILENAME "${_SRC}" NAME)
if(EXISTS ${LAMMPS_SOURCE_DIR}/${FILENAME})
@ -178,7 +180,7 @@ set(DEFAULT_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS DIPOLE GRANULAR
USER-MEAMC USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF
USER-PHONON USER-PLUMED USER-PTM USER-QTB USER-REAXC USER-SCAFACOS
USER-SDPD USER-SMD USER-SMTBQ USER-SPH USER-TALLY USER-UEF USER-VTK
USER-QUIP USER-QMMM USER-YAFF)
USER-QUIP USER-QMMM USER-YAFF USER-ADIOS)
set(ACCEL_PACKAGES USER-OMP KOKKOS OPT USER-INTEL GPU)
set(OTHER_PACKAGES CORESHELL QEQ)
foreach(PKG ${DEFAULT_PACKAGES})
@ -201,6 +203,17 @@ endif()
include_directories(${LAMMPS_SOURCE_DIR})
if(PKG_USER-ADIOS)
# The search for ADIOS2 must come before MPI because
# it includes its own MPI search with the latest FindMPI.cmake
# script that defines the MPI::MPI_C target
enable_language(C)
find_package(ADIOS2 REQUIRED)
list(APPEND LAMMPS_LINK_LIBS adios2::adios2)
endif()
# do MPI detection after language activation, if MPI for these language is required
find_package(MPI QUIET)
option(BUILD_MPI "Build MPI version" ${MPI_FOUND})
@ -453,7 +466,7 @@ if(PKG_VORONOI)
set(VORO_BUILD_OPTIONS CXX=${CMAKE_CXX_COMPILER} CFLAGS=${VORO_BUILD_CFLAGS})
ExternalProject_Add(voro_build
URL http://math.lbl.gov/voro++/download/dir/voro++-0.4.6.tar.gz
URL https://download.lammps.org/thirdparty/voro++-0.4.6.tar.gz
URL_MD5 2338b824c3b7b25590e18e8df5d68af9
CONFIGURE_COMMAND "" BUILD_COMMAND make ${VORO_BUILD_OPTIONS} BUILD_IN_SOURCE 1 INSTALL_COMMAND ""
)
@ -559,10 +572,15 @@ if(PKG_USER-PLUMED)
message(STATUS "PLUMED download requested - we will build our own")
include(ExternalProject)
ExternalProject_Add(plumed_build
URL https://github.com/plumed/plumed2/releases/download/v2.4.3/plumed-src-2.4.3.tgz
URL_MD5 b1be7c48971627febc11c61b70767fc5
URL https://github.com/plumed/plumed2/releases/download/v2.4.4/plumed-src-2.4.4.tgz
URL_MD5 71ed465bdc7c2059e282dbda8d564e71
BUILD_IN_SOURCE 1
CONFIGURE_COMMAND <SOURCE_DIR>/configure --prefix=<INSTALL_DIR> ${CONFIGURE_REQUEST_PIC})
CONFIGURE_COMMAND <SOURCE_DIR>/configure --prefix=<INSTALL_DIR>
${CONFIGURE_REQUEST_PIC}
--enable-modules=all
CXX=${CMAKE_MPI_CXX_COMPILER}
CC=${CMAKE_MPI_C_COMPILER}
)
ExternalProject_get_property(plumed_build INSTALL_DIR)
set(PLUMED_INSTALL_DIR ${INSTALL_DIR})
list(APPEND LAMMPS_DEPS plumed_build)
@ -608,14 +626,15 @@ if(PKG_USER-NETCDF)
add_definitions(-DLMP_HAS_NETCDF -DNC_64BIT_DATA=0x0020)
endif()
if(PKG_USER-SMD)
option(DOWNLOAD_EIGEN3 "Download Eigen3 instead of using an already installed one)" OFF)
if(DOWNLOAD_EIGEN3)
message(STATUS "Eigen3 download requested - we will build our own")
include(ExternalProject)
ExternalProject_Add(Eigen3_build
URL http://bitbucket.org/eigen/eigen/get/3.3.4.tar.gz
URL_MD5 1a47e78efe365a97de0c022d127607c3
URL http://bitbucket.org/eigen/eigen/get/3.3.7.tar.gz
URL_MD5 f2a417d083fe8ca4b8ed2bc613d20f07
CONFIGURE_COMMAND "" BUILD_COMMAND "" INSTALL_COMMAND ""
)
ExternalProject_get_property(Eigen3_build SOURCE_DIR)
@ -651,28 +670,34 @@ if(PKG_USER-VTK)
endif()
if(PKG_KIM)
option(DOWNLOAD_KIM "Download KIM-API v1 from OpenKIM instead of using an already installed one)" OFF)
option(DOWNLOAD_KIM "Download KIM-API v2 from OpenKIM instead of using an already installed one" OFF)
if(DOWNLOAD_KIM)
message(STATUS "KIM-API v1 download requested - we will build our own")
message(STATUS "KIM-API v2 download requested - we will build our own")
enable_language(C)
enable_language(Fortran)
include(ExternalProject)
ExternalProject_Add(kim_build
URL https://github.com/openkim/kim-api/archive/v1.9.5.tar.gz
URL_MD5 9f66efc128da33039e30659f36fc6d00
BUILD_IN_SOURCE 1
CONFIGURE_COMMAND <SOURCE_DIR>/configure --prefix=<INSTALL_DIR>
URL https://s3.openkim.org/kim-api/kim-api-v2-2.0.1.txz
URL_MD5 289c57f0c3bc2a549662283cac1c4ef1
BINARY_DIR build
CMAKE_ARGS -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
-DCMAKE_Fortran_COMPILER=${CMAKE_Fortran_COMPILER}
-DCMAKE_INSTALL_PREFIX=<INSTALL_DIR>
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
)
ExternalProject_get_property(kim_build INSTALL_DIR)
set(KIM_INCLUDE_DIRS ${INSTALL_DIR}/include/kim-api-v1)
set(KIM_LIBRARIES ${INSTALL_DIR}/lib/libkim-api-v1.so)
set(KIM-API-V2_INCLUDE_DIRS ${INSTALL_DIR}/include/kim-api-v2)
set(KIM-API-V2_LDFLAGS ${INSTALL_DIR}/${CMAKE_INSTALL_LIBDIR}/libkim-api-v2${CMAKE_SHARED_LIBRARY_SUFFIX})
list(APPEND LAMMPS_DEPS kim_build)
else()
find_package(KIM)
if(NOT KIM_FOUND)
message(FATAL_ERROR "KIM-API v1 not found, help CMake to find it by setting KIM_LIBRARY and KIM_INCLUDE_DIR, or set DOWNLOAD_KIM=ON to download it")
find_package(KIM-API-V2)
if(NOT KIM-API-V2_FOUND)
message(FATAL_ERROR "KIM-API v2 not found, help CMake to find it by setting PKG_CONFIG_PATH, or set DOWNLOAD_KIM=ON to download it")
endif()
endif()
list(APPEND LAMMPS_LINK_LIBS ${KIM_LIBRARIES})
include_directories(${KIM_INCLUDE_DIRS})
list(APPEND LAMMPS_LINK_LIBS "${KIM-API-V2_LDFLAGS}")
include_directories(${KIM-API-V2_INCLUDE_DIRS})
endif()
if(PKG_MESSAGE)
@ -756,7 +781,7 @@ endif()
# Basic system tests (standard libraries, headers, functions, types) #
########################################################################
include(CheckIncludeFileCXX)
foreach(HEADER math.h)
foreach(HEADER cmath)
check_include_file_cxx(${HEADER} FOUND_${HEADER})
if(NOT FOUND_${HEADER})
message(FATAL_ERROR "Could not find needed header - ${HEADER}")
@ -1303,6 +1328,40 @@ message(STATUS "Generating lmpinstalledpkgs.h...")
file(WRITE "${LAMMPS_STYLE_HEADERS_DIR}/lmpinstalledpkgs.h.tmp" "${temp}" )
execute_process(COMMAND ${CMAKE_COMMAND} -E copy_if_different "${LAMMPS_STYLE_HEADERS_DIR}/lmpinstalledpkgs.h.tmp" "${LAMMPS_STYLE_HEADERS_DIR}/lmpinstalledpkgs.h")
######################################
# Generate lmpgitversion.h
######################################
set(temp "#ifndef LMP_GIT_VERSION_H\n#define LMP_GIT_VERSION_H\n")
set(temp_git_commit "(unknown)")
set(temp_git_branch "(unknown)")
set(temp_git_describe "(unknown)")
set(temp_git_info "false")
if(GIT_FOUND AND EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/../.git)
set(temp_git_info "true")
execute_process(COMMAND ${GIT_EXECUTABLE} -C ${CMAKE_CURRENT_SOURCE_DIR}/../.git rev-parse HEAD
OUTPUT_VARIABLE temp_git_commit
ERROR_QUIET
OUTPUT_STRIP_TRAILING_WHITESPACE)
execute_process(COMMAND ${GIT_EXECUTABLE} -C ${CMAKE_CURRENT_SOURCE_DIR}/../.git rev-parse --abbrev-ref HEAD
OUTPUT_VARIABLE temp_git_branch
ERROR_QUIET
OUTPUT_STRIP_TRAILING_WHITESPACE)
execute_process(COMMAND ${GIT_EXECUTABLE} -C ${CMAKE_CURRENT_SOURCE_DIR}/../.git describe --dirty=-modified
OUTPUT_VARIABLE temp_git_describe
ERROR_QUIET
OUTPUT_STRIP_TRAILING_WHITESPACE)
endif()
set(temp "${temp}const bool LAMMPS_NS::LAMMPS::has_git_info = ${temp_git_info};\n")
set(temp "${temp}const char LAMMPS_NS::LAMMPS::git_commit[] = \"${temp_git_commit}\";\n")
set(temp "${temp}const char LAMMPS_NS::LAMMPS::git_branch[] = \"${temp_git_branch}\";\n")
set(temp "${temp}const char LAMMPS_NS::LAMMPS::git_descriptor[] = \"${temp_git_describe}\";\n")
set(temp "${temp}#endif\n\n")
message(STATUS "Generating lmpgitversion.h...")
file(WRITE "${LAMMPS_STYLE_HEADERS_DIR}/lmpgitversion.h.tmp" "${temp}" )
execute_process(COMMAND ${CMAKE_COMMAND} -E copy_if_different "${LAMMPS_STYLE_HEADERS_DIR}/lmpgitversion.h.tmp" "${LAMMPS_STYLE_HEADERS_DIR}/lmpgitversion.h")
###########################################
# Actually add executable and lib to build
############################################
@ -1349,6 +1408,7 @@ if(BUILD_EXE)
endif()
endif()
###############################################################################
# Build documentation
###############################################################################

View File

@ -0,0 +1,50 @@
#
# CDDL HEADER START
#
# The contents of this file are subject to the terms of the Common Development
# and Distribution License Version 1.0 (the "License").
#
# You can obtain a copy of the license at
# http://www.opensource.org/licenses/CDDL-1.0. See the License for the
# specific language governing permissions and limitations under the License.
#
# When distributing Covered Code, include this CDDL HEADER in each file and
# include the License file in a prominent location with the name LICENSE.CDDL.
# If applicable, add the following below this CDDL HEADER, with the fields
# enclosed by brackets "[]" replaced with your own identifying information:
#
# Portions Copyright (c) [yyyy] [name of copyright owner]. All rights reserved.
#
# CDDL HEADER END
#
#
# Copyright (c) 2013--2018, Regents of the University of Minnesota.
# All rights reserved.
#
# Contributors:
# Richard Berger
# Christoph Junghans
# Ryan S. Elliott
#
# - Find KIM-API-V2
#
# sets standard pkg_check_modules variables plus:
#
# KIM-API-V2-CMAKE_C_COMPILER
# KIM-API-V2-CMAKE_CXX_COMPILER
# KIM-API-V2-CMAKE_Fortran_COMPILER
#
find_package(PkgConfig REQUIRED)
include(FindPackageHandleStandardArgs)
pkg_check_modules(KIM-API-V2 REQUIRED libkim-api-v2>=2.0)
pkg_get_variable(KIM-API-V2-CMAKE_C_COMPILER libkim-api-v2 CMAKE_C_COMPILER)
pkg_get_variable(KIM-API-V2-CMAKE_CXX_COMPILER libkim-api-v2 CMAKE_CXX_COMPILER)
pkg_get_variable(KIM-API-V2_CMAKE_Fortran_COMPILER libkim-api-v2 CMAKE_Fortran_COMPILER)
# handle the QUIETLY and REQUIRED arguments and set KIM-API-V2_FOUND to TRUE
# if all listed variables are TRUE
find_package_handle_standard_args(KIM-API-V2 REQUIRED_VARS KIM-API-V2_LIBRARIES)

View File

@ -1,22 +0,0 @@
# - Find kim
# Find the native KIM headers and libraries.
#
# KIM_INCLUDE_DIRS - where to find kim.h, etc.
# KIM_LIBRARIES - List of libraries when using kim.
# KIM_FOUND - True if kim found.
#
find_path(KIM_INCLUDE_DIR KIM_API.h PATH_SUFFIXES kim-api-v1)
find_library(KIM_LIBRARY NAMES kim-api-v1)
set(KIM_LIBRARIES ${KIM_LIBRARY})
set(KIM_INCLUDE_DIRS ${KIM_INCLUDE_DIR})
include(FindPackageHandleStandardArgs)
# handle the QUIETLY and REQUIRED arguments and set KIM_FOUND to TRUE
# if all listed variables are TRUE
find_package_handle_standard_args(KIM DEFAULT_MSG KIM_LIBRARY KIM_INCLUDE_DIR)
mark_as_advanced(KIM_INCLUDE_DIR KIM_LIBRARY )

View File

@ -50,6 +50,7 @@ function(CreateStyleHeader path filename)
list(REMOVE_AT ARGV 0 1)
set(header_list)
foreach(FNAME ${ARGV})
set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS "${FNAME}")
get_filename_component(FNAME ${FNAME} NAME)
list(APPEND header_list ${FNAME})
endforeach()
@ -61,6 +62,7 @@ function(CreateStyleHeader path filename)
message(STATUS "Generating ${filename}...")
file(WRITE "${path}/${filename}.tmp" "${temp}" )
execute_process(COMMAND ${CMAKE_COMMAND} -E copy_if_different "${path}/${filename}.tmp" "${path}/${filename}")
set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS "${path}/${filename}")
endfunction(CreateStyleHeader)
function(GenerateStyleHeader path property style)

2
doc/.gitignore vendored
View File

@ -1,4 +1,6 @@
/old
/html
/latex
/spelling
/LAMMPS.epub
/LAMMPS.mobi

View File

@ -39,7 +39,7 @@ help:
@echo "Please use \`make <target>' where <target> is one of"
@echo " html create HTML doc pages in html dir"
@echo " pdf create Developer.pdf and Manual.pdf in this dir"
@echo " old create old-style HTML doc pages in old dir"
@echo " old create old-style HTML doc pages and Manual.pdf in old dir"
@echo " fetch fetch HTML and PDF files from LAMMPS web site"
@echo " epub create ePUB format manual for e-book readers"
@echo " mobi convert ePUB to MOBI format manual for e-book readers (e.g. Kindle)"
@ -56,7 +56,7 @@ clean-all: clean
rm -rf $(BUILDDIR)/* utils/txt2html/txt2html.exe
clean:
rm -rf $(RSTDIR) html old epub
rm -rf $(RSTDIR) html old epub latex
rm -rf spelling
clean-spelling:
@ -115,21 +115,44 @@ mobi: epub
@ebook-convert LAMMPS.epub LAMMPS.mobi
@echo "Conversion finished. The MOBI manual file is created."
pdf: utils/txt2html/txt2html.exe
pdf: $(OBJECTS) $(ANCHORCHECK)
@(\
. $(VENV)/bin/activate ;\
cp -r src/* $(RSTDIR)/ ;\
sphinx-build $(SPHINXEXTRA) -b latex -c utils/sphinx-config -d $(BUILDDIR)/doctrees $(RSTDIR) latex ;\
echo "############################################" ;\
doc_anchor_check src/*.txt ;\
echo "############################################" ;\
deactivate ;\
)
@cd latex && \
sed 's/latexmk -pdf -dvi- -ps-/pdflatex/g' Makefile > temp && \
mv temp Makefile && \
sed 's/\\begin{equation}//g' LAMMPS.tex > tmp.tex && \
mv tmp.tex LAMMPS.tex && \
sed 's/\\end{equation}//g' LAMMPS.tex > tmp.tex && \
mv tmp.tex LAMMPS.tex && \
make && \
make && \
mv LAMMPS.pdf ../Manual.pdf && \
cd ../;
@(\
set -e; \
cd src/Developer; \
pdflatex developer; \
pdflatex developer; \
mv developer.pdf ../../Developer.pdf; \
cd ..; \
../utils/txt2html/txt2html.exe -b *.txt; \
htmldoc --batch lammps.book; \
for s in `echo *.txt | sed -e 's/ \(pairs\|bonds\|angles\|dihedrals\|impropers\|commands_list\|fixes\|computes\).txt/ /g' | sed -e 's,\.txt,\.html,g'` ; \
do grep -q ^$$s lammps.book || \
echo WARNING: doc file $$s missing in src/lammps.book; done; \
rm *.html; \
cd ../../; \
)
@rm -rf latex/_sources
@rm -rf latex/PDF
@rm -rf latex/USER
@cp -r src/PDF latex/PDF
@cp -r src/USER latex/USER
@rm -rf latex/PDF/.[sg]*
@rm -rf latex/USER/.[sg]*
@rm -rf latex/USER/*/.[sg]*
@rm -rf latex/USER/*/*.[sg]*
@echo "Build finished. Manual.pdf and Developer.pdf are in this directory."
old: utils/txt2html/txt2html.exe
@rm -rf old
@ -139,6 +162,18 @@ old: utils/txt2html/txt2html.exe
cp Eqs/*.jpg ../old/Eqs; \
cp JPG/* ../old/JPG; \
cp PDF/* ../old/PDF;
@( set -e;\
cd src/Developer; \
pdflatex developer; \
pdflatex developer; \
mv developer.pdf ../../old/Developer.pdf; \
cd ../../old; \
for s in `echo ../src/*.txt | sed -e 's,\.\./src/,,g' -e 's/ \(pairs\|bonds\|angles\|dihedrals\|impropers\|commands_list\|fixes\|computes\).txt/ /g' | sed -e 's,\.txt,\.html,g'` ; \
do grep -q ^$$s ../src/lammps.book || \
echo WARNING: doc file $$s missing in src/lammps.book; done; \
htmldoc --batch ../src/lammps.book; \
)
fetch:
@rm -rf html_www Manual_www.pdf Developer_www.pdf

View File

@ -50,8 +50,8 @@ This is indicated by who the pull request is assigned to. LAMMPS core
developers can self-assign or they can decide to assign a pull request
to a different LAMMPS developer. Being assigned to a pull request means,
that this pull request may need some work and the assignee is tasked to
determine what this might be needed or not, and may either implement the
required changes or ask the submitter of the pull request to implement
determine whether this might be needed or not, and may either implement
the required changes or ask the submitter of the pull request to implement
them. Even though, all LAMMPS developers may have write access to pull
requests (if enabled by the submitter, which is the default), only the
submitter or the assignee of a pull request may do so. During this
@ -76,12 +76,15 @@ People can be assigned to review a pull request in two ways:
Reviewers are requested to state their appraisal of the proposed changes
and either approve or request changes. People may unassign themselves
from review, if they feel not competent about the changes proposed. At
least one review from a LAMMPS developer with write access is required
before merging in addition to the automated compilation tests. The
feature, that reviews from code owners are "hard" reviews (i.e. they
must all be approved before merging is allowed), is currently disabled
and it is in the discretion of the merge maintainer to assess when
a sufficient degree of approval has been reached. Reviews may be
least two approvals from LAMMPS developers with write access are required
before merging in addition to the automated compilation tests.
Merging counts as implicit approval, so does submission of a pull request
(by a LAMMPS developer). So the person doing the merge may not also submit
an approving review. The feature, that reviews from code owners are "hard"
reviews (i.e. they must all be approved before merging is allowed), is
currently disabled and it is in the discretion of the merge maintainer to
assess when a sufficient degree of approval, especially from external
contributors, has been reached in these cases. Reviews may be
(automatically) dismissed, when the reviewed code has been changed,
and then approval is required a second time.
@ -120,7 +123,7 @@ Here are some items to check:
* float.h -> cfloat
* limits.h -> climits
* math.h -> cmath
* omplex.h -> complex
* complex.h -> complex
* setjmp.h -> csetjmp
* signal.h -> csignal
* stddef.h -> cstddef

View File

@ -116,6 +116,18 @@ enables OpenMP. For GNU compilers it is -fopenmp. For (recent) Intel
compilers it is -qopenmp. If you are using a different compiler,
please refer to its documentation.
[OpenMP Compiler compatibility info]: :link(default-none-issues)
Some compilers do not fully support the 'default(none)' directive
and others (e.g. GCC version 9 and beyond) may implement OpenMP 4.0
semantics, which are incompatible with the OpenMP 3.1 directives used
in LAMMPS (for maximal compatibility with compiler versions in use).
In those case, all 'default(none)' directives (which aid in detecting
incorrect and unwanted sharing) can be replaced with 'default(shared)'
while dropping all 'shared()' directives. The script
'src/USER-OMP/hack_openmp_for_pgi_gcc9.sh' can be used to automate
this conversion.
:line
Choice of compiler and compile/link options :h4,link(compile)

View File

@ -37,6 +37,7 @@ This is the list of packages that may require additional steps.
"POEMS"_#poems,
"PYTHON"_#python,
"VORONOI"_#voronoi,
"USER-ADIOS"_#user-adios,
"USER-ATC"_#user-atc,
"USER-AWPMD"_#user-awpmd,
"USER-COLVARS"_#user-colvars,
@ -95,6 +96,7 @@ which GPU hardware to build for.
GPU_ARCH settings for different GPU hardware is as follows:
sm_12 or sm_13 for GT200 (supported by CUDA 3.2 until CUDA 6.5)
sm_20 or sm_21 for Fermi (supported by CUDA 3.2 until CUDA 7.5)
sm_30 or sm_35 or sm_37 for Kepler (supported since CUDA 5)
sm_50 or sm_52 for Maxwell (supported since CUDA 6)
@ -135,7 +137,7 @@ specified by the "-m" switch. For your convenience, machine makefiles
for "mpi" and "serial" are provided, which have the same settings as
the corresponding machine makefiles in the main LAMMPS source
folder. In addition you can alter 4 important settings in the
Makefile.machine you start from via the corresponding -h, -a, -p, -e
Makefile.machine you start from via the corresponding -c, -a, -p, -e
switches (as in the examples above), and also save a copy of the new
Makefile if desired:
@ -179,27 +181,19 @@ library with all its models, may take around 30 min to build. Of
course you only need to do that once.
See the list of KIM model drivers here:
https://openkim.org/kim-items/model-drivers/alphabetical
https://openkim.org/browse/model-drivers/alphabetical
See the list of all KIM models here:
https://openkim.org/kim-items/models/by-model-drivers
See the list of example KIM models included by default here:
https://openkim.org/kim-api on the "What is in the KIM API source
package?" page.
https://openkim.org/browse/models/by-model-drivers
[CMake build]:
-D DOWNLOAD_KIM=value # download OpenKIM API v1 for build, value = no (default) or yes
-D KIM_LIBRARY=path # KIM library file (only needed if a custom location)
-D KIM_INCLUDE_DIR=path # KIM include directory (only needed if a custom location) :pre
-D DOWNLOAD_KIM=value # download OpenKIM API v2 for build, value = no (default) or yes :pre
If DOWNLOAD_KIM is set, the KIM library will be downloaded and built
inside the CMake build directory. If the KIM library is already on
your system (in a location CMake cannot find it), KIM_LIBRARY is the
filename (plus path) of the KIM library file, not the directory the
library file is in. KIM_INCLUDE_DIR is the directory the KIM include
file is in.
your system (in a location CMake cannot find it), set the PKG_CONFIG_PATH
environment variable so that libkim-api-v2 can be found.
[Traditional make]:
@ -213,8 +207,8 @@ make lib-kim args="-b " # (re-)install KIM API lib with only example models
make lib-kim args="-b -a Glue_Ercolessi_Adams_Al__MO_324507536345_001" # ditto plus one model
make lib-kim args="-b -a everything" # install KIM API lib with all models
make lib-kim args="-n -a EAM_Dynamo_Ackland_W__MO_141627196590_002" # add one model or model driver
make lib-kim args="-p /usr/local/kim-api" # use an existing KIM API installation at the provided location
make lib-kim args="-p /usr/local/kim-api -a EAM_Dynamo_Ackland_W__MO_141627196590_002" # ditto but add one model or driver :pre
make lib-kim args="-p /usr/local" # use an existing KIM API installation at the provided location
make lib-kim args="-p /usr/local -a EAM_Dynamo_Ackland_W__MO_141627196590_002" # ditto but add one model or driver :pre
:line
@ -575,6 +569,32 @@ the lib/voronoi/Makefile.lammps file.
:line
USER-ADIOS package :h4,link(user-adios)
The USER-ADIOS package requires the "ADIOS I/O library"_https://github.com/ornladios/ADIOS2,
version 2.3.1 or newer. Make sure that you have ADIOS built either with or
without MPI to match if you build LAMMPS with or without MPI.
ADIOS compilation settings for LAMMPS are automatically detected, if the PATH
and LD_LIBRARY_PATH environment variables have been updated for the local ADIOS
installation and the instructions below are followed for the respective build systems.
[CMake build]:
-D ADIOS2_DIR=path # path is where ADIOS 2.x is installed
-D PKG_USER-ADIOS=yes :pre
[Traditional make]:
Turn on the USER-ADIOS package before building LAMMPS. If the ADIOS 2.x software is installed in PATH, there is nothing else to do:
make yes-user-adios :pre
otherwise, set ADIOS2_DIR environment variable when turning on the package:
ADIOS2_DIR=path make yes-user-adios # path is where ADIOS 2.x is installed :pre
:line
USER-ATC package :h4,link(user-atc)
The USER-ATC package requires the MANYBODY package also be installed.
@ -931,7 +951,9 @@ LINKFLAGS: -fopenmp # for GNU Compilers
LINKFLAGS: -qopenmp # for Intel compilers on Linux :pre
For other platforms and compilers, please consult the documentation
about OpenMP support for your compiler.
about OpenMP support for your compiler. Please see the note about
how to address compatibility "issues with the 'default(none)'
directive"_Build_basics.html#default-none-issues of some compilers.
:line

View File

@ -78,7 +78,7 @@ description of the Python interface to LAMMPS, which wraps the C-style
interface.
See the sample codes in examples/COUPLE/simple for examples of C++ and
C and Fortran codes that invoke LAMMPS thru its library interface.
C and Fortran codes that invoke LAMMPS through its library interface.
Other examples in the COUPLE directory use coupling ideas discussed on
the "Howto couple"_Howto_couple.html doc page.

View File

@ -48,6 +48,7 @@ packages:
"POEMS"_Build_extras.html#poems,
"PYTHON"_Build_extras.html#python,
"VORONOI"_Build_extras.html#voronoi,
"USER-ADIOS"_Build_extras.html#user-adios,
"USER-ATC"_Build_extras.html#user-atc,
"USER-AWPMD"_Build_extras.html#user-awpmd,
"USER-COLVARS"_Build_extras.html#user-colvars,

View File

@ -48,12 +48,14 @@ An alphabetic list of all general LAMMPS commands.
"dimension"_dimension.html,
"displace_atoms"_displace_atoms.html,
"dump"_dump.html,
"dump adios"_dump_adios.html,
"dump image"_dump_image.html,
"dump_modify"_dump_modify.html,
"dump movie"_dump_image.html,
"dump netcdf"_dump_netcdf.html,
"dump netcdf/mpiio"_dump_netcdf.html,
"dump vtk"_dump_vtk.html,
"dynamical_matrix"_dynamical_matrix.html,
"echo"_echo.html,
"fix"_fix.html,
"fix_modify"_fix_modify.html,

View File

@ -61,7 +61,7 @@ OPT.
"charmm (iko)"_angle_charmm.html,
"class2 (ko)"_angle_class2.html,
"class2/p6"_angle_class2.html,
"cosine (o)"_angle_cosine.html,
"cosine (ko)"_angle_cosine.html,
"cosine/buck6d"_angle_cosine_buck6d.html,
"cosine/delta (o)"_angle_cosine_delta.html,
"cosine/periodic (o)"_angle_cosine_periodic.html,

View File

@ -63,13 +63,13 @@ OPT.
"comb (o)"_pair_comb.html,
"comb3"_pair_comb.html,
"coul/cut (gko)"_pair_coul.html,
"coul/cut/soft (o)"_pair_lj_soft.html,
"coul/cut/soft (o)"_pair_fep_soft.html,
"coul/debye (gko)"_pair_coul.html,
"coul/diel (o)"_pair_coul_diel.html,
"coul/dsf (gko)"_pair_coul.html,
"coul/long (gko)"_pair_coul.html,
"coul/long/cs (g)"_pair_cs.html,
"coul/long/soft (o)"_pair_lj_soft.html,
"coul/long/soft (o)"_pair_fep_soft.html,
"coul/msm (o)"_pair_coul.html,
"coul/shield"_pair_coul_shield.html,
"coul/streitz"_pair_coul.html,
@ -114,32 +114,35 @@ OPT.
"lj/charmm/coul/charmm (iko)"_pair_charmm.html,
"lj/charmm/coul/charmm/implicit (ko)"_pair_charmm.html,
"lj/charmm/coul/long (gikot)"_pair_charmm.html,
"lj/charmm/coul/long/soft (o)"_pair_lj_soft.html,
"lj/charmm/coul/long/soft (o)"_pair_fep_soft.html,
"lj/charmm/coul/msm (o)"_pair_charmm.html,
"lj/charmmfsw/coul/charmmfsh"_pair_charmm.html,
"lj/charmmfsw/coul/long"_pair_charmm.html,
"lj/class2 (gko)"_pair_class2.html,
"lj/class2/coul/cut (ko)"_pair_class2.html,
"lj/class2/coul/cut/soft"_pair_fep_soft.html,
"lj/class2/coul/long (gko)"_pair_class2.html,
"lj/class2/coul/long/soft"_pair_fep_soft.html,
"lj/class2/soft"_pair_fep_soft.html,
"lj/cubic (go)"_pair_lj_cubic.html,
"lj/cut (gikot)"_pair_lj.html,
"lj/cut/coul/cut (gko)"_pair_lj.html,
"lj/cut/coul/cut/soft (o)"_pair_lj_soft.html,
"lj/cut/coul/cut/soft (o)"_pair_fep_soft.html,
"lj/cut/coul/debye (gko)"_pair_lj.html,
"lj/cut/coul/dsf (gko)"_pair_lj.html,
"lj/cut/coul/long (gikot)"_pair_lj.html,
"lj/cut/coul/long/cs"_pair_cs.html,
"lj/cut/coul/long/soft (o)"_pair_lj_soft.html,
"lj/cut/coul/long/soft (o)"_pair_fep_soft.html,
"lj/cut/coul/msm (go)"_pair_lj.html,
"lj/cut/coul/wolf (o)"_pair_lj.html,
"lj/cut/dipole/cut (go)"_pair_dipole.html,
"lj/cut/dipole/long (g)"_pair_dipole.html,
"lj/cut/dipole/sf (go)"_pair_dipole.html,
"lj/cut/soft (o)"_pair_lj_soft.html,
"lj/cut/soft (o)"_pair_fep_soft.html,
"lj/cut/thole/long (o)"_pair_thole.html,
"lj/cut/tip4p/cut (o)"_pair_lj.html,
"lj/cut/tip4p/long (ot)"_pair_lj.html,
"lj/cut/tip4p/long/soft (o)"_pair_lj_soft.html,
"lj/cut/tip4p/long/soft (o)"_pair_fep_soft.html,
"lj/expand (gko)"_pair_lj_expand.html,
"lj/expand/coul/long (g)"_pair_lj_expand.html,
"lj/gromacs (gko)"_pair_gromacs.html,
@ -170,7 +173,7 @@ OPT.
"momb"_pair_momb.html,
"morse (gkot)"_pair_morse.html,
"morse/smooth/linear (o)"_pair_morse.html,
"morse/soft"_pair_morse.html,
"morse/soft"_pair_fep_soft.html,
"multi/lucy"_pair_multi_lucy.html,
"multi/lucy/rx (k)"_pair_multi_lucy_rx.html,
"nb3b/harmonic"_pair_nb3b_harmonic.html,
@ -230,7 +233,7 @@ OPT.
"thole"_pair_thole.html,
"tip4p/cut (o)"_pair_coul.html,
"tip4p/long (o)"_pair_coul.html,
"tip4p/long/soft (o)"_pair_lj_soft.html,
"tip4p/long/soft (o)"_pair_fep_soft.html,
"tri/lj"_pair_tri_lj.html,
"ufm (got)"_pair_ufm.html,
"vashishta (gko)"_pair_vashishta.html,

View File

@ -6917,7 +6917,7 @@ types. :dd
{Invalid use of library file() function} :dt
This function is called thru the library interface. This
This function is called through the library interface. This
error should not occur. Contact the developers if it does. :dd
{Invalid value in set command} :dt
@ -6988,12 +6988,6 @@ The atom style defined does not have this attribute. :dd
The atom style defined does not have these attributes. :dd
{KIM neighbor iterator exceeded range} :dt
This should not happen. It likely indicates a bug
in the KIM implementation of the interatomic potential
where it is requesting neighbors incorrectly. :dd
{KOKKOS package does not yet support comm_style tiled} :dt
Self-explanatory. :dd
@ -10185,10 +10179,6 @@ valid. :dd
Self-explanatory. :dd
{Unrecognized virial argument in pair_style command} :dt
Only two options are supported: LAMMPSvirial and KIMvirial :dd
{Unsupported mixing rule in kspace_style ewald/disp} :dt
Only geometric mixing is supported. :dd

View File

@ -178,12 +178,6 @@ When using fixes like box/relax, the potential energy used by the minimizer
is augmented by an additional energy provided by the fix. Thus the printed
converged energy may be different from the total potential energy. :dd
{Energy tally does not account for 'zero yes'} :dt
The energy removed by using the 'zero yes' flag is not accounted
for in the energy tally and thus energy conservation cannot be
monitored in this case. :dd
{Estimated error in splitting of dispersion coeffs is %g} :dt
Error is greater than 0.0001 percent. :dd

0
doc/src/Howto_bash.txt Executable file → Normal file
View File

View File

@ -82,7 +82,7 @@ Monte Carlo client code as the driver.
The lammps_vasp dir shows how to couple LAMMPS as a client code
running MD timestepping to VASP acting as a server providing quantum
DFT forces, thru a Python wrapper script on VASP.
DFT forces, through a Python wrapper script on VASP.
Here is how to launch a client and server code together for any of the
4 modes of message exchange that the "message"_message.html command

View File

@ -50,7 +50,7 @@ In this scenario, the other code can be called as a library, as in
(1), or it could be a stand-alone code, invoked by a system() call
made by the command (assuming your parallel machine allows one or more
processors to start up another program). In the latter case the
stand-alone code could communicate with LAMMPS thru files that the
stand-alone code could communicate with LAMMPS through files that the
command writes and reads.
See the "Modify command"_Modify_command.html doc page for info on how

View File

@ -87,7 +87,7 @@ commands to LAMMPS to execute, the same as if they were coming from an
input script.
Via these functions, the calling code can read or generate a series of
LAMMPS commands one or multiple at a time and pass it thru the library
LAMMPS commands one or multiple at a time and pass it through the library
interface to setup a problem and then run it in stages. The caller
can interleave the command function calls with operations it performs,
calls to extract information from or set information within LAMMPS, or

View File

@ -48,15 +48,8 @@ your machine and "unstable" is one of the 3 branches listed above.
between them at any time using "git checkout <branch name>".)
Once the command completes, your directory will contain the same files
as if you unpacked a current LAMMPS tarball, with two exceptions:
1) No LAMMPS packages are initially installed in the src dir (a few
packages are installed by default in the tarball src dir). You can
install whichever packages you wish before building LAMMPS; type "make
package" from the src dir to see the options, and the
"Packages"_Packages.html doc page for a discussion of packages.
2) The HTML documentation files are not included. They can be fetched
as if you unpacked a current LAMMPS tarball, with the exception, that
the HTML documentation files are not included. They can be fetched
from the LAMMPS website by typing "make fetch" in the doc directory.
Or they can be generated from the content provided in doc/src by
typing "make html" from the the doc directory.

View File

@ -36,15 +36,8 @@ where "mylammps" is the name of the directory you wish to create on
your machine.
Once the command completes, your directory will contain the same files
as if you unpacked a current LAMMPS tarball, with two exceptions:
1) No LAMMPS packages are initially installed in the src dir (a few
packages are installed by default in the tarball src dir). You can
install whichever packages you wish before building LAMMPS; type "make
package" from the src dir to see the options, and the
"Packages"_Packages.html doc page for a discussion of packages.
2) The HTML documentation files are not included. They can be fetched
as if you unpacked a current LAMMPS tarball, with the exception, that
the HTML documentation files are not included. They can be fetched
from the LAMMPS website by typing "make fetch" in the doc directory.
Or they can be generated from the content provided in doc/src by
typing "make html" from the the doc directory.

View File

@ -12,7 +12,7 @@ Download an executable for Windows :h3
Pre-compiled Windows installers which install LAMMPS executables on a
Windows system can be downloaded from this site:
"http://rpm.lammps.org/windows.html"_http://rpm.lammps.org/windows.html
"http://packages.lammps.org/windows.html"_http://packages.lammps.org/windows.html
Note that each installer package has a date in its name, which
corresponds to the LAMMPS version of the same date. Installers for
@ -42,7 +42,7 @@ environment manipulations.
Note that to update to a newer version of LAMMPS, you should typically
uninstall the version you currently have, download a new installer,
and go thru the install procedure described above. I.e. the same
and go through the install procedure described above. I.e. the same
procedure for installing/updating most Windows programs. You can
install multiple versions of LAMMPS (in different directories), but
only the executable for the last-installed package will be found

View File

@ -40,7 +40,7 @@ General features :h4,link(general)
syntax for defining and using variables and formulas
syntax for looping over runs and breaking out of loops
run one or multiple simulations simultaneously (in parallel) from one script
build as library, invoke LAMMPS thru library interface or provided Python wrapper
build as library, invoke LAMMPS through library interface or provided Python wrapper
couple with other codes: LAMMPS calls other code, other code calls LAMMPS, umbrella code calls both :ul
Particle and model types :h4,link(particle)

View File

@ -15,7 +15,7 @@ functionality for setting up simulations and analyzing their output.
Specifically, LAMMPS was not conceived and designed for:
being run thru a GUI
being run through a GUI
building molecular systems, or building molecular topologies
assign force-field coefficients automagically
perform sophisticated analysis of your MD simulation

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 37 KiB

View File

@ -1,7 +1,7 @@
<!-- HTML_ONLY -->
<HEAD>
<TITLE>LAMMPS Users Manual</TITLE>
<META NAME="docnumber" CONTENT="4 Jan 2019 version">
<META NAME="docnumber" CONTENT="28 Feb 2019 version">
<META NAME="author" CONTENT="http://lammps.sandia.gov - Sandia National Laboratories">
<META NAME="copyright" CONTENT="Copyright (2003) Sandia Corporation. This software and manual is distributed under the GNU General Public License.">
</HEAD>
@ -21,7 +21,7 @@
:line
LAMMPS Documentation :c,h1
4 Jan 2019 version :c,h2
28 Feb 2019 version :c,h2
"What is a LAMMPS version?"_Manual_version.html
@ -37,27 +37,21 @@ LAMMPS is an open-source code, distributed freely under the terms of
the GNU Public License (GPL).
The "LAMMPS website"_lws has a variety of information about the code.
It includes links to an on-line version of this manual, a "mail
It includes links to an on-line version of this manual, a "mailing
list"_http://lammps.sandia.gov/mail.html where users can post
questions, and a "GitHub site"https://github.com/lammps/lammps where
questions, and a "GitHub site"_https://github.com/lammps/lammps where
all LAMMPS development is coordinated.
:line
"PDF file"_Manual.pdf of the entire manual, generated by
"htmldoc"_http://freecode.com/projects/htmldoc
The content for this manual is part of the LAMMPS distribution. You
can build a local copy of the Manual as HTML pages or a PDF file, by
following the steps on the "Manual build"_Manual_build.html doc page.
There is also a "Developer.pdf"_Developer.pdf document which gives
a brief description of the basic code structure of LAMMPS.
:line
This manual is organized into the following sections.
Once you are familiar with LAMMPS, you may want to bookmark "this
page"_Commands.html since it gives quick access to a doc page for
every LAMMPS command.

0
doc/src/PDF/SPH_LAMMPS_userguide.pdf Executable file → Normal file
View File

0
doc/src/PDF/kspace.pdf Executable file → Normal file
View File

View File

@ -63,6 +63,7 @@ as contained in the file name.
"SRD"_#PKG-SRD,
"VORONOI"_#PKG-VORONOI :tb(c=6,ea=c)
"USER-ADIOS"_#PKG-USER-ADIOS,
"USER-ATC"_#PKG-USER-ATC,
"USER-AWPMD"_#PKG-USER-AWPMD,
"USER-BOCS"_#PKG-USER-BOCS,
@ -346,12 +347,11 @@ system.
Information about the KIM project can be found at its website:
https://openkim.org. The KIM project is led by Ellad Tadmor and Ryan
Elliott (U Minnesota) and James Sethna (Cornell U).
Elliott (U Minnesota).
[Authors:] Ryan Elliott (U Minnesota) is the main developer for the KIM
API which the "pair_style kim"_pair_kim.html command uses. He
developed the pair style in collaboration with Valeriu Smirichinski (U
Minnesota).
developed the pair style.
[Install:]
@ -975,6 +975,31 @@ examples/voronoi :ul
:line
USER-ADIOS package :link(PKG-USER-ADIOS),h4
[Contents:]
ADIOS is a high-performance I/O library. This package implements the
dump "atom/adios" and dump "custom/adios" commands to write data using
the ADIOS library.
[Authors:] Norbert Podhorszki (ORNL) from the ADIOS developer team.
[Install:]
This package has "specific installation
instructions"_Build_extras.html#user-adios on the "Build
extras"_Build_extras.html doc page.
[Supporting info:]
src/USER-ADIOS: filenames -> commands
src/USER-ADIOS/README
examples/USER/adios
https://github.com/ornladios/ADIOS2 :ul
:line
USER-ATC package :link(PKG-USER-ATC),h4
[Contents:]
@ -1306,7 +1331,7 @@ src/USER-FEP: filenames -> commands
src/USER-FEP/README
"fix adapt/fep"_fix_adapt_fep.html
"compute fep"_compute_fep.html
"pair_style */soft"_pair_lj_soft.html
"pair_style */soft"_pair_fep_soft.html
examples/USER/fep
tools/fep/README
tools/fep :ul
@ -1700,14 +1725,19 @@ USER-PHONON package :link(PKG-USER-PHONON),h4
A "fix phonon"_fix_phonon.html command that calculates dynamical
matrices, which can then be used to compute phonon dispersion
relations, directly from molecular dynamics simulations.
And a "dynamical_matrix" command to compute the dynamical matrix
from finite differences.
[Authors:] Ling-Ti Kong (Shanghai Jiao Tong University) for "fix phonon"
and Charlie Sievers (UC Davis) for "dynamical_matrix"
[Author:] Ling-Ti Kong (Shanghai Jiao Tong University).
[Supporting info:]
src/USER-PHONON: filenames -> commands
src/USER-PHONON/README
"fix phonon"_fix_phonon.html
"dynamical_matrix"_dynamical_matrix.html
examples/USER/phonon :ul
:line
@ -2102,5 +2132,3 @@ src/USER-YAFF/README
"pair_style mm3/switch3/coulgauss/long"_pair_mm3_switch3_coulgauss.html
"pair_style lj/switch3/coulgauss/long"_pair_lj_switch3_coulgauss.html
examples/USER/yaff :ul

View File

@ -38,6 +38,7 @@ int = internal library: provided with LAMMPS, but you may need to build it
ext = external library: you will need to download and install it on your machine :ul
Package, Description, Doc page, Example, Library
"USER-ADIOS"_Packages_details.html#PKG-USER-ADIOS, dump output via ADIOS, "dump adios"_dump_adios.html, USER/adios, ext
"USER-ATC"_Packages_details.html#PKG-USER-ATC, Atom-to-Continuum coupling, "fix atc"_fix_atc.html, USER/atc, int
"USER-AWPMD"_Packages_details.html#PKG-USER-AWPMD, wave packet MD, "pair_style awpmd/cut"_pair_awpmd.html, USER/awpmd, int
"USER-BOCS"_Packages_details.html#PKG-USER-BOCS, BOCS bottom up coarse graining, "fix bocs"_fix_bocs.html, USER/bocs, no

View File

@ -15,7 +15,7 @@ things that are possible when Python wraps LAMMPS. If you create your
own scripts, send them to us and we can include them in the LAMMPS
distribution.
trivial.py, read/run a LAMMPS input script thru Python,
trivial.py, read/run a LAMMPS input script through Python,
demo.py, invoke various LAMMPS library interface routines,
simple.py, run in parallel, similar to examples/COUPLE/simple/simple.cpp,
split.py, same as simple.py but running in parallel on a subset of procs,

View File

@ -31,7 +31,7 @@ language is, and that it can be run interactively, enabling rapid
development and debugging. If you use it to mostly invoke costly
operations within LAMMPS, such as running a simulation for a
reasonable number of timesteps, then the overhead cost of invoking
LAMMPS thru Python will be negligible.
LAMMPS through Python will be negligible.
The Python wrapper for LAMMPS uses the "ctypes" package in Python,
which auto-generates the interface code needed between Python and a

View File

@ -32,7 +32,7 @@ first importing from the lammps.py file:
>>> from ctypes import CDLL
>>> CDLL("liblammps.so") :pre
If an error occurs, carefully go thru the steps on the
If an error occurs, carefully go through the steps on the
"Build_basics"_Build_basics.html doc page about building a shared
library and the "Python_install"_Python_install.html doc page about
insuring Python can find the necessary two files it needs.

View File

@ -391,15 +391,16 @@ definition file. This tool was used to create the system for the
moltemplate tool :h4,link(moltemplate)
The moltemplate sub-directory contains a Python-based tool for
building molecular systems based on a text-file description, and
creating LAMMPS data files that encode their molecular topology as
lists of bonds, angles, dihedrals, etc. See the README.TXT file for
more information.
The moltemplate sub-directory contains instructions for installing
moltemplate, a Python-based tool for building molecular systems based
on a text-file description, and creating LAMMPS data files that encode
their molecular topology as lists of bonds, angles, dihedrals, etc.
See the README.txt file for more information.
This tool was written by Andrew Jewett (jewett.aij at gmail.com), who
supports it. It has its own WWW page at
"http://moltemplate.org"_http://moltemplate.org.
The latest sources can be found "on its GitHub page"_https://github.com/jewettaij/moltemplate/releases
:line

View File

@ -8,6 +8,7 @@
angle_style cosine command :h3
angle_style cosine/omp command :h3
angle_style cosine/kk command :h3
[Syntax:]

View File

@ -32,6 +32,7 @@ Commands :h1
dimension
displace_atoms
dump
dump_adios
dump_cfg_uef
dump_h5md
dump_image
@ -39,6 +40,7 @@ Commands :h1
dump_molfile
dump_netcdf
dump_vtk
dynamical_matrix
echo
fix
fix_modify

View File

@ -37,7 +37,7 @@ they can be used to measure properties of a system.
This compute calculates the 3 components of the angular momentum
vector for each chunk, due to the velocity/momentum of the individual
atoms in the chunk around the center-of-mass of the chunk. The
calculation includes all effects due to atoms passing thru periodic
calculation includes all effects due to atoms passing through periodic
boundaries.
Note that only atoms in the specified group contribute to the

View File

@ -22,7 +22,7 @@ compute 1 all com :pre
[Description:]
Define a computation that calculates the center-of-mass of the group
of atoms, including all effects due to atoms passing thru periodic
of atoms, including all effects due to atoms passing through periodic
boundaries.
A vector of three quantities is calculated by this compute, which

View File

@ -35,7 +35,7 @@ doc pages for details of how chunks can be defined and examples of how
they can be used to measure properties of a system.
This compute calculates the x,y,z coordinates of the center-of-mass
for each chunk, which includes all effects due to atoms passing thru
for each chunk, which includes all effects due to atoms passing through
periodic boundaries.
Note that only atoms in the specified group contribute to the

View File

@ -38,7 +38,7 @@ they can be used to measure properties of a system.
This compute calculates the x,y,z coordinates of the dipole vector
and the total dipole moment for each chunk, which includes all effects
due to atoms passing thru periodic boundaries. For chunks with a net
due to atoms passing through periodic boundaries. For chunks with a net
charge the resulting dipole is made position independent by subtracting
the position vector of the center of mass or geometric center times the
net charge from the computed dipole vector.

View File

@ -29,7 +29,7 @@ compute 1 all displace/atom refresh myVar :pre
Define a computation that calculates the current displacement of each
atom in the group from its original (reference) coordinates, including
all effects due to atoms passing thru periodic boundaries.
all effects due to atoms passing through periodic boundaries.
A vector of four quantities per atom is calculated by this compute.
The first 3 elements of the vector are the dx,dy,dz displacements.

View File

@ -128,24 +128,39 @@ commands to be changed, if the pair style supports it.
The {pstyle} argument is the name of the pair style. For example,
{pstyle} could be specified as "lj/cut". The {pparam} argument is the
name of the parameter to change. This is a (non-exclusive) list of
name of the parameter to change. This is a list of
pair styles and parameters that can be used with this compute. See
the doc pages for individual pair styles and their energy formulas for
the meaning of these parameters:
"lj/cut"_pair_lj.html: epsilon,sigma: type pairs:
"lj/cut/coul/cut"_pair_lj.html: epsilon,sigma: type pairs:
"lj/cut/coul/long"_pair_lj.html: epsilon,sigma: type pairs:
"lj/cut/soft"_pair_lj_soft.html: epsilon,sigma,lambda: type pairs:
"coul/cut/soft"_pair_lj_soft.html: lambda: type pairs:
"coul/long/soft"_pair_lj_soft.html: lambda: type pairs:
"lj/cut/coul/cut/soft"_pair_lj_soft.html: epsilon,sigma,lambda: type pairs:
"lj/cut/coul/long/soft"_pair_lj_soft.html: epsilon,sigma,lambda: type pairs:
"lj/cut/tip4p/long/soft"_pair_lj_soft.html: epsilon,sigma,lambda: type pairs:
"tip4p/long/soft"_pair_lj_soft.html: lambda: type pairs:
"lj/charmm/coul/long/soft"_pair_lj_soft.html: epsilon,sigma,lambda: type pairs:
"born"_pair_born.html: a,b,c: type pairs:
"buck"_pair_buck.html: a,c : type pairs :tb(c=3,s=:)
"buck"_pair_buck.html: a,c: type pairs:
"buck/mdf"_pair_mdf.html: a,c: type pairs:
"coul/cut"_pair_coul.html: scale: type pairs:
"coul/cut/soft"_pair_fep_soft.html: lambda: type pairs:
"coul/long, coul/msm"_pair_coul.html: scale: type pairs:
"coul/long/soft"_pair_fep_soft.html: scale, lambda: type pairs:
"eam"_pair_eam.html: scale: type pairs:
"gauss"_pair_gauss.html: a: type pairs:
"lennard/mdf"_pair_mdf.html: a,b: type pairs:
"lj/class2"_pair_class2.html: epsilon,sigma: type pairs:
"lj/class2/coul/cut, lj/class2/coul/long"_pair_class2.html: epsilon,sigma: type pairs:
"lj/cut"_pair_lj.html: epsilon,sigma: type pairs:
"lj/cut/soft"_pair_fep_soft.html: epsilon,sigma,lambda: type pairs:
"lj/cut/coul/cut, lj/cut/coul/long, lj/cut/coul/msm"_pair_lj.html: epsilon,sigma: type pairs:
"lj/cut/coul/cut/soft, lj/cut/coul/long/soft"_pair_fep_soft.html: epsilon,sigma,lambda: type pairs:
"lj/cut/tip4p/cut, lj/cut/tip4p/long"_pair_lj.html: epsilon,sigma: type pairs:
"lj/cut/tip4p/long/soft"_pair_fep_soft.html: epsilon,sigma,lambda: type pairs:
"lj/expand"_pair_lj_expand.html: epsilon,sigma,delta: type pairs:
"lj/mdf"_pair_mdf.html: epsilon,sigma: type pairs:
"lj/sf/dipole/sf"_pair_dipole.html: epsilon,sigma,scale: type pairs:
"mie/cut"_pair_mie.html: epsilon,sigma,gamR,gamA: type pairs:
"morse, morse/smooth/linear"_pair_morse.html: d0,r0,alpha: type pairs:
"morse/soft"_pair_morse.html: d0,r0,alpha,lambda: type pairs:
"nm/cut"_pair_nm.html: e0,r0,nn,mm: type pairs:
"nm/cut/coul/cut, nm/cut/coul/long"_pair_nm.html: e0,r0,nn,mm: type pairs:
"ufm"_pair_ufm.html: epsilon,sigma,scale: type pairs:
"soft"_pair_soft.html: a: type pairs :tb(c=3,s=:)
Note that it is easy to add new potentials and their parameters to
this list. All it typically takes is adding an extract() method to
@ -236,7 +251,7 @@ package"_Build_package.html doc page for more info.
[Related commands:]
"fix adapt/fep"_fix_adapt_fep.html, "fix ave/time"_fix_ave_time.html,
"pair_style lj/soft/coul/soft"_pair_lj_soft.html
"pair_fep_soft"_pair_fep_soft.html
[Default:]

View File

@ -137,11 +137,12 @@ Not all pair styles can be evaluated in a pairwise mode as required by
this compute. For example, 3-body and other many-body potentials,
such as "Tersoff"_pair_tersoff.html and
"Stillinger-Weber"_pair_sw.html cannot be used. "EAM"_pair_eam.html
potentials only include the pair potential portion of the EAM
interaction when used by this compute, not the embedding term.
potentials will re-use previously computed embedding term contributions,
so the computed pairwise forces and energies are based on the whole
system and not valid if particles have been moved since.
Not all Kspace styles support calculation of group/group interactions.
The {ewald} and {pppm} styles do.
Not all "Kspace styles"_kspace_style.html support the calculation of
group/group interactions. The regular {ewald} and {pppm} styles do.
[Related commands:] none

View File

@ -22,7 +22,7 @@ compute 1 molecule gyration :pre
[Description:]
Define a computation that calculates the radius of gyration Rg of the
group of atoms, including all effects due to atoms passing thru
group of atoms, including all effects due to atoms passing through
periodic boundaries.
Rg is a measure of the size of the group of atoms, and is computed as

View File

@ -40,7 +40,7 @@ doc pages for details of how chunks can be defined and examples of how
they can be used to measure properties of a system.
This compute calculates the radius of gyration Rg for each chunk,
which includes all effects due to atoms passing thru periodic
which includes all effects due to atoms passing through periodic
boundaries.
Rg is a measure of the size of a chunk, and is computed by this

View File

@ -36,7 +36,7 @@ they can be used to measure properties of a system.
This compute calculates the 6 components of the symmetric inertia
tensor for each chunk, ordered Ixx,Iyy,Izz,Ixy,Iyz,Ixz. The
calculation includes all effects due to atoms passing thru periodic
calculation includes all effects due to atoms passing through periodic
boundaries.
Note that only atoms in the specified group contribute to the

View File

@ -29,7 +29,7 @@ compute 1 upper msd com yes average yes :pre
Define a computation that calculates the mean-squared displacement
(MSD) of the group of atoms, including all effects due to atoms
passing thru periodic boundaries. For computation of the non-Gaussian
passing through periodic boundaries. For computation of the non-Gaussian
parameter of mean-squared displacement, see the "compute
msd/nongauss"_compute_msd_nongauss.html command.

View File

@ -38,7 +38,7 @@ Four quantities are calculated by this compute for each chunk. The
first 3 quantities are the squared dx,dy,dz displacements of the
center-of-mass. The 4th component is the total squared displacement,
i.e. (dx*dx + dy*dy + dz*dz) of the center-of-mass. These
calculations include all effects due to atoms passing thru periodic
calculations include all effects due to atoms passing through periodic
boundaries.
Note that only atoms in the specified group contribute to the

View File

@ -28,7 +28,7 @@ compute 1 upper msd/nongauss com yes :pre
Define a computation that calculates the mean-squared displacement
(MSD) and non-Gaussian parameter (NGP) of the group of atoms,
including all effects due to atoms passing thru periodic boundaries.
including all effects due to atoms passing through periodic boundaries.
A vector of three quantities is calculated by this compute. The first
element of the vector is the total squared dx,dy,dz displacements

View File

@ -38,7 +38,7 @@ This compute calculates the 3 components of the angular velocity
vector for each chunk, via the formula L = Iw where L is the angular
momentum vector of the chunk, I is its moment of inertia tensor, and w
is omega = angular velocity of the chunk. The calculation includes
all effects due to atoms passing thru periodic boundaries.
all effects due to atoms passing through periodic boundaries.
Note that only atoms in the specified group contribute to the
calculation. The "compute chunk/atom"_compute_chunk_atom.html command

View File

@ -38,20 +38,20 @@ ico (icosahedral) = 4
sc (simple cubic) = 5
dcub (diamond cubic) = 6
dhex (diamond hexagonal) = 7
other = 8 :ul
graphene = 8 :ul
The value of the PTM structure will be 0 for atoms not in the specified
The value of the PTM structure will be 0 for unknown types and -1 for atoms not in the specified
compute group. The choice of structures to search for can be specified using the "structures"
argument, which is a hyphen-separated list of structure keywords.
Two convenient pre-set options are provided:
default: fcc-hcp-bcc-ico
all: fcc-hcp-bcc-ico-sc-dcub-dhex :ul
all: fcc-hcp-bcc-ico-sc-dcub-dhex-graphene :ul
The 'default' setting detects the same structures as the Common Neighbor Analysis method.
The 'all' setting searches for all structure types. A small performance penalty is
incurred for the diamond structures, so it is not recommended to use this option if
it is known that the simulation does not contain diamond structures.
The 'all' setting searches for all structure types. A performance penalty is
incurred for the diamond and graphene structures, so it is not recommended to use this option if
it is known that the simulation does not contain these structures.
PTM identifies structures using two steps. First, a graph isomorphism test is used
@ -93,9 +93,9 @@ interatomic distance
qw
qx
qy
qw :ul
qz :ul
The type is a number from 0 to 8. The rmsd is a positive real number.
The type is a number from -1 to 8. The rmsd is a positive real number.
The interatomic distance is computed from the scale factor in the RMSD equation.
The (qw,qx,qy,qz) parameters represent the orientation of the local structure
in quaternion form. The reference coordinates for each template (from which the

View File

@ -107,7 +107,7 @@ mass (COM) of the body. The {x}, {y}, {z} attributes write the COM
"unscaled", in the appropriate distance "units"_units.html (Angstroms,
sigma, etc). Use {xu}, {yu}, {zu} if you want the COM "unwrapped" by
the image flags for each body. Unwrapped means that if the body
COM has passed thru a periodic boundary one or more times, the value
COM has passed through a periodic boundary one or more times, the value
is generated what the COM coordinate would be if it had not been
wrapped back into the periodic box.

View File

@ -24,7 +24,7 @@ twojmax = band limit for bispectrum components (non-negative integer) :l
R_1, R_2,... = list of cutoff radii, one for each type (distance units) :l
w_1, w_2,... = list of neighbor weights, one for each type :l
zero or more keyword/value pairs may be appended :l
keyword = {diagonal} or {rmin0} or {switchflag} or {bzeroflag} or {quadraticflag}:l
keyword = {diagonal} or {rmin0} or {switchflag} or {bzeroflag} or {quadraticflag} :l
{diagonal} value = {0} or {1} or {2} or {3}
{0} = all j1, j2, j <= twojmax, j2 <= j1
{1} = subset satisfying j1 == j2

View File

@ -37,7 +37,7 @@ they can be used to measure properties of a system.
This compute calculates the 3 components of the torque vector for eqch
chunk, due to the forces on the individual atoms in the chunk around
the center-of-mass of the chunk. The calculation includes all effects
due to atoms passing thru periodic boundaries.
due to atoms passing through periodic boundaries.
Note that only atoms in the specified group contribute to the
calculation. The "compute chunk/atom"_compute_chunk_atom.html command

View File

@ -83,7 +83,7 @@ used in such a way that the displacement of a particular atom is the
same, regardless of how many processors are being used.
The {rotate} style rotates each atom in the group by the angle {theta}
around a rotation axis {R} = (Rx,Ry,Rz) that goes thru a point {P} =
around a rotation axis {R} = (Rx,Ry,Rz) that goes through a point {P} =
(Px,Py,Pz). The direction of rotation for the atoms around the
rotation axis is consistent with the right-hand rule: if your
right-hand thumb points along {R}, then your fingers wrap around the

View File

@ -13,6 +13,7 @@ dump command :h3
"dump netcdf"_dump_netcdf.html command :h3
"dump image"_dump_image.html command :h3
"dump movie"_dump_image.html command :h3
"dump adios"_dump_adios.html command :h3
[Syntax:]
@ -27,10 +28,12 @@ args = list of arguments for a particular style :l
{atom} args = none
{atom/gz} args = none
{atom/mpiio} args = none
{atom/adios} args = none, discussed on "dump adios"_dump_adios.html doc page
{cfg} args = same as {custom} args, see below
{cfg/gz} args = same as {custom} args, see below
{cfg/mpiio} args = same as {custom} args, see below
{custom}, {custom/gz}, {custom/mpiio} args = see below
{custom/adios} args = same as {custom} args, discussed on "dump adios"_dump_adios.html doc page
{dcd} args = none
{h5md} args = discussed on "dump h5md"_dump_h5md.html doc page
{image} args = discussed on "dump image"_dump_image.html doc page
@ -312,7 +315,7 @@ so that any machine which supports XDR should be able to read them.
The number of atoms per snapshot cannot change with the {xtc} style.
The {unwrap} option of the "dump_modify"_dump_modify.html command allows
XTC coordinates to be written "unwrapped" by the image flags for each
atom. Unwrapped means that if the atom has passed thru a periodic
atom. Unwrapped means that if the atom has passed through a periodic
boundary one or more times, the value is printed for what the
coordinate would be if it had not been wrapped back into the periodic
box. Note that these coordinates may thus be far outside the box size
@ -534,7 +537,7 @@ on the "Howto triclinic"_Howto_triclinic.html doc page.
Use {xu}, {yu}, {zu} if you want the coordinates "unwrapped" by the
image flags for each atom. Unwrapped means that if the atom has
passed thru a periodic boundary one or more times, the value is
passed through a periodic boundary one or more times, the value is
printed for what the coordinate would be if it had not been wrapped
back into the periodic box. Note that using {xu}, {yu}, {zu} means
that the coordinate values may be far outside the box bounds printed
@ -653,7 +656,7 @@ package"_Build_package.html doc page for more info.
[Related commands:]
"dump h5md"_dump_h5md.html, "dump image"_dump_image.html,
"dump adios"_dump_adios.html "dump h5md"_dump_h5md.html, "dump image"_dump_image.html,
"dump molfile"_dump_molfile.html, "dump_modify"_dump_modify.html,
"undump"_undump.html

73
doc/src/dump_adios.txt Normal file
View File

@ -0,0 +1,73 @@
"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
:link(lws,http://lammps.sandia.gov)
:link(ld,Manual.html)
:link(lc,Commands_all.html)
:line
dump atoms/adios command :h3
dump custom/adios command :h3
[Syntax:]
dump ID group-ID atoms/adios N file.bp :pre
dump ID group-ID custom/adios N file.bp args :pre
ID = user-assigned name for the dump :ulb,l
group-ID = ID of the group of atoms to be imaged :l
adios = style of dump command (other styles {atom} or {cfg} or {dcd} or {xtc} or {xyz} or {local} or {custom} are discussed on the "dump"_dump.html doc page) :l
N = dump every this many timesteps :l
file.bp = name of file/stream to write to :l
args = same options as in "{dump custom}"_dump.html command :l
:ule
[Examples:]
dump adios1 all atom/adios 100 atoms.bp
dump 4a all custom/adios 100 dump_adios.bp id v_p x y z
dump 2 subgroup custom/adios 100 dump_adios.bp mass type xs ys zs vx vy vz :pre
[Description:]
Dump a snapshot of atom coordinates every N timesteps in the
"ADIOS"_adios based "BP" file format, or using different I/O solutions in ADIOS,
to a stream that can be read on-line by another program.
ADIOS-BP files are binary, portable and self-describing.
:link(adios,https://github.com/ornladios/ADIOS2)
[Use from write_dump:]
It is possible to use these dump styles with the
"write_dump"_write_dump.html command. In this case, the sub-intervals
must not be set at all. The write_dump command can be used to
create a new file at each individual dump.
dump 4 all atom/adios 100 dump.bp
write_dump all atom/adios singledump.bp :pre
:line
[Restrictions:]
The number of atoms per snapshot CAN change with the adios style.
When using the ADIOS tool 'bpls' to list the content of a .bp file,
bpls will print {__} for the size of the output table indicating that
its size is changing every step.
The {atom/adios} and {custom/adios} dump styles are part of the USER-ADIOS
package. They are only enabled if LAMMPS was built with that package.
See the "Build package"_Build_package.html doc page for more info.
:line
[Related commands:]
"dump"_dump.html, "dump_modify"_dump_modify.html, "undump"_undump.html
:line

View File

@ -344,7 +344,7 @@ The {image} keyword applies only to the dump {atom} style. If the
image value is {yes}, 3 flags are appended to each atom's coords which
are the absolute box image of the atom in each dimension. For
example, an x image flag of -2 with a normalized coord of 0.5 means
the atom is in the center of the box, but has passed thru the box
the atom is in the center of the box, but has passed through the box
boundary 2 times and is really 2 box lengths to the left of its
current coordinate. Note that for dump style {custom} these various
values can be printed in the dump file by using the appropriate atom
@ -622,7 +622,7 @@ threshold criterion is met. Otherwise it is not met.
The {unwrap} keyword only applies to the dump {dcd} and {xtc} styles.
If set to {yes}, coordinates will be written "unwrapped" by the image
flags for each atom. Unwrapped means that if the atom has passed thru
flags for each atom. Unwrapped means that if the atom has passed through
a periodic boundary one or more times, the value is printed for what
the coordinate would be if it had not been wrapped back into the
periodic box. Note that these coordinates may thus be far outside the

View File

@ -0,0 +1,52 @@
"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
:link(lws,http://lammps.sandia.gov)
:link(ld,Manual.html)
:link(lc,Commands_all.html)
:line
dynamical_matrix command :h3
[Syntax:]
dynamical_matrix group-ID style gamma args keyword value ... :pre
group-ID = ID of group of atoms to displace :ulb,l
style = {regular} or {eskm} :l
gamma = finite different displacement length (distance units) :l
one or more keyword/arg pairs may be appended :l
keyword = {file} or {binary}
{file} name = name of output file for the dynamical matrix
{binary} arg = {yes} or {no} or {gzip} :pre
:ule
[Examples:]
dynamical_matrix 1 regular 0.000001
dynamical_matrix 1 eskm 0.000001
dynamical_matrix 3 regular 0.00004 file dynmat.dat
dynamical_matrix 5 eskm 0.00000001 file dynamical.dat binary yes :pre
[Description:]
Calculate the dynamical matrix of the selected group.
[Restrictions:]
The command collects the entire dynamical matrix a single MPI rank,
so the memory requirements can be very significant for large systems.
This command assumes a periodic system.
This command is part of the USER-PHONON package. It is only enabled if
LAMMPS was built with that package. See the "Build
package"_Build_package.html doc page for more info.
[Related commands:]
"fix phonon"_fix_phonon.html
[Default:]
The default settings are file = "dynmat.dyn", binary = no

View File

@ -112,17 +112,43 @@ pages for individual pair styles and their energy formulas for the
meaning of these parameters:
"born"_pair_born.html: a,b,c: type pairs:
"born/coul/long, born/coul/msm"_pair_born.html: coulombic_cutoff: type global:
"buck"_pair_buck.html: a,c: type pairs:
"buck/coul/long, buck/coul/msm"_pair_buck.html: coulombic_cutoff: type global:
"buck/mdf"_pair_mdf.html: a,c: type pairs:
"coul/cut"_pair_coul.html: scale: type pairs:
"coul/cut/soft"_pair_fep_soft.html: lambda: type pairs:
"coul/debye"_pair_coul.html: scale: type pairs:
"coul/long"_pair_coul.html: scale: type pairs:
"coul/dsf"_pair_coul.html: coulombic_cutoff: type global:
"coul/long, coul/msm"_pair_coul.html: coulombic_cutoff, scale: type pairs:
"coul/long/soft"_pair_fep_soft.html: scale, lambda, coulombic_cutoff: type pairs:
"eam, eam/alloy, eam/fs"_pair_eam.html: scale: type pairs:
"gauss"_pair_gauss.html: a: type pairs:
"lennard/mdf"_pair_mdf.html: A,B: type pairs:
"lj/class2"_pair_class2.html: epsilon,sigma: type pairs:
"lj/class2/coul/cut, lj/class2/coul/long"_pair_class2.html: epsilon,sigma,coulombic_cutoff: type pairs:
"lj/cut"_pair_lj.html: epsilon,sigma: type pairs:
"lj/cut/coul/cut, lj/cut/coul/long, lj/cut/coul/msm"_pair_lj.html: epsilon,sigma,coulombic_cutoff: type pairs:
"lj/cut/coul/cut/soft, lj/cut/coul/long/soft"_pair_fep_soft.html: epsilon,sigma,lambda,coulombic_cutoff: type pairs:
"lj/cut/coul/dsf"_pair_lj.html: cutoff: type global:
"lj/cut/tip4p/cut"_pair_lj.html: epsilon,sigma,coulombic_cutoff: type pairs:
"lj/cut/soft"_pair_fep_soft.html: epsilon,sigma,lambda: type pairs:
"lj/expand"_pair_lj_expand.html: epsilon,sigma,delta: type pairs:
"lj/mdf"_pair_mdf.html: epsilon,sigma: type pairs:
"lj/sf/dipole/sf"_pair_dipole.html: epsilon,sigma,scale: type pairs:
"lubricate"_pair_lubricate.html: mu: global:
"gauss"_pair_gauss.html: a: type pairs:
"morse"_pair_morse.html: d0,r0,alpha: type pairs:
"mie/cut"_pair_mie.html: epsilon,sigma,gamma_repulsive,gamma_attractive: type pairs:
"morse, morse/smooth/linear"_pair_morse.html: D0,R0,alpha: type pairs:
"morse/soft"_pair_morse.html: D0,R0,alpha,lambda: type pairs:
"nm/cut"_pair_nm.html: E0,R0,m,n: type pairs:
"nm/cut/coul/cut, nm/cut/coul/long"_pair_nm.html: E0,R0,m,n,coulombic_cutoff: type pairs:
"reax/c"_pair_reaxc.html: chi, eta, gamma: type global:
"spin/dmi"_pair_spin_dmi.html: coulombic_cutoff: type global:
"spin/exchange"_pair_spin_exchange.html: coulombic_cutoff: type global:
"spin/magelec"_pair_spin_magelec.html: coulombic_cutoff: type global:
"spin/neel"_pair_spin_neel.html: coulombic_cutoff: type global:
"table"_pair_table.html: table_cutoff: type pairs:
"ufm"_pair_ufm.html: epsilon,sigma: type pairs:
"soft"_pair_soft.html: a: type pairs:
"kim"_pair_kim.html: PARAM_FREE_*&#58i,j,...: global :tb(c=3,s=:)
@ -132,12 +158,6 @@ the pair_*.cpp file associated with the potential.
Some parameters are global settings for the pair style, e.g. the
viscosity setting "mu" for "pair_style lubricate"_pair_lubricate.html.
For "pair_kim"_pair_kim.html, all free parameters supported by the
KIM Model are available (e.g., PARAM_FREE_sigmas provided by the
LennardJones612_Universal__MO_826355984548_001 Model). If the free
parameter corresponds to an array, then the particular array element
to be adapted must be specified (e.g., "PARAM_FREE_sigmas:10", to
adapt the tenth entry of the sigmas array).
Other parameters apply to atom type pairs within the pair style,
e.g. the prefactor "a" for "pair_style soft"_pair_soft.html.
@ -217,6 +237,7 @@ Currently {bond} does not support bond_style hybrid nor bond_style
hybrid/overlay as bond styles. The only bonds that currently are
working with fix_adapt are
"gromos"_bond_gromos.html: k, r0: type bonds:
"harmonic"_bond_harmonic.html: k,r0: type bonds :tb(c=3,s=:)
:line

View File

@ -114,24 +114,37 @@ styles and their energy formulas for the meaning of these parameters:
"born"_pair_born.html: a,b,c: type pairs:
"buck"_pair_buck.html: a,c: type pairs:
"buck/mdf"_pair_mdf.html: a,c: type pairs:
"coul/cut"_pair_coul.html: scale: type pairs:
"coul/debye"_pair_coul.html: scale: type pairs:
"coul/long"_pair_coul.html: scale: type pairs:
"lj/cut"_pair_lj.html: epsilon,sigma: type pairs:
"lj/expand"_pair_lj_expand.html: epsilon,sigma,delta: type pairs:
"lubricate"_pair_lubricate.html: mu: global:
"coul/cut/soft"_pair_fep_soft.html: lambda: type pairs:
"coul/long, coul/msm"_pair_coul.html: scale: type pairs:
"coul/long/soft"_pair_fep_soft.html: scale, lambda: type pairs:
"eam"_pair_eam.html: scale: type pairs:
"gauss"_pair_gauss.html: a: type pairs:
"lennard/mdf"_pair_mdf.html: a,b: type pairs:
"lj/class2"_pair_class2.html: epsilon,sigma: type pairs:
"lj/class2/coul/cut, lj/class2/coul/long"_pair_class2.html: epsilon,sigma: type pairs:
"lj/cut"_pair_lj.html: epsilon,sigma: type pairs:
"lj/cut/soft"_pair_fep_soft.html: epsilon,sigma,lambda: type pairs:
"lj/cut/coul/cut, lj/cut/coul/long, lj/cut/coul/msm"_pair_lj.html: epsilon,sigma: type pairs:
"lj/cut/coul/cut/soft, lj/cut/coul/long/soft"_pair_fep_soft.html: epsilon,sigma,lambda: type pairs:
"lj/cut/tip4p/cut, lj/cut/tip4p/long"_pair_lj.html: epsilon,sigma: type pairs:
"lj/cut/tip4p/long/soft"_pair_fep_soft.html: epsilon,sigma,lambda: type pairs:
"lj/expand"_pair_lj_expand.html: epsilon,sigma,delta: type pairs:
"lj/mdf"_pair_mdf.html: epsilon,sigma: type pairs:
"lj/sf/dipole/sf"_pair_dipole.html: epsilon,sigma,scale: type pairs:
"mie/cut"_pair_mie.html: epsilon,sigma,gamR,gamA: type pairs:
"morse, morse/smooth/linear"_pair_morse.html: d0,r0,alpha: type pairs:
"morse/soft"_pair_morse.html: d0,r0,alpha,lambda: type pairs:
"nm/cut"_pair_nm.html: e0,r0,nn,mm: type pairs:
"nm/cut/coul/cut, nm/cut/coul/long"_pair_nm.html: e0,r0,nn,mm: type pairs:
"ufm"_pair_ufm.html: epsilon,sigma,scale: type pairs:
"soft"_pair_soft.html: a: type pairs :tb(c=3,s=:)
NOTE: It is easy to add new potentials and their parameters to this
list. All it typically takes is adding an extract() method to the
pair_*.cpp file associated with the potential.
Some parameters are global settings for the pair style, e.g. the
viscosity setting "mu" for "pair_style lubricate"_pair_lubricate.html.
Other parameters apply to atom type pairs within the pair style,
e.g. the prefactor "a" for "pair_style soft"_pair_soft.html.
Note that for many of the potentials, the parameter that can be varied
is effectively a prefactor on the entire energy expression for the
potential, e.g. the lj/cut epsilon. The parameters listed as "scale"
@ -253,7 +266,7 @@ minimization"_minimize.html.
[Related commands:]
"compute fep"_compute_fep.html, "fix adapt"_fix_adapt.html, "compute
ti"_compute_ti.html
ti"_compute_ti.html, "pair_fep_soft"_pair_fep_soft.html
[Default:]

View File

@ -241,7 +241,7 @@ first bin and values > {hi} are counted in the last bin. If {beyond}
is set to {extend} then two extra bins are created, so that there are
Nbins+2 total bins. Values < {lo} are counted in the first bin and
values > {hi} are counted in the last bin (Nbins+1). Values between
{lo} and {hi} (inclusive) are counted in bins 2 thru Nbins+1. The
{lo} and {hi} (inclusive) are counted in bins 2 through Nbins+1. The
"coordinate" stored and printed for these two extra bins is {lo} and
{hi}.

View File

@ -146,18 +146,18 @@ A bonding atom pair will be identified if several conditions are met.
First, a pair of atoms I,J within the specified react-group-ID of type
itype and jtype must be separated by a distance between {Rmin} and
{Rmax}. It is possible that multiple bonding atom pairs are
identified: if the bonding atoms in the pre-reacted template are not
1-2, 1-3, or 1-4 neighbors, the closest bonding atom partner is set as
its bonding partner; otherwise, the farthest potential partner is
chosen. Then, if both an atom I and atom J have each other as their
nearest bonding partners, these two atoms are identified as the
bonding atom pair of the reaction site. Once this unique bonding atom
pair is identified for each reaction, there could two or more
reactions that involve a given atom on the same timestep. If this is
the case, only one such reaction is permitted to occur. This reaction
is chosen randomly from all potential reactions. This capability
allows e.g. for different reaction pathways to proceed from identical
reaction sites with user-specified probabilities.
identified: if the bonding atoms in the pre-reacted template are 1-2
neighbors, i.e. directly bonded, the farthest bonding atom partner is
set as its bonding partner; otherwise, the closest potential partner
is chosen. Then, if both an atom I and atom J have each other as their
bonding partners, these two atoms are identified as the bonding atom
pair of the reaction site. Once this unique bonding atom pair is
identified for each reaction, there could two or more reactions that
involve a given atom on the same timestep. If this is the case, only
one such reaction is permitted to occur. This reaction is chosen
randomly from all potential reactions. This capability allows e.g. for
different reaction pathways to proceed from identical reaction sites
with user-specified probabilities.
The pre-reacted molecule template is specified by a molecule command.
This molecule template file contains a sample reaction site and its
@ -385,6 +385,10 @@ No parameter of this fix can be used with the {start/stop} keywords of
the "run"_run.html command. This fix is not invoked during "energy
minimization"_minimize.html.
When fix bond/react is 'unfixed,' all internally-created groups are
deleted. Therefore, fix bond/react can only be unfixed after unfixing
all other fixes that use any group created by fix bond/react.
[Restrictions:]
This fix is part of the USER-MISC package. It is only enabled if

View File

@ -217,10 +217,6 @@ the particles. As described below, this energy can then be printed
out or added to the potential energy of the system to monitor energy
conservation.
NOTE: this accumulated energy does NOT include kinetic energy removed
by the {zero} flag. LAMMPS will print a warning when both options are
active.
The keyword {zero} can be used to eliminate drift due to the
thermostat. Because the random forces on different atoms are
independent, they do not sum exactly to zero. As a result, this fix

View File

@ -56,7 +56,7 @@ by other fixes (e.g. "fix meso"_fix_meso.html, "fix
meso/stationary"_fix_meso_stationary.html), since that will change their
positions and velocities twice.
NOTE: As particles move due to this fix, they will pass thru periodic
NOTE: As particles move due to this fix, they will pass through periodic
boundaries and be remapped to the other side of the simulation box,
just as they would during normal time integration (e.g. via the "fix
meso"_fix_meso.html command). It is up to you to decide whether periodic
@ -126,7 +126,7 @@ variable v equal v_omega*($A-cwiggle(0.0,$A,$T))
fix 1 boundary move variable v_x NULL NULL v_v NULL NULL :pre
The {rotate} style rotates particles around a rotation axis {R} =
(Rx,Ry,Rz) that goes thru a point {P} = (Px,Py,Pz). The {period} of
(Rx,Ry,Rz) that goes through a point {P} = (Px,Py,Pz). The {period} of
the rotation is also specified. The direction of rotation for the
particles around the rotation axis is consistent with the right-hand
rule: if your right-hand thumb points along {R}, then your fingers wrap

View File

@ -51,7 +51,7 @@ integrated by other fixes (e.g. "fix nve"_fix_nve.html, "fix
nvt"_fix_nh.html), since that will change their positions and
velocities twice.
NOTE: As atoms move due to this fix, they will pass thru periodic
NOTE: As atoms move due to this fix, they will pass through periodic
boundaries and be remapped to the other side of the simulation box,
just as they would during normal time integration (e.g. via the "fix
nve"_fix_nve.html command). It is up to you to decide whether
@ -121,7 +121,7 @@ variable v equal v_omega*($A-cwiggle(0.0,$A,$T))
fix 1 boundary move variable v_x NULL NULL v_v NULL NULL :pre
The {rotate} style rotates atoms around a rotation axis {R} =
(Rx,Ry,Rz) that goes thru a point {P} = (Px,Py,Pz). The {period} of
(Rx,Ry,Rz) that goes through a point {P} = (Px,Py,Pz). The {period} of
the rotation is also specified. The direction of rotation for the
atoms around the rotation axis is consistent with the right-hand rule:
if your right-hand thumb points along {R}, then your fingers wrap

View File

@ -179,7 +179,8 @@ settings"_Build_settings.html doc page for details.
[Related commands:]
"compute msd"_compute_msd.html
"compute msd"_compute_msd.html,
"dynamical_matrix"_dynamical_matrix.html
[Default:]

View File

@ -22,7 +22,7 @@ Nevery = perform charge equilibration every this many steps :l
cutoff = global cutoff for charge-charge interactions (distance unit) :l
tolerance = precision to which charges will be equilibrated :l
maxiter = maximum iterations to perform charge equilibration :l
qfile = a filename with QEq parameters :l
qfile = a filename with QEq parameters or {coul/streitz} or {reax/c} :l
zero or more keyword/value pairs may be appended :l
keyword = {alpha} or {qdamp} or {qstep} :l
@ -122,7 +122,9 @@ field"_#vanDuin paper. The shielding accounts for charge overlap
between charged particles at small separation. This style is the same
as "fix qeq/reax"_fix_qeq_reax.html, and can be used with "pair_style
reax/c"_pair_reaxc.html. Only the {chi}, {eta}, and {gamma}
parameters from the {qfile} file are used. This style solves partial
parameters from the {qfile} file are used. When using the string
{reax/c} as filename, these parameters are extracted directly from
an active {reax/c} pair style. This style solves partial
charges on atoms via the matrix inversion method. A tolerance of
1.0e-6 is usually a good number.
@ -132,7 +134,9 @@ that the interaction between a pair of charged particles is the
product of two Slater 1{s} orbitals. The expression for the Slater
1{s} orbital is given under equation (6) of the
"Streitz-Mintmire"_#Streitz1 paper. Only the {chi}, {eta}, {zeta}, and
{qcore} parameters from the {qfile} file are used. This style solves
{qcore} parameters from the {qfile} file are used. When using the string
{coul/streitz} as filename, these parameters are extracted directly from
an active {coul/streitz} pair style. This style solves
partial charges on atoms via the matrix inversion method. A tolerance
of 1.0e-6 is usually a good number. Keyword {alpha} can be used to
change the Slater type orbital exponent.

View File

@ -117,7 +117,7 @@ Lamda cannot be smaller than 0.6 * hgrid, else an error is generated
SRD particles are bounded by Vmax, which is set so that an SRD
particle will not advect further than Dmax = 4*lamda in dt_SRD. This
means that roughly speaking, Dmax should not be larger than a big
particle diameter, else SRDs may pass thru big particles without
particle diameter, else SRDs may pass through big particles without
colliding. A warning is generated if this is the case.
Collisions between SRD particles and big particles or walls are

View File

@ -71,12 +71,13 @@ exterior surfaces of regions.
Regions can either be primitive shapes (block, sphere, cylinder, etc)
or combinations of primitive shapes specified via the {union} or
{intersect} region styles. These latter styles can be used to
construct particle containers with complex shapes. Regions can also
move dynamically via the "region"_region.html command keywords (move)
and {rotate}, or change their shape by use of variables as inputs to
the "region"_region.html command. If such a region is used with this
fix, then the region surface will move in time in the corresponding
manner.
construct particle containers with complex shapes.
Regions can also move dynamically via the "region"_region.html command
keywords (move) and {rotate}, or change their shape by use of variables
as inputs to the "region"_region.html command. If such a region is used
with this fix, then the region surface will move in time in the
corresponding manner.
NOTE: As discussed on the "region"_region.html command doc page,
regions in LAMMPS do not get wrapped across periodic boundaries. It

View File

@ -41,7 +41,7 @@ fix top all wall/reflect zhi v_pressdown :pre
[Description:]
Bound the simulation with one or more walls which reflect particles
in the specified group when they attempt to move thru them.
in the specified group when they attempt to move through them.
Reflection means that if an atom moves outside the wall on a timestep
by a distance delta (e.g. due to "fix nve"_fix_nve.html), then it is

View File

@ -107,7 +107,7 @@ print "ALL DONE" :pre
Here is an example of a double loop which uses the if and
"jump"_jump.html commands to break out of the inner loop when a
condition is met, then continues iterating thru the outer loop.
condition is met, then continues iterating through the outer loop.
label loopa
variable a loop 5

View File

@ -100,7 +100,7 @@ print "ALL DONE" :pre
Here is an example of a double loop which uses the if and
"jump"_jump.html commands to break out of the inner loop when a
condition is met, then continues iterating thru the outer loop.
condition is met, then continues iterating through the outer loop.
label loopa
variable a loop 5

View File

@ -370,8 +370,7 @@ of these styles.
All of the kspace styles are part of the KSPACE package. They are
only enabled if LAMMPS was built with that package. See the "Build
package"_Build_package.html doc page for more info. Note that the
KSPACE package is installed by default.
package"_Build_package.html doc page for more info.
For MSM, a simulation must be 3d and one can use any combination of
periodic, non-periodic, or shrink-wrapped boundaries (specified using

View File

@ -1,5 +1,5 @@
#HTMLDOC 1.8.28
-t pdf14 -f "../Manual.pdf" --book --toclevels 4 --no-numbered --toctitle "Table of Contents" --title --textcolor #000000 --linkcolor #0000ff --linkstyle plain --bodycolor #ffffff --size Universal --left 1.00in --right 0.50in --top 0.50in --bottom 0.50in --header .t. --header1 ... --footer ..1 --nup 1 --tocheader .t. --tocfooter ..i --portrait --color --no-pscommands --no-xrxcomments --compression=9 --jpeg=0 --fontsize 11.0 --fontspacing 1.2 --headingfont Sans --bodyfont Serif --headfootsize 11.0 --headfootfont Sans-Bold --charset iso-8859-15 --links --embedfonts --pagemode document --pagelayout single --firstpage c1 --pageeffect none --pageduration 10 --effectduration 1.0 --no-encryption --permissions all --owner-password "" --user-password "" --browserwidth 680 --no-strict --no-overflow
-t pdf14 -f "Manual.pdf" --book --toclevels 4 --no-numbered --toctitle "Table of Contents" --title --textcolor #000000 --linkcolor #0000ff --linkstyle plain --bodycolor #ffffff --size Universal --left 1.00in --right 0.50in --top 0.50in --bottom 0.50in --header .t. --header1 ... --footer ..1 --nup 1 --tocheader .t. --tocfooter ..i --portrait --color --no-pscommands --no-xrxcomments --compression=9 --jpeg=0 --fontsize 11.0 --fontspacing 1.2 --headingfont Sans --bodyfont Serif --headfootsize 11.0 --headfootfont Sans-Bold --charset iso-8859-15 --links --embedfonts --pagemode document --pagelayout single --firstpage c1 --pageeffect none --pageduration 10 --effectduration 1.0 --no-encryption --permissions all --owner-password "" --user-password "" --browserwidth 680 --no-strict --no-overflow
Manual.html
Intro.html
Intro_overview.html
@ -150,6 +150,7 @@ dielectric.html
dimension.html
displace_atoms.html
dump.html
dump_adios.html
dump_h5md.html
dump_image.html
dump_modify.html
@ -157,6 +158,7 @@ dump_molfile.html
dump_netcdf.html
dump_vtk.html
dump_cfg_uef.html
dynamical_matrix.html
echo.html
group.html
group2ndx.html
@ -595,7 +597,7 @@ pair_lj_expand.html
pair_lj_long.html
pair_lj_smooth.html
pair_lj_smooth_linear.html
pair_lj_soft.html
pair_fep_soft.html
pair_lj_switch3_coulgauss.html
pair_lubricate.html
pair_lubricateU.html

View File

@ -82,12 +82,12 @@ coordinates:
where the first term is the sum of all non-bonded "pairwise
interactions"_pair_style.html including "long-range Coulombic
interactions"_kspace_style.html, the 2nd thru 5th terms are
interactions"_kspace_style.html, the 2nd through 5th terms are
"bond"_bond_style.html, "angle"_angle_style.html,
"dihedral"_dihedral_style.html, and "improper"_improper_style.html
interactions respectively, and the last term is energy due to
"fixes"_fix.html which can act as constraints or apply force to atoms,
such as thru interaction with a wall. See the discussion below about
such as through interaction with a wall. See the discussion below about
how fix commands affect minimization.
The starting point for the minimization is the current configuration

View File

@ -79,7 +79,7 @@ and after such a LAMMPS run.
Here is an example of running a series of simulations using the next
command with an {index}-style variable. If this input script is named
in.polymer, 8 simulations would be run using data files from
directories run1 thru run8.
directories run1 through run8.
variable d index run1 run2 run3 run4 run5 run6 run7 run8
shell cd $d
@ -114,7 +114,7 @@ jump in.script :pre
Here is an example of a double loop which uses the "if"_if.html and
"jump"_jump.html commands to break out of the inner loop when a
condition is met, then continues iterating thru the outer loop.
condition is met, then continues iterating through the outer loop.
label loopa
variable a loop 5

View File

@ -154,8 +154,7 @@ details.
This style is part of the KSPACE package. It is only enabled if
LAMMPS was built with that package. See the "Build
package"_Build_package.html doc page for more info. Note that the
KSPACE package is installed by default.
package"_Build_package.html doc page for more info.
[Related commands:]

View File

@ -249,8 +249,7 @@ All the styles with {coul/charmm} or {coul/charmmfsh} styles are part
of the MOLECULE package. All the styles with {coul/long} style are
part of the KSPACE package. They are only enabled if LAMMPS was built
with those packages. See the "Build package"_Build_package.html doc
page for more info. Note that the MOLECULE and KSPACE packages are
installed by default.
page for more info.
[Related commands:]

View File

@ -99,6 +99,14 @@ cutoff distance.
:line
A version of these styles with a soft core, {lj/cut/soft}, suitable for use in
free energy calculations, is part of the USER-FEP package and is documented with
the "pair_fep_soft"_pair_fep_soft.html styles. The version with soft core is
only available if LAMMPS was built with that package. See the "Build
package"_Build_package.html doc page for more info.
:line
Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are
functionally the same as the corresponding style without the suffix.
They have been optimized to run faster, depending on your available
@ -159,7 +167,7 @@ package"_Build_package.html doc page for more info.
[Related commands:]
"pair_coeff"_pair_coeff.html
"pair_coeff"_pair_coeff.html, "pair_fep_soft"_pair_fep_soft.html
[Default:] none

View File

@ -16,18 +16,21 @@ pair_style lj/cut/tip4p/long/soft command :h3
pair_style lj/cut/tip4p/long/soft/omp command :h3
pair_style lj/charmm/coul/long/soft command :h3
pair_style lj/charmm/coul/long/soft/omp command :h3
pair_style coul/cut/soft command :h3
pair_style lj/class2/soft command :h3
pair_style lj/class2/coul/cut/soft command :h3
pair_style lj/class2/coul/long/soft command :h3
pair_style coul/cut/soft command :h3
pair_style coul/cut/soft/omp command :h3
pair_style coul/long/soft command :h3
pair_style coul/long/soft/omp command :h3
pair_style tip4p/long/soft command :h3
pair_style tip4p/long/soft/omp command :h3
pair_style morse/soft command :h3
[Syntax:]
pair_style style args :pre
style = {lj/cut/soft} or {lj/cut/coul/cut/soft} or {lj/cut/coul/long/soft} or {lj/cut/tip4p/long/soft} or {lj/charmm/coul/long/soft} or {coul/cut/soft} or {coul/long/soft} or {tip4p/long/soft}
style = {lj/cut/soft} or {lj/cut/coul/cut/soft} or {lj/cut/coul/long/soft} or {lj/cut/tip4p/long/soft} or {lj/charmm/coul/long/soft} or {lj/class2/soft} or {lj/class2/coul/cut/soft} or {lj/class2/coul/long/soft} or {coul/cut/soft} or {coul/long/soft} or {tip4p/long/soft} or {morse/soft}
args = list of arguments for a particular style :ul
{lj/cut/soft} args = n alpha_lj cutoff
n, alpha_LJ = parameters of soft-core potential
@ -51,6 +54,17 @@ args = list of arguments for a particular style :ul
n, alpha_LJ, alpha_C = parameters of the soft-core potential
inner, outer = global switching cutoffs for LJ (and Coulombic if only 5 args)
cutoff = global cutoff for Coulombic (optional, outer is Coulombic cutoff if only 5 args)
{lj/class2/soft} args = n alpha_lj cutoff
n, alpha_LJ = parameters of soft-core potential
cutoff = global cutoff for Lennard-Jones interactions (distance units)
{lj/class2/coul/cut/soft} args = n alpha_LJ alpha_C cutoff (cutoff2)
n, alpha_LJ, alpha_C = parameters of soft-core potential
cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units)
cutoff2 = global cutoff for Coulombic (optional) (distance units)
{lj/class2/coul/long/soft} args = n alpha_LJ alpha_C cutoff (cutoff2)
n, alpha_LJ, alpha_C = parameters of soft-core potential
cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units)
cutoff2 = global cutoff for Coulombic (optional) (distance units)
{coul/cut/soft} args = n alpha_C cutoff
n, alpha_C = parameters of the soft-core potential
cutoff = global cutoff for Coulomb interactions (distance units)
@ -63,6 +77,10 @@ args = list of arguments for a particular style :ul
qdist = distance from O atom to massless charge (distance units)
n, alpha_C = parameters of the soft-core potential
cutoff = global cutoff for Coulomb interactions (distance units)
{morse/soft} args = n lf cutoff
n = soft-core parameter
lf = transformation range is lf < lambda < 1
cutoff = global cutoff for Morse interactions (distance units)
:pre
[Examples:]
@ -93,6 +111,12 @@ pair_style lj/charmm/coul/long 2.0 0.5 10.0 8.0 10.0 9.0
pair_coeff * * 0.28 3.1 1.0
pair_coeff 1 1 0.28 3.1 1.0 0.14 3.1 :pre
pair_style lj/class2/coul/long/soft 2.0 0.5 10.0 9.5
pair_style lj/class2/coul/long/soft 2.0 0.5 10.0 9.5 9.5
pair_coeff * * 0.28 3.1 1.0
pair_coeff 1 1 0.28 3.1 0.0 10.0
pair_coeff 1 1 0.28 3.1 0.0 10.0 9.5 :pre
pair_style coul/long/soft 1.0 10.0 9.5
pair_coeff * * 1.0
pair_coeff 1 1 1.0 9.5 :pre
@ -101,17 +125,31 @@ pair_style tip4p/long/soft 1 2 7 8 0.15 2.0 0.5 10.0 9.8
pair_coeff * * 1.0
pair_coeff 1 1 1.0 9.5 :pre
pair_style morse/soft 4 0.9 10.0
pair_coeff * * 100.0 2.0 1.5 1.0
pair_coeff 1 1 100.0 2.0 1.5 1.0 3.0 :pre
[Description:]
The {lj/cut/soft} style and sub-styles compute the 12/6 Lennard-Jones
and Coulomb potential modified by a soft core, in order to avoid
singularities during free energy calculations when sites are created
or annihilated "(Beutler)"_#Beutler,
These pair styles have a soft repulsive core, tunable by a parameter lambda,
in order to avoid singularities during free energy calculations when sites are
created or annihilated "(Beutler)"_#Beutler. When lambda tends to 0 the pair
interaction vanishes with a soft repulsive core. When lambda tends to 1, the pair
interaction approaches the normal, non-soft potential. These pair styles
are suited for "alchemical" free energy calculations using the "fix
adapt/fep"_fix_adapt_fep.html and "compute fep"_compute_fep.html commands.
The {lj/cut/soft} style and related sub-styles compute the 12-6 Lennard-Jones
and Coulomb potentials modified by a soft core, with the functional form
:c,image(Eqs/pair_lj_soft.jpg)
Coulomb interactions are also damped with a soft core at short
distance,
The {lj/class2/soft} style is a 9-6 potential with the exponent of the
denominator of the first term in brackets taking the value 1.5 instead of 2
(other details differ, see the form of the potential in
"pair_class2"_pair_class2.html).
Coulomb interactions can also be damped with a soft core at short distance,
:c,image(Eqs/pair_coul_soft.jpg)
@ -119,34 +157,32 @@ In the Coulomb part C is an energy-conversion constant, q_i and q_j
are the charges on the 2 atoms, and epsilon is the dielectric constant
which can be set by the "dielectric"_dielectric.html command.
The coefficient lambda is an activation parameter. When lambda = 1 the
pair potential is identical to a Lennard-Jones term or a Coulomb term
or a combination of both. When lambda = 0 the interactions are
deactivated. The transition between these two extrema is smoothed by a
soft repulsive core in order to avoid singularities in potential
energy and forces when sites are created or annihilated and can overlap
"(Beutler)"_#Beutler.
The coefficient lambda is an activation parameter. When lambda = 1 the pair
potential is identical to a Lennard-Jones term or a Coulomb term or a
combination of both. When lambda = 0 the interactions are deactivated. The
transition between these two extrema is smoothed by a soft repulsive core in
order to avoid singularities in potential energy and forces when sites are
created or annihilated and can overlap "(Beutler)"_#Beutler.
The parameters n, alpha_LJ and alpha_C are set in the
"pair_style"_pair_style.html command, before the cutoffs. Usual
choices for the exponent are n = 2 or n = 1. For the remaining
coefficients alpha_LJ = 0.5 and alpha_C = 10 Angstrom^2 are
appropriate choices. Plots of the LJ and Coulomb terms are shown
below, for lambda ranging from 1 to 0 every 0.1.
"pair_style"_pair_style.html command, before the cutoffs. Usual choices for the
exponent are n = 2 or n = 1. For the remaining coefficients alpha_LJ = 0.5 and
alpha_C = 10 Angstrom^2 are appropriate choices. Plots of the 12/6 LJ and
Coulomb terms are shown below, for lambda ranging from 1 to 0 every 0.1.
:image(JPG/lj_soft.jpg),image(JPG/coul_soft.jpg)
:c
For the {lj/cut/coul/cut/soft} or {lj/cut/coul/long/soft} pair styles,
the following coefficients must be defined for each pair of atoms
types via the "pair_coeff"_pair_coeff.html command as in the examples
above, or in the data file or restart files read by the
"read_data"_read_data.html or "read_restart"_read_restart.html
commands, or by mixing as described below:
For the {lj/cut/coul/cut/soft} or {lj/cut/coul/long/soft} pair styles, as well
as for the equivalent {class2} versions, the following coefficients must be
defined for each pair of atoms types via the "pair_coeff"_pair_coeff.html
command as in the examples above, or in the data file or restart files read by
the "read_data"_read_data.html or "read_restart"_read_restart.html commands, or
by mixing as described below:
epsilon (energy units)
sigma (distance units)
lambda (activation parameter between 0 and 1)
lambda (activation parameter, between 0 and 1)
cutoff1 (distance units)
cutoff2 (distance units) :ul
@ -160,24 +196,29 @@ since it has no Coulombic terms. For the {coul/cut/soft} and
{coul/long/soft} only lambda and the optional cutoff2 are to be
specified.
Style {lj/cut/tip4p/long/soft} implements a soft-core version of the
TIP4P water model. The usage of this pair style is documented in the
"pair_lj"_pair_lj.html styles. The soft-core version introduces the
lambda parameter to the list of arguments, after epsilon and sigma in
the "pair_coeff"_pair_coeff.html command. The parameters n, alpha_LJ
and alpha_C are set in the "pair_style"_pair_style.html command,
before the cutoffs.
Style {lj/cut/tip4p/long/soft} implements a soft-core version of the TIP4P water
model. The usage of the TIP4P pair style is documented in the
"pair_lj"_pair_lj.html styles. In the soft version the parameters n, alpha_LJ
and alpha_C are set in the "pair_style"_pair_style.html command, after the
specific parameters of the TIP4P water model and before the cutoffs. The
activation parameter lambda is supplied as an argument of the the
"pair_coeff"_pair_coeff.html command, after epsilon and sigma and before the
optional cutoffs.
Style {lj/charmm/coul/long/soft} implements a soft-core version of the
CHARMM version of LJ interactions with an additional switching
function S(r) that ramps the energy and force smoothly to zero between
an inner and outer cutoff. The usage of this pair style is documented
in the "pair_charmm"_pair_charmm.html styles. The soft-core version
introduces the lambda parameter to the list of arguments, after
epsilon and sigma in the "pair_coeff"_pair_coeff.html command (and
before the optional eps14 and sigma14). The parameters n,
alpha_LJ and alpha_C are set in the "pair_style"_pair_style.html
command, before the cutoffs.
Style {lj/charmm/coul/long/soft} implements a soft-core version of the modified
12-6 LJ potential used in CHARMM and documented in the
"pair_lj_charmm"_pair_charmm.html style. In the soft version the parameters n,
alpha_LJ and alpha_C are set in the "pair_style"_pair_style.html command, before
the global cutoffs. The activation parameter lambda is introduced as an argument
of the the "pair_coeff"_pair_coeff.html command, after epsilon and sigma and
before the optional eps14 and sigma14.
Style {lj/class2/soft} implements a soft-core version of the 9-6 potential in
"pair_class2"_pair_class2.html. In the soft version the parameters n, alpha_LJ
and alpha_C are set in the "pair_style"_pair_style.html command, before the
global cutoffs. The activation parameter lambda is introduced as an argument of
the the "pair_coeff"_pair_coeff.html command, after epsilon and sigma and before
the optional cutoffs.
The {coul/cut/soft}, {coul/long/soft} and {tip4p/long/soft} sub-styles
are designed to be combined with other pair potentials via the
@ -189,7 +230,7 @@ occur. These sub-styles are suitable to represent charges embedded in
the Lennard-Jones radius of another site (for example hydrogen atoms
in several water models).
NOTES: When using the soft-core Coulomb potentials with long-range
NOTE: When using the soft-core Coulomb potentials with long-range
solvers ({coul/long/soft}, {lj/cut/coul/long/soft}, etc.) in a free
energy calculation in which sites holding electrostatic charges are
being created or annihilated (using "fix adapt/fep"_fix_adapt_fep.html
@ -202,6 +243,31 @@ Waals site is present during the free-energy route, thus avoiding
overlap of the charges. Examples are provided in the LAMMPS source
directory tree, under examples/USER/fep.
NOTE: To avoid division by zero do not set sigma = 0 in the {lj/cut/soft} and
related styles; use the lambda parameter instead to activate/deactivate
interactions, or use epsilon = 0 and sigma = 1. Alternatively, when sites do not
interact though the Lennard-Jones term the {coul/long/soft} or similar sub-style
can be used via the "pair_style hybrid/overlay"_pair_hybrid.html command.
:line
The {morse/soft} variant modifies the "pair_morse"_pair_morse.html style at
short range to have a soft core. The functional form differs from that of the
{lj/soft} styles, and is instead given by:
:c,image(Eqs/pair_morse_soft.jpg)
The {morse/soft} style requires the following pair coefficients:
D0 (energy units)
alpha (1/distance units)
r0 (distance units)
lambda (unitless, between 0.0 and 1.0)
cutoff (distance units) :ul
The last coefficient is optional. If not specified, the global morse cutoff is
used.
:line
Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are
@ -228,40 +294,57 @@ instructions on how to use the accelerated styles effectively.
[Mixing, shift, tail correction, restart info]:
For atom type pairs I,J and I != J, the epsilon and sigma coefficients
and cutoff distance for this pair style can be mixed.
The default mix value is {geometric}. See the "pair_modify" command
for details.
The different versions of the {lj/cut/soft} pair styles support mixing. For atom
type pairs I,J and I != J, the epsilon and sigma coefficients and cutoff
distance for these pair style can be mixed. The default mix value is
{geometric} for 12-6 styles.
These pair styles support the "pair_modify"_pair_modify.html shift
option for the energy of the Lennard-Jones portion of the pair
The mixing rule for epsilon and sigma for {lj/class2/soft} 9-6 potentials is to use the
{sixthpower} formulas. The "pair_modify mix"_pair_modify.html setting is thus
ignored for class2 potentials for epsilon and sigma. However it is still
followed for mixing the cutoff distance. See the "pair_modify"_pair_modify.html
command for details.
The {morse/soft} pair style does not support mixing. Thus, coefficients for all
LJ pairs must be specified explicitly.
All of the pair styles with soft core support the "pair_modify"_pair_modify.html
shift option for the energy of the Lennard-Jones portion of the pair
interaction.
These pair styles support the "pair_modify"_pair_modify.html tail
option for adding a long-range tail correction to the energy and
pressure for the Lennard-Jones portion of the pair interaction.
The different versions of the {lj/cut/soft} pair styles support the
"pair_modify"_pair_modify.html tail option for adding a long-range tail
correction to the energy and pressure for the Lennard-Jones portion of the pair
interaction.
These pair styles write information to "binary restart
files"_restart.html, so pair_style and pair_coeff commands do not need
to be specified in an input script that reads a restart file.
NOTE: The analytical form of the tail corrections for energy and pressure used
in the {lj/cut/soft} potentials are approximate, being identical to that of the
corresponding non-soft potentials scaled by a factor lambda^n. The errors due to
this approximation should be negligible. For example, for a cutoff of 2.5 sigma
this approximation leads to maximum relative errors in tail corrections of the
order of 1e-4 for energy and virial (alpha_LJ = 0.5, n = 2). The error vanishes
when lambda approaches 0 or 1. Note that these are the errors affecting the
long-range tail (itself a correction to the interaction energy) which includes
other approximations, namely that the system is homogeneous (local density equal
the average density) beyond the cutoff.
The {morse/soft} pair style does not support the "pair_modify"_pair_modify.html
tail option for adding long-range tail corrections to energy and pressure.
All of these pair styles write information to "binary restart
files"_restart.html, so pair_style and pair_coeff commands do not need to be
specified in an input script that reads a restart file.
:line
[Restrictions:]
To avoid division by zero do not set sigma = 0; use the lambda
parameter instead to activate/deactivate interactions, or use
epsilon = 0 and sigma = 1. Alternatively, when sites do not
interact though the Lennard-Jones term the {coul/long/soft} or
similar sub-style can be used via the
"pair_style hybrid/overlay"_pair_hybrid.html command.
:line
All of the plain {soft} pair styles are part of the USER-FEP package.
The {long} styles also requires the KSPACE package to be installed.
They are only enabled if LAMMPS was built with those packages. See
the "Build package"_Build_package.html doc page for more info.
The pair styles with soft core are only enabled if LAMMPS was built with the
USER-FEP package. The {long} versions also require the KSPACE package to be
installed. The soft {tip4p} versions also require the MOLECULE package to be
installed. These styles are only enabled if LAMMPS was built with those
packages. See the "Build package"_Build_package.html doc page for more
info.
[Related commands:]

View File

@ -10,18 +10,13 @@ pair_style kim command :h3
[Syntax:]
pair_style kim virialmode model printflag :pre
pair_style kim model :pre
virialmode = KIMvirial or LAMMPSvirial
model = name of KIM model (potential)
printflag = 1/0 do or do not print KIM descriptor file, optional :ul
[Examples:]
pair_style kim KIMvirial model_Ar_P_Morse
pair_coeff * * Ar Ar :pre
pair_style kim KIMvirial model_Ar_P_Morse 1
pair_style kim ex_model_Ar_P_LJ
pair_coeff * * Ar Ar :pre
[Description:]
@ -36,14 +31,10 @@ element or alloy and set of parameters, e.g. EAM for Cu with a
specific EAM potential file.
See the current list of "KIM model
drivers"_https://openkim.org/kim-items/model-drivers/alphabetical.
drivers"_https://openkim.org/browse/model-drivers/alphabetical.
See the current list of all "KIM
models"_https://openkim.org/kim-items/models/by-model-drivers
See the list of "example KIM models"_https://openkim.org/kim-api which
are included in the KIM library by default, in the "What is in the KIM
API source package?" section.
models"_https://openkim.org/browse/models/by-model-drivers
To use this pair style, you must first download and install the KIM
API library from the "OpenKIM website"_https://openkim.org. The KIM
@ -51,25 +42,19 @@ section of the "Packages details"_Packages_details.html doc page has
instructions on how to do this with a simple make command, when
building LAMMPS.
See the examples/kim dir for an input script that uses a KIM model
(potential) for Lennard-Jones.
See the examples/kim dir for an input script that uses a KIM model (potential)
for Lennard-Jones. Note, for this example input script, the example models
shipped with with kim-api package must be installed. See the "Build
package"_Build_package.html section and the ./lib/kim/README for details
on how to build LAMMSPS with the kim-api and how to install the example models.
:line
The argument {virialmode} determines how the global virial is
calculated. If {KIMvirial} is specified, the KIM model performs the
global virial calculation (if it knows how). If {LAMMPSvirial} is
specified, LAMMPS computes the global virial using its fdotr mechanism.
The argument {model} is the name of the KIM model for a specific
potential as KIM defines it. In principle, LAMMPS can invoke any KIM
model. You should get an error or warning message from either LAMMPS
or KIM if there is an incompatibility.
The argument {printflag} is optional. If it is set to a non-zero
value then a KIM descriptor file is printed when KIM is invoked. This
can be useful for debugging. The default is to not print this file.
Only a single pair_coeff command is used with the {kim} style which
specifies the mapping of LAMMPS atom types to KIM elements. This is
done by specifying N additional arguments after the * * in the
@ -86,18 +71,14 @@ pair_coeff * * Si Si Si C :pre
The 1st 2 arguments must be * * so as to span all LAMMPS atom types.
The first three Si arguments map LAMMPS atom types 1,2,3 to Si as
defined within KIM. The final C argument maps LAMMPS atom type 4 to C
as defined within KIM. If a mapping value is specified as NULL, the
mapping is not performed. This can only be used when a {kim}
potential is used as part of the {hybrid} pair style. The NULL values
are placeholders for atom types that will be used with other
potentials.
as defined within KIM.
:line
In addition to the usual LAMMPS error messages, the KIM library itself
may generate errors, which should be printed to the screen. In this
case it is also useful to check the kim.log file for additional error
information. This file kim.log should be generated in the same
information. The file kim.log should be generated in the same
directory where LAMMPS is running.
To download, build, and install the KIM library on your system, see
@ -130,7 +111,7 @@ LAMMPS was built with that package. See the "Build
package"_Build_package.html doc page for more info.
This current version of pair_style kim is compatible with the
kim-api package version 1.6.0 and higher.
kim-api package version 2.0.0 and higher.
[Related commands:]

View File

@ -260,6 +260,14 @@ pair_style command.
:line
A version of these styles with a soft core, {lj/cut/soft}, suitable for use in
free energy calculations, is part of the USER-FEP package and is documented with
the "pair_fep_soft"_pair_fep_soft.html styles. The version with soft core is
only available if LAMMPS was built with that package. See the "Build
package"_Build_package.html doc page for more info.
:line
Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are
functionally the same as the corresponding style without the suffix.
They have been optimized to run faster, depending on your available
@ -321,8 +329,7 @@ The {lj/cut/coul/long} and {lj/cut/tip4p/long} styles are part of the
KSPACE package. The {lj/cut/tip4p/cut} style is part of the MOLECULE
package. These styles are only enabled if LAMMPS was built with those
packages. See the "Build package"_Build_package.html doc page for
more info. Note that the KSPACE and MOLECULE packages are installed
by default.
more info.
[Related commands:]

View File

@ -154,6 +154,14 @@ specified in the pair_style command.
:line
A version of these styles with a soft core, {lj/cut/soft}, suitable for use in
free energy calculations, is part of the USER-FEP package and is documented with
the "pair_fep_soft"_pair_fep_soft.html styles. The version with soft core is
only available if LAMMPS was built with that package. See the "Build
package"_Build_package.html doc page for more info.
:line
Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are
functionally the same as the corresponding style without the suffix.
They have been optimized to run faster, depending on your available
@ -211,8 +219,7 @@ different levels of the rRESPA hierarchy. See the
These styles are part of the KSPACE package. They are only enabled if
LAMMPS was built with that package. See the "Build
package"_Build_package.html doc page for more info. Note that the
KSPACE package is installed by default.
package"_Build_package.html doc page for more info.
[Related commands:]

View File

@ -12,7 +12,6 @@ pair_style morse/omp command :h3
pair_style morse/opt command :h3
pair_style morse/smooth/linear command :h3
pair_style morse/smooth/linear/omp command :h3
pair_style morse/soft command :h3
pair_style morse/kk command :h3
[Syntax:]
@ -25,10 +24,6 @@ args = list of arguments for a particular style :ul
cutoff = global cutoff for Morse interactions (distance units)
{morse/smooth/linear} args = cutoff
cutoff = global cutoff for Morse interactions (distance units)
{morse/soft} args = n lf cutoff
n = soft-core parameter
lf = transformation range is lf < lambda < 1
cutoff = global cutoff for Morse interactions (distance units)
:pre
[Examples:]
@ -38,10 +33,6 @@ pair_style morse/smooth/linear 2.5
pair_coeff * * 100.0 2.0 1.5
pair_coeff 1 1 100.0 2.0 1.5 3.0 :pre
pair_style morse/soft 4 0.9 10.0
pair_coeff * * 100.0 2.0 1.5 1.0
pair_coeff 1 1 100.0 2.0 1.5 1.0 3.0 :pre
[Description:]
Style {morse} computes pairwise interactions with the formula
@ -77,24 +68,11 @@ the {morse} and {morse/smooth/linear} styles.
:line
The {morse/soft} variant is similar to the {lj/cut/soft} pair style
in that it modifies the potential at short range to have a soft core.
This helps to avoid singularities during free energy calculation in
which sites are created or annihilated. The formula differs from that
of {lj/cut/soft}, and is instead given by:
:c,image(Eqs/pair_morse_soft.jpg)
The {morse/soft} style requires the following pair coefficients:
D0 (energy units)
alpha (1/distance units)
r0 (distance units)
lamda (unitless, between 0.0 and 1.0)
cutoff (distance units) :ul
The last coefficient is optional. If not specified, the global morse
cutoff is used.
A version of the {morse} style with a soft core, {morse/soft}, suitable for use in
free energy calculations, is part of the USER-FEP package and is documented with
the "pair_fep_soft"_pair_fep_soft.html styles. The version with soft core is only
available if LAMMPS was built with that package. See the "Build
package"_Build_package.html doc page for more info.
:line
@ -151,12 +129,8 @@ The {morse/smooth/linear} pair style is only enabled if LAMMPS was
built with the USER-MISC package. See the "Build
package"_Build_package.html doc page for more info.
The {morse/soft} pair style is only enabled if LAMMPS was built with
the USER-FEP package. See the "Build package"_Build_package.html doc
page for more info.
[Related commands:]
"pair_coeff"_pair_coeff.html
"pair_coeff"_pair_coeff.html, "pair_fep_soft"_pair_fep_soft.html
[Default:] none

Some files were not shown because too many files have changed in this diff Show More