Merge branch 'clean-master2' of github.com:julient31/lammps into gneb_spin
This commit is contained in:
67
.github/CODE_OF_CONDUCT.md
vendored
Normal file
67
.github/CODE_OF_CONDUCT.md
vendored
Normal 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
|
||||
|
||||
24
.github/CONTRIBUTING.md
vendored
24
.github/CONTRIBUTING.md
vendored
@ -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.
|
||||
|
||||
31
.github/ISSUE_TEMPLATE.md
vendored
31
.github/ISSUE_TEMPLATE.md
vendored
@ -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
32
.github/ISSUE_TEMPLATE/bug_report.md
vendored
Normal 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_
|
||||
20
.github/ISSUE_TEMPLATE/feature_request.md
vendored
Normal file
20
.github/ISSUE_TEMPLATE/feature_request.md
vendored
Normal 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
21
.github/ISSUE_TEMPLATE/generic.md
vendored
Normal 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
15
.github/ISSUE_TEMPLATE/help_request.md
vendored
Normal 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.
|
||||
39
.github/PULL_REQUEST_TEMPLATE.md
vendored
39
.github/PULL_REQUEST_TEMPLATE.md
vendored
@ -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)_
|
||||
|
||||
|
||||
42
.github/PULL_REQUEST_TEMPLATE/bug_fix.md
vendored
Normal file
42
.github/PULL_REQUEST_TEMPLATE/bug_fix.md
vendored
Normal 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)_
|
||||
35
.github/PULL_REQUEST_TEMPLATE/maintenance_refactoring.md
vendored
Normal file
35
.github/PULL_REQUEST_TEMPLATE/maintenance_refactoring.md
vendored
Normal 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
|
||||
|
||||
56
.github/PULL_REQUEST_TEMPLATE/new_feature.md
vendored
Normal file
56
.github/PULL_REQUEST_TEMPLATE/new_feature.md
vendored
Normal 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)_
|
||||
|
||||
|
||||
42
.github/PULL_REQUEST_TEMPLATE/update_enhancement.md
vendored
Normal file
42
.github/PULL_REQUEST_TEMPLATE/update_enhancement.md
vendored
Normal 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)_
|
||||
|
||||
|
||||
@ -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
|
||||
###############################################################################
|
||||
|
||||
50
cmake/Modules/FindKIM-API-V2.cmake
Normal file
50
cmake/Modules/FindKIM-API-V2.cmake
Normal 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)
|
||||
@ -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 )
|
||||
@ -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
2
doc/.gitignore
vendored
@ -1,4 +1,6 @@
|
||||
/old
|
||||
/html
|
||||
/latex
|
||||
/spelling
|
||||
/LAMMPS.epub
|
||||
/LAMMPS.mobi
|
||||
|
||||
57
doc/Makefile
57
doc/Makefile
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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)
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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.
|
||||
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
0
doc/src/Howto_bash.txt
Executable file → Normal 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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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.
|
||||
|
||||
@ -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.
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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)
|
||||
|
||||
@ -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 |
@ -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
0
doc/src/PDF/SPH_LAMMPS_userguide.pdf
Executable file → Normal file
0
doc/src/PDF/kspace.pdf
Executable file → Normal file
0
doc/src/PDF/kspace.pdf
Executable file → Normal 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
|
||||
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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.
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -8,6 +8,7 @@
|
||||
|
||||
angle_style cosine command :h3
|
||||
angle_style cosine/omp command :h3
|
||||
angle_style cosine/kk command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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.
|
||||
|
||||
@ -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.
|
||||
|
||||
@ -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:]
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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.
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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.
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
73
doc/src/dump_adios.txt
Normal 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
|
||||
|
||||
@ -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
|
||||
|
||||
52
doc/src/dynamical_matrix.txt
Normal file
52
doc/src/dynamical_matrix.txt
Normal 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
|
||||
@ -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_*:i,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
|
||||
|
||||
@ -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:]
|
||||
|
||||
|
||||
@ -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}.
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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:]
|
||||
|
||||
|
||||
@ -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.
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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:]
|
||||
|
||||
|
||||
@ -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:]
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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:]
|
||||
|
||||
@ -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:]
|
||||
|
||||
|
||||
@ -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:]
|
||||
|
||||
|
||||
@ -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:]
|
||||
|
||||
|
||||
@ -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
Reference in New Issue
Block a user